@font-face{font-family:Lab Sans;src:url('assets/lecture-sans.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#f8f9fb;--ink:#191c22;--blue:#244de8;--blue-dark:#17349e;--orange:#ef5b2a;--muted:#616773;--line:#d4d8e0;--pale:#e9edfa;--white:#ffffff;--stage-w:1920px;--stage-h:1080px;--edge:96px;--pad-top:72px;--pad-bottom:56px;--gap:32px;--title:78px;--hero-type:360px;--chapter-type:290px;--body:32px;--small:24px;--micro:20px;--title-leading:1.12;--body-leading:1.48;--ui:14px;--ui-height:56px;--control:44px;--font:'Lab Sans','Pretendard','Apple SD Gothic Neo','Malgun Gothic',sans-serif;--ease:cubic-bezier(.22,.7,.15,1)}
*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);word-break:keep-all}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.3}a{color:inherit;text-decoration:none}button{border:1px solid var(--line);background:transparent;color:inherit}button:hover:not(:disabled){background:var(--pale)}button.primary,.primary{background:var(--blue);color:var(--white);border-color:var(--blue)}button.primary:hover:not(:disabled){background:var(--blue-dark)}:focus-visible{outline:3px solid var(--orange);outline-offset:5px}button,input,textarea{border-radius:0}h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3{font-weight:760;letter-spacing:-.035em}ol{margin:0;padding:0;list-style:none}p{line-height:var(--body-leading)}svg{display:block}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:-100px;left:12px;padding:12px;background:var(--white);z-index:100}.skip-link:focus{top:8px}
.app-header{height:var(--ui-height);display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:24px;border-bottom:1px solid var(--line);background:var(--paper);font-size:var(--ui);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;letter-spacing:.045em;font-weight:720}.brand b{font-size:11px;margin-left:8px;color:var(--muted);font-weight:500}.brand-symbol{width:28px;height:28px;background:var(--blue);color:var(--white);display:grid;place-items:center;font-size:25px;line-height:1}.app-subtitle{font-size:11px;color:var(--muted);letter-spacing:.13em}.app-actions{display:flex;gap:8px;align-items:center}.icon-button{width:var(--control);height:var(--control);display:grid;place-items:center;border-color:transparent}.text-button{min-height:var(--control);padding:0 12px;font-weight:650;border-color:transparent}.js-only{display:none}
.stage{position:relative}.scene{--scene-bg:var(--paper);--scene-ink:var(--ink);--scene-accent:var(--blue);position:relative;width:var(--stage-w);height:var(--stage-h);background:var(--scene-bg);color:var(--scene-ink);padding:var(--pad-top) var(--edge) var(--pad-bottom);display:grid;grid-template-rows:36px 176px minmax(0,1fr) 52px;gap:var(--gap);overflow:hidden}.scene-meta{display:flex;align-items:center;justify-content:space-between;font-size:var(--micro);letter-spacing:.15em;font-weight:650;color:var(--scene-accent)}.folio{letter-spacing:.1em;font-size:20px;color:var(--muted);font-variant-numeric:tabular-nums}.scene-head{display:flex;align-items:center;min-width:0}.scene-title{font-size:var(--title);line-height:var(--title-leading);max-width:100%;font-weight:520}.type-word{display:inline-block;color:var(--scene-accent);font-style:normal;white-space:nowrap;font-weight:820;transform-origin:50% 50%;position:relative;z-index:1}.glyph{display:inline-block}.scene-body{position:relative;min-height:0;min-width:0;isolation:isolate}.scene-note{border-top:1px solid var(--line);display:flex;align-items:flex-end;gap:18px}.scene-note p{font-size:var(--small);color:var(--muted);line-height:1.35}.note-dash{width:22px;height:3px;flex:0 0 22px;align-self:center;background:var(--scene-accent)}.micro{font-size:var(--micro);letter-spacing:.12em;font-weight:620}.sub{font-size:var(--small);color:var(--muted)}.ordinal{font-size:26px;font-weight:450;font-variant-numeric:tabular-nums;color:var(--scene-accent)}.module{transform-origin:50% 50%}.tone-blue{--scene-bg:var(--blue);--scene-ink:var(--white);--scene-accent:var(--white);--line:#6c85ef;--muted:#d0d9ff}.tone-ink{--scene-bg:var(--ink);--scene-ink:var(--white);--scene-accent:#a6b8ff;--line:#444953;--muted:#b9bec8}.tone-blue .type-word,.tone-ink .type-word{color:var(--white)}
.display-glyph{display:inline-block;transform-origin:50% 100%}.hero .display-glyph:last-child{color:var(--orange)}.hero .scene-title{font-size:104px}.hero-art{height:100%;display:flex;flex-direction:column;justify-content:space-between}.hero-display{font-size:var(--hero-type);line-height:1;letter-spacing:-.065em;font-weight:860;color:var(--blue);white-space:nowrap}.hero-dot{color:var(--orange)}.hero-system{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);height:164px}.hero-unit{padding:28px 36px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.hero-unit:first-child{padding-left:0}.hero-unit+.hero-unit{border-left:1px solid var(--line)}.hero-unit+.hero-unit:before{content:'→';position:absolute;left:-18px;top:64px;background:var(--paper);color:var(--blue);font-size:32px}.hero-unit span{font-size:22px;letter-spacing:.14em}.hero-unit strong{font-size:42px;font-weight:640}.hero-credit{display:flex;justify-content:space-between;font-size:20px;color:var(--muted);padding-top:12px}
.comparison{display:grid;grid-template-columns:1fr 1fr;gap:0;height:100%;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}.comparison-half{padding:38px 40px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.comparison-half:first-child{padding-left:0}.comparison-half+.comparison-half{border-left:1px solid var(--line);background:var(--pale);padding-left:48px}.comparison-type{font-size:56px;line-height:1.32;font-weight:670;letter-spacing:-.035em}.comparison-half .micro{color:var(--muted)}.comparison-half:last-child .comparison-type{color:var(--blue)}.faults{display:grid;grid-template-columns:repeat(3,1fr);height:100%;gap:56px}.fault{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:28px 0}.fault h3{font-size:44px}.fault p{font-size:30px;color:var(--muted)}.fault-gap{width:100%;height:120px;border-top:3px solid var(--ink);position:relative}.fault-gap:after{content:'?';position:absolute;top:-60px;left:calc(50% - 45px);font-size:92px;background:var(--paper);width:90px;text-align:center;color:var(--orange);font-weight:300}
.statement .scene-head{align-items:center}.statement .scene-title{font-size:96px;max-width:1550px}.statement-art{height:100%;display:flex;flex-direction:column;justify-content:space-between}.statement-display{font-size:var(--chapter-type);font-weight:850;line-height:1.03;letter-spacing:-.065em;white-space:nowrap;color:var(--scene-ink)}.statement-rail{display:flex;gap:44px;align-items:center;border-top:1px solid var(--line);padding-top:38px;font-size:28px;letter-spacing:.09em}.statement-rail i{height:1px;flex:1;background:var(--line);position:relative}.statement-rail i:after{content:'↗';position:absolute;right:0;top:-22px;font-style:normal;font-size:32px}
.circuit,.signals{height:100%;position:relative}.wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.wire{stroke:var(--blue);stroke-width:3;fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.circuit-node,.circuit-core{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h)}.circuit-node{display:flex;align-items:center;gap:24px;border:1px solid var(--line);background:var(--paper);padding:20px 28px;font-size:28px}.circuit-node strong{font-weight:580}.circuit-core{display:flex;flex-direction:column;justify-content:space-between;background:var(--blue);color:var(--white);padding:30px 38px}.circuit-core>strong{font-size:78px;font-weight:760;letter-spacing:-.05em}.circuit-core p{font-size:27px}.core-bottom{border-top:1px solid #7e96f4;padding-top:20px;font-size:22px}.circuit .input{border-left:4px solid var(--blue)}.circuit .output{border-right:4px solid var(--orange)}
.request-label{position:absolute;left:calc(50% - 190px);top:0;width:380px;height:84px;background:var(--blue);color:var(--white);display:grid;place-items:center;font-size:28px;letter-spacing:.12em}.signal-row{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;position:absolute;top:200px;left:0;right:0;bottom:0}.signal{border-top:4px solid var(--blue);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:30px 0}.signal h3{font-size:54px;letter-spacing:-.035em}.signal p{font-size:30px}.signal .sub{font-size:23px}.decode-lanes{height:100%;display:grid;grid-template-rows:repeat(4,1fr);gap:20px}.decode-lane{display:grid;grid-template-columns:250px 100px minmax(0,1fr) 100px 340px;align-items:center;padding:0 32px;border:1px solid var(--line);font-size:32px}.lane-source{font-size:42px;font-weight:700}.lane-arrow{font-size:36px;text-align:center;color:var(--blue)}.decode-lane strong{font-weight:450;color:var(--blue)}.lane-result{border-left:1px solid var(--line);padding-left:36px}
.identity-layout{height:100%;display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1.2fr 1fr 84px;gap:24px}.identity-layout article{padding:32px 40px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line)}.identity-layout h3{font-size:44px}.identity-layout p{font-size:28px}.identity-0{grid-row:1/3;background:var(--blue);color:var(--white)}.identity-0 h3{font-size:100px;line-height:1}.identity-1{background:var(--pale)}.identity-2 h3{font-size:36px}.identity-3{grid-column:1/3;flex-direction:row!important;align-items:center;background:var(--ink);color:var(--white);padding:20px 40px!important}.identity-3 h3{font-size:32px;color:#ff9977}.lens-grid{height:100%;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);border-top:2px solid var(--ink);border-left:1px solid var(--line)}.lens{padding:30px 40px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);position:relative;display:flex;flex-direction:column;justify-content:space-between}.lens h3{font-size:58px;color:var(--blue);font-weight:650}.lens p{font-size:28px}.lens-corner{position:absolute;right:32px;top:26px;font-size:32px;font-weight:300;color:var(--muted)}
.brief-layout{height:100%;display:grid;grid-template-columns:520px minmax(0,1fr);gap:48px}.input-slip{padding:36px;background:var(--ink);color:var(--white);display:flex;flex-direction:column;justify-content:space-between}.input-slip p{font-size:37px;line-height:1.48;font-weight:530}.input-slip .micro{color:#a6b8ff}.input-arrow{font-size:100px;line-height:1;align-self:flex-end;color:#a6b8ff}.brief-sheet{display:grid;grid-template-rows:repeat(5,1fr);border-top:2px solid var(--blue)}.brief-row{display:grid;grid-template-columns:210px 1fr;gap:24px;padding:16px 0;align-items:center;border-bottom:1px solid var(--line)}.brief-row dt{font-size:28px;font-weight:700;color:var(--blue)}.brief-row dd{font-size:27px;line-height:1.45}
.routing{height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:96px minmax(0,1fr);gap:28px}.route-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.route-tab{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;font-size:30px;text-align:left}.route-tab[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:var(--white)}.route-tab[aria-pressed=true] .ordinal{color:var(--white)}.route-tab span:last-child{font-size:30px}.route-pages{min-height:0}.route-page{height:100%;padding:36px 40px;border:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.25fr);grid-template-rows:40px minmax(0,1fr);gap:32px}.route-page>.micro{grid-column:1/-1;padding-bottom:16px;border-bottom:1px solid var(--line)}.route-page h3{font-size:78px;font-weight:650;line-height:1;align-self:center;letter-spacing:-.04em}.route-mistake,.route-answer{display:flex;flex-direction:column;justify-content:center;gap:24px;padding:32px;min-width:0}.route-mistake{border-left:1px solid var(--line)}.route-answer{background:var(--pale);border-top:4px solid var(--blue)}.route-page span{font-size:22px;color:var(--muted)}.route-page p{font-size:38px;line-height:1.45;word-break:keep-all;overflow-wrap:break-word}.route-answer p{color:var(--blue);font-weight:650}.route-answer span{color:var(--blue)}
.contract-strip{height:100%;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-top:4px solid var(--blue)}.contract-part{display:flex;flex-direction:column;justify-content:space-between;padding:32px;border-right:1px solid var(--line)}.contract-part:last-child{border:0;background:var(--blue);color:var(--white)}.contract-number{font-size:208px;font-weight:260;letter-spacing:-.07em;line-height:1}.contract-part h3{font-size:38px;font-weight:650}.contract-part p{font-size:28px}.qa-layout{height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:132px minmax(0,1fr);gap:28px}.qa-seal{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;padding:20px 36px;background:var(--blue);color:var(--white)}.qa-seal>strong{font-size:100px;line-height:.9;font-weight:740;letter-spacing:-.08em}.qa-seal>strong>span{font-weight:200}.qa-seal p{font-size:30px;text-align:right}.qa-questions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}.qa-questions li{display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:32px 24px;border:1px solid var(--line);border-top:4px solid var(--blue);font-size:32px;line-height:1.5;min-width:0}.qa-questions li p{min-height:144px;word-break:keep-all;overflow-wrap:break-word}.review-mark{color:var(--blue);font-size:88px;font-weight:280;line-height:1;letter-spacing:-.05em}
.workbench{height:100%;min-height:0;display:grid;grid-template-columns:450px minmax(0,1fr);gap:64px}.build-overview{padding:24px 0;display:flex;flex-direction:column;gap:24px}.build-path{flex:1;display:grid;grid-template-rows:repeat(9,1fr);min-height:0}.build-path li a{display:flex;align-items:center;height:100%;padding:0 24px;gap:20px;position:relative;border-left:2px solid var(--line);font-size:23px;color:var(--muted)}.build-path .current a{background:var(--blue);color:var(--white);border-left-color:var(--blue)}.step-number{font-size:20px;font-variant-numeric:tabular-nums;min-width:28px}.build-path strong{font-size:23px;font-weight:580}.completion-dot{margin-left:auto;width:9px;height:9px;background:transparent;border:1px solid currentColor;flex-shrink:0}.completion-dot.filled{background:currentColor}.worksheet{height:100%;min-height:0;padding:28px 36px;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--blue);display:grid;grid-template-rows:44px minmax(0,1fr) 24px;gap:16px}.worksheet-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.worksheet-heading h3{font-size:32px;letter-spacing:.015em;color:var(--blue)}.worksheet-heading>span{font-size:18px;color:var(--muted);white-space:nowrap;letter-spacing:.1em}.fields{display:grid;grid-auto-rows:minmax(0,1fr);gap:12px;min-height:0}.field{display:flex;flex-direction:column;gap:6px;min-height:0;justify-content:center}.field>span{font-size:22px;font-weight:620;line-height:1.2}.field textarea{resize:none;display:block;width:100%;min-height:44px;height:60px;max-height:100%;padding:8px 12px;background:var(--paper);border:1px solid var(--line);border-bottom:2px solid var(--line);color:var(--ink);font-size:25px;line-height:1.35;overflow:auto;word-break:normal}.field textarea:focus{border-bottom-color:var(--blue)}.field textarea::placeholder{color:#7c838f;font-size:inherit}.fields-5 .fields{gap:10px}.fields-5 .field{gap:4px}.fields-5 .field>span{font-size:20px}.fields-5 .field textarea{height:46px;font-size:22px;line-height:1.3;padding:6px 10px}.fields-2 .field textarea{height:94px}.fields-3 .field textarea{height:78px}.save-note{font-size:18px;color:var(--muted);line-height:1.3}.save-note.failed{color:#ac3515}
.transfer-grid{height:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:40px}.domain{display:flex;flex-direction:column;justify-content:space-between;padding:28px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}.domain h3{font-size:48px;font-weight:680}.domain p{font-size:30px;color:var(--muted)}.domain-arrow{font-size:80px;font-weight:260;color:var(--blue);line-height:1}.domain strong{font-size:38px;font-weight:650;color:var(--blue)}.minimum-grid{display:grid;grid-template-columns:repeat(5,1fr);height:100%;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}.minimum-part{display:flex;flex-direction:column;justify-content:space-between;padding:24px 32px;border-right:1px solid var(--line)}.minimum-part:last-child{border:0}.minimum-part strong{font-size:284px;font-weight:330;color:var(--blue);line-height:1.1;letter-spacing:-.08em}.minimum-part span{font-size:27px;letter-spacing:.08em}.rubric{border-collapse:collapse;width:100%;height:100%;font-size:27px;table-layout:fixed}.rubric th,.rubric td{text-align:left;padding:22px 28px;border-bottom:1px solid var(--line);line-height:1.4}.rubric thead{background:var(--blue);color:var(--white);font-size:24px}.rubric thead th:first-child{width:16%}.rubric thead th:nth-child(2){width:43%}.rubric tbody th{color:var(--blue);font-size:30px}.rubric tbody td:last-child{color:var(--muted)}
.final-layout{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 72px;gap:28px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);border-top:2px solid var(--blue);border-left:1px solid var(--line)}.summary-cell{padding:22px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:14px;min-width:0}.summary-cell:hover{background:var(--pale)}.summary-cell .micro{font-size:19px;color:var(--blue)}.summary-cell p{font-size:25px;line-height:1.36;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word}.summary-cell.has-value p{color:var(--ink)}.final-actions{display:flex;align-items:center;justify-content:space-between}.final-actions p{display:flex;gap:12px;align-items:baseline}.final-actions strong{font-size:64px;line-height:1;font-weight:550;color:var(--blue)}.final-actions span{font-size:25px;color:var(--muted)}.final-actions button{height:64px;padding:0 32px;font-size:26px}
.toolbar{height:64px;position:relative;align-items:center;justify-content:space-between;padding:0 24px;background:var(--paper);border-top:1px solid var(--line);font-size:var(--ui);z-index:5;gap:20px}.position{display:flex;gap:8px;align-items:baseline;font-variant-numeric:tabular-nums}.position strong{font-size:20px;color:var(--blue);font-weight:600}.position>span{color:var(--muted);font-size:12px}.phase-nav{display:flex;gap:6px}.phase-nav button{display:flex;gap:8px;align-items:center;padding:0 12px;min-height:var(--control);border-color:transparent;font-size:12px;color:var(--muted)}.phase-nav button[aria-current=true]{color:var(--blue);background:var(--pale)}.phase-nav button>span{font-size:10px;letter-spacing:.05em}.toolbar-actions{display:flex;align-items:center;gap:8px}.toolbar-actions button{height:var(--control);min-width:var(--control);padding:0 15px}.key-hint{font-size:10px;color:var(--muted);letter-spacing:.04em;margin-right:14px}.progress-track{position:absolute;bottom:0;height:3px;left:0;right:0;background:var(--line)}.progress-track>span{height:100%;width:0;display:block;background:var(--blue)}
.enhanced,.enhanced body{height:100%;overflow:hidden}.enhanced .app{height:100dvh;display:grid;grid-template-rows:var(--ui-height) minmax(0,1fr) 64px}.enhanced .js-only{display:flex}.enhanced .viewport{display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden;background:var(--ink)}.enhanced .stage-shell{width:calc(var(--stage-w)*var(--stage-scale,1));height:calc(var(--stage-h)*var(--stage-scale,1));position:relative}.enhanced .stage{width:var(--stage-w);height:var(--stage-h);transform:scale(var(--stage-scale,1));transform-origin:0 0;isolation:isolate}.enhanced .scene{position:absolute;inset:0;display:none}.enhanced .scene.is-active,.enhanced .scene.is-leaving{display:grid}.enhanced .scene.is-active{z-index:3}.enhanced .scene.is-leaving{z-index:2;pointer-events:none}.enhanced .route-page:not(.selected){display:none}.motion-layer{position:absolute;inset:0;pointer-events:none;z-index:10;overflow:hidden}.type-ghost{position:absolute;white-space:nowrap;font-family:var(--font);line-height:var(--title-leading);font-weight:820;letter-spacing:-.035em;transform-origin:0 0;pointer-events:none}
dialog{padding:28px;border:1px solid var(--line);color:var(--ink);background:var(--paper);max-width:min(1180px,calc(100vw - 32px));width:calc(100vw - 64px);max-height:calc(100dvh - 48px);box-shadow:0 30px 100px #0005}dialog::backdrop{background:#101725aa;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.dialog-top h2{font-size:30px;line-height:1.2}.dialog-top .micro{font-size:12px;color:var(--blue);margin-bottom:8px}.outline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.outline-section h3{font-size:16px;color:var(--blue);margin-bottom:12px}.outline-section>a{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.45}.outline-section>a>span{color:var(--muted);flex:0 0 22px;font-variant-numeric:tabular-nums}.outline-section>a>strong{font-weight:520}.outline-section>a[aria-current=page]{color:var(--blue)}.dialog-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px;font-size:13px}.dialog-bottom button{min-height:44px;padding:10px 18px}.dialog-bottom label{display:flex;align-items:center;gap:8px;min-height:44px}.dialog-bottom input{width:18px;height:18px;accent-color:var(--blue)}#canvas-dialog{max-width:900px}.canvas-help{font-size:14px;color:var(--muted);margin-bottom:18px}#canvas-export{width:100%;height:45dvh;padding:18px;border:1px solid var(--line);background:var(--white);font-size:15px;line-height:1.65;resize:vertical;word-break:normal}#share-dialog,#notes-dialog{max-width:680px}#share-url{display:block;width:100%;padding:14px;margin-top:12px;border:1px solid var(--line);font-size:16px}#notes-copy{font-size:19px;line-height:1.6}#notice{display:none;position:fixed;left:50%;bottom:84px;transform:translateX(-50%);padding:12px 18px;background:var(--ink);color:var(--white);max-width:calc(100vw - 32px);font-size:14px;z-index:50}#notice.visible{display:block}.no-script{padding:24px;color:var(--muted)}
@media(max-width:900px){.app-subtitle,.phase-nav,.key-hint{display:none}.app-header{padding:0 12px;gap:10px}.brand{font-size:11px;gap:7px}.brand b{display:none}.app-actions{gap:0}.app-actions .text-button{font-size:12px;padding:0 7px}.toolbar{padding:0 14px}.outline-grid{grid-template-columns:1fr}.dialog-bottom{flex-wrap:wrap}dialog{padding:20px;width:calc(100vw - 24px);max-width:none}.brand-symbol{width:24px;height:24px;font-size:22px}}
@media(max-width:520px){:root{--ui-height:52px}.brand>span:last-child{display:none}.app-actions{margin-left:auto}.toolbar-actions button{padding:0 12px}.text-button{min-width:64px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
html:not(.enhanced) .scene{margin:0 auto;border-bottom:2px solid var(--line)}
@media(max-width:1919px){
html:not(.enhanced) .scene{width:100%;height:auto;min-height:0;grid-template-rows:repeat(4,auto);padding:clamp(20px,4vw,60px);gap:28px;overflow:visible}
html:not(.enhanced) .scene-title{font-size:clamp(32px,5vw,78px)}html:not(.enhanced) .scene-body{min-height:0}html:not(.enhanced) .hero-display,html:not(.enhanced) .statement-display{font-size:clamp(46px,12vw,236px)}html:not(.enhanced) .scene-body>div{height:auto;gap:28px}html:not(.enhanced) .scene-note{padding-top:20px}html:not(.enhanced) .scene-note p{font-size:20px}html:not(.enhanced) .wires{display:none}
html:not(.enhanced) .circuit{display:grid;grid-template-columns:1fr 1fr;gap:16px}html:not(.enhanced) .circuit-node,html:not(.enhanced) .circuit-core{position:static;width:auto;height:auto;min-height:90px}html:not(.enhanced) .circuit-core{grid-column:1/-1;gap:24px}
html:not(.enhanced) .workbench,html:not(.enhanced) .brief-layout,html:not(.enhanced) .routing,html:not(.enhanced) .qa-layout{grid-template-columns:1fr}html:not(.enhanced) .build-overview,html:not(.enhanced) .route-tabs{display:none}html:not(.enhanced) .worksheet{grid-template-rows:auto auto auto;height:auto}html:not(.enhanced) .fields{grid-auto-rows:auto;gap:24px}html:not(.enhanced) .field textarea{height:80px;font-size:22px}html:not(.enhanced) .field{gap:8px}html:not(.enhanced) .route-pages{display:grid;gap:24px}html:not(.enhanced) .routing,html:not(.enhanced) .qa-layout{grid-template-rows:auto auto}html:not(.enhanced) .route-page{height:auto;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;min-height:420px}html:not(.enhanced) .route-mistake{border-left:0;border-top:1px solid var(--line)}html:not(.enhanced) .qa-questions{grid-template-columns:1fr 1fr}html:not(.enhanced) .qa-questions li p{min-height:0}
html:not(.enhanced) .signal-row,html:not(.enhanced) .request-label{position:static;width:auto;height:auto}html:not(.enhanced) .request-label{padding:24px;margin-bottom:24px}html:not(.enhanced) .signal-row{grid-template-columns:1fr 1fr;gap:24px}html:not(.enhanced) .signal{min-height:300px}html:not(.enhanced) .decode-lanes{gap:20px}html:not(.enhanced) .decode-lane{grid-template-columns:1fr 60px 2fr;gap:12px;padding:24px}html:not(.enhanced) .lane-arrow:nth-of-type(3){display:none}html:not(.enhanced) .lane-result{grid-column:3}
html:not(.enhanced) .comparison-half,html:not(.enhanced) .lens,html:not(.enhanced) .domain,html:not(.enhanced) .contract-part{gap:32px;min-height:300px}html:not(.enhanced) .identity-layout{grid-template-rows:auto auto auto}html:not(.enhanced) .identity-layout article{gap:28px}html:not(.enhanced) .final-layout{grid-template-rows:auto auto}html:not(.enhanced) .summary-cell{min-height:180px}html:not(.enhanced) .type-word{white-space:normal}html:not(.enhanced) .brief-row{grid-template-columns:160px 1fr}html:not(.enhanced) .fault{gap:32px}html:not(.enhanced) .fault-gap{margin-top:40px;height:60px}html:not(.enhanced) .contract-strip,html:not(.enhanced) .minimum-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
html:not(.enhanced) .scene-meta{font-size:12px;letter-spacing:.07em}html:not(.enhanced) .folio{font-size:13px;white-space:nowrap}html:not(.enhanced) .hero-system{height:auto;grid-template-columns:1fr}html:not(.enhanced) .hero-unit{padding:24px 0;gap:12px}html:not(.enhanced) .hero-unit+.hero-unit{border-left:0;border-top:1px solid var(--line)}html:not(.enhanced) .hero-unit:before{display:none}html:not(.enhanced) .hero-credit{flex-wrap:wrap;font-size:14px;gap:12px}
html:not(.enhanced) .comparison,html:not(.enhanced) .faults,html:not(.enhanced) .signal-row,html:not(.enhanced) .lens-grid,html:not(.enhanced) .transfer-grid,html:not(.enhanced) .summary-grid,html:not(.enhanced) .identity-layout{grid-template-columns:1fr;grid-template-rows:auto}html:not(.enhanced) .identity-layout article{grid-column:auto;grid-row:auto;padding:24px}html:not(.enhanced) .identity-3{flex-direction:column!important;align-items:flex-start}html:not(.enhanced) .identity-0 h3{font-size:64px}
html:not(.enhanced) .comparison-half,html:not(.enhanced) .comparison-half+.comparison-half{padding:24px;min-height:280px}html:not(.enhanced) .comparison-type{font-size:36px}html:not(.enhanced) .circuit{grid-template-columns:1fr}html:not(.enhanced) .circuit-node{font-size:24px}html:not(.enhanced) .circuit-core{padding:24px}html:not(.enhanced) .circuit-core>strong{font-size:62px}
html:not(.enhanced) .decode-lane{grid-template-columns:1fr;gap:16px}html:not(.enhanced) .lane-result{grid-column:auto;padding-left:0;border:0}html:not(.enhanced) .lane-arrow{display:none}html:not(.enhanced) .lane-source{font-size:32px}html:not(.enhanced) .decode-lane{font-size:26px}html:not(.enhanced) .brief-row{grid-template-columns:1fr}html:not(.enhanced) .input-slip p{font-size:30px}html:not(.enhanced) .route-page{padding:24px}html:not(.enhanced) .route-page h3{font-size:58px}html:not(.enhanced) .route-page p{font-size:28px}
html:not(.enhanced) .contract-strip,html:not(.enhanced) .minimum-grid{grid-template-columns:1fr 1fr}html:not(.enhanced) .contract-part,html:not(.enhanced) .minimum-part{padding:20px}html:not(.enhanced) .contract-number,html:not(.enhanced) .minimum-part strong{font-size:130px}html:not(.enhanced) .contract-part h3{font-size:27px}html:not(.enhanced) .contract-part p,html:not(.enhanced) .minimum-part span{font-size:22px}
html:not(.enhanced) .qa-seal{grid-template-columns:1fr;padding:24px;gap:28px;text-align:center}html:not(.enhanced) .qa-seal>strong{font-size:100px}html:not(.enhanced) .qa-seal p{text-align:center;font-size:26px}html:not(.enhanced) .qa-questions{grid-template-columns:1fr}html:not(.enhanced) .qa-questions li{font-size:24px;padding:24px;gap:24px}html:not(.enhanced) .review-mark{font-size:60px}html:not(.enhanced) .route-mistake,html:not(.enhanced) .route-answer{padding:24px 16px}html:not(.enhanced) .worksheet{padding:22px;gap:24px}html:not(.enhanced) .worksheet-heading{flex-wrap:wrap;gap:12px}html:not(.enhanced) .rubric{font-size:16px}html:not(.enhanced) .rubric th,html:not(.enhanced) .rubric td{padding:12px 6px;word-break:normal}html:not(.enhanced) .rubric thead{font-size:15px}html:not(.enhanced) .rubric thead th:first-child{width:23%}html:not(.enhanced) .rubric tbody th{font-size:16px}
html:not(.enhanced) .final-actions{flex-wrap:wrap;gap:24px}html:not(.enhanced) .final-actions button{font-size:20px;padding:0 20px}html:not(.enhanced) .statement-rail{font-size:15px;gap:12px}html:not(.enhanced) .statement-rail i:after{font-size:22px;top:-16px}
}
@media print{html.enhanced,html.enhanced body{height:auto;overflow:visible}.app-header,.toolbar,.motion-layer,dialog,#notice{display:none!important}.enhanced .app,.enhanced .viewport,.enhanced .stage-shell,.enhanced .stage{display:block;width:auto;height:auto;transform:none;background:var(--white)}.enhanced .scene{position:relative;display:grid!important;inset:auto;break-after:page;page-break-after:always;zoom:.5}.scene *{opacity:1!important;visibility:visible!important;transform:none!important;clip-path:none!important}.scene{-webkit-print-color-adjust:exact;print-color-adjust:exact}.enhanced .route-page{display:grid!important;height:auto;min-height:500px}.routing{height:auto;grid-template-rows:96px auto}.routes{height:auto;min-height:var(--stage-h)}}
