*{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#111318;
  --ink-2:#232833;
  --paper:#f4efe3;
  --paper-2:#e7ddca;
  --paper-3:#d8cab1;
  --navy:#0b1220;
  --navy-2:#151f31;
  --brass:#c8a451;
  --blue:#1d4ed8;
  --red:#a0261d;
  --green:#146c43;
  --amber:#9a5b00;
  --line:#111318;
  --muted:#5b5f69;
  --white:#fffaf0;
  --mono:"SF Mono","JetBrains Mono","Fira Code",ui-monospace,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Pretendard","Apple SD Gothic Neo","Segoe UI",sans-serif;
  --serif:Georgia,"Times New Roman",serif;
  --ease:cubic-bezier(.22,.8,.22,1);
}
html{scroll-behavior:smooth;background:var(--paper)}
body{
  min-height:100vh;
  font-family:var(--sans);
  color:var(--ink);
  background:
    linear-gradient(90deg,rgba(17,19,24,.055) 1px,transparent 1px),
    linear-gradient(0deg,rgba(17,19,24,.045) 1px,transparent 1px),
    var(--paper);
  background-size:32px 32px;
  letter-spacing:-.015em;
  line-height:1.55;
}
button,textarea,input{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
::selection{background:var(--brass);color:var(--navy)}

.frame{max-width:1320px;margin:0 auto;padding:18px}
.topbar{
  position:sticky;top:0;z-index:20;
  display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;
  background:var(--navy);color:var(--white);
  border:2px solid var(--line);box-shadow:6px 6px 0 var(--ink);
  padding:12px 14px;margin-bottom:18px;
}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.seal{
  width:38px;height:38px;border:2px solid var(--brass);display:grid;place-items:center;
  color:var(--brass);font-family:var(--serif);font-size:24px;font-weight:700;
  animation:sealBreath 7s var(--ease) infinite;
}
@keyframes sealBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.brand h1{font-family:var(--mono);font-size:16px;letter-spacing:.08em;line-height:1;text-transform:uppercase}
.brand p{font-family:var(--mono);font-size:10px;color:var(--paper-3);letter-spacing:.12em;text-transform:uppercase;margin-top:3px}
.navlinks{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.navlinks a,.utility button{
  border:1px solid var(--paper-3);background:var(--navy-2);color:var(--white);
  padding:8px 10px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;
  transition:transform .45s var(--ease),background .45s var(--ease),color .45s var(--ease);
}
.navlinks a:hover,.utility button:hover{background:var(--brass);color:var(--navy);transform:translateY(-2px)}
.utility{display:flex;gap:8px;align-items:center}
.clock{font-family:var(--mono);font-size:12px;color:var(--brass);min-width:82px;text-align:right}

.hero{
  display:grid;grid-template-columns:minmax(0,1.1fr) 390px;gap:18px;margin-bottom:18px;
}
.declaration,.ledger-card,.input-panel,.result-panel,.protocol,.history-panel,.axis-panel,.slop-panel,.json-panel{
  border:2px solid var(--line);background:var(--white);box-shadow:6px 6px 0 var(--ink);
}
.declaration{padding:34px;position:relative;overflow:hidden;background:var(--paper)}
.declaration::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:var(--brass);
  transform-origin:left;animation:longScan 8s var(--ease) infinite;
}
@keyframes longScan{0%{transform:scaleX(.08)}45%{transform:scaleX(1)}100%{transform:scaleX(.08)}}
.kicker{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--amber);font-weight:800;margin-bottom:18px}
.declaration h2{font-family:var(--serif);font-size:clamp(44px,7vw,92px);line-height:.9;letter-spacing:-.065em;max-width:820px}
.declaration h2 span{display:block;color:var(--navy)}
.thesis{margin-top:22px;max-width:760px;font-size:18px;color:var(--ink-2)}
.thesis strong{background:var(--navy);color:var(--white);padding:2px 6px;font-weight:700}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.primary,.secondary,.danger,.small-btn{
  border:2px solid var(--line);padding:12px 14px;background:var(--white);box-shadow:3px 3px 0 var(--ink);
  font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease),color .35s var(--ease);
}
.primary{background:var(--navy);color:var(--white)}
.secondary{background:var(--brass);color:var(--navy)}
.danger{background:var(--red);color:var(--white)}
.small-btn{padding:8px 10px;font-size:11px;background:var(--paper)}
.primary:hover,.secondary:hover,.danger:hover,.small-btn:hover{transform:translate(-1px,-2px);box-shadow:5px 5px 0 var(--ink)}

