:root{--ink:#172d32;--muted:#657272;--paper:#f7f7f0;--line:#dce0d5;--green:#d5efbd;--orange:#c55a33;--soft:#e9eee3;--white:#fff;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button{border:0}.wrap{width:min(1240px,calc(100% - 88px));margin:auto}.header{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:36px}.brand{text-decoration:none;display:flex;align-items:center;gap:11px;line-height:1.15;font-weight:750;font-size:19px;letter-spacing:-.8px}.brand small{font-size:10px;font-weight:500;letter-spacing:2px;display:block;margin-top:4px}.brandmark{height:38px;width:38px;border-radius:11px;background:var(--ink);color:var(--green);display:grid;place-items:center;font-size:14px;letter-spacing:-1px}.nav{margin-left:auto;display:flex;gap:27px}.nav a{text-decoration:none;font-size:13px;padding:10px 0;border-bottom:2px solid transparent;color:var(--muted)}.nav a.active{border-color:var(--ink);color:var(--ink);font-weight:650}.language{border:1px solid var(--line);border-radius:8px;padding:3px;display:flex}.language button{font-size:11px;padding:5px 8px;border-radius:5px;color:var(--muted);background:none}.language button.active{background:var(--ink);color:white}.menu{display:none;background:none;font-size:22px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;text-transform:uppercase;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:6px;height:6px;background:var(--orange);border-radius:100%}.hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:65px 0 52px}.hero h1{font:normal clamp(46px,4.6vw,70px)/1.06 var(--serif);letter-spacing:-2.8px;margin:24px 0;white-space:pre-line}.hero p{color:var(--muted);max-width:480px;font-size:15px;line-height:1.85}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:45px;border-radius:7px;padding:10px 20px;background:var(--ink);color:#fff;text-decoration:none;font-size:12px;font-weight:650;border:1px solid var(--ink)}.btn:after{content:'↗';font-size:16px}.btn.secondary{color:var(--ink);background:transparent;border-color:var(--line)}.btn.small{padding:7px 12px;min-height:36px}.btn.danger{background:none;color:#a23f26;border-color:#ddc0b5}.btn.plain:after{content:none}.micro{font-size:10px;color:var(--muted);letter-spacing:.3px}.visual{height:410px;background:var(--ink);border-radius:15px;color:var(--green);position:relative;overflow:hidden;padding:26px;isolation:isolate}.visual:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:29px 29px;z-index:-1}.visual .serial{font:10px monospace;letter-spacing:1.3px;color:#b4c7bc}.visual svg{width:100%;height:285px;overflow:visible}.visual-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff26;padding-top:13px}.visual-bottom small{max-width:200px;line-height:1.4;font-size:9px;color:#bac8bd}.chip{display:inline-flex;padding:3px 9px;font:10px/1.7 monospace;background:#ffffff0e;border:1px solid #ffffff25;border-radius:100px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.stat{padding-left:30px;border-left:1px solid var(--line)}.stat:first-child{padding-left:0;border:0}.stat strong{font:28px var(--serif);display:block;margin-bottom:4px}.stat span{font-size:11px;color:var(--muted)}.section{padding:55px 0}.section h2{font:normal 37px/1.2 var(--serif);letter-spacing:-1.1px;margin:15px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}.section-head p{max-width:440px;color:var(--muted);font-size:13px;margin:0 0 3px}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.journey-card{padding:25px;border:1px solid var(--line);border-radius:9px;background:#ffffff75;text-decoration:none;transition:transform .2s,border-color .2s}.journey-card:hover{border-color:#94a68f;transform:translateY(-3px)}.number{font:11px monospace;color:var(--orange)}.journey-card h3{font:24px var(--serif);margin:20px 0 10px}.journey-card p{color:var(--muted);font-size:12px;line-height:1.9;margin-bottom:24px}.card-link{display:flex;justify-content:space-between;font-size:11px;border-top:1px solid var(--line);padding-top:13px}.pipeline{border-top:1px solid var(--line)}.pipeline-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:25px 0 15px}.pipeline-nav button{padding:18px 12px;border:1px solid var(--line);border-radius:7px;background:transparent;text-align:left;font-size:12px;color:var(--muted)}.pipeline-nav button.active{background:var(--ink);color:var(--green);border-color:var(--ink)}.pipeline-nav b{display:block;font:10px monospace;margin-bottom:8px;color:var(--orange)}.stage-detail{background:var(--soft);padding:24px;border-radius:9px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:25px;font-size:12px}.stage-detail p{margin:0}.stage-detail p:first-child{font:19px/1.4 var(--serif)}.page-heading{padding:43px 0 26px;max-width:800px}.page-heading h1{font:normal 46px/1.12 var(--serif);letter-spacing:-1.6px;margin:16px 0}.page-heading p{color:var(--muted);font-size:14px}.notice{padding:12px 17px;background:#f3eadb;border:1px solid #e9d9c0;border-radius:7px;font-size:11px;color:#77532d}.lab-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:22px 0}.budget{display:flex;align-items:center;gap:13px;white-space:nowrap}.budget b{font:36px var(--serif)}.budget small{font-size:10px;color:var(--muted);line-height:1.3;max-width:80px}.lab-layout{display:grid;grid-template-columns:1fr 310px;gap:24px}.candidate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.candidate-card{border:1px solid var(--line);border-radius:9px;padding:18px;text-align:left;background:#ffffff6b;position:relative;color:var(--ink)}.candidate-card.selected{border:2px solid var(--ink);padding:17px;background:#ebf1e4}.candidate-card.selected:after{content:'✓';position:absolute;top:12px;right:15px;font-size:12px}.candidate-card .orb{display:grid;place-items:center;width:33px;height:33px;background:var(--ink);color:var(--green);border-radius:9px;font:16px var(--serif)}.candidate-card h3{margin:13px 0 2px;font:23px var(--serif)}.candidate-card p{font-size:10px;line-height:1.6;color:var(--muted);min-height:32px;margin:7px 0 14px}.score{font:30px var(--serif)}.score span{font:9px sans-serif;color:var(--muted);display:block;margin-top:2px}.panel{border:1px solid var(--line);border-radius:9px;background:#ffffff77;padding:23px;margin-top:20px}.panel h2,.panel h3{font:23px var(--serif);margin:0 0 14px}.panel p{font-size:12px;color:var(--muted)}textarea{display:block;width:100%;resize:vertical;border:1px solid #cdd5c7;border-radius:6px;min-height:82px;background:#fff;padding:12px;font-size:12px;color:var(--ink);line-height:1.6}label.field-label{display:block;font-size:11px;font-weight:650;margin:10px 0 6px}.panel .btn{margin-top:12px}.assay-list{display:grid;gap:8px}.assay-row{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding:12px 0}.assay-row:first-child{border-top:0}.assay-row>div{flex:1}.assay-row h4{margin:0 0 3px;font-size:12px;font-weight:650}.assay-row p{font-size:10px;margin:0}.assay-row button{margin:0!important;min-width:115px}.assay-row .value{font:25px var(--serif);white-space:nowrap}.small-note{font-size:10px!important;color:var(--muted)}.advisor{background:var(--ink);color:white;border-radius:10px;padding:24px;align-self:start;position:sticky;top:22px}.advisor h2{font:23px var(--serif);margin:13px 0}.advisor .mode{font:9px/1.6 monospace;color:var(--green);display:block}.advisor p{font-size:12px;color:#c9d3cf;line-height:1.9}.advisor .advice{white-space:pre-line;border-left:2px solid var(--green);padding:3px 0 3px 13px;margin:18px 0}.advisor textarea{background:#ffffff0b;color:#fff;border-color:#ffffff33;min-height:90px}.advisor textarea::placeholder{color:#b8c5bf}.advisor .btn{background:var(--green);color:var(--ink);border:0;width:100%;margin-top:10px}.advisor .privacy{font-size:9px;line-height:1.65;color:#b2c2b9}.ai-response{white-space:pre-wrap;background:#ffffff0a;padding:12px;font-size:12px;line-height:1.8;max-height:440px;overflow:auto;margin-top:15px}.table-wrap{overflow:auto}.evidence-table{border-collapse:collapse;width:100%;font-size:11px}.evidence-table th,.evidence-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 9px;white-space:nowrap}.evidence-table th{font-size:9px;font-weight:600;color:var(--muted)}.evidence-table td.unknown{color:#8e9691;font-size:10px}.evidence-table .good{color:#34604a}.evidence-table .bad{color:#ab4b2c}.badge{font-size:9px;display:inline-block;padding:4px 9px;border-radius:30px;background:var(--soft)}.badge.concern,.badge.weak{background:#f3e3d9;color:#944b2f}.badge.promising{background:#dcebcf;color:#31543c}.decision-row{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.decision-row button{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:8px 11px;font-size:11px;color:var(--ink)}.decision-row button.active{background:var(--ink);color:#fff}.log{list-style:none;padding:0;margin:0;max-height:220px;overflow:auto}.log li{font-size:11px;padding:9px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.log span{color:var(--muted)}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.case-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.case-art{height:190px;display:flex;align-items:center;justify-content:center;background:#e7eddf;position:relative}.case-art.network{background:var(--ink);color:var(--green)}.case-art svg{width:90%;height:165px}.case-art .art-label{position:absolute;bottom:10px;right:15px;font:9px monospace;opacity:.7}.case-body{padding:28px}.case-body h2{font:29px var(--serif);margin:0 0 15px}.case-body p{font-size:12px;color:var(--muted);line-height:1.9}.case-body h3{font-size:9px;letter-spacing:1.3px;margin:23px 0 8px}.case-body .limitation{padding:14px;background:#f6eee4;border-radius:6px;color:#805537;font-size:11px}.case-links{display:flex;gap:10px;margin-top:18px;font:11px monospace}.case-links a{color:var(--orange)}.protein{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.protein .chain{display:flex;gap:7px;flex-wrap:wrap}.chain span{padding:12px;background:var(--soft);border:1px solid var(--line);border-radius:7px;font-size:11px}.chain span:after{content:' →';color:var(--orange)}.chain span:last-child:after{content:''}.speed{background:var(--ink);color:#fff;border-radius:12px;padding:30px;margin:25px 0 50px}.speed h2{font:30px var(--serif);margin:0 0 10px}.speed p{color:#c4d1c8;font-size:12px}.speed input{width:100%;accent-color:var(--green)}.speed label{font-size:12px;display:block;margin:18px 0}.bar-row{display:grid;grid-template-columns:145px 1fr 50px;align-items:center;gap:15px;margin:12px 0;font-size:11px}.bar{height:29px;display:flex;width:100%;gap:2px}.bar span{display:block;background:#6b8982;min-width:0;transition:width .2s}.bar span:nth-child(2){background:#9db9a4}.bar span:nth-child(3){background:#d5efbd}.bar span:nth-child(4){background:#cf8967}.bar-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:#c1cec6;margin:18px 0}.bar-legend span:before{content:'';display:inline-block;width:7px;height:7px;margin-right:6px;background:#6b8982}.bar-legend span:nth-child(2):before{background:#9db9a4}.bar-legend span:nth-child(3):before{background:#d5efbd}.bar-legend span:nth-child(4):before{background:#cf8967}.method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.method-card{padding:25px;border:1px solid var(--line);border-radius:9px}.method-card h3{font:23px var(--serif);margin:0 0 10px}.method-card p{font-size:12px;color:var(--muted)}.sources-list{display:grid;gap:0}.source{display:grid;grid-template-columns:45px 1fr auto;gap:15px;padding:19px 0;border-bottom:1px solid var(--line);text-decoration:none}.source strong{font-size:12px;display:block}.source small{font-size:10px;color:var(--muted)}.source .ref{font:11px monospace;color:var(--orange)}.source .arrow{align-self:center}.glossary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.glossary dt{font:19px var(--serif);margin-bottom:7px}.glossary dd{font-size:12px;color:var(--muted);margin:0}.quiz{margin-top:35px}.quiz-item{padding:17px 0;border-top:1px solid var(--line);font-size:12px}.quiz-item p{margin:0 0 10px}.quiz-item button{padding:7px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);margin-right:7px;font-size:11px}.quiz-item button.chosen{background:var(--ink);color:white}.quiz-item .feedback{font-size:11px;margin:12px 0 0;color:#4b6c50}.quiz-item .feedback.wrong{color:#a24a2d}.about{background:var(--soft);border-radius:9px;padding:26px;margin-top:20px}.about h3{font:25px var(--serif);margin:0 0 10px}.about p{font-size:12px;color:var(--muted);max-width:800px}.footer{border-top:1px solid var(--line);padding:27px 0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:50px}.footer p{font:17px var(--serif);margin:0 0 5px}.footer small{font-size:10px;color:var(--muted)}.footer .version{font:10px monospace;color:var(--orange)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 22px;border-radius:8px;font-size:12px;box-shadow:0 5px 30px #0002;z-index:100;display:none;max-width:90vw}.skip{position:absolute;left:20px;top:-100px;background:white;padding:10px;z-index:101}.skip:focus{top:10px}.fade-in{animation:appear .35s ease both}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:1450px){.hero{gap:90px;padding-top:80px}.visual{height:430px}.visual svg{height:305px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:30px}.hero h1{font-size:51px}.visual{height:375px;padding:20px}.visual svg{height:255px}.lab-layout{grid-template-columns:1fr 270px;gap:16px}.candidate-card{padding:13px}.candidate-card.selected{padding:12px}.nav{gap:18px}.header{gap:20px}.candidate-card p{min-height:46px}.assay-row{gap:8px}.assay-row button{min-width:95px;font-size:10px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header{height:75px;gap:12px}.brand{font-size:17px}.brandmark{width:33px;height:33px}.language{margin-left:auto}.menu{display:block}.nav{display:none;position:absolute;top:75px;left:0;right:0;padding:20px;background:var(--paper);z-index:20;border-bottom:1px solid var(--line)}.nav.open{display:flex;flex-wrap:wrap}.hero{grid-template-columns:1fr;padding:36px 0;gap:25px}.hero h1{font-size:52px;margin:20px 0}.hero p{font-size:14px}.visual{height:330px}.visual svg{height:210px}.heroNote{font-size:9px}.stats{padding:20px 0}.stat{padding-left:15px}.stat strong{font-size:22px}.stat span{font-size:10px}.section{padding:35px 0}.section h2{font-size:31px}.section-head{display:block}.section-head p{margin-top:15px}.journey-grid{grid-template-columns:1fr}.journey-card{padding:20px}.journey-card h3{margin-top:10px}.journey-card p{margin-bottom:15px}.pipeline-nav{grid-template-columns:repeat(2,1fr)}.stage-detail{grid-template-columns:1fr;gap:12px}.page-heading h1{font-size:37px}.lab-layout{grid-template-columns:1fr}.advisor{position:static}.lab-top{align-items:start}.candidate-grid{gap:7px}.candidate-card h3{font-size:21px}.candidate-card p{min-height:65px;font-size:9px}.candidate-card .orb{height:29px;width:29px}.score{font-size:26px}.score span{font-size:8px}.panel{padding:18px}.case-grid{grid-template-columns:1fr}.case-body{padding:23px}.protein{grid-template-columns:1fr;gap:18px}.method-grid{grid-template-columns:1fr}.glossary{grid-template-columns:1fr 1fr}.source{grid-template-columns:30px 1fr 15px;gap:10px}.footer{align-items:start}.footer p{font-size:14px}.speed{padding:20px}.bar-row{grid-template-columns:90px 1fr 32px;gap:8px;font-size:9px}.speed h2{font-size:25px}.assay-row .value{font-size:21px}.assay-row h4{font-size:11px}.assay-row p{font-size:9px}.lab-top .notice{max-width:70%}.budget b{font-size:30px}.budget{gap:8px}}
@media print{.header,.footer,.advisor,.btn,.actions,.lab-top,.candidate-grid,.assay-list,.quiz,textarea,.decision-row,.speed,input,.notice,#toast,.page-heading{display:none!important}.wrap{width:100%}.lab-layout{display:block}.panel{break-inside:avoid;border-color:#aaa;background:white}.print-note{white-space:pre-wrap}body{background:white}.section{padding:15px 0}.case-grid{display:block}.case-card{break-inside:avoid;margin-bottom:15px}.case-art{display:none}a{text-decoration:none}}
.print-note{display:none}.print-heading{display:none}@media print{.print-note,.print-heading{display:block}}
/* v0.2 — rounds, verification statuses, AI mode, contributions */
.rules summary{cursor:pointer;list-style:none}.rules summary::-webkit-details-marker{display:none}.rules summary h2{display:inline;margin:0}.rules summary:after{content:' ▾';color:var(--muted)}.rules ol{margin:14px 0 0;padding-left:20px;font-size:12px;color:var(--muted)}.rules li{margin:4px 0}
.pill{display:inline-block;font-size:9px;padding:3px 8px;border-radius:30px;background:var(--soft);color:var(--ink);margin-top:8px;white-space:nowrap}.pill.stopped{background:#f3e3d9;color:#944b2f}.pill.advanced{background:#dcebcf;color:#31543c}
.candidate-card.stopped{opacity:.72}.candidate-card.stopped .score{text-decoration:line-through;text-decoration-thickness:1px}
.panel h3.sub{font:600 11px sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.gate{margin-top:18px;padding:16px;border-radius:8px;background:var(--soft)}.gate h3{font:19px var(--serif)!important;margin:0 0 8px!important}.gate p{margin:6px 0}.gate-actions{display:flex;gap:8px;flex-wrap:wrap}.gate .btn{margin-top:6px!important}.stop-row{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-top:10px}.stop-row label{width:100%;margin:4px 0 0}.stop-row select{min-height:36px;border:1px solid #cdd5c7;border-radius:6px;padding:6px 9px;background:#fff;color:var(--ink);font-size:12px;flex:1;min-width:180px}.stop-row .btn{margin:0!important}
.failures{margin-top:14px;font-size:11px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.closed-note{font-size:12px!important;color:var(--ink)!important;margin-top:12px}
.rep{color:var(--orange);font-size:.7em;font-family:monospace}.evidence-table td.pred{color:var(--muted)}.evidence-table td.pred small{font-size:8px;text-transform:uppercase;letter-spacing:.5px}
.advisor .mode{padding:6px 9px;border-radius:6px;border:1px solid #ffffff33;margin-top:4px}.advisor .mode.demo{background:#c55a3333;color:#ffd9c7;border-color:#e49a76}.advisor .mode.live{background:#d5efbd22}.advisor .rule-label{font:9px/1.5 monospace!important;color:#b2c2b9!important;margin:16px 0 -10px;text-transform:uppercase;letter-spacing:.8px}.advisor textarea:disabled{opacity:.45}
.ai-label{display:block;font:10px/1.5 monospace;color:var(--green);margin-bottom:2px}.ai-response.boundary,.ai-response.demo{border-left:2px solid #e49a76}.ai-response.live{border-left:2px solid var(--green)}
.claims{list-style:none;padding:0;margin:0;font-size:12px;color:var(--muted);line-height:1.7}.claims li{padding:7px 0;border-top:1px solid var(--line)}.claims li:first-child{border-top:0}.claims a{color:var(--orange);font:10px monospace}.claims.limit li{color:#805537}
.check{display:inline-block;font:9px/1.6 monospace;padding:0 6px;border-radius:4px;margin-right:4px;white-space:nowrap}.check.checked{background:#dcebcf;color:#31543c}.check.pending{background:#f3eadb;color:#8a5a1f;border:1px dashed #c99a5c}
.accel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}.accel-card{border:1px solid var(--line);border-radius:9px;padding:20px;background:#ffffff80}.accel-card h3{font:21px var(--serif);margin:10px 0}.accel-card h4{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;margin:14px 0 4px}.accel-card h4.v{color:#944b2f}.accel-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.7}.accel-card a{color:var(--orange);font:10px monospace}.accel-card .limitation{padding:10px;background:#f6eee4;border-radius:6px;color:#805537}
.contrib-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.contrib-grid .panel p.empty{font-style:italic}.placeholder img{width:100%;max-width:640px;height:auto;display:block;border-radius:8px}
@media(max-width:1000px){.accel-grid{grid-template-columns:repeat(2,1fr)}.pipeline-nav{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.accel-grid,.contrib-grid{grid-template-columns:1fr}.pipeline-nav{grid-template-columns:repeat(2,1fr)}.pill{white-space:normal}.gate-actions .btn{flex:1}.stop-row select{min-width:0;width:100%}.stop-row .btn{width:100%}.evidence-table th,.evidence-table td{padding:9px 6px}}
@media print{.gate,.rules,.stop-row{display:none!important}}

/* v0.3 — learning path, scene AI, community */
.nav{gap:16px}.nav a{font-size:12px;white-space:nowrap}
.feedback{font-size:12px;margin:10px 0 0;color:#3e6a49}.feedback.wrong{color:#a24a2d}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0}.chip.light{background:var(--soft);border-color:var(--line);color:var(--ink);font-family:inherit}
.chip-btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:30px;padding:6px 12px;font-size:11px;min-height:32px}.chip-btn.on{background:var(--ink);color:#fff;border-color:var(--ink)}.chip-btn.danger{color:#a23f26;border-color:#ddc0b5}.chip-btn:hover{border-color:#94a68f}
.text-input{display:block;width:100%;border:1px solid #cdd5c7;border-radius:6px;padding:10px 12px;font-size:13px;background:#fff;color:var(--ink);margin:6px 0}
.radio{display:flex;gap:8px;align-items:flex-start;font-size:13px;margin:8px 0;cursor:pointer}.radio input{margin-top:3px}
.back{display:inline-block;margin-top:22px;font-size:12px;color:var(--muted)}
.section-title{font:31px var(--serif);margin:40px 0 0}
.empty{font-style:italic;color:var(--muted);font-size:12px}
/* home */
.try{margin-top:0}.try h2{font:26px var(--serif)!important;margin:10px 0 14px!important}.try-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.try-card{border:1px solid var(--line);border-radius:9px;background:#fff;padding:14px;text-align:left;color:var(--ink);display:flex;flex-direction:column;gap:2px}.try-card b{font:20px var(--serif)}.try-card span{font:30px var(--serif)}.try-card small{font-size:10px;color:var(--muted)}.try-card.selected{border:2px solid var(--ink);background:#ebf1e4}.try-result{margin-top:14px;padding:14px;border-radius:8px;background:var(--soft)}.try-result p{margin:4px 0;font-size:13px!important;color:var(--ink)!important}.try-result .btn{margin-left:8px}
.entry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
/* storyboards */
.story{margin:14px 0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.story-stage{padding:16px;min-height:150px;animation:appear .35s ease both}.story-stage svg{width:100%;height:auto;max-height:150px;display:block}.story-stage p{font:18px/1.4 var(--serif);margin:10px 0 0}.story figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--line);background:var(--soft)}.story-controls{display:flex;gap:6px}.story-controls button{min-width:38px;min-height:34px;border-radius:6px;background:#fff;border:1px solid var(--line);color:var(--ink);font-size:12px}
.comic{height:100px;display:grid;place-items:center;font-size:56px;background:#f3eadb;border-radius:8px}
.pulse{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}
/* AI map */
.map-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:10px 0 0}.map-nav button{padding:14px 10px;border:1px solid var(--line);border-radius:7px;background:transparent;text-align:left;font-size:12px;color:var(--muted)}.map-nav button.active{background:var(--ink);color:var(--green);border-color:var(--ink)}.map-nav b{display:block;font:10px monospace;margin-bottom:6px;color:var(--orange)}
.map-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.map-grid h4,.demo h4,.stage-detail h4,.panel h4{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 6px}.map-grid p{margin:0;font-size:12px}.map-grid .missing{background:#f6eee4;border-radius:7px;padding:10px}.map-grid .missing p{color:#805537}
.demo{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.demo .btn{margin:0 10px 0 0!important}.demo-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.demo-cols>div{background:var(--soft);border-radius:8px;padding:12px}.demo-cols ul{margin:0;padding-left:18px;font-size:12px}.demo-cols.run>div:last-child{background:#dcebcf;animation:appear .4s ease both}
.speed-row{display:grid;grid-template-columns:150px 1fr 40px;gap:12px;align-items:center;font-size:12px;margin:10px 0}.speed-row output{text-align:right;font-family:monospace}
.ev-nav{grid-template-columns:repeat(6,1fr)}.stage-detail ul{margin:0;padding-left:18px}.not-equal li{color:#805537}
/* cases */
.case-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.case-tabs a{padding:10px 16px;border:1px solid var(--line);border-radius:30px;text-decoration:none;font-size:12px}.case-tabs a.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.case-story>h2{font:34px var(--serif);margin:0 0 10px}.case-story>p{color:var(--muted);font-size:13px;max-width:860px}
.case-cols{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.case-cols h3,.kun h3,.quiz h3,.ai-help h3{font:21px var(--serif);margin:18px 0 8px}
.steps{padding-left:20px;font-size:13px}.steps li{margin:5px 0}.roles{margin:0;display:grid;gap:8px}.roles div{border-left:3px solid var(--green);padding:2px 0 2px 10px}.roles dt{font-weight:650;font-size:12px}.roles dd{margin:0;font-size:12px;color:var(--muted)}
.kun{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px}.kun>div{border:1px solid var(--line);border-radius:9px;padding:6px 16px;background:#ffffff80}.kun ul{padding-left:18px;font-size:12px}
.ref-link{color:var(--orange);font:10px monospace}
/* levels */
.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.level-card{border:1px solid var(--line);border-radius:10px;padding:22px;text-decoration:none;background:#ffffff80;display:flex;flex-direction:column;gap:8px}.level-card h3{font:23px var(--serif);margin:4px 0}.level-card p{font-size:12px;color:var(--muted);flex:1}
.progress{height:8px;background:var(--soft);border-radius:8px;overflow:hidden;margin:10px 0 4px}.progress span{display:block;height:100%;background:var(--ink);transition:width .3s}
.quest-steps{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:12px 0}.quest-steps li{font-size:11px;padding:5px 10px;border-radius:30px;background:var(--soft);color:var(--muted)}.quest-steps li.done{background:#dcebcf;color:#31543c}
.help{margin:10px 0;border:1px dashed #c99a5c;border-radius:8px;padding:10px 14px;background:#fffaf2}.help summary{cursor:pointer;font-size:12px;font-weight:650}.help p{font-size:12px;color:var(--muted);margin:8px 0 0}
.viewer-wrap{position:relative}.viewer-wrap canvas{width:100%;height:340px;display:block;border-radius:10px;background:radial-gradient(circle at 50% 40%,#f7faf3,#e7eddf);touch-action:none;cursor:grab}.viewer-wrap canvas:focus-visible{outline:3px solid var(--orange)}.viewer-tools{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.spot{font-size:12px;background:var(--soft);padding:8px 12px;border-radius:7px;margin:6px 0}
.sort-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding:9px 0}.sort-row p{margin:0;font-size:12px;color:var(--ink)!important;flex:1}.sort-row>div{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.sort-row select{min-height:34px;border:1px solid #cdd5c7;border-radius:6px;padding:4px 8px;background:#fff;font-size:12px;color:var(--ink)}
.mark{font-weight:700;width:18px;text-align:center}.mark.ok{color:#2f7d6d}.mark.no{color:#a24a2d}
.info-card{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0;background:#fff}.info-card summary{cursor:pointer;font-size:13px;font-weight:600}.info-card[open]{background:#f7faf3}
.board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.board-col{background:var(--soft);border-radius:8px;padding:10px;min-height:120px}.board-col h4{margin:0 0 8px}.board-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:10px;margin-bottom:8px;display:flex;flex-direction:column;gap:4px}.board-card b{font-size:12px}.board-card small{font-size:10px;color:var(--muted)}.board-card .chip-btn{align-self:flex-end}
/* scene AI */
.ai-help{margin-top:18px;border:1px solid #c9d6c2;border-radius:10px;padding:16px;background:#f3f7ee}.ai-help-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.ai-help h3{margin:0!important}.ai-help .mode{font:9px/1.5 monospace;padding:5px 8px;border-radius:6px;border:1px solid var(--line);background:#fff}.ai-help .mode.demo{background:#f3e3d9;color:#944b2f;border-color:#e49a76}.ai-help .mode.live{background:#dcebcf;color:#31543c}.ai-actions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.ai-help textarea{min-height:60px}.ai-help .btn{margin-top:8px}.ai-help .privacy{font-size:10px;color:var(--muted);margin:8px 0 0}.ai-help .ai-response{background:#fff;color:var(--ink);border-radius:6px}.ai-help .ai-label{color:#2f7d6d}
.advisor .ai-help{background:#ffffff0d;border-color:#ffffff33;color:#fff}.advisor .ai-help h3{color:#fff}.advisor .ai-help .chip-btn{background:#ffffff14;color:#fff;border-color:#ffffff40}.advisor .ai-help .ai-response{background:#ffffff0a;color:#fff}.advisor .ai-help .ai-label{color:var(--green)}.advisor .ai-help .privacy{color:#b2c2b9}
/* community */
.account{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 16px;font-size:12px}.dev-login{display:flex;gap:6px;align-items:center}.dev-login .text-input{width:160px;margin:0}
.thread-list{display:grid;gap:8px;margin-top:14px}.thread-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:9px;text-decoration:none;background:#fff}.thread-row b{font-size:14px}
.post{border:1px solid var(--line);border-radius:9px;padding:16px;background:#fff;margin:12px 0}.post header{font-size:12px}.post h3{font:24px var(--serif);margin:8px 0}.post-body{white-space:pre-wrap;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.post-body a{color:var(--orange)}.post footer{display:flex;gap:6px;margin-top:10px}.post.deleted{background:var(--soft)}.hidden-post{opacity:.6;border-style:dashed}.replies{margin-left:22px}.pager{display:flex;gap:10px;align-items:center;justify-content:center;margin:14px 0}
@media(max-width:1180px){.wrap{width:calc(100% - 48px)}.menu{display:block}.language{margin-left:auto}.nav{display:none;position:absolute;top:92px;left:0;right:0;padding:20px 24px;background:var(--paper);z-index:20;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:14px 22px}.nav.open{display:flex}.header{position:relative}.map-nav,.ev-nav{grid-template-columns:repeat(3,1fr)}.map-grid{grid-template-columns:repeat(2,1fr)}.entry-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.nav{top:75px}.try-row,.level-grid,.kun,.case-cols,.board,.demo-cols{grid-template-columns:1fr}.map-nav,.ev-nav{grid-template-columns:repeat(2,1fr)}.map-grid,.entry-grid{grid-template-columns:1fr}.speed-row{grid-template-columns:1fr 40px}.speed-row span{grid-column:1/-1}.sort-row{flex-direction:column;align-items:flex-start}.thread-row{grid-template-columns:1fr}.replies{margin-left:8px}.viewer-wrap canvas{height:280px}.story-stage p{font-size:16px}.lab-layout>div,.lab-layout>aside{min-width:0}.evidence-table{font-size:10px}.case-story>h2{font-size:28px}.dev-login{flex-wrap:wrap}}
@media print{.ai-help,.story,.help,.quest-steps,.progress{display:none!important}}
.speed label.speed-row{display:grid;margin:10px 0}
/* v0.4 — illustrated stories, real structures. Animations end in the natural state, so reduced motion shows complete scenes. */
.a-pop{transform-box:fill-box;transform-origin:center;animation:pb-pop .55s cubic-bezier(.2,.8,.3,1.2) both}
.a-draw{stroke-dasharray:1000;animation:pb-draw 1.4s ease both}.a-draw[stroke-dasharray]{stroke-dasharray:6 5;animation:none}
.a-grow{transform-box:fill-box;transform-origin:0 50%;animation:pb-grow 1s ease both}
.a-shrink{transform-box:fill-box;transform-origin:50% 100%;animation:pb-shrink 1.6s ease .4s both}
.a-fly{transform:translate(var(--dx),var(--dy));animation:pb-fly 1.1s ease both}
.a-fade-out{opacity:0;animation:pb-fade 1s ease both}
.a-pulse{animation:pulse 1.4s ease-in-out infinite}.story.paused .a-pulse{animation-play-state:paused}
@keyframes pb-pop{from{opacity:0;transform:scale(.4)}}@keyframes pb-draw{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes pb-grow{from{transform:scaleX(0)}}@keyframes pb-shrink{from{transform:scaleY(2.2)}}@keyframes pb-fly{from{transform:translate(0,0);opacity:0}20%{opacity:1}}@keyframes pb-fade{from{opacity:1}to{opacity:0}}
.story:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.story-stage svg{max-height:200px}
.lede{font-size:15px!important;line-height:1.7}
.how-row{display:flex;align-items:center;gap:10px}.how-step{flex:1;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--ink);font-size:14px}.how-step svg{width:80px;height:80px}.how-step.active{border:2px solid var(--ink);background:#ebf1e4}.how-arrow{font-size:24px;color:var(--orange)}.how-detail{font:18px/1.5 var(--serif);margin:14px 0 0;padding:14px 18px;background:var(--soft);border-radius:10px;animation:appear .3s ease both}
.step-map{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px}.step-node{width:100%;display:flex;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;font-size:13px;color:var(--ink)}.step-node span{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--soft);font:12px monospace}.step-node.active{border-color:var(--ink);background:#ebf1e4}.step-node.active span{background:var(--ink);color:var(--green)}
.step-detail{display:flex;gap:12px;align-items:center;background:var(--ink);color:#fff;border-radius:10px;padding:12px 16px;margin:8px 0;animation:appear .3s ease both}.step-detail svg{width:64px;height:64px;flex:none;background:#fff;border-radius:50%}.step-detail p{margin:2px 0 0;font-size:13px;color:#d6e2da}
.kun-ic{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;margin-right:8px;font:bold 15px sans-serif;vertical-align:middle}.kun .ok .kun-ic{background:#dcebcf;color:#2f6a46}.kun .q .kun-ic{background:#f3e3d9;color:#944b2f}.kun .n .kun-ic{background:#dde5f2;color:#38558a}
.claims-box summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;list-style:none}.claims-box summary::-webkit-details-marker{display:none}.claims-box summary h3{margin:0!important}.claims-box summary:after{content:'▾';color:var(--muted)}
.protein-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.protein-pick button{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;color:var(--ink);font-size:13px}.protein-pick img{width:64px;height:64px;border-radius:8px}.protein-pick small{font:10px monospace;color:var(--muted)}.protein-pick button.active{border:2px solid var(--ink);background:#ebf1e4}
.protein-intro{display:flex;gap:16px;align-items:center}.protein-intro img{width:130px;height:130px;border-radius:10px;flex:none}.protein-intro p{margin:0!important}
.badge.exp{background:#dde5f2;color:#2c4677;font-size:11px;padding:5px 10px}
.viewer-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.viewer-wrap canvas{height:420px}.viewer-static{width:100%;max-width:420px;display:block;border-radius:10px}.viewer-loading{height:420px;display:grid;place-items:center;background:var(--soft);border-radius:10px;font-size:13px;color:var(--muted)}
.spot-list{display:grid;gap:6px}.spot-list button{display:flex;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 10px;font-size:13px;color:var(--ink)}.spot-list span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:2px solid var(--ink);font:bold 12px sans-serif;flex:none}.spot-list button.seen span{background:var(--soft)}.spot-list button.active{background:var(--ink);color:#fff}.spot-list button.active span{background:var(--green);color:var(--ink);border-color:var(--green)}.spot.pick{background:#dde5f2}.credit{margin-top:10px}
.route-map{margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}.route-map svg,.bars svg{width:100%;height:auto;display:block}.bars{margin:10px 0}
@media(max-width:760px){.how-row{flex-direction:column}.how-arrow{transform:rotate(90deg)}.viewer-grid{grid-template-columns:1fr}.viewer-wrap canvas,.viewer-loading{height:320px}.protein-intro{flex-direction:column;align-items:flex-start}.protein-intro img{width:110px;height:110px}.protein-pick button{font-size:11px;padding:8px 4px}.protein-pick img{width:48px;height:48px}}
/* v0.5 — my space, community cases, legal */
.code-input{font:24px monospace;letter-spacing:8px;max-width:220px}.login .btn{margin-top:8px}
.account-box .sort-row>div{flex-wrap:nowrap}.account-box .text-input{margin:0;max-width:260px}
.project-body{white-space:pre-wrap;font:12px/1.6 monospace;background:var(--soft);padding:10px;border-radius:6px;max-height:260px;overflow:auto}
.file-btn{cursor:pointer}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:12px}.thumbs figure{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.thumbs img{width:100%;height:110px;object-fit:cover;display:block}.thumbs figcaption{display:flex;justify-content:space-between;align-items:center;padding:6px;font-size:10px}
.case-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--line);padding:10px 0}.case-row>div:last-child{display:flex;gap:6px;flex-wrap:wrap}.case-img{max-width:100%;max-height:320px;border-radius:8px;display:block;margin:10px 0}
.legal-list{display:grid;grid-template-columns:220px 1fr;gap:10px 18px;font-size:13px}.legal-list dt{font-weight:650}.legal-list dd{margin:0;color:var(--muted)}
.footer small a{color:inherit}
@media(max-width:760px){.legal-list{grid-template-columns:1fr}.case-row{flex-direction:column;align-items:flex-start}.account-box .sort-row>div{flex-wrap:wrap}}

.purpose{border-top:1px solid var(--line);padding:12px 0}.purpose h3{font:19px var(--serif);margin:4px 0 8px}.purpose ul{margin:0;padding-left:18px}

/* Header sign-in / my-space button: always visible, including on phones (outside the collapsible menu). */
.header-cta{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;text-decoration:none;font-size:12px;font-weight:650;padding:8px 14px;border-radius:30px;background:var(--ink);color:#fff;border:2px solid var(--ink)}
.header-cta.signed{background:var(--green);color:var(--ink);border-color:var(--ink)}.header-cta.current{outline:2px solid var(--orange);outline-offset:2px}
.header-cta span{font-size:10px}
@media(max-width:1180px){.header-cta{margin-left:0}}
@media(max-width:760px){.header{gap:8px}.header-cta{padding:7px 10px;font-size:11px}.brand small{display:none}.brand{font-size:16px}.language button{padding:5px 6px}}
@media(max-width:360px){.header-cta span{display:none}}
@media(max-width:400px){.brand>span:last-child{display:none}.header{gap:6px}}
