.page-shell{min-height:100dvh;background:var(--color-surface-page);color:var(--color-text-primary)}.page-main{max-width:600px;width:100%;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16);display:flex;flex-direction:column;gap:var(--space-5)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color var(--duration-fast) ease;align-self:flex-start}.back-link:hover{color:var(--color-text-primary)}.page-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:900;letter-spacing:-.02em;margin:0}.settings-group{background:var(--color-surface-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-2xl);overflow:hidden}.settings-group__title{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);margin:0}.settings-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.settings-row:last-child{border-bottom:none}.settings-row__content{flex:1;min-width:0}.settings-row__label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin:0 0 2px}.settings-row__desc{font-size:var(--text-xs);color:var(--color-text-tertiary);line-height:1.5;margin:0}.settings-row .input{max-width:240px}.settings-row__save{display:none}.settings-row__save.visible{display:block}.toggle{position:relative;width:44px;height:24px;flex-shrink:0}.toggle input{position:absolute;opacity:0;width:0;height:0}.toggle__track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-surface-overlay);border:1.5px solid var(--color-border-default);border-radius:var(--radius-full);cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease}.toggle input:checked+.toggle__track{background:var(--game-accent);border-color:var(--game-accent)}.toggle__track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform var(--duration-normal) var(--ease-spring);box-shadow:0 1px 3px #0000004d}.toggle input:checked+.toggle__track:after{transform:translate(20px)}.toggle input:focus-visible+.toggle__track{outline:2px solid var(--game-accent);outline-offset:2px}.danger-zone{background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-2xl);overflow:hidden}.danger-zone .settings-group__title{color:var(--color-status-error);border-color:#ef444433}.danger-zone .settings-row{border-color:#ef44441a}.btn--danger{background:transparent;color:var(--color-status-error);border:1.5px solid var(--color-status-error);border-radius:var(--radius-button);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:700;cursor:pointer;font-family:var(--font-display);transition:all var(--duration-fast) ease}.btn--danger:hover{background:#ef44441a}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4)}.confirm-card{background:var(--color-surface-raised);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-2xl);padding:var(--space-8);width:min(440px,100%);display:flex;flex-direction:column;gap:var(--space-4);animation:modal-rise var(--duration-slow) var(--ease-spring)}.confirm-card h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--color-status-error);margin:0}.confirm-card p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6;margin:0}.confirm-card__actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.confirm-input-row{display:flex;flex-direction:column;gap:var(--space-2)}.confirm-input-row label{font-size:var(--text-sm);color:var(--color-text-secondary)}.saved-badge{font-size:var(--text-xs);font-weight:700;color:var(--color-status-success);animation:fade-in var(--duration-normal) ease}
