:root{font-family:'Pretendard','Malgun Gothic','Segoe UI',sans-serif;color:#202a28;background:#f1f3f0;font-synthesis:none;font-size:14px;color-scheme:light;--green:#245d46;--muted:#3f5046;--border:#cbd6cd}
*{box-sizing:border-box}
body{margin:0}
button,input,textarea{font:inherit}
button{cursor:pointer;border:1px solid var(--border);color:inherit;background:transparent;padding:9px 13px;min-height:40px;border-radius:4px}
button:hover{background:#e3ece3}
button:disabled{opacity:.5;cursor:default}
button[aria-pressed=true]{color:var(--green);font-weight:700}
a{color:var(--green)}
[hidden]{display:none!important}
h1,h2,h3,p{margin:0}
button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #559779;outline-offset:3px}
.masthead{padding:20px 32px;display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid var(--border);background:#f8faf7}
.brand{display:flex;gap:12px;align-items:center;font-size:20px;letter-spacing:-.7px;font-weight:700;color:#22312a;text-decoration:none}
.brand small{display:block;font-size:11px;font-weight:500;letter-spacing:1.2px;margin-top:5px}
.brand-mark{background:var(--green);color:#fff;line-height:1;font-size:32px;border-radius:4px;width:44px;height:44px;display:grid;place-items:center;padding-bottom:4px}
.connection{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.connection #mode{font-size:10px;font-weight:700;letter-spacing:1.2px;padding:5px 7px;background:#e1e9e1;margin-right:8px}
.status-dot,.receipt-light{width:6px;height:6px;border-radius:50%;background:#76857a;display:inline-block;flex-shrink:0}
.status-dot.connected,.receipt-light{background:var(--green)}
.status-dot.error{background:#8b392f}
#newsroom,.appendix{padding:0 32px;max-width:1640px;margin:auto}
.case-cabinet{padding-top:26px}
.cabinet-heading{display:flex;align-items:baseline;gap:16px;margin-bottom:17px}
.cabinet-heading h1{font-size:19px;letter-spacing:-.5px}
.cabinet-heading p{font-size:12px;color:var(--muted)}
.case-folders{display:flex;gap:24px;overflow-x:auto;padding:5px 3px 4px;scrollbar-width:thin}
.case-folder{position:relative;border:0;border-bottom:2px solid #bdcdbf;border-radius:0;text-align:left;padding:10px 30px 12px 34px;min-width:194px;max-width:340px;flex:0 0 auto;background:none}
.case-folder:hover{background:#e4ebe3}
.case-folder[aria-pressed=true]{border-color:var(--green);background:#e8efe7}
.folder-number{position:absolute;left:3px;top:13px;font-size:10px;font-weight:700;color:var(--muted)}
.case-folder strong{font-size:14px;display:block;max-width:255px;word-break:keep-all;overflow-wrap:anywhere}
.case-folder small{display:block;font-size:10px;color:var(--muted);margin-top:7px;font-weight:400}
.new-badge{position:absolute;right:4px;top:10px;background:var(--green);color:#fff;font-size:10px;padding:3px 5px;border-radius:4px}
.desk-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:78px}
.receipt{border:0;border-radius:0;display:flex;align-items:center;gap:9px;text-align:left;font-size:12px;padding:8px 0;min-width:0;color:var(--muted)}
.receipt:disabled{opacity:1}
.receipt #receipt-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.receipt-copy{min-width:0}
.receipt-copy small{display:block;font-size:10px;color:var(--muted);margin-top:7px}
#receipt-frame{width:64px;height:38px;object-fit:contain;background:#132923}
.receipt-arrow{color:var(--green);font-size:10px;white-space:nowrap}
.toolbar-actions{display:flex;gap:14px;align-items:center;flex-shrink:0}
.toolbar-actions button{font-size:11px;border:0;padding-inline:0;color:var(--muted)}
#follow{background:var(--green);color:#fff;padding:9px 12px}
.receipt.arrived .receipt-light{animation:receipt 1100ms ease-out 2}
.workspace{display:grid;grid-template-columns:minmax(0,1fr)350px;min-width:0}
.work-surface{position:relative;isolation:isolate;background:#132923;color:#f3f7f3;overflow:hidden;min-height:530px;display:grid;grid-template-columns:44% 56%;grid-template-rows:auto 1fr auto auto}
.surface-head{grid-column:1/-1;display:flex;justify-content:space-between;gap:14px;padding:20px 26px 0;font-size:10px;color:#c2d2c7;letter-spacing:1px}
.surface-head span:last-child{letter-spacing:0}
.scene-title{grid-column:1;grid-row:2;padding:27px 18px 10px 28px;z-index:2;pointer-events:none}
.scene-title p{font-size:11px;color:#c2d5c7;margin-bottom:10px;white-space:pre-line;line-height:1.8}
.scene-title h2{font-size:clamp(25px,2.3vw,35px);font-weight:650;line-height:1.45;letter-spacing:-1.1px;word-break:keep-all;overflow-wrap:anywhere}
.scene-title #case-summary{margin-top:12px;font-size:12px}
.eureka-character{position:absolute;top:196px;bottom:114px;left:0;width:47%;max-width:410px;background:url('/assets/eureka.png') right bottom/auto 100% no-repeat;z-index:1;pointer-events:none;filter:drop-shadow(5px 8px 15px #0004)}
.evidence-station{grid-column:2;grid-row:2;align-self:center;justify-self:center;position:relative;margin:26px 26px 20px 0;width:calc(100% - 44px);max-width:365px;padding:18px 20px 14px;z-index:3;background:#eef2e7;color:#25382d;box-shadow:0 14px 30px #071a1755;transform:rotate(1deg)}
.evidence-label{display:flex;justify-content:space-between;gap:8px;font-size:10px;font-weight:600;color:#3f533c;min-height:18px}
.object-wrap{position:relative;height:153px;display:flex;align-items:center;justify-content:center;margin:8px 0}
.object-wrap img{width:100%;height:100%;object-fit:contain}
.object-wrap img.source-frame{object-fit:contain;background:#12251d}
.evidence-station h3{font-size:19px;letter-spacing:-.7px;line-height:1.4;font-weight:650}
.evidence-station p{font-size:12px;line-height:1.9;white-space:pre-line;margin:10px 0;word-break:keep-all;overflow-wrap:anywhere}
.evidence-station button{padding:8px 0;font-size:11px;border:0;border-top:1px solid #bdcbb8;border-radius:0;display:flex;width:100%;justify-content:space-between;background:transparent}
.file-stamp{position:absolute;right:0;bottom:8px;transform:rotate(-9deg);font-size:12px;letter-spacing:1px;font-weight:700;padding:6px 10px;border:2px solid #285036;color:#285036;background:#eef2e7;opacity:0}
.magnifier{position:absolute;width:76px;height:76px;border:6px solid #2e6b4e;border-radius:50%;box-shadow:inset 0 0 0 3px #d1e4c8,0 3px 8px #0003;background:#dcebd42a;left:18%;top:15%;opacity:0;pointer-events:none}
.magnifier:after{content:'';position:absolute;width:39px;height:13px;background:#193e2c;right:-30px;bottom:-15px;border-radius:4px;transform:rotate(48deg)}
.editing-stages{grid-column:2;grid-row:3;list-style:none;padding:0 26px 0 0;margin:0 0 22px;display:flex;gap:0;position:relative;z-index:3}
.editing-stages li{flex:1;font-size:10px;color:#c2d2c7;position:relative;padding-top:11px;border-top:2px solid #496353;text-align:center}
.editing-stages li.active{color:#e1f4ce;border-color:#b9df95;font-weight:700}
.dialogue{grid-column:1/-1;grid-row:4;position:relative;z-index:4;background:#0f211a;border-top:1px solid #45694f;padding:18px 27px;display:grid;grid-template-columns:76px 1fr;gap:12px;min-height:110px;align-items:center}
.speaker{color:#dce8d4;font-size:13px;font-weight:600}
.speaker small{display:block;font-weight:400;font-size:10px;color:#c1d2b7;margin-top:5px}
.dialogue p{font-size:15px;line-height:1.85;white-space:pre-line;padding-right:12px;word-break:keep-all;overflow-wrap:anywhere}
.dialogue-cue{position:absolute;right:18px;bottom:18px;font-size:9px;color:#cce4b4}
.article-desk{background:#fff;padding:25px 26px 20px;display:flex;flex-direction:column;min-width:0}
.article-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:var(--muted)}
.article-heading h2{font-size:13px;font-weight:700;color:#293b30}
.edition-switch{display:flex;margin-top:20px;border-bottom:1px solid var(--border);gap:20px}
.edition-switch button{border:0;border-bottom:2px solid transparent;padding:10px 0;border-radius:0;font-size:12px;background:none}
.edition-switch button[aria-pressed=true]{border-bottom-color:var(--green)}
.edition-switch span{font-size:10px;margin-left:5px}
.manuscript{padding:28px 0 24px;flex:1}
.article-eyebrow{font-size:9px;letter-spacing:1.1px;color:#40583f;margin-bottom:13px}
.manuscript h3{font-size:25px;line-height:1.45;letter-spacing:-.8px;font-weight:700;word-break:keep-all;overflow-wrap:anywhere}
.manuscript #article-copy{margin-top:23px}
.manuscript #article-copy p{font-size:14px;line-height:1.95;margin:0 0 13px;white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere}
.manuscript .empty-copy{color:var(--muted)}
.source-refs{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}
.source-refs button{font-size:11px;padding:6px 9px;background:#eef3eb;border:0;min-height:36px}
.article-actions{display:flex;gap:8px;margin-top:22px}
.article-actions button{font-size:11px}
.editor-note{border-top:1px solid var(--border);padding-top:16px}
.editor-note span{font-size:10px;color:#34553f;font-weight:650}
.editor-note p{font-size:12px;line-height:1.9;margin-top:6px;white-space:pre-line;color:var(--muted)}
#review-notice{font-size:12px;color:#793a27;margin-top:10px}
.filing{padding:26px 0}
.filing-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}
.filing-head h2{font-size:13px;font-weight:650}
#file-count{color:var(--muted);font-weight:400;font-size:11px;margin-left:7px}
.file-tabs{display:flex;gap:13px}
.file-tabs button{font-size:12px;border:0;background:none;padding:5px;min-height:40px}
.files{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 20px}
.file-item{display:grid;grid-template-columns:53px minmax(0,1fr);align-items:center;gap:10px;background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:10px 4px;text-align:left;min-width:0}
.file-item[aria-pressed=true]{border-bottom:2px solid var(--green);background:#e8efe7}
.file-item img{width:53px;height:49px;object-fit:contain}
.file-item strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}
.file-item small{display:block;font-size:10px;color:var(--muted);margin-top:5px}
.empty-filing{font-size:13px;color:var(--muted);grid-column:1/-1;padding:12px 0;white-space:pre-line;line-height:1.9}
#more-files{font-size:12px;margin-top:16px}
.flow-list{grid-column:1/-1;list-style:none;margin:0;padding:0;display:grid;gap:16px}
.flow-list li{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;border-bottom:1px solid var(--border);padding:12px 0 20px}
.flow-list li>div{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}
.flow-list li>div+div:before{content:'→';position:absolute;left:-22px;top:29px;color:var(--green)}
.flow-list button{border:0;text-align:left;padding:0;font-size:13px}
.flow-list small,.flow-list time,.flow-result span{font-size:11px;color:var(--muted)}
.flow-result strong{font-size:14px;margin-top:10px;color:var(--green)}
.footer{display:flex;align-items:baseline;gap:24px;border-top:1px solid var(--border);padding:15px 32px 22px;font-size:10px;color:var(--muted)}
.footer>span{margin-right:auto}
.footer>button{border:0;padding:0;font-size:10px;min-height:30px}
.footer details{max-width:480px}
.footer summary{cursor:pointer}
#runtime-details{font-size:11px;line-height:1.9;padding-top:10px;white-space:pre-line}
.appendix{padding-top:25px;padding-bottom:40px;max-width:960px}
.appendix h1{font-size:29px;margin:15px 0 25px;letter-spacing:-1px}
.appendix-label{font-size:11px;color:var(--muted);margin-top:30px}
.appendix p,.appendix blockquote{line-height:1.9;white-space:pre-line;overflow-wrap:anywhere}
.appendix blockquote{margin:20px 0;padding-left:20px;border-left:3px solid #729875}
.appendix img,.appendix video{display:block;width:100%;max-width:720px;margin:20px 0;background:#173127}
.appendix .detail-meta{font-size:11px;color:var(--muted);margin:13px 0}
.appendix .evidence-link{display:block;margin:16px 0}
.appendix textarea{width:100%;min-height:300px;background:#fff;border:1px solid var(--border);padding:20px;font-size:16px;line-height:1.8;resize:vertical}
.appendix .save-row{display:flex;gap:14px;align-items:center;margin-top:15px}
.appendix .save-row button{background:var(--green);color:#fff}
.appendix .save-status{font-size:12px;color:#6b432e}
.work-surface[data-phase=intake] .evidence-station{animation:arrival 220ms ease-out}
.work-surface[data-phase=inspect] .magnifier{opacity:1;animation:scan 1100ms ease-in-out}
.work-surface[data-phase=connect] .file-stamp,.work-surface[data-phase=article] .file-stamp,.work-surface[data-phase=publish] .file-stamp{opacity:1;animation:filed 180ms ease-out}
.work-surface[data-phase=connect] [data-stage=connect]{animation:receipt 800ms ease-out}
.work-surface[data-phase=article]+.article-desk .manuscript,.work-surface[data-phase=publish]+.article-desk .manuscript{animation:typeset 220ms ease-out}
@keyframes arrival{from{transform:translate(-25px,-15px) rotate(-3deg);opacity:0}to{transform:rotate(1deg);opacity:1}}
@keyframes scan{0%{transform:translate(-15px,-5px)}50%{transform:translate(55px,15px)}100%{transform:translate(10px,10px)}}
@keyframes filed{from{transform:scale(1.35) rotate(-9deg);opacity:0}to{transform:rotate(-9deg);opacity:1}}
@keyframes typeset{from{transform:translateX(-9px);opacity:.4}to{transform:none;opacity:1}}
@keyframes receipt{0%,100%{box-shadow:0 0 0 0 #245d4600}35%{box-shadow:0 0 0 7px #245d4633}}
body.quiet *,body.quiet *:after{animation:none!important;transition:none!important}
body.quiet .magnifier{display:none}
.work-surface[data-manual=true] .magnifier{display:none}
@media(prefers-reduced-motion:reduce){*,*:after{animation:none!important;transition:none!important}.magnifier{display:none}}
@media(min-width:1500px){.workspace{grid-template-columns:minmax(0,1fr)400px}.article-desk{padding:27px 32px}.work-surface{min-height:550px}.object-wrap{height:170px}.eureka-character{max-width:445px;top:193px}.scene-title{padding-top:30px}.dialogue p{font-size:16px}}
@media(max-width:1100px){.masthead,#newsroom{padding-inline:24px}.workspace{grid-template-columns:minmax(0,1fr)300px}.article-desk{padding-inline:22px}.scene-title{padding-left:22px}.scene-title h2{font-size:26px}.scene-title #case-summary{font-size:11px}.surface-head{padding-inline:22px}.evidence-station{padding:15px;margin-right:18px;width:calc(100% - 25px)}.object-wrap{height:128px}.evidence-station h3{font-size:17px}.eureka-character{top:215px;bottom:120px;width:51%}.dialogue{padding-inline:22px;grid-template-columns:62px 1fr}.dialogue p{font-size:14px}.files{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.masthead{padding:18px 20px}.brand{font-size:17px}.connection{font-size:10px;justify-content:flex-end;max-width:40%}.connection #mode{font-size:9px;margin-right:0}#newsroom{padding-inline:18px}.workspace{grid-template-columns:1fr}.desk-toolbar{align-items:flex-start;flex-direction:column;gap:0;padding:8px 0}.toolbar-actions{width:100%;gap:18px;justify-content:flex-end}.receipt{max-width:100%;width:100%}.work-surface{min-height:520px}.eureka-character{top:190px;bottom:111px;width:47%}.object-wrap{height:160px}.article-desk{padding:25px}.manuscript{padding:23px 0}.edition-switch{margin-top:12px}.files{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{padding-inline:20px;flex-wrap:wrap;gap:12px}.cabinet-heading{flex-wrap:wrap;gap:8px}.case-folder{min-width:180px}.flow-list li{gap:22px}}
@media(max-width:480px){.masthead{padding:17px 15px;gap:12px;align-items:flex-start}.brand{font-size:16px;gap:8px}.brand small{font-size:9px;letter-spacing:.5px}.brand-mark{width:35px;height:35px;font-size:27px}.connection{max-width:38%;font-size:10px;gap:5px}#newsroom{padding:0 12px}.case-cabinet{padding-top:21px}.cabinet-heading h1{font-size:18px}.cabinet-heading p{font-size:11px}.case-folders{gap:16px}.case-folder{min-width:167px;padding-right:24px}.case-folder strong{font-size:13px}.toolbar-actions{gap:16px;flex-wrap:wrap}.toolbar-actions button{font-size:10px}.receipt{font-size:11px}.work-surface{grid-template-columns:39% 61%;grid-template-rows:auto auto 1fr auto auto;min-height:640px}.surface-head{padding:17px 18px 0;font-size:9px}.scene-title{grid-column:1/-1;grid-row:2;padding:20px 18px 10px}.scene-title h2{font-size:27px;line-height:1.4}.scene-title #case-summary{font-size:11px;margin-top:6px;white-space:normal}.scene-title p{font-size:10px;margin-bottom:6px}.evidence-station{grid-column:2;grid-row:3;margin:14px 10px 18px 0;width:calc(100% - 15px);padding:12px;align-self:start}.object-wrap{height:104px}.evidence-station h3{font-size:16px}.evidence-station p{font-size:12px;line-height:1.8}.evidence-label{font-size:9px;flex-wrap:wrap;gap:4px}.eureka-character{top:auto;height:218px;bottom:145px;width:62%;left:-5%;max-width:none}.editing-stages{grid-row:4;padding-right:14px;margin-bottom:18px}.editing-stages li{font-size:10px}.dialogue{grid-row:5;grid-template-columns:1fr;gap:8px;padding:16px 18px;min-height:129px}.speaker{font-size:11px}.speaker small{display:inline;margin-left:9px}.dialogue p{font-size:14px}.article-desk{padding:23px 20px}.filing-head{gap:8px;align-items:flex-start;flex-wrap:wrap}.filing-head h2{font-size:13px}.file-tabs{gap:10px}.file-item{grid-template-columns:40px 1fr;gap:7px}.file-item img{width:40px}.file-item strong{font-size:12px}.file-item small{font-size:10px}.files{gap:8px}.flow-list li{grid-template-columns:1fr;gap:28px}.flow-list li>div+div:before{content:'↓';left:2px;top:-24px}.flow-list button{min-height:32px}.footer{padding-inline:14px}.appendix{padding-inline:18px}.magnifier{width:58px;height:58px;border-width:5px}.file-stamp{font-size:10px;padding:4px 6px}}
@media(max-width:350px){.masthead{flex-wrap:wrap}.connection{max-width:none;justify-content:flex-start;margin-left:43px}.scene-title h2{font-size:25px}.evidence-station{padding:10px}.eureka-character{height:185px;bottom:159px;width:65%;left:-6%}.files{grid-template-columns:1fr}.toolbar-actions{gap:12px}.work-surface{min-height:650px}.dialogue{min-height:142px}.object-wrap{height:90px}}
@media(pointer:coarse){button,.file-tabs button,.source-refs button{min-height:44px}}

.article-actions a{font-size:12px;align-self:center}.work-surface[data-phase=publish] .file-stamp{color:var(--green);border-color:var(--green)}
.article-actions #published-article{display:inline-block;background:var(--green);color:#fff;padding:11px 14px;border-radius:4px;text-decoration:none;font-weight:600}
.article-path{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:16px;font-size:11px;line-height:1.8}.article-path a{padding:5px 0;text-underline-offset:4px}.article-path span{color:var(--muted)}

.primary-nav{display:flex;align-items:center;gap:6px;flex-shrink:0}.primary-nav a{display:flex;align-items:center;gap:7px;padding:12px 15px;min-height:46px;text-decoration:none;font-size:14px;border-bottom:2px solid transparent;white-space:nowrap}.primary-nav a[aria-current=page]{border-color:var(--green);font-weight:700}.primary-nav a:hover{background:#e3ece3}.primary-nav #published-count{font-size:12px;min-width:22px;padding:3px 5px;text-align:center;background:#e1e9e1;border-radius:4px;font-variant-numeric:tabular-nums}.primary-nav .count-unit{font-size:12px;margin-left:-3px}@media(max-width:1100px){.masthead{flex-wrap:wrap}.primary-nav{order:3;width:100%;justify-content:center}.primary-nav a{flex:1;justify-content:center}}
