html.dark{--bg: #0f0d0a;--surface: #161310;--card: #1c1814;--border: #2e2820;--text: #ddd0c4;--text-dim: #a89580;--muted: #6b5d52;--amber: #c9834a;--amber-soft: #3d2710;--blue: #6b9fd4;--blue-soft: #172335;--red: #c05040;--radius: 14px;--radius-sm: 8px;--composer-h: 64px}html.light{--bg: #f7f3ec;--surface: #f0e9de;--card: #faf7f2;--border: #ddd0be;--text: #28201a;--text-dim: #7a6858;--muted: #a8917c;--amber: #a85a20;--amber-soft: #f5e2cc;--blue: #2a6aad;--blue-soft: #daeaf7;--red: #b03020;--radius: 14px;--radius-sm: 8px;--composer-h: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;overscroll-behavior:none}#app{height:100%;display:flex;flex-direction:column}a{color:var(--amber);text-decoration:none}a:hover{text-decoration:underline}code{font-family:ui-monospace,monospace;font-size:.82em;color:var(--muted);background:var(--card);padding:1px 5px;border-radius:4px}.page{display:flex;flex-direction:column;height:100%}.page-header{flex-shrink:0;display:flex;align-items:center;gap:10px;height:52px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--surface)}.page-header h1{flex:1;font-size:1rem;font-weight:500;letter-spacing:.02em}.list-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;padding:20px 16px;gap:12px}.scenes-loading{flex:1;display:flex;align-items:center;justify-content:center}.scenes-list{display:flex;flex-direction:column;gap:6px}.scene-card{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;transition:background .12s}.scene-card:hover{background:var(--surface);text-decoration:none}.scene-name{font-size:1rem}.new-scene-row{display:flex;gap:8px;margin-top:4px}.new-scene-input{flex:1;padding:11px 14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:.95rem;outline:none;transition:border-color .15s}.new-scene-input:focus{border-color:var(--amber)}.new-scene-input::placeholder{color:var(--muted)}.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 20px;color:var(--muted);text-align:center;line-height:1.6}.error-state{color:var(--red)}.editor-page{display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden}.editor-header{flex-shrink:0;display:flex;align-items:center;gap:8px;height:52px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--surface);z-index:10}.editor-title{flex:1;font-size:.95rem;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.02em}.header-actions{display:flex;gap:2px}.draft-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:28px 20px 0}.draft-empty{color:var(--muted);font-family:Georgia,serif;font-style:italic;font-size:1rem;line-height:1.8}.para-wrap{position:relative;margin-bottom:24px;padding-right:28px}.para-text{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.85;color:var(--text)}.para-orig-text{color:var(--text-dim)}.para-inner{position:relative;overflow:hidden}.para-polished{position:relative;padding-left:14px;transform:translate(0);transition:transform .32s cubic-bezier(.25,.46,.45,.94);will-change:transform}.para-original{position:absolute;top:0;left:0;width:100%;padding-left:14px;transform:translate(100%);transition:transform .32s cubic-bezier(.25,.46,.45,.94);will-change:transform}.para-wrap.is-swiped .para-polished{transform:translate(-100%)}.para-wrap.is-swiped .para-original{transform:translate(0)}.para-wrap{transition:opacity .18s}.para-wrap.dimmed{opacity:.15;pointer-events:none}.accent-bar{position:absolute;left:0;top:3px;bottom:3px;width:2px;border-radius:2px}.accent-amber{background:var(--amber);opacity:.7}.accent-blue{background:var(--blue);opacity:.7}.para-wrap:not(.ai-para) .para-text{padding-left:0}.para-edit-btn,.para-delete-btn{position:absolute;right:0;background:none;border:none;color:var(--muted);font-size:.85rem;padding:4px 6px;cursor:pointer;opacity:.3;transition:opacity .15s,color .15s;line-height:1}.para-edit-btn{top:2px}.para-delete-btn{top:24px}.para-wrap:hover .para-edit-btn,.para-wrap:hover .para-delete-btn,.para-wrap.is-editing .para-edit-btn{opacity:.9}.para-delete-btn.is-confirming{opacity:1;color:var(--red)}.para-wrap.is-editing .para-outer{outline:1px solid var(--amber);border-radius:4px}.para-wrap.is-editing>.para-text{outline:1px solid var(--amber);border-radius:4px;padding:2px 4px}.composer{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--border);padding:10px 14px;padding-bottom:max(10px,env(safe-area-inset-bottom));z-index:30}.edit-banner{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 8px;border-bottom:1px solid var(--border);margin-bottom:8px}.edit-banner.hidden{display:none}.edit-banner-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--amber)}.cancel-edit-btn{background:none;border:none;color:var(--muted);font-size:.82rem;cursor:pointer;padding:2px 6px}.cancel-edit-btn:hover{color:var(--text)}.compose-input{width:100%;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:Georgia,serif;font-size:1rem;line-height:1.6;padding:10px 12px;resize:none;outline:none;transition:border-color .15s;max-height:200px;overflow-y:auto}.compose-input:focus{border-color:var(--amber)}.compose-input::placeholder{color:var(--muted);font-style:italic}.compose-input:disabled{opacity:.5}.compose-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.compose-btn{height:38px;padding:0 18px;border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit}.review-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;max-height:72svh;display:flex;flex-direction:column;z-index:40;transform:translateY(100%);transition:transform .32s cubic-bezier(.25,.46,.45,.94);box-shadow:0 -8px 32px #00000040}.review-sheet.hidden{display:none}.review-sheet.is-visible{transform:translateY(0)}.review-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.review-ai-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:var(--amber);font-weight:500}.review-text{flex:1;overflow-y:auto;padding:18px 20px;font-family:Georgia,serif;font-size:1.05rem;line-height:1.85;color:var(--text);outline:none;white-space:pre-wrap;-webkit-overflow-scrolling:touch}.review-footer{flex-shrink:0;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border)}button{cursor:pointer;font-family:inherit;border:none}.btn-amber{background:var(--amber);color:#fff;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;padding:10px 20px;transition:opacity .12s}html.light .btn-amber{color:var(--bg)}.btn-amber:hover{opacity:.88}.btn-amber:disabled{opacity:.35;cursor:default}.btn-primary{background:var(--amber);color:#fff;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;padding:10px 20px;height:46px;transition:opacity .12s}html.light .btn-primary{color:var(--bg)}.btn-primary:hover{opacity:.88}.btn-primary:disabled{opacity:.35;cursor:default}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);font-size:.9rem;padding:10px 16px;height:38px;transition:border-color .12s,color .12s}.btn-ghost:hover{border-color:var(--muted);color:var(--text)}.btn-ghost:disabled{opacity:.3;cursor:default}.full-width{width:100%}.back-btn{color:var(--amber);font-size:1.1rem;padding:4px 8px 4px 0;white-space:nowrap;flex-shrink:0}.back-btn:hover{opacity:.75;text-decoration:none}.icon-btn{background:transparent;border:none;color:var(--muted);font-size:1rem;padding:6px 8px;cursor:pointer;transition:color .12s;border-radius:var(--radius-sm)}.icon-btn:hover{color:var(--text)}.sheet{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;max-height:60svh;display:flex;flex-direction:column;z-index:50;box-shadow:0 -8px 32px #0003}.sheet.hidden{display:none}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.sheet-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:500}.warmup-body{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.warmup-q{font-family:Georgia,serif;font-size:1rem;line-height:1.65;color:var(--text);padding-left:14px;border-left:2px solid var(--amber-soft)}.settings-body{flex:1;overflow-y:auto;padding:24px 16px;display:flex;flex-direction:column;gap:32px}.settings-section{display:flex;flex-direction:column;gap:14px}.settings-section h2{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}.settings-help{font-size:.87rem;color:var(--text-dim);line-height:1.55}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.field input{padding:11px 13px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:.95rem;outline:none;width:100%;transition:border-color .15s}.field input:focus{border-color:var(--amber)}.field input::placeholder{color:var(--muted)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--amber);border-radius:50%;animation:spin .65s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%) translateY(6px);background:var(--card);border:1px solid var(--border);color:var(--text);padding:7px 18px;border-radius:20px;font-size:.82rem;opacity:0;transition:opacity .18s,transform .18s;pointer-events:none;white-space:nowrap;z-index:100;box-shadow:0 4px 16px #0003}.toast-show{opacity:1;transform:translate(-50%) translateY(0)}.hidden{display:none!important}.muted-text{color:var(--muted);font-style:italic}
