#settings-open {min-height:44px;padding:8px 16px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-panel);color:var(--ui-ivory);font:600 16px/1.4 var(--ui-font-body);cursor:pointer;}
#settings-open:hover {border-color:var(--ui-gold);box-shadow:var(--ui-glow);}
#settings-open:focus-visible {outline:2px dashed var(--ui-focus);outline-offset:3px;}
#settings-panel {position:absolute;inset:0;z-index:90;display:grid;place-items:center;background:var(--ui-backdrop);backdrop-filter:blur(2px);color:var(--ui-ivory);}
#stage.story-active > #settings-panel {visibility:visible;pointer-events:auto;}
.settings-sheet {width:min(90%,620px);padding:clamp(20px,3cqw,40px);border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-panel);box-shadow:var(--ui-inset),var(--ui-shadow);text-align:center;}
.settings-sheet h2 {font:600 var(--ui-h2)/1.5 var(--ui-font-title);margin:0 0 16px;}
.settings-sheet h3 {font:600 var(--ui-h3)/1.5 var(--ui-font-body);margin:0 0 12px;}
.dialogue-mode-options {display:flex;gap:12px;justify-content:center;}
.settings-sheet button {min-height:48px;padding:12px 24px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);color:var(--ui-ivory);background:var(--ui-ink);font:600 var(--ui-body)/1.5 var(--ui-font-body);cursor:pointer;transition:box-shadow var(--ui-fast),border-color var(--ui-fast);}
.dialogue-mode-options button {flex:1;max-width:220px;}
.settings-sheet button:hover {border-color:var(--ui-gold);box-shadow:var(--ui-glow);}
.settings-sheet button:focus-visible {outline:2px dashed var(--ui-focus);outline-offset:3px;}
.settings-sheet button.is-selected {border:2px solid var(--ui-gold);box-shadow:inset 0 0 16px var(--ui-accent-soft);}
.settings-sheet button.is-selected::after {content:' · 已選';font-size:.72em;color:var(--ui-gold);}
.settings-sheet p {font:500 var(--ui-small)/1.6 var(--ui-font-body);color:var(--ui-muted);letter-spacing:.03em;min-height:1.6em;margin:14px 0;}
.settings-actions {display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
#settings-title:focus {outline:none;}
@media(max-width:600px) {#settings-panel {position:fixed;}.settings-sheet {padding:24px 18px;}#settings-open {font-size:14px;padding:8px 10px;}.settings-sheet button {min-height:48px;}}
