:root{color:#2b211d;font-synthesis:none;--paper:#f3f0e4;--surface:#fffdf7;--ink:#2b211d;--muted:#716963;--line:#cfc7b8;--line-soft:#e2dccf;--accent:#cf5953;--accent-dark:#a9413d;--accent-soft:#f5e1dd;--focus:#376f79;background:#f3f0e4;font-family:Avenir Next,Avenir,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--paper)}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 35%, transparent);outline-offset:3px}.app-shell{flex-direction:column;max-width:1120px;min-height:100svh;margin:0 auto;padding:0 44px 40px;display:flex}.page-content{flex:1}header{border-bottom:1px solid var(--line);min-height:92px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.wordmark{color:var(--ink);letter-spacing:-.055em;background:0 0;border:0;padding:8px 0;font:600 2rem/1 Georgia,Times New Roman,serif}.wordmark:after{background:var(--accent);content:"";width:24px;height:3px;margin-top:7px;display:block}.user-menu{color:var(--ink);text-align:left;text-transform:none;background:0 0;border:0;align-items:center;gap:11px;padding:8px 0;display:flex}.user-menu>span:last-child{gap:2px;display:grid}.user-menu strong{letter-spacing:.02em;font-size:.75rem}.user-menu small{color:var(--muted);letter-spacing:0;font-size:.66rem;font-weight:400}.user-avatar{color:#fff;letter-spacing:.04em;background:#3a302b;border:1px solid #3a302b;border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:.67rem;font-weight:700;display:inline-flex;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%}.user-avatar.large{width:76px;height:76px;font:700 1.35rem/1 Avenir Next,Avenir,sans-serif}.auth-shell{grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);min-height:100svh;display:grid}.auth-brand{color:#fff;background:#3a302b;align-content:center;padding:clamp(38px,7vw,100px);display:grid}.auth-brand .wordmark{color:#fff;justify-self:start}.auth-brand p{color:#d9d1c9;max-width:420px;margin:34px 0 0;font:400 clamp(1.7rem,3vw,2.8rem)/1.2 Georgia,Times New Roman,serif}.auth-panel{place-self:center;width:100%;max-width:520px;padding:50px clamp(28px,7vw,90px)}.auth-panel>p:not(.eyebrow,.auth-switch){color:var(--muted);line-height:1.6}.auth-panel h1{font-size:clamp(2.8rem,5vw,4.5rem)}.auth-form{margin-top:30px}.auth-submit{width:100%;margin-top:8px}.auth-switch{color:var(--muted);text-align:center;margin:28px 0 0;font-size:.8rem}.auth-switch .text-button{margin-left:5px}.profile-page{max-width:760px;margin:42px auto 0}.profile-heading{align-items:center;gap:22px;margin-bottom:34px;display:flex}.profile-heading h1{margin-bottom:7px;font-size:clamp(2.6rem,5vw,4.2rem)}.profile-heading p:last-child{color:var(--muted);margin:0}.fatal-error{color:#9f3834;text-align:center;max-width:600px;margin:20vh auto;padding:30px}h1,h2,p{margin-top:0}h1{color:var(--ink);letter-spacing:-.045em;margin-bottom:15px;font:400 clamp(2.8rem,6vw,4.7rem)/.98 Georgia,Times New Roman,serif}h2{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-weight:400}.eyebrow{color:var(--accent-dark);letter-spacing:.18em;margin:0 0 11px;font-size:.68rem;font-weight:700}.page-heading{justify-content:space-between;align-items:end;gap:32px;margin:64px 0 34px;display:flex}.page-heading p:not(.eyebrow),.lead{color:var(--muted);max-width:610px;margin-bottom:0;line-height:1.65}.primary,.secondary,.danger{letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;border-radius:3px;min-height:46px;padding:13px 19px;font-size:.78rem;font-weight:700}.primary{background:var(--accent);border:1px solid var(--accent);color:#fff}.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.secondary{color:var(--ink);background:0 0;border:1px solid #958a7d}.secondary:hover{background:var(--surface)}.text-button{color:#6c5d55;letter-spacing:.045em;text-transform:uppercase;background:0 0;border:0;min-height:40px;padding:8px 0;font-size:.74rem;font-weight:700}.text-button:hover{color:var(--accent-dark)}.danger{color:#9d3f38;background:0 0;border:1px solid #b96b64}.danger:hover{background:var(--accent-soft)}.actions,.scene-title{align-items:center;gap:10px;display:flex}.project-actions{flex-wrap:wrap;justify-content:flex-end;max-width:590px}.project-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.project-card{background:var(--surface);border:1px solid var(--line);color:var(--ink);text-align:left;border-radius:2px;min-height:210px;padding:25px;transition:border-color .15s,transform .15s;position:relative}.project-card:before{background:var(--accent);content:"";width:44px;height:4px;position:absolute;top:0;left:24px}.project-card:hover{border-color:#9e9386;transform:translateY(-2px)}.project-mark{color:var(--accent);margin-bottom:34px;font-size:1.25rem;display:block}.project-card strong{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:400;display:block}.project-author{color:var(--muted);margin-top:6px;font-family:Georgia,Times New Roman,serif;font-size:.88rem;font-style:italic;display:block}.project-card small{color:var(--accent-dark);letter-spacing:.11em;text-transform:uppercase;margin-top:8px;font-size:.68rem;font-weight:700;display:block}.project-card p{color:var(--muted);margin:19px 0 0;font-size:.9rem;line-height:1.55}.empty{background:color-mix(in srgb, var(--surface) 55%, transparent);border:1px solid var(--line);text-align:center;border-radius:2px;grid-column:1/-1;padding:64px 28px}.empty>span{color:var(--accent);font-size:1.6rem}.empty h2{margin:15px 0 9px;font-size:1.65rem}.empty p{color:var(--muted);margin-bottom:23px;line-height:1.55}.empty.compact{padding:36px 20px}.empty-actions{justify-content:center;gap:10px;display:flex}.back{color:#6c5d55;letter-spacing:.04em;background:0 0;border:0;min-height:44px;margin-top:23px;padding:10px 0;font-size:.8rem;font-weight:700}.back:hover{color:var(--accent-dark)}.scene-list{border-top:1px solid var(--line)}.scene-row{border-bottom:1px solid var(--line);color:inherit;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;width:100%;min-height:104px;padding:21px 10px;display:grid}.scene-row:hover{background:color-mix(in srgb, var(--surface) 68%, transparent)}.scene-row>span{color:var(--accent-dark);letter-spacing:.12em;font-size:.7rem;font-weight:700}.scene-row-copy{min-width:0}.scene-row-copy strong{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:400}.scene-row-copy p{color:var(--muted);margin:5px 0 0;font-size:.88rem;line-height:1.45}.scene-row-actions{gap:7px;display:flex}.scene-action{color:#6c5d55;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:2px;min-height:42px;padding:10px 12px;font-size:.7rem;font-weight:700}.scene-action:hover{background:var(--surface);border-color:var(--line)}.practice-action{color:var(--accent-dark);border-color:#bd7771}.scene-detail{max-width:760px;margin:54px auto 0}.scene-title{justify-content:space-between;align-items:start}.scene-title h1{margin-bottom:0}.characters{margin:27px 0 32px}.characters h2{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:11px;font-family:inherit;font-size:.67rem;font-weight:700}.characters div{flex-wrap:wrap;gap:7px;display:flex}.characters span{color:#5e524b;letter-spacing:.035em;background:#e7e0d2;border:1px solid #d5ccbd;border-radius:2px;padding:7px 10px;font-size:.75rem;font-weight:700}.play-metadata{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;margin:-8px 0 38px;display:grid}.play-metadata div{padding:14px 14px 14px 0}.play-metadata dt{color:var(--accent-dark);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:.62rem;font-weight:700}.play-metadata dd{color:#5f554f;margin:0;font-size:.82rem;line-height:1.5}.play-metadata a{color:#4f6265;text-underline-offset:3px}.source-metadata{margin-top:18px}.source-metadata div:last-child{grid-column:1/-1}.script{background:var(--surface);border:1px solid var(--line);border-radius:2px;margin-top:40px;padding:clamp(24px,5vw,46px)}.script>h2{border-bottom:1px solid var(--line-soft);margin-bottom:27px;padding-bottom:15px;font-size:1.4rem}.script>p{color:var(--muted);margin-bottom:0;line-height:1.6}pre{font:inherit;white-space:pre-wrap;margin:0;line-height:1.7}.structured-scene h3{border-bottom:1px solid var(--line-soft);color:#6c5d55;letter-spacing:.12em;text-transform:uppercase;margin:32px 0 19px;padding-bottom:9px;font-size:.72rem}.structured-scene h3:first-child{margin-top:0}.direction{color:#786e68;margin:19px 0;font-family:Georgia,Times New Roman,serif;font-style:italic;line-height:1.62}.dialogue{grid-template-columns:130px 1fr;gap:19px;margin:21px 0;display:grid}.dialogue strong{color:var(--accent-dark);letter-spacing:.1em;text-transform:uppercase;padding-top:5px;font-size:.68rem}.dialogue-copy{min-width:0}.dialogue-copy p{margin:0;line-height:1.6}.line-delivery{color:#786e68;font-family:Georgia,Times New Roman,serif;font-size:.87rem;font-style:italic}.dialogue-copy .line-delivery{margin-bottom:3px}.wizard-steps{gap:0;max-width:650px;margin:42px 0 0;padding:0;list-style:none;display:flex}.wizard-steps li{color:#8b837c;letter-spacing:.035em;flex:1;align-items:center;gap:9px;font-size:.72rem;font-weight:700;display:flex}.wizard-steps li:not(:last-child):after{background:var(--line);content:"";flex:1;height:1px;margin:0 12px}.wizard-steps span{border:1px solid #a99f93;border-radius:50%;justify-content:center;align-items:center;min-width:29px;height:29px;display:inline-flex}.wizard-steps .active{color:var(--accent-dark)}.wizard-steps .active span{background:var(--accent);border-color:var(--accent);color:#fff}.wizard-steps .complete{color:#5c7069}.wizard-steps .complete span{color:#42564e;background:#dfe7df;border-color:#aebcaf}.editor-heading{justify-content:space-between;align-items:end;margin:56px 0 28px;display:flex}.wizard-steps+.editor-heading{margin-top:34px}.editor-heading h1{margin-bottom:11px}.editor-heading p:not(.eyebrow){color:var(--muted);margin-bottom:0;line-height:1.55}.in-page-form,.scene-fields{background:var(--surface);border:1px solid var(--line);border-radius:2px}.in-page-form{max-width:760px;padding:clamp(22px,4vw,36px)}.in-page-form label:first-child{margin-top:0}.optional-details{border-top:1px solid var(--line-soft);margin-top:24px;padding-top:18px}.optional-details summary{color:#5c5049;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700}.metadata-fields{grid-template-columns:1fr 1fr;gap:0 18px;margin-top:9px;display:grid}.metadata-fields .wide-field{grid-column:1/-1}.form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:27px;display:flex}.form-hint{color:var(--muted);font-size:.82rem;line-height:1.55}label{color:#4f4540;letter-spacing:.025em;margin:17px 0;font-size:.78rem;font-weight:700;display:block}label span{color:#8b827b;font-weight:400}input,textarea,select{color:var(--ink);background:#fffefa;border:1px solid #aaa094;border-radius:2px;width:100%;min-height:46px;margin-top:8px;padding:12px 13px;display:block}input:hover,textarea:hover,select:hover{border-color:#756a61}textarea{resize:vertical;min-height:98px}textarea.source-text{min-height:min(52vh,460px)}.form-error,.error,.save-error{color:#9f3834;margin:13px 0 0;font-size:.84rem}.inline-confirm{background:var(--accent-soft);border:1px solid #c98b84;border-radius:2px;justify-content:space-between;align-items:center;gap:20px;margin:-15px 0 30px;padding:17px 19px;display:flex}.inline-confirm p{color:#713a35;margin:0;line-height:1.5}.inline-confirm div{gap:8px;display:flex}.scene-fields{grid-template-columns:1fr 1fr;gap:5px 20px;padding:clamp(20px,3vw,30px);display:grid}.scene-fields label:first-child,.scene-fields label:last-child,.project-review-fields label:nth-child(2){grid-column:1/-1}.items-heading{justify-content:space-between;align-items:end;margin:41px 0 15px;display:flex}.items-heading h2{margin-bottom:4px;font-size:1.5rem}.items-heading p{color:var(--muted);margin-bottom:0;font-size:.8rem}.add-items,.mobile-add-items{flex-wrap:wrap;gap:7px;display:flex}.add-items button,.mobile-add-items button{color:#5d514a;background:0 0;border:1px solid #a89e91;border-radius:2px;min-height:40px;padding:9px 12px;font-size:.72rem;font-weight:700}.add-items button:hover,.mobile-add-items button:hover{background:var(--surface)}.mobile-add-items{margin-top:15px;display:none}.scene-items{gap:11px;display:grid}.editor-item{background:var(--surface);border:1px solid var(--line);border-radius:2px;grid-template-columns:32px 1fr auto;align-items:start;gap:13px;padding:16px;display:grid}.item-number,.review-scene-number{color:var(--accent-dark);letter-spacing:.1em;padding-top:14px;font-size:.68rem;font-weight:700}.item-fields{grid-template-columns:155px 1fr;gap:9px;display:grid}.item-fields select,.item-fields input,.item-fields textarea{margin:0}.item-fields input[data-field=delivery]{grid-column:1/-1}.item-fields textarea{grid-column:1/-1;min-height:70px}.item-actions{gap:3px;display:flex}.item-actions button,.remove-scene{color:#776c65;background:0 0;border:0;border-radius:2px;min-width:36px;height:38px}.item-actions button:hover,.remove-scene:hover{background:#eee8dc}.item-actions .remove-item,.remove-scene{color:#a84640;font-size:1.15rem}.full-script-text{min-height:min(62vh,640px)}.library-heading{margin-bottom:22px}.library-search{background:var(--surface);border:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:18px;display:grid}.library-search label{margin:0}.library-notice{color:#655d57;background:#e9e4d7;border-left:3px solid #867f70;margin:18px 0 28px;padding:16px 18px}.library-notice strong{color:#4d4540;letter-spacing:.07em;text-transform:uppercase;font-size:.72rem}.library-notice p{margin:5px 0 0;font-size:.8rem;line-height:1.55}.library-loading{color:var(--muted);text-align:center;padding:38px 0}.library-results{border-top:1px solid var(--line)}.library-book{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:26px 10px;display:grid}.library-book h2{margin:0 0 5px;font-size:1.55rem}.library-book .eyebrow{margin-bottom:8px}.library-author{color:#625852;margin-bottom:10px;font-family:Georgia,Times New Roman,serif;font-style:italic}.library-summary{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:720px;margin-bottom:13px;font-size:.86rem;line-height:1.55;display:-webkit-box;overflow:hidden}.library-facts{flex-wrap:wrap;gap:7px;display:flex}.library-facts span{color:#615650;text-transform:uppercase;background:#e9e2d5;border:1px solid #d8d0c2;padding:5px 8px;font-size:.65rem;font-weight:700}.library-pagination{justify-content:center;align-items:center;gap:15px;margin-top:24px;display:flex}.library-pagination span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700}.library-source-banner{border-left:3px solid var(--accent);background:#e9e4d7;gap:4px;max-width:760px;margin-bottom:18px;padding:15px 18px;display:grid}.library-source-banner strong{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.library-source-banner span{color:#5c514b;font-family:Georgia,Times New Roman,serif;font-style:italic}.library-source-banner p{color:var(--muted);margin:2px 0 0;font-size:.78rem}.review-heading{align-items:center}.import-summary{color:#fff;background:#3a302b;border-radius:2px;grid-template-columns:repeat(3,1fr);margin-bottom:32px;padding:22px;display:grid}.import-summary div{border-right:1px solid #ffffff35;flex-direction:column;align-items:center;gap:5px;display:flex}.import-summary div:last-child{border-right:0}.import-summary strong{font:400 2.1rem/1 Georgia,Times New Roman,serif}.import-summary span{color:#e9e3dc;letter-spacing:.09em;text-transform:uppercase;font-size:.66rem;font-weight:700}.review-scenes{gap:15px;margin-top:24px;display:grid}.review-scene{background:var(--surface);border:1px solid var(--line);border-radius:2px;grid-template-columns:34px 1fr 38px;align-items:start;gap:13px;padding:20px;display:grid}.review-scene-body{min-width:0}.review-scene-body>label:first-child{margin-top:0}.review-scene-body textarea{min-height:68px}.scene-facts{flex-wrap:wrap;gap:8px;margin:13px 0;display:flex}.scene-facts span{color:#615650;background:#e9e2d5;border:1px solid #d8d0c2;border-radius:2px;padding:6px 9px;font-size:.69rem;font-weight:700}details{border-top:1px solid var(--line-soft);padding-top:13px}summary{color:#625751;cursor:pointer;min-height:32px;font-size:.78rem;font-weight:700}.review-items{gap:8px;margin-top:13px;display:grid}.review-item{border-left:3px solid #cfc3b5;padding:9px 11px}.review-item.type-dialogue{border-left-color:#788f87}.review-item.type-heading{border-left-color:var(--accent)}.review-item small{color:#8c817a;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.63rem;font-weight:700;display:block}.review-item strong{color:var(--accent-dark);text-transform:uppercase;margin-bottom:3px;font-size:.7rem;display:block}.review-item p{white-space:pre-wrap;margin:0;line-height:1.55}.review-item .line-delivery{margin-bottom:2px;font-size:.78rem}.review-footer{justify-content:space-between;align-items:center;margin-top:24px;display:flex}.practice-shell{max-width:760px;margin:52px auto 0}.practice-exit{color:#827973;letter-spacing:.1em;min-height:44px;right:max(16px, env(safe-area-inset-right));text-transform:uppercase;top:max(10px, env(safe-area-inset-top));z-index:2;background:0 0;border:0;padding:10px;font-size:.67rem;font-weight:700;position:absolute}.practice-exit:hover{color:var(--accent-dark)}.practice-intro{margin-bottom:31px}.practice-intro p:not(.eyebrow),.practice-complete>p:not(.eyebrow){color:var(--muted);line-height:1.6}.practice-mode-grid{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.practice-mode{border:0;border-right:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;align-content:start;gap:10px;min-height:190px;padding:25px 22px;display:grid}.practice-mode:last-child{border-right:0}.practice-mode:not(:disabled):hover{background:color-mix(in srgb, var(--surface) 68%, transparent)}.practice-mode:disabled{color:#8d857f;cursor:not-allowed}.practice-mode span{font:400 1.35rem/1.2 Georgia,Times New Roman,serif}.practice-mode small{color:var(--muted);font-size:.77rem;line-height:1.55}.practice-mode b{color:var(--accent-dark);letter-spacing:.09em;text-transform:uppercase;align-self:end;font-size:.68rem}.practice-mode:disabled b{color:#928983}.practice-speech-note{color:var(--muted);margin:13px 0 0;font-size:.72rem;line-height:1.5}.practice-character-grid{border-top:1px solid var(--line);display:grid}.practice-character{border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px 20px;min-height:82px;padding:18px 10px;display:grid}.practice-character:hover{background:color-mix(in srgb, var(--surface) 68%, transparent)}.practice-character span{font-family:Georgia,Times New Roman,serif;font-size:1.22rem}.practice-character small{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem}.practice-character b{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.69rem}.practice-setup-actions{justify-content:flex-end;margin-top:24px;display:flex}.practice-status{justify-content:space-between;align-items:end;display:flex}.practice-status h1{margin-bottom:0;font-size:clamp(2.3rem,6vw,3.7rem)}.practice-status>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding-bottom:7px;font-size:.72rem;font-weight:700}.practice-progress{background:#ddd5c8;height:3px;margin:0 0 29px;overflow:hidden}.practice-progress span{background:var(--accent);height:100%;transition:width .2s;display:block}.practice-card{background:var(--surface);border:1px solid var(--line);flex-direction:column;padding:clamp(24px,5vw,44px);display:flex}.practice-content{min-width:0}.practice-content.can-hint{cursor:pointer}.practice-context{border-left:3px solid #cfc3b5;margin:0 0 28px;padding:2px 0 2px 18px}.practice-dialogue+.practice-context{margin:28px 0 0}.practice-context p:last-child{margin-bottom:0}.practice-heading{color:#6c5d55;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:.7rem;font-weight:700}.practice-direction{color:#786e68;margin-bottom:10px;font-family:Georgia,Times New Roman,serif;font-style:italic;line-height:1.62}.practice-dialogue{min-height:180px;padding:18px 0}.practice-dialogue.is-own-line{border-left:4px solid var(--accent);padding-left:24px}.practice-speaker{color:var(--accent-dark);letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;font-size:.68rem;font-weight:700}.practice-delivery{color:#786e68;margin:-7px 0 9px;font-family:Georgia,Times New Roman,serif;font-size:.92rem;font-style:italic}.practice-line{margin:0;font:400 clamp(1.45rem,4vw,2rem)/1.5 Georgia,Times New Roman,serif}.practice-your-line{color:var(--accent-dark);margin:0;font:400 clamp(1.45rem,4vw,2rem)/1.5 Georgia,Times New Roman,serif}.practice-hint-line{color:#5f5751;overflow-wrap:anywhere}.practice-answer{gap:9px;margin:0;display:grid}.practice-answer span{color:#6d625c;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.practice-answer textarea{resize:vertical;background:#fffcf6;min-height:128px;margin:0;font:400 clamp(1.2rem,3vw,1.55rem)/1.5 Georgia,Times New Roman,serif}.practice-attempt-error{color:#8a4037;margin:8px 0 0;font-size:.76rem}.speech-attempt{border:1px solid var(--line);background:#f3eee4;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:15px;min-height:105px;padding:17px;display:grid}.speech-mark{color:#83766f;border:1px solid #a99d92;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.speech-attempt.state-listening .speech-mark{border-color:var(--accent);color:var(--accent)}.speech-attempt strong{margin-bottom:5px;font-size:.78rem;display:block}.speech-attempt p{color:var(--muted);margin:0;line-height:1.5}.speech-attempt.state-error{border-color:#cba9a2}.accuracy-result{gap:19px;display:grid}.accuracy-summary{border-bottom:1px solid var(--line-soft);grid-template-columns:auto 1fr;align-items:center;gap:17px;padding-bottom:18px;display:grid}.accuracy-summary>strong{color:var(--accent-dark);font:400 2.6rem/1 Georgia,Times New Roman,serif}.accuracy-summary>strong small{font-size:1rem}.accuracy-summary p{margin:0 0 4px;font-size:1.05rem;font-weight:700}.accuracy-summary span{color:var(--muted);font-size:.78rem;line-height:1.45}.accuracy-comparison{gap:14px;display:grid}.accuracy-comparison>div{grid-template-columns:88px 1fr;gap:7px;display:grid}.accuracy-comparison b{color:#746961;letter-spacing:.08em;text-transform:uppercase;padding-top:7px;font-size:.66rem}.accuracy-comparison p{margin:0;line-height:2.2}.accuracy-token{border:1px solid #0000;border-radius:2px;gap:4px;padding:6px 7px;font-family:Georgia,Times New Roman,serif;line-height:1;display:inline-flex}.accuracy-token small{font-family:system-ui,sans-serif;font-size:.58rem;font-weight:800}.accuracy-token.status-correct{color:#31553c;background:#e1ece2;border-color:#b9ceb9}.accuracy-token.status-moved,.accuracy-token.status-uncertain{color:#6d5724;background:#eee5cd;border-color:#d7c69b}.accuracy-token.status-missing,.accuracy-token.status-extra{color:#803f36;background:#f1dfdc;border-color:#d8b2aa}.accuracy-token.status-extra{text-decoration:line-through}.accuracy-empty{color:#803f36;font-style:italic}.accuracy-legend{flex-wrap:wrap;gap:12px;display:flex}.accuracy-legend span{color:var(--muted);align-items:center;gap:5px;font-size:.66rem;display:inline-flex}.accuracy-legend i{border:1px solid;width:9px;height:9px;display:inline-block}.accuracy-legend .correct{background:#e1ece2;border-color:#b9ceb9}.accuracy-legend .moved,.accuracy-legend .uncertain{background:#eee5cd;border-color:#d7c69b}.accuracy-legend .missing,.accuracy-legend .extra{background:#f1dfdc;border-color:#d8b2aa}.accuracy-summary .accuracy-transcript-score{margin-top:4px;display:block}.accuracy-original{margin-top:-5px}.accuracy-original p{margin:6px 0 0;font-family:Georgia,Times New Roman,serif;line-height:1.55}.practice-controls{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;margin-top:27px;padding-top:22px;display:flex}.practice-controls button{min-width:145px}.practice-controls button:disabled{cursor:not-allowed}.practice-control-actions{gap:9px;display:flex}.practice-control-actions .quiet{color:var(--accent-dark);text-underline-offset:4px;background:0 0;border-color:#0000;min-width:0;padding-inline:13px;-webkit-text-decoration:underline #c9aaa3;text-decoration:underline #c9aaa3}.practice-alias-error{color:#8a4037;text-align:right;flex-basis:100%;margin:5px 0 0;font-size:.72rem}.hold-to-speak{touch-action:none;-webkit-user-select:none;user-select:none}.hold-to-speak.recording{background:#843c35;border-color:#843c35}.practice-complete{text-align:center}.practice-complete-mark{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin:10px 0 25px;font-size:1.4rem;display:inline-flex}.practice-complete h1{font-size:clamp(2.7rem,7vw,4rem)}.practice-complete>p:not(.eyebrow){max-width:520px;margin-inline:auto}.practice-average{border-bottom:1px solid var(--line);border-top:1px solid var(--line);gap:5px;min-width:210px;margin-top:23px;padding:18px 28px;display:inline-grid}.practice-average strong{color:var(--accent-dark);font:400 2.1rem/1 Georgia,Times New Roman,serif}.practice-average span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:700}.practice-complete-actions{flex-wrap:wrap;justify-content:center;gap:9px;margin-top:29px;display:flex}.site-footer{border-top:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center;gap:34px;margin-top:76px;padding:25px 0 2px;display:grid}.footer-brand{color:var(--ink);padding-left:18px;font:600 1rem/1 Georgia,Times New Roman,serif;position:relative}.footer-brand:before{background:var(--accent);content:"";width:8px;height:8px;position:absolute;top:4px;left:0}.site-footer p{color:#827973;margin:0;font-size:.7rem;line-height:1.6}.site-footer a{color:#5f554f;text-underline-offset:3px;text-decoration-color:#bcb2a5}.site-footer a:hover{color:var(--accent-dark);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}body.practice-focus{overflow:hidden}body.practice-focus .app-shell{background:var(--paper);max-width:none;height:100dvh;padding:max(58px, calc(env(safe-area-inset-top) + 48px)) max(22px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));z-index:1000;width:100%;position:fixed;inset:0;overflow:hidden auto}body.practice-focus header,body.practice-focus .site-footer{display:none}body.practice-focus .page-content{flex:1;min-height:100%;display:flex}body.practice-focus .practice-shell{touch-action:pan-y;flex-direction:column;align-self:stretch;width:100%;height:100%;min-height:0;margin:0 auto;display:flex}body.practice-focus .practice-progress{z-index:1002;height:4px;margin:0;position:fixed;top:0;left:0;right:0}body.practice-focus .practice-status{flex:none;margin-bottom:22px}body.practice-focus .practice-card{flex:1;min-height:0}body.practice-focus .practice-content{overscroll-behavior:contain;flex:1;min-height:0;padding-right:4px;overflow-y:auto}body.practice-focus .practice-controls{flex:none}@media (max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-brand{align-content:start;min-height:190px;padding:34px clamp(28px,7vw,70px)}.auth-brand p{margin-top:22px;font-size:1.55rem}.auth-panel{padding-block:45px}.app-shell{padding-inline:32px}.page-heading{flex-direction:column;align-items:start;margin-top:52px}.page-heading .actions{width:100%}.project-actions{justify-content:flex-start;max-width:none}.editor-heading{flex-direction:column;align-items:start;gap:20px}.editor-heading>.actions{width:100%}.review-heading .primary{width:auto}}@media (max-width:700px){.app-shell{padding-inline:22px}header{min-height:78px}.items-heading{align-items:start}.add-items{display:none}.mobile-add-items{display:flex}.scene-fields{grid-template-columns:1fr}.scene-fields label{grid-column:1/-1}.editor-item{grid-template-columns:25px 1fr}.item-actions{grid-column:2;justify-content:flex-end}.review-heading .primary{width:100%}.site-footer{grid-template-columns:1fr;align-items:start;gap:11px;margin-top:62px;padding-top:22px}.scene-row{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px 14px;padding-block:18px}.scene-row-actions{grid-column:2}.practice-status{flex-direction:column;align-items:start;gap:12px}.practice-status>span{padding-bottom:0}.library-book{grid-template-columns:1fr;align-items:start}.library-book button{width:100%}}@media (max-width:560px){.app-shell{padding-inline:16px;padding-bottom:28px}.user-menu>span:last-child{display:none}.wordmark{font-size:1.75rem}h1{font-size:clamp(2.55rem,14vw,3.6rem)}.page-heading{gap:23px;margin-top:43px}.actions{flex-wrap:wrap;align-items:stretch}.page-heading .actions,.project-actions,.editor-heading>.actions{grid-template-columns:1fr 1fr;display:grid}.project-actions button:last-child{grid-column:1/-1}.page-heading .actions button,.editor-heading>.actions button{width:100%}.project-grid{grid-template-columns:1fr}.project-card{min-height:185px}.scene-title{flex-direction:column;align-items:start;gap:19px}.scene-title .actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.scene-row{min-height:98px}.scene-row-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.scene-action{width:100%}.empty{padding:48px 20px}.empty-actions{flex-direction:column;align-items:stretch;width:100%}.dialogue{grid-template-columns:1fr;gap:5px}.item-fields{grid-template-columns:1fr}.item-fields input[data-field=delivery],.item-fields textarea{grid-column:1}.wizard-steps{margin-top:31px}.wizard-steps li{gap:5px;font-size:.64rem}.wizard-steps li:not(:last-child):after{margin:0 5px}.wizard-steps span{min-width:25px;height:25px}.in-page-form{width:100%;padding:19px}.metadata-fields{grid-template-columns:1fr}.metadata-fields .wide-field{grid-column:1}.play-metadata{grid-template-columns:1fr;margin-top:4px}.source-metadata div:last-child{grid-column:1}.library-search{grid-template-columns:1fr;align-items:stretch}.library-search button{width:100%}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions button{width:100%}textarea.source-text{min-height:48vh}.inline-confirm{flex-direction:column;align-items:stretch;margin-top:-10px}.inline-confirm div{grid-template-columns:1fr 1fr;display:grid}.import-summary{padding:18px 8px}.import-summary strong{font-size:1.7rem}.import-summary span{font-size:.56rem}.review-scene{grid-template-columns:24px 1fr 32px;padding:14px 10px}.review-scene-number{font-size:.64rem}.review-footer{flex-direction:column-reverse;align-items:stretch;gap:9px}.review-footer button{width:100%}.practice-shell{margin-top:38px}body.practice-focus .app-shell{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}body.practice-focus .practice-shell{margin-top:0}.practice-character{grid-template-columns:1fr auto;gap:6px}.practice-character small{grid-area:2/1}.practice-character b{grid-area:1/2/3}.practice-mode-grid{grid-template-columns:1fr}.practice-mode{border-bottom:1px solid var(--line);border-right:0;min-height:130px}.practice-mode:last-child{border-bottom:0}.practice-card{padding:22px 19px}.practice-dialogue{min-height:165px}.practice-dialogue.is-own-line{padding-left:17px}.accuracy-comparison>div{grid-template-columns:1fr}.accuracy-comparison b{padding-top:0}.practice-controls button{width:100%}.practice-controls{flex-direction:column-reverse;align-items:stretch;gap:9px}.practice-control-actions{grid-template-columns:1fr 1fr;display:grid}.practice-control-actions>:only-child{grid-column:1/-1}.practice-complete-actions{flex-direction:column;align-items:stretch}}