.ledger-card{background:var(--navy);color:var(--white);padding:0;display:grid;grid-template-rows:auto 1fr}
.ledger-head{border-bottom:2px solid var(--paper-3);padding:14px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.ledger-head h3{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--brass)}
.status-pill{border:1px solid var(--green);color:var(--green);background:var(--white);padding:4px 8px;font-family:var(--mono);font-size:10px;text-transform:uppercase;font-weight:800}
.ledger-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid var(--paper-3)}
.metric{padding:18px 16px;border-right:2px solid var(--paper-3);min-height:110px}
.metric:nth-child(even){border-right:0}
.metric:nth-child(1),.metric:nth-child(2){border-bottom:2px solid var(--paper-3)}
.metric b{font-family:var(--serif);font-size:44px;line-height:1;color:var(--brass);display:block}
.metric span{display:block;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--paper-3);margin-top:8px}
.audit{padding:16px;font-family:var(--mono);font-size:12px;color:var(--paper-2)}
.audit-row{display:grid;grid-template-columns:82px 1fr;gap:10px;border-bottom:1px solid #384050;padding:8px 0}
.audit-row:last-child{border-bottom:0}
.audit-row code{color:var(--brass)}

.workbench{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.input-panel{padding:0;background:var(--white)}
.panel-title{border-bottom:2px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;background:var(--paper-2)}
.panel-title h3{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.1em}
.panel-title span{font-family:var(--mono);font-size:11px;color:var(--muted)}
.editor-wrap{padding:16px}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
textarea#idea{
  width:100%;min-height:230px;resize:vertical;border:2px solid var(--line);background:var(--paper);padding:16px;
  font-family:var(--mono);font-size:14px;line-height:1.65;outline:none;box-shadow:inset 3px 3px 0 var(--paper-3);
}
textarea#idea:focus{background:var(--white);border-color:var(--blue)}
.prompt-meta{display:grid;grid-template-columns:repeat(4,1fr);border:2px solid var(--line);border-top:0;margin-bottom:16px}
.prompt-meta div{padding:10px;border-right:2px solid var(--line);font-family:var(--mono);font-size:11px;background:var(--paper)}
.prompt-meta div:last-child{border-right:0}
.prompt-meta b{display:block;font-size:16px;color:var(--navy)}
.operator-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:14px}
.evaluate{min-width:210px;position:relative;overflow:hidden}
.evaluate.loading::after{content:"";position:absolute;inset:0;background:var(--brass);transform-origin:left;animation:submitRail 2.8s var(--ease) infinite;z-index:0}
.evaluate span{position:relative;z-index:1}
@keyframes submitRail{0%{transform:scaleX(.04)}55%{transform:scaleX(.96)}100%{transform:scaleX(.04)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,100%{opacity:.5}50%{opacity:.85}}.skeleton-light{background:linear-gradient(90deg,var(--paper-2) 25%,var(--paper) 50%,var(--paper-2) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite}.skeleton-dark{background:linear-gradient(90deg,var(--navy-2) 25%,#1e2a42 50%,var(--navy-2) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite}.loading-pulse{animation:pulse 1.8s var(--ease) infinite}.skeleton-ring{width:210px;height:210px;border-radius:50%;border:10px solid var(--navy-2);margin:0 auto 14px;animation:pulse 1.8s var(--ease) infinite}
.error-msg{display:none;margin-top:14px;border:2px solid var(--red);background:var(--white);color:var(--red);padding:12px;font-family:var(--mono);font-size:12px;font-weight:800}

.protocol{background:var(--paper);padding:0}
.protocol-list{padding:14px 16px;display:grid;gap:10px}
.step{display:grid;grid-template-columns:34px 1fr;gap:10px;border:2px solid var(--line);background:var(--white);padding:10px}
.step b{font-family:var(--mono);font-size:12px;color:var(--brass);background:var(--navy);height:28px;display:grid;place-items:center}
.step strong{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;display:block}
.step p{font-size:13px;color:var(--muted);margin-top:2px}
.shortcuts{border-top:2px solid var(--line);padding:14px 16px;background:var(--navy);color:var(--white)}
.shortcuts h4{font-family:var(--mono);font-size:12px;color:var(--brass);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.key{display:flex;justify-content:space-between;border-bottom:1px solid #384050;padding:7px 0;font-family:var(--mono);font-size:11px;color:var(--paper-2)}
.key kbd{background:var(--paper);color:var(--navy);padding:2px 6px;border:1px solid var(--brass);font-weight:800}

.results{display:none;margin-top:18px;gap:18px;grid-template-columns:360px minmax(0,1fr)}
.results.show{display:grid;animation:enter .7s var(--ease) both}
@keyframes enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.result-panel{background:var(--navy);color:var(--white);padding:0;position:sticky;top:92px}
.score-block{padding:24px;text-align:center;border-bottom:2px solid var(--paper-3)}
.score-ring{width:210px;height:210px;margin:0 auto 14px;position:relative}
.score-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.score-ring circle{fill:none;stroke-width:10}
.score-ring .track{stroke:var(--paper-3)}
.score-ring .fill{stroke:var(--brass);stroke-linecap:square;transition:stroke-dashoffset 1.4s var(--ease)}
.score-number{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-size:70px;color:var(--brass);line-height:1}
.verdict{display:inline-block;border:2px solid var(--brass);padding:6px 10px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--brass);margin-bottom:12px}
.summary{color:var(--paper-2);font-size:14px;text-align:left;margin-top:8px}
.report-actions{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:2px solid var(--paper-3)}
.report-actions button{border:0;border-right:2px solid var(--paper-3);padding:12px;background:var(--navy);color:var(--white);font-family:var(--mono);font-size:11px;text-transform:uppercase}
.report-actions button:last-child{border-right:0}
.report-actions button:hover{background:var(--brass);color:var(--navy)}.report-actions button:disabled{opacity:.35;cursor:not-allowed;background:var(--navy);color:var(--paper-3)}
.radar-wrap{padding:20px;background:var(--white);color:var(--ink)}
.radar-wrap h4{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
canvas#radar{width:100%;max-width:310px;margin:auto;display:block}

.axis-panel{background:var(--white);padding:0}
.axis-list{display:grid;gap:0}
.axis-card{border-bottom:2px solid var(--line);display:grid;grid-template-columns:72px 1fr;min-height:128px;transition:background .45s var(--ease),transform .45s var(--ease)}
.axis-card:last-child{border-bottom:0}
.axis-card:hover{background:var(--paper);transform:translateX(4px)}
.axis-score{border-right:2px solid var(--line);display:grid;place-items:center;font-family:var(--serif);font-size:38px;font-weight:700;background:var(--paper)}
.axis-content{padding:14px 16px}
.axis-top{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:8px}
.axis-top h4{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.07em}
.axis-top small{font-size:12px;color:var(--muted)}
.rail{height:10px;border:2px solid var(--line);background:var(--white);margin:10px 0;position:relative;overflow:hidden}
.rail span{display:block;height:100%;background:var(--navy);width:0;transition:width 1.2s var(--ease)}
.axis-body{font-size:14px;color:var(--ink-2)}

.slop-panel,.history-panel,.json-panel{margin-top:18px;background:var(--white)}
.slops-list,.history-list{display:grid}
.slop-item,.history-item{border-bottom:2px solid var(--line);padding:14px 16px;display:grid;grid-template-columns:110px 1fr;gap:12px}
.slop-item:last-child,.history-item:last-child{border-bottom:0}
.tag{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;border:2px solid var(--line);padding:4px 6px;text-align:center;height:max-content;font-weight:800}
.tag.fatal{background:var(--red);color:var(--white)}.tag.warn{background:var(--amber);color:var(--white)}.tag.minor{background:var(--brass);color:var(--navy)}
.history-item{grid-template-columns:70px 1fr auto;align-items:center;font-family:var(--mono);font-size:12px;cursor:pointer;background:var(--paper)}
.history-item:hover{background:var(--brass)}
.history-score.scale{color:var(--green)}.history-score.kill{color:var(--red)}.history-score.test{color:var(--amber)}
.json-panel pre{max-height:440px;overflow:auto;padding:16px;background:var(--navy);color:var(--paper-2);font-family:var(--mono);font-size:12px;line-height:1.55}
.hidden{display:none!important}


.verdict-panel,.evidence-panel,.experiment-panel,.actions-panel{margin-top:18px;border:2px solid var(--line);background:var(--white);box-shadow:6px 6px 0 var(--ink)}
.verdict-tiles{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:2px solid var(--line)}
.verdict-tile{padding:16px;border-right:2px solid var(--line);background:var(--paper);min-height:112px;transition:transform .45s var(--ease),background .45s var(--ease)}
.verdict-tile:last-child{border-right:0}.verdict-tile.active{background:var(--navy);color:var(--white);transform:translateY(-4px)}
.verdict-tile strong{display:block;font-family:var(--serif);font-size:34px;letter-spacing:-.04em;line-height:1;color:var(--brass)}
.verdict-tile span{display:block;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-top:8px;color:inherit}
.verdict-reason{padding:14px 16px;font-size:14px;color:var(--ink-2)}
.evidence-grid{display:grid;grid-template-columns:1fr 92px 110px 1.35fr}
.evidence-row{display:contents}.evidence-row>*{border-bottom:2px solid var(--line);border-right:2px solid var(--line);padding:12px;font-size:13px}.evidence-row>*:last-child{border-right:0}.evidence-row:last-child>*{border-bottom:0}
.evidence-head>*{background:var(--navy);color:var(--white);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.badge{font-family:var(--mono);font-size:10px;text-transform:uppercase;border:2px solid var(--line);padding:3px 6px;background:var(--paper);font-weight:800;display:inline-block}.badge.observed{background:var(--green);color:var(--white)}.badge.inferred{background:var(--brass);color:var(--navy)}.badge.guessed{background:var(--red);color:var(--white)}
.experiment-list,.next-list{display:grid}.experiment-item,.next-item{border-bottom:2px solid var(--line);padding:14px 16px;display:grid;grid-template-columns:34px 1fr;gap:12px;background:var(--paper)}.experiment-item:last-child,.next-item:last-child{border-bottom:0}.experiment-item b,.next-item b{font-family:var(--mono);background:var(--navy);color:var(--brass);height:28px;display:grid;place-items:center}.experiment-item strong,.next-item strong{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.experiment-item p,.next-item p{font-size:13px;color:var(--ink-2);margin-top:3px}
@media(max-width:720px){.verdict-tiles{grid-template-columns:1fr}.verdict-tile{border-right:0;border-bottom:2px solid var(--line)}.evidence-grid{grid-template-columns:1fr}.evidence-row{display:block}.evidence-row>*{display:block;border-right:0}.evidence-head{display:none}}


.command{
  position:fixed;inset:0;background:rgba(11,18,32,.72);z-index:50;display:none;align-items:flex-start;justify-content:center;padding-top:9vh;
}
.command.show{display:flex}
.command-box{width:min(680px,92vw);border:2px solid var(--line);background:var(--white);box-shadow:10px 10px 0 var(--ink)}
.command-box input{width:100%;border:0;border-bottom:2px solid var(--line);padding:16px;background:var(--paper);font-family:var(--mono);outline:none}
.command-row{padding:14px 16px;border-bottom:2px solid var(--line);display:flex;justify-content:space-between;gap:14px;font-family:var(--mono);font-size:12px;cursor:pointer}
.command-row:hover{background:var(--brass)}
.command-row:last-child{border-bottom:0}
.toast{position:fixed;right:18px;bottom:18px;z-index:60;border:2px solid var(--line);background:var(--navy);color:var(--white);box-shadow:5px 5px 0 var(--ink);padding:12px 14px;font-family:var(--mono);font-size:12px;display:none}
.toast.show{display:block;animation:enter .45s var(--ease) both}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skeleton-verdict{width:160px;height:18px;margin:0 auto 8px;border-radius:3px}
.skeleton-summary{width:240px;height:14px;margin:0 auto;border-radius:3px}
.skeleton-summary-short{width:180px;height:14px;margin:4px auto 0;border-radius:3px}
.skeleton-axis-title{display:inline-block;width:120px;height:14px;vertical-align:middle;border-radius:3px}
.skeleton-line{display:block;width:90%;height:12px;margin-bottom:6px;border-radius:3px}
.skeleton-line-short{width:70%}
.result-error{text-align:center;padding:20px;color:var(--red)}
.result-error div{font-size:48px;margin-bottom:10px}
.result-error p{font-family:var(--mono);font-size:13px;margin-bottom:6px}
.result-error small{color:var(--paper-2);font-size:12px}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.locale-switch{display:flex;border:1px solid var(--paper-3)}
.locale-switch a{padding:7px 8px;background:var(--navy-2);color:var(--paper-3);font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.locale-switch a+a{border-left:1px solid var(--paper-3)}
.locale-switch a[aria-current="page"]{background:var(--brass);color:var(--navy)}

.selector-page{display:grid;place-items:center;padding:24px}
.selector-shell{width:min(920px,100%);border:2px solid var(--line);background:var(--paper);box-shadow:10px 10px 0 var(--ink)}
.selector-head{display:flex;align-items:center;gap:14px;padding:18px;background:var(--navy);color:var(--white);border-bottom:2px solid var(--line)}
.selector-head .seal{flex:0 0 auto}
.selector-head p{font-family:var(--mono);font-size:11px;color:var(--paper-3);letter-spacing:.1em;text-transform:uppercase}
.selector-content{padding:clamp(28px,6vw,64px)}
.selector-kicker{font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}
.selector-content h1{font-family:var(--serif);font-size:clamp(40px,7vw,72px);line-height:.95;letter-spacing:-.055em;margin-top:14px}
.selector-intro{max-width:620px;margin-top:18px;color:var(--muted);font-size:16px}
.language-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}
.language-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;border:2px solid var(--line);padding:20px;background:var(--white);box-shadow:4px 4px 0 var(--ink);transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease)}
.language-card:hover{transform:translate(-2px,-3px);box-shadow:7px 7px 0 var(--ink);background:var(--brass)}
.language-code{font-family:var(--serif);font-size:34px;color:var(--amber);font-weight:700}
.language-card strong{display:block;font-family:var(--mono);font-size:15px;letter-spacing:.05em;text-transform:uppercase}
.language-card span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.language-arrow{font-family:var(--mono);font-size:22px;font-weight:800}
.selector-note{margin-top:24px;font-family:var(--mono);font-size:11px;color:var(--muted)}

@media(max-width:980px){.hero,.workbench,.results{grid-template-columns:1fr}.result-panel{position:static}.topbar{grid-template-columns:1fr}.navlinks{justify-content:flex-start}.utility{justify-content:space-between}.prompt-meta{grid-template-columns:1fr 1fr}.declaration h2{font-size:52px}}
@media(max-width:560px){.frame{padding:10px}.declaration{padding:24px}.declaration h2{font-size:42px}.prompt-meta{grid-template-columns:1fr}.axis-card{grid-template-columns:1fr}.axis-score{border-right:0;border-bottom:2px solid var(--line);padding:10px}.slop-item,.history-item{grid-template-columns:1fr}.hero-actions,.operator-row{display:grid}.primary,.secondary,.danger,.small-btn{width:100%}.language-grid{grid-template-columns:1fr}.selector-page{padding:12px}.selector-content{padding:28px 20px}.language-card{grid-template-columns:auto 1fr}.language-arrow{display:none}.locale-switch a{padding:7px 10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
