.menu-button{width:100%;min-height:48px;position:relative;font-size:13px;letter-spacing:.2em;padding:10px 20px}.menu-button:first-child{border-top:1px solid #e7bb8366;border-bottom:1px solid #e7bb8366;color:var(--amber);margin-bottom:5px}.menu-button:hover:not(:disabled){color:var(--amber);background:#e7bb830d}.primary,.secondary{border:1px solid #e7bb8366;min-height:48px;padding:13px 24px;font-size:12px;letter-spacing:.12em;line-height:1.7;max-width:100%}.primary{color:var(--amber);background:#e7bb830b}.primary:hover{background:#e7bb831c}.secondary{border-color:var(--hair);color:var(--paper)}.secondary:hover{background:#f4efe70b}.text-button{font-size:11px;letter-spacing:.06em;color:var(--muted);padding:8px 10px;line-height:1.8}.text-button:hover{color:var(--paper)}.danger{color:#e2a6a3;border-color:#e2a6a355}.choice{position:relative;display:block;text-align:left;width:100%;border:1px solid #f4efe72b;border-left:2px solid #8dafd655;background:#101827a1;padding:14px 17px;margin:8px 0;line-height:1.6}.choice>span{display:block;font:16px/1.65 var(--serif);letter-spacing:.04em}.choice small{font:10px/1.8 var(--sans);color:#c5c5c2;display:block;margin-top:5px}.choice:hover,.choice[aria-pressed=true]{background:#e7bb8314;border-color:#e7bb8377}.choice[aria-pressed=true]{border-left-color:var(--amber)}.choice[aria-pressed=true]:after{content:'';position:absolute;right:13px;top:17px;width:4px;height:4px;border-radius:50%;background:var(--amber)}
dialog{padding:0;color:var(--paper);background:#101c2af7;border:1px solid #e7bb8330;width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));box-shadow:0 30px 100px #0009;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8dafd640 transparent}dialog::backdrop{background:#081320c9;backdrop-filter:blur(8px)}#modal-content{padding:24px 26px 30px}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px}.modal-heading h2{font:21px/1.6 var(--serif);letter-spacing:.08em}.modal-heading button{font-size:23px;width:44px;min-width:44px;color:var(--muted);margin-right:-8px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 0;border-top:1px solid #f4efe71b;line-height:1.7;font-size:13px}.setting-row small{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:4px}.toggle{display:block;position:relative;min-width:48px;width:48px;height:28px;min-height:44px}.toggle input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;margin:0}.toggle span{position:absolute;left:0;right:0;top:8px;height:26px;background:#304252;border:1px solid #8dafd640;border-radius:20px;pointer-events:none}.toggle span:after{content:'';position:absolute;left:4px;top:4px;width:16px;height:16px;background:#b6c0c7;border-radius:50%;transition:transform .2s}.toggle input:checked+span{background:#e7bb8322;border-color:var(--amber)}.toggle input:checked+span:after{transform:translateX(21px);background:var(--amber)}.toggle input:focus-visible+span{outline:2px solid var(--amber);outline-offset:3px}.setting-row input[type=range]{width:135px;min-width:90px;accent-color:var(--amber);height:44px}.setting-row select{background:#1a2b3b;border:1px solid var(--hair);color:var(--paper);min-height:44px;padding:0 12px;font-size:16px;max-width:170px}.modal-links{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--hair);padding-top:22px;margin-top:15px}.modal-links>*{flex:1;min-width:160px}.modal-prose{font:14px/2 var(--serif);letter-spacing:.03em}.modal-prose p{margin:0 0 18px}.slot{padding:17px 0;border-top:1px solid var(--hair)}.slot-title{display:flex;justify-content:space-between;align-items:baseline;gap:15px;font:17px/1.7 var(--serif)}.slot-title em{font:9px var(--sans);color:var(--amber);letter-spacing:.12em;font-style:normal}.slot-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.slot-actions button{font-size:11px;padding:10px 15px}.slot-desc{font-size:11px;color:var(--muted);line-height:1.9;margin:7px 0}.archive-item{border-top:1px solid var(--hair);width:100%;padding:20px 0;text-align:left;line-height:1.8}.archive-item span{display:block;font:17px/1.8 var(--serif);margin:5px 0}.archive-item small{font-size:10px;color:var(--muted)}.log-scene{border-top:1px solid var(--hair);padding:20px 0}.log-scene h3{font:14px/1.7 var(--serif);color:var(--amber);margin-bottom:12px}.log-scene p{font:13px/2 var(--serif);white-space:pre-line;margin-bottom:12px}.share-preview{display:block;max-width:100%;max-height:45dvh;margin:0 auto 20px;object-fit:contain}.share-format{display:flex;gap:8px;margin-bottom:18px;justify-content:center}.share-format button{border-bottom:1px solid transparent;font-size:11px;padding:7px 15px}.share-format button[aria-pressed=true]{color:var(--amber);border-color:var(--amber)}.backup-hint{padding:14px 0;font-size:11px;line-height:2;color:var(--muted)}#toast{position:fixed;left:50%;bottom:calc(30px + env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100vw - 40px);z-index:30;font-size:12px;line-height:1.8;text-align:center;background:#101827f2;color:var(--paper);border:1px solid #e7bb8366;padding:13px 21px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}.copy-area{width:100%;min-height:120px;background:#182a3c;border:1px solid var(--hair);font:14px/1.8 var(--sans);color:var(--paper);padding:12px}.update-note{position:fixed;bottom:0;left:0;right:0;z-index:25;background:#19283ff5;padding:12px 22px calc(12px + env(safe-area-inset-bottom));display:flex;gap:15px;justify-content:center;align-items:center;font-size:11px;line-height:1.7}.update-note button{border:1px solid #e7bb8366;color:var(--amber);padding:8px 14px;min-width:105px}.external-links{font-size:12px;display:flex;justify-content:center;gap:25px;margin:35px 0}.help-list{padding-left:20px;font-size:13px;line-height:2.2}.confirm-message{font:15px/2 var(--serif);white-space:pre-line;margin-bottom:22px}.confirm-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
@media(max-height:720px){.choice{padding:10px 13px;margin:6px 0}.choice>span{font-size:14px}.choice small{font-size:9px}.choice-confirm{margin-top:9px}.choice-note{margin-top:7px;font-size:9px}.primary,.secondary{padding:11px 18px}.menu-button{min-height:44px}}
