.app-shell{min-height:100vh}.app-header{z-index:3;background:#fffdf5f0;border-bottom:2px solid #172f4659;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:10px clamp(16px,4vw,56px);display:flex;position:relative}.brand{letter-spacing:-.04em;align-items:center;gap:10px;min-width:0;min-height:48px;font-size:clamp(1.1rem,2.1vw,1.55rem);font-weight:900;text-decoration:none;display:inline-flex}.header-actions{gap:10px;display:flex}.utility-button,.icon-button,.text-button{border:2px solid var(--ink);background:var(--paper);cursor:pointer;border-radius:10px;min-height:48px;font-weight:750}.utility-button{align-items:center;gap:7px;padding:8px 14px;display:inline-flex}.icon-button{width:48px;padding:0;font-size:2rem;line-height:1}.text-button{color:var(--ink);text-underline-offset:3px;padding:8px 12px;text-decoration:underline}main{width:min(1440px,100%);margin:0 auto;padding:clamp(18px,3vw,40px)}[data-stage-heading]:focus,[data-story-heading]:focus{outline:4px solid var(--focus);outline-offset:6px;border-radius:4px}.start-screen{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:center;gap:clamp(36px,7vw,90px);min-height:calc(100vh - 150px);display:grid}.start-copy{max-width:720px}.start-mark{color:var(--coral)}.start-copy h1{letter-spacing:-.065em;margin:20px 0;font-size:clamp(2.35rem,6vw,5rem);line-height:1.03}.start-copy>p{max-width:650px;font-size:clamp(1.18rem,2vw,1.42rem);line-height:1.75}.start-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.start-notebook{border:3px solid var(--ink);border-radius:var(--radius);background:var(--paper);box-shadow:9px 9px 0 var(--ink);padding:56px clamp(20px,4vw,42px) 30px;position:relative}.paper-tab{border:2px solid var(--ink);background:var(--mustard);border-radius:5px 5px 10px;align-items:center;gap:8px;min-height:42px;padding:6px 14px;font-weight:900;display:inline-flex}.start-notebook>.paper-tab{position:absolute;top:18px;left:-12px}.start-notebook ol{gap:16px;margin:12px 0 24px;padding:0;list-style:none;display:grid}.start-notebook li{align-items:flex-start;gap:14px;display:flex}.start-notebook li>span{background:var(--ink);width:32px;height:32px;color:var(--white);border-radius:50%;flex:0 0 32px;place-items:center;font-weight:900;display:inline-grid}.start-notebook strong{font-size:1.12rem;display:block}.start-notebook p{margin:4px 0 0;line-height:1.55}.notebook-note{color:var(--muted);border-top:2px dashed #172f4659;padding-top:18px}.stage-rail{margin:0 auto 22px}.stage-rail ol{grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.stage-rail li{min-height:48px;color:var(--muted);border-bottom:4px solid #172f4633;justify-content:center;align-items:center;gap:8px;font-weight:800;display:flex;position:relative}.stage-rail li span{border:2px solid;border-radius:50%;place-items:center;width:27px;height:27px;font-size:.83rem;display:grid}.stage-rail li.current{border-color:var(--coral);color:var(--ink)}.stage-rail li.done{border-color:var(--mint);color:var(--ink)}.case-workspace{grid-template-columns:minmax(330px,.82fr) minmax(480px,1.18fr);align-items:start;gap:clamp(22px,3vw,42px);display:grid}.summary-screen{border:3px solid var(--ink);background:var(--paper);max-width:980px;box-shadow:9px 9px 0 var(--ink);border-radius:22px;margin:clamp(24px,5vw,68px) auto;padding:clamp(22px,4vw,48px)}.summary-heading{align-items:center;gap:20px;display:flex}.summary-heading h1{letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(1.65rem,4vw,2.7rem)}.summary-heading p{margin:0;font-size:1.12rem;line-height:1.6}.summary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:32px 0;padding:0;list-style:none;display:grid}.summary-list li{background:#fffef9;border:2px solid #172f4659;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:14px;display:grid}.summary-number{background:var(--ink);width:34px;height:34px;color:var(--white);border-radius:50%;place-items:center;font-weight:900;display:grid}.summary-story strong{display:block}.summary-details{gap:9px;margin:12px 0 0;display:grid}.summary-details div{gap:3px;display:grid}.summary-details dt{color:var(--muted);font-size:.8rem;font-weight:850}.summary-details dd{margin:0;line-height:1.48}.summary-details dd strong{display:inline}.summary-kinds{flex-wrap:wrap;grid-column:2;justify-content:flex-start;gap:4px;display:flex}.summary-note{border-left:8px solid var(--mustard);background:#fff5d5;padding:14px 18px}.summary-note p{margin:6px 0 0;line-height:1.6}.summary-reset{width:min(360px,100%);margin:28px auto 0;display:flex}@media (max-width:960px){.start-screen,.case-workspace{grid-template-columns:minmax(0,1fr)}.start-screen{align-content:start;padding-top:28px}.case-workspace{gap:22px}}@media (max-width:640px){.app-header{align-items:flex-start;gap:6px;padding:10px}.brand{flex:auto;max-width:148px;font-size:1rem;line-height:1.15}.brand svg{display:none}.header-actions{flex:none;gap:5px}.utility-button{width:48px;min-width:48px;padding:5px;font-size:0}.utility-button:first-child:after{content:"내역";font-size:.78rem}.utility-button:last-child svg{width:22px;height:22px}main{padding:16px 12px 28px}.stage-rail li{gap:3px;font-size:.72rem}.stage-rail li span{width:23px;height:23px}.start-actions{display:grid}.summary-list{grid-template-columns:1fr}.summary-list li{grid-template-columns:auto minmax(0,1fr)}.summary-kinds{grid-column:2;justify-content:flex-start}}.story-paper,.investigation-paper{border:3px solid var(--ink);border-radius:var(--radius);background-color:var(--paper);min-width:0;box-shadow:8px 8px 0 var(--ink);background-image:linear-gradient(#e8ac3609 1px,#0000 1px);background-size:100% 28px;position:relative}.story-paper{padding:70px clamp(20px,3vw,38px) 28px;position:sticky;top:18px}.story-paper>.paper-tab{position:absolute;top:18px;left:-10px}.story-paper h1{text-align:center;letter-spacing:-.04em;margin:8px 0 24px;scroll-margin-top:18px;font-size:clamp(1.7rem,3vw,2.35rem)}.story-text{min-height:190px}.story-text p{letter-spacing:-.015em;margin:0 0 13px;font-size:clamp(1.25rem,1.8vw,1.38rem);line-height:1.75}.story-text .single-sentence{background:#fffef9;border:2px solid #172f4638;border-radius:12px;align-items:center;min-height:190px;padding:22px;display:flex}.sentence-controls{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.sentence-controls>span{text-align:center;flex:1 0 auto;font-weight:800}.target-moment{border-left:7px solid var(--coral);background:#fff2c7;align-items:flex-start;gap:12px;margin:24px 0 20px;padding:14px;display:flex}.target-moment>span{color:var(--coral-dark);font-size:1.8rem;font-weight:900}.target-moment strong{margin-bottom:3px;display:block}.target-moment p{margin:0;line-height:1.55}.reading-mode{border:0;border-top:2px dashed #172f4659;flex-wrap:wrap;gap:10px;margin:20px 0 0;padding:18px 0 0;display:flex}.reading-mode legend{float:left;width:100%;margin-bottom:8px;font-weight:900}.reading-mode label{cursor:pointer;border:2px solid #172f4680;border-radius:10px;align-items:center;gap:9px;min-height:48px;padding:8px 14px;display:flex}.reading-mode label:has(input:checked){border-color:var(--ink);background:var(--ink);color:var(--white)}.reading-mode input,.mind-choice input,.evidence-choice input{width:22px;height:22px;accent-color:var(--ink);flex:0 0 22px}.investigation-paper{min-height:580px;padding:clamp(18px,3vw,34px)}.investigation-paper:before{content:"";background:repeating-linear-gradient(to bottom, var(--ink) 0 4px, transparent 4px 24px);opacity:.8;width:25px;position:absolute;inset:24px auto 24px -14px}.case-heading{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.case-label{background:var(--mint);border:1px solid #172f4673;border-radius:5px;flex:none;padding:8px 12px;font-weight:850}.case-heading h2{letter-spacing:-.035em;margin:4px 0 0;font-size:clamp(1.35rem,2.5vw,1.9rem);line-height:1.35}.step-intro{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:430px;display:flex}.step-intro svg{color:var(--coral)}.step-intro h3{margin:18px 0 8px;font-size:1.45rem}.step-intro p{max-width:510px;color:var(--muted);margin:0 0 26px;font-size:1.05rem;line-height:1.65}.choice-fieldset{background:#b9ddc938;border:2px solid #172f465c;border-radius:14px;margin:0;padding:16px}.choice-fieldset legend,.sentence-box h3{align-items:center;gap:9px;width:100%;padding:0 4px;font-size:1.15rem;font-weight:900;display:flex}.choice-fieldset legend small{color:var(--muted);margin-left:auto;font-size:.88rem}.field-help{color:var(--muted);margin:2px 0 14px;line-height:1.55}.choice-grid,.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.mind-choice,.evidence-choice{cursor:pointer;background:#fffef9;border:2px solid #172f464d;border-radius:11px;align-items:flex-start;gap:11px;min-width:0;min-height:72px;padding:13px;display:flex}:is(.mind-choice:has(input:checked),.evidence-choice:has(input:checked)){border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.mind-choice input,.evidence-choice input{margin-top:2px}.mind-choice strong{margin-bottom:4px;display:block}.mind-choice small{color:var(--muted);font-size:.88rem;line-height:1.45;display:block}.panel-action{width:min(440px,100%);margin:24px auto 0}.selected-mind{border-left:7px solid var(--mustard);background:#fff5d5;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:11px 12px;display:flex}.selected-mind span{color:var(--muted);font-size:.82rem;display:block}.selected-mind strong{font-size:1.08rem}.clue-tag{min-height:28px;color:var(--ink);white-space:nowrap;border-radius:5px;align-items:center;padding:4px 8px;font-size:.78rem;font-weight:900;display:inline-flex}.clue-action{background:#c9e4e9}.clue-expression{background:#ffd0ca}.clue-dialogue{background:#ffe29c}.evidence-choice{align-items:flex-start}.evidence-quote{min-width:0;line-height:1.48}.choice-notice{color:#8b2d26;min-height:44px;margin:12px 0 -4px;font-weight:800;line-height:1.45}.sentence-box{border:2px solid var(--ink);background:var(--paper);border-radius:13px;margin-top:16px;padding:14px}.sentence-box h3{margin:0 0 10px;padding:0}.draft-sentence{margin:0;font-size:1.08rem;line-height:1.7}.submit-help{text-align:center;min-height:25px;color:var(--muted);margin:13px 0 -10px;font-weight:700}.review-paper{background-image:linear-gradient(#b9ddc914 1px,#0000 1px)}.review-stamp{color:#24745d;border:3px double #24745d;border-radius:50%;place-items:center;width:82px;height:82px;display:grid;position:absolute;top:22px;right:24px;transform:rotate(7deg)}.review-stamp span{margin-top:-14px;font-size:.72rem;font-weight:900}.review-message{margin:0 100px 18px 0;font-size:1.08rem;line-height:1.6}.selection-review{background:#b9ddc947;border:2px solid #172f4657;border-radius:13px;padding:16px}.selection-review h3,.alternative-reading h3{margin:0 0 12px;font-size:1.05rem}.selected-mind-line{align-items:center;gap:10px;margin:0 0 12px;display:flex}.selected-mind-line>span{background:var(--mint);border-radius:5px;padding:4px 8px;font-size:.8rem;font-weight:900}.selection-review ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.selection-review li{align-items:flex-start;gap:8px;line-height:1.5;display:flex}.review-details{border-top:2px dashed #172f4640;margin-top:14px;padding-top:8px}.review-details p{margin:7px 0;line-height:1.5}.alternative-reading{border-left:8px solid var(--mustard);background:#fff2c7;margin-top:16px;padding:16px}.alternative-reading strong{margin-bottom:6px;display:block}.alternative-reading p{margin:0;line-height:1.6}.review-actions{grid-template-columns:1fr 1.2fr;gap:12px;margin-top:20px;display:grid}@media (max-width:960px){.story-paper{position:static}}@media (max-width:700px){.story-paper,.investigation-paper{box-shadow:5px 5px 0 var(--ink);border-width:2px}.story-paper{padding:66px 18px 22px}.story-text p{font-size:1.25rem}.sentence-controls{grid-template-columns:1fr auto 1fr;gap:8px;display:grid}.sentence-controls .button{min-width:0;padding-inline:10px}.investigation-paper{padding:18px 14px 22px}.investigation-paper:before{display:none}.choice-grid,.evidence-grid{grid-template-columns:1fr}.case-heading{display:block}.case-heading h2{margin-top:12px}.review-stamp{float:right;margin:-4px 0 8px 12px;position:static}.review-message{margin-right:0}.review-actions{grid-template-columns:1fr}}.app-dialog{width:min(620px,100% - 24px);max-height:min(760px,100% - 32px);color:var(--ink);background:0 0;border:0;padding:0;overflow:visible}.app-dialog::backdrop{background:#172f46a3}.dialog-paper{border:3px solid var(--ink);background:var(--paper);max-height:min(760px,100vh - 32px);box-shadow:8px 8px 0 var(--mustard);border-radius:18px;padding:clamp(20px,4vw,34px);overflow-y:auto}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dialog-heading h2{margin:4px 0 10px;font-size:clamp(1.45rem,4vw,2rem)}.dialog-description{color:var(--muted);margin:0 0 22px;line-height:1.6}.dialog-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.dialog-action{width:100%;margin-top:22px}.update-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.update-list li{border-left:7px solid var(--mustard);background:#fff5d5;padding:12px 14px}.update-list li>div{align-items:center;gap:8px;display:flex}.update-list li>div span{background:var(--mint);border-radius:5px;padding:3px 7px;font-size:.78rem;font-weight:900}.update-list time{color:var(--muted);margin-top:5px;font-size:.88rem;display:block}.update-list p{margin:7px 0 0;line-height:1.55}@media (max-width:520px){.dialog-actions{grid-template-columns:1fr}}:root{--cream:#fbf3dd;--paper:#fffdf5;--ink:#172f46;--coral:#e96555;--coral-dark:#bd4338;--mustard:#e8ac36;--mint:#b9ddc9;--line:#2d465c;--muted:#526475;--white:#fff;--focus:#0d66d0;--radius:18px;--font-ui:-apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "Noto Sans KR", "Malgun Gothic", sans-serif}*{box-sizing:border-box}html{background:var(--cream);min-width:320px;color:var(--ink);font-family:var(--font-ui);scroll-behavior:smooth}body{background-color:var(--cream);background-image:radial-gradient(#172f4609 .7px,#0000 .7px);background-size:8px 8px;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{font:inherit}button,a{color:inherit}p,h1,h2,h3{overflow-wrap:anywhere}:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.button{border:2px solid var(--ink);cursor:pointer;min-height:50px;box-shadow:3px 3px 0 var(--ink);border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:10px 20px;font-weight:800;line-height:1.25;transition:transform .15s,box-shadow .15s;display:inline-flex}.button:hover:not(:disabled){box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.button:active:not(:disabled){box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.button-primary{background:var(--coral);color:var(--white)}.button-secondary{background:var(--paper);color:var(--ink)}.button-small{min-height:48px;padding:8px 14px;font-size:.95rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){:root{--focus:Highlight}.button,.story-paper,.investigation-paper,.start-notebook,.summary-screen{box-shadow:none;border:2px solid canvastext}.case-label,.paper-tab,.clue-tag{border:1px solid canvastext}input{forced-color-adjust:auto}}
