:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172338;background:#f4f6fa;font-synthesis:none;--blue:#194ee6;--line:#dce2ec}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.55}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:8px;padding:12px 18px;background:var(--blue);color:white;font-weight:650}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #80a4ff;outline-offset:3px}a{color:var(--blue)}aside{width:242px;background:#101c31;color:#c4cede;position:fixed;inset:0 auto 0 0;padding:34px 22px;display:flex;flex-direction:column}.brand{font-size:20px;letter-spacing:1px;font-weight:800;text-decoration:none;color:inherit}.brand span{font-weight:400;color:#8da9e7}.aside-label{margin-top:54px;font-size:12px;letter-spacing:1.6px;color:#8294b0}.nav{color:#c4cede;text-decoration:none;padding:12px;border-radius:7px;margin:3px 0;font-size:14px}.nav.active{color:white;background:#25344e}.aside-foot{margin-top:auto;font-size:14px;color:#8c9bb4}.aside-foot button{color:#bdcbe6;padding-left:0}main{max-width:1480px;margin-left:242px;padding:36px 46px}header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:30px;border-bottom:1px solid var(--line)}h1{font-family:Georgia,serif;font-size:42px;letter-spacing:-1px;margin:4px 0}h2{font-size:24px;line-height:1.25;margin:4px 0}h3{font-size:20px;margin:0 0 14px}.subtitle{color:#6b7688;margin:0}.eyebrow{font-size:12px;letter-spacing:1.5px;color:#61718b;font-weight:700;margin:0 0 8px}.badge{background:#eaf0ff;color:#2049a6;border-radius:30px;padding:6px 12px;font-size:13px;white-space:nowrap}.badge.muted{background:#f0f2f5;color:#596679}.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}section{scroll-margin-top:20px;margin-top:36px}.tabs{display:flex;border:1px solid var(--line);border-radius:9px;padding:4px;background:white;white-space:nowrap}.tabs button{background:transparent;color:#647088;font-size:14px;padding:9px 13px}.tabs button.selected{background:#172b4d;color:white}.work-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:22px}.editor,.production{padding:26px;background:white;border:1px solid var(--line);border-radius:12px;min-width:0}.card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.hint{font-size:14px;color:#67748a}.editor>p{margin-top:0}.production{background:#edf2fd;border-color:#d5e0fa}.production>p{margin-bottom:18px}label{display:block;font-size:14px;font-weight:650;margin:18px 0 7px}textarea,input{width:100%;border:1px solid #cbd4e3;border-radius:7px;padding:12px;background:white;color:#172338;resize:vertical}textarea:focus,input:focus{outline:2px solid #98b4fa;border-color:var(--blue)}.actions{display:flex;align-items:center;gap:14px;margin-top:20px}.wide{width:100%;margin-top:16px}.secondary{background:white;color:var(--blue);border:1px solid #b8cafa;margin-top:12px}.link{background:none;color:var(--blue);padding:10px 0;display:block}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.reference-card{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:white}.reference-card button{padding:0;border:0;border-radius:0;width:100%;display:block;background:#dce2ea}.reference-card img{width:100%;height:230px;object-fit:contain;display:block;background:#e4e0d8}.reference-card figcaption{padding:14px;font-size:14px;font-weight:650}.reference-card figcaption span{display:block;color:#597269;font-size:13px;font-weight:400}#reference-strip{display:flex;gap:10px;flex-wrap:wrap}#reference-strip img{width:70px;height:70px;object-fit:cover;border-radius:7px}#fact-list{display:grid;gap:12px}.fact{background:white;border:1px solid var(--line);border-left:3px solid #4a73c5;padding:18px 22px;border-radius:8px}.fact.hypothesis{border-left-color:#ba812c}.fact p{margin:5px 0}.fact a{font-size:14px}.truth{font-size:12px;font-weight:700;letter-spacing:.5px}details{border-top:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:650}#history{font-size:14px;color:#647088}#history li{margin:8px 0}footer{margin-top:28px;color:#69768c;font-size:13px}#notice{min-height:0;margin-top:15px;color:#244790}#notice.error,.error{color:#b32d3d}dialog{max-width:95vw;max-height:94vh;border:0;border-radius:12px;background:#101c31;padding:12px}dialog::backdrop{background:#081121dc}dialog img{display:block;max-width:88vw;max-height:80vh;object-fit:contain}dialog button{display:block;margin-left:auto;margin-bottom:10px}.login{min-height:100vh;display:grid;place-items:center;background:#101c31}.login-card{margin:0;width:min(460px,94vw);padding:38px;border-radius:14px;background:white}.login-card h1{font-size:32px;margin-top:36px}.login-card p{color:#647088}.login-card form>button{width:100%;margin-top:24px}#prompt{font-family:inherit;font-size:14px}#prompt-status{font-size:14px}@media(max-width:1100px){aside{width:200px;padding:28px 16px}main{margin-left:200px;padding:26px}.work-grid{grid-template-columns:1fr}.reference-card img{height:170px}.section-head{flex-wrap:wrap}}@media(max-width:700px){aside{position:static;width:auto;padding:16px 20px;display:block}.aside-label,.aside-foot,.nav{display:none}main{margin:0;padding:24px 16px}header{align-items:start;gap:10px}h1{font-size:32px}h2{font-size:22px}header>.badge{font-size:12px;padding:5px 8px}.eyebrow{font-size:11px}.subtitle{font-size:14px}.editor,.production{padding:20px}.section-head{gap:14px}.tabs{width:100%}.tabs button{flex:1}.reference-grid{grid-template-columns:1fr}.reference-card img{height:auto;max-height:340px}.actions{align-items:start;flex-direction:column}.actions button{width:100%}.card-head{flex-wrap:wrap}section{margin-top:28px}}
@media(max-width:700px){.aside-foot{display:block;font-size:0;margin:0}.aside-foot .link{font-size:13px;padding:6px 0}}
select{width:100%;padding:12px;background:white;color:#172338;border:1px solid #cbd4e3;border-radius:7px;font:inherit}.upload-box{background:white;padding:20px;border:1px solid var(--line);border-radius:10px}.upload-box button{margin-top:20px}.take-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.take-card{background:white;border:1px solid var(--line);padding:20px;border-radius:10px;min-width:0}.take-card video{width:100%;max-height:340px;background:#101c31}.qa-check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.qa-check input{width:20px;height:20px;flex-shrink:0}.take-card button{margin:12px 10px 0 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;font:13px/1.5 ui-monospace,monospace}.take-card details{padding:12px 0}@media(max-width:900px){.take-grid{grid-template-columns:1fr}}

.projects-page{background:#f4f6fa}.projects-shell{margin:0 auto;max-width:1180px;padding:46px 28px}.projects-header{padding-bottom:28px}.projects-header form{margin:0}.projects-header .secondary{margin:0}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.project-card{display:flex;min-height:190px;flex-direction:column;justify-content:space-between;padding:24px;border:1px solid var(--line);border-radius:14px;background:white;color:#172338;text-decoration:none}.project-card:hover{border-color:#9db4e8;box-shadow:0 8px 30px #1a31520f}.project-card h2{margin:4px 0 8px}.project-card p:not(.eyebrow){color:#68758a}.project-meta{display:flex;justify-content:space-between;gap:16px;color:#6b7688;font-size:14px}.project-meta strong{color:var(--blue)}.new-project{max-width:760px;padding:28px;background:white;border:1px solid var(--line);border-radius:14px}.new-project fieldset{border:0;padding:0;margin:20px 0}.new-project legend{font-size:14px;font-weight:650;margin-bottom:7px}.choice{display:flex;align-items:center;gap:10px;font-weight:400;margin:8px 0}.choice input{width:20px;height:20px;flex:0 0 auto}.historical-choice{margin:18px 0}.new-project>form>button{margin-top:10px}.empty-card{padding:24px;border:1px dashed #b8c6dc;border-radius:12px;background:#fff}.empty-card p{color:#68758a}
@media(max-width:700px){.projects-shell{padding:24px 16px}.projects-header{display:block}.projects-header form{margin-top:18px}.projects-grid{grid-template-columns:1fr}.project-card{min-height:150px}.new-project{padding:20px}}

.project-card-main{display:flex;flex:1;flex-direction:column;justify-content:space-between;color:#172338;text-decoration:none}.project-actions{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.project-actions form{margin:0}.compact{padding:8px 12px;margin:0;font-size:13px}.progress-row{display:flex;align-items:center;gap:10px;margin:14px 0;color:#68758a;font-size:13px}.progress-track{height:7px;flex:1;background:#e8edf6;border-radius:999px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--blue)}.archived-projects{margin-top:30px}.archived-projects>details>summary{font-size:15px}.project-card.archived{opacity:.78}.archived-grid{margin-top:18px}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.target-nav{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto;gap:10px;align-items:center;margin:20px 0}.target-nav .secondary,.target-nav .link{margin:0}.target-nav select{margin:0}
.subsection-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:30px}.subsection-head h3{margin:2px 0}.lettering-row{border:1px solid var(--line);border-radius:10px;padding:16px;margin:14px 0;background:#f8faff}.lettering-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.lettering-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.lettering-grid label{margin:0;font-size:13px}.lettering-grid textarea{grid-column:span 2}.panel-preview{position:relative;aspect-ratio:4/3;max-width:680px;border:1px solid #cbd4e3;border-radius:10px;overflow:hidden;background:#dde3ed}.panel-preview-bg{position:absolute;inset:0;display:grid;place-items:center;color:#7b8798;background:linear-gradient(135deg,#eef2f8,#d9e1ec)}#bubble-preview{position:absolute;inset:0}.bubble-preview-item{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;padding:10px;background:white;border:2px solid #172338;color:#172338;font-size:clamp(10px,1.4vw,15px);line-height:1.25;text-align:center;overflow:hidden;box-shadow:0 2px 8px #0002}.shape-oval{border-radius:50%}.shape-rounded{border-radius:18px}.shape-rectangle,.shape-caption{border-radius:3px}.shape-caption{background:#fffdf1}.shape-none{background:transparent;border:0;box-shadow:none}
.reference-downloads{display:grid;gap:8px;margin:12px 0}.reference-download-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #d8e0ee;font-size:14px}.download-pack{display:block;margin:12px 0 4px;font-weight:700}
@media(max-width:700px){.target-nav{grid-template-columns:1fr 1fr}.target-nav select{grid-column:1/-1;grid-row:1}.target-nav #first-target{grid-column:1/-1}.lettering-grid{grid-template-columns:1fr}.lettering-grid textarea{grid-column:auto}.subsection-head{align-items:flex-start;flex-direction:column}.subsection-head button{width:100%}.panel-preview{aspect-ratio:3/4}.reference-download-row{align-items:flex-start;flex-direction:column;gap:4px}}

/* Production workshop: common image/lettering coordinate space, touch handles. */
[hidden]{display:none!important}.production-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}.production-toolbar button{margin:0}.next-action{background:#e7efff;border-left:4px solid var(--blue);padding:16px;border-radius:8px}.image-versions{display:flex;gap:16px;overflow:auto;margin:20px 0}.image-version{flex:0 0 180px;padding:12px;background:white;border:1px solid var(--line);border-radius:10px}.image-version img{width:100%;height:110px;object-fit:contain}.image-version button{font-size:13px;padding:10px}#visual-editor{padding:24px;background:white;border:1px solid var(--line);border-radius:12px}#visual-editor #lettering-section{display:flex;flex-direction:column}#visual-editor .panel-preview{order:-3;width:100%;max-width:1000px;margin:20px auto;border-radius:0;container-type:inline-size}#visual-editor .subsection-head{order:-5}#visual-editor .production-toolbar{order:-4}#visual-editor .lettering-row{margin:8px 0}#panel-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.visual-bubble{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;background:#fff;color:#111;border:2px solid #111;text-align:center;font:3cqw/1.2 Arial,sans-serif;touch-action:none;cursor:move;z-index:1}.visual-bubble.shape-none{border:0;background:transparent}.visual-bubble.shape-caption{background:#fffbea}.bubble-copy{max-width:100%;width:100%;max-height:100%;padding:5% 8%;overflow:hidden;overflow-wrap:anywhere;cursor:text}.bubble-copy:focus{outline:2px solid #4265cf}.bubble-grip{position:absolute;right:-10px;bottom:-10px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#194ee6;color:white;font:18px Arial;cursor:nwse-resize}.visual-bubble:after{content:'';position:absolute;width:12%;height:25%;background:inherit;z-index:-1;clip-path:polygon(0 0,100% 0,15% 100%);top:95%;left:25%}.tail-none:after,.shape-none:after,.shape-caption:after{display:none}.tail-left:after{top:45%;left:-10%;transform:rotate(85deg)}.tail-right:after{top:45%;left:98%;transform:rotate(-85deg)}.tail-up:after{top:-20%;transform:rotate(180deg)}.show-safe:after{content:'';position:absolute;inset:5%;border:1px dashed #e94d68;pointer-events:none;z-index:5}.dragging{outline:3px dashed var(--blue)}.comic-board{position:relative;width:100%;max-width:850px;margin:24px auto;background:white;box-shadow:0 3px 24px #10204022}.page-cell{position:absolute;border:1px solid #111;container-type:inline-size}.composed-panel{position:absolute;inset:0;overflow:hidden;background:#f3f5f8}.composed-panel>img{width:100%;height:100%;object-fit:contain}.composed-overlay{position:absolute;inset:0}.composed-panel .visual-bubble{font-size:3cqw;border-width:1px}.cell-open{position:absolute;bottom:0;left:0;max-width:100%;font:11px/1.3 system-ui;padding:5px;background:#132544df;border-radius:0;z-index:3}.missing-image{display:grid;place-items:center;height:100%;font-size:12px;color:#6a7890}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.album-page{min-width:0;background:#fff;padding:16px;border:1px solid var(--line);border-radius:10px}.album-page .cell-open{font-size:8px;padding:2px}.album-page .comic-board{margin:12px 0}.timeline-grid{display:flex;overflow:auto;gap:16px}.timeline-grid>.take-card{flex:0 0 280px}.timeline-grid video,#timeline-player{width:100%;max-height:400px;background:#101c31}.duration{font-variant-numeric:tabular-nums}#new-unit{background:white;color:#172338;width:min(460px,94vw)}#new-unit button{display:inline-block;margin-top:16px}.nav[href="/"]{display:block}@media(max-width:700px){.album-grid{grid-template-columns:1fr 1fr;gap:10px}.album-page{padding:10px;font-size:12px}.album-page h3{font-size:16px}#visual-editor{padding:12px}.visual-bubble{font-size:3cqw}.bubble-grip{width:34px;height:34px}.production-toolbar button{flex:1;padding:11px 10px}.panel-preview{aspect-ratio:4/3}.timeline-grid>.take-card{flex-basis:85vw}#notice{position:sticky;top:0;z-index:10;background:#f4f6fa}.image-version{flex-basis:160px}}@media print{.cell-open{display:none}}

.bubble-mover{position:absolute;left:-12px;top:-14px;width:30px;height:30px;background:#194ee6;color:white;border-radius:50%;display:grid;place-items:center;font:18px Arial;cursor:move}.composed-overlay .bubble-mover{display:none}

/* Page-first production: readable script next to the complete board. */
.page-workspace{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1fr);gap:24px;align-items:start}
.page-workspace>section{min-width:0}.page-workspace .comic-board{width:100%;max-width:620px}
.full-page img{display:block;width:100%;height:auto}.page-script-case{border:1px solid #cbd5e1;border-radius:10px;padding:14px;margin:14px 0}
.page-script-case summary{font-weight:700;cursor:pointer}.page-text-row{padding:10px;margin:10px 0;background:#f1f5f9;border-radius:8px}
.page-text-row textarea{width:100%}.page-reference-image{width:110px;max-height:150px;object-fit:contain;display:block}
.page-workspace fieldset label,.page-workspace details label,#page-validation label{display:block;margin:10px 0}
.page-workspace input[type=checkbox],#page-validation input{width:auto;margin-right:8px}
.page-state{font-weight:700}#page-navigation select{min-width:130px}#page-navigation{flex-wrap:wrap}
@media(max-width:850px){.page-workspace{grid-template-columns:1fr}.page-workspace .comic-board{max-width:500px;margin:auto}.page-text-row{padding:8px}}

/* The page prompt is the primary comic production action. */
.page-prompt-primary{margin:18px 0 24px;border:2px solid #9db4e8;background:#edf2fd}
.page-prompt-primary h3{font-size:24px;margin-bottom:6px}
.page-prompt-lead{max-width:920px;margin:0 0 10px;color:#43526a}
.page-prompt-primary textarea{min-height:360px;font:14px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff}
.page-prompt-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}
.page-prompt-actions button{margin:0}
.page-prompt-copy{font-size:16px;padding:14px 22px}
.page-prompt-edit{margin-top:18px}
@media(max-width:700px){.page-prompt-primary{padding:16px}.page-prompt-primary textarea{min-height:300px}.page-prompt-actions{display:grid;grid-template-columns:1fr}.page-prompt-actions button{width:100%}}

/* Direct visual-reference upload */
.reference-upload-help{margin:0 0 18px;padding:16px 18px;border:1px solid #b8cafa;border-radius:10px;background:#edf2fd}
.reference-upload-help p{margin:6px 0 0;color:#56657b;font-size:14px}
.reference-card{display:flex;flex-direction:column}
.reference-card.missing{border:2px dashed #9db4e8;background:#fbfcff}
.reference-preview{margin:0!important}
.reference-placeholder{height:230px;display:grid;place-items:center;background:linear-gradient(135deg,#eef2f8,#dbe4f2);color:#5e6d82;font-weight:700}
.reference-card figcaption{flex:1}
.reference-card .reference-ok{color:#3f7259;font-weight:650}
.reference-card .reference-missing{color:#9a5d19;font-weight:700}
.reference-upload-button{margin:0 14px 14px!important;width:calc(100% - 28px)}
@media(max-width:700px){.reference-placeholder{height:220px}.reference-upload-button{padding:14px 16px}}
