:root{--ink:#2a2622;--paper:#fff8ea;--mint:#9fdcc5;--coin:#f7cf6b;--wood:#8a5f3c}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px/1.45 'Space Mono',monospace;min-height:900px;background:#c9dfd1}.arena{position:fixed;inset:0;background:linear-gradient(#f4efe344,#f4efe388),url(img/island.png) center/cover}.brand{position:absolute;top:28px;left:32px;font:26px 'Lilita One';text-shadow:0 1px #fff8ea}.shell{position:relative;width:880px;margin:112px auto 40px;padding:26px 32px 30px;isolation:isolate}.material{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:visible}.shell:before,.shell:after{content:'';position:absolute;top:-90px;height:94px;width:5px;background:repeating-linear-gradient(35deg,#c3a577 0 3px,#705537 4px 6px);box-shadow:1px 0 #fff8ea;z-index:-2}.shell:before{left:42px}.shell:after{right:42px}h1,h2,h3{font-family:'Lilita One';font-weight:400;margin:0}h1{font-size:36px;line-height:1.1}h2{font-size:26px}h3{font-size:20px}header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#675440;margin-bottom:7px}.close{width:40px;min-height:40px}.sub{color:#655541;font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:28px}.draft-b .split{grid-template-columns:280px 1fr}.hero{width:100%;height:250px;object-fit:contain;filter:drop-shadow(0 5px 4px #3b2f2533)}.receipt{position:relative;isolation:isolate;padding:20px;margin-top:16px}.receipt p{margin:0 0 10px}.receipt .line,.ledger{display:flex;justify-content:space-between;gap:12px;margin:10px 0}.chip{display:inline-block;padding:4px 8px;background:#d8cdb8;color:#4a3220;font-size:11px;font-weight:700}.chip.mint{background:var(--mint);color:#20553f}.chip.gold{background:var(--coin)}button{font:700 14px/1.3 'Space Mono';color:var(--ink);border:0;background:none;position:relative;isolation:isolate;cursor:pointer;min-height:46px;padding:12px 16px;text-align:left}button:hover{filter:brightness(1.05)}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #1f5e4a;outline-offset:3px}button[aria-pressed=true]{color:#155039}button .material{transition:none}.button-list{display:grid;gap:12px}.door{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px}.door .symbol{font-size:20px;margin-right:14px;color:#725031}.door small{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:#674723}.main-action{display:block;width:100%;font-family:'Lilita One';font-size:23px;margin-top:18px;text-align:center;min-height:54px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}.row>*{flex:1}.row .chip{flex:initial}.ribbon{border-top:1px dashed #ad9672;border-bottom:1px dashed #ad9672;padding:9px 0;margin:15px 0;font-size:11px;display:flex;gap:10px;flex-wrap:wrap}.ribbon span{white-space:nowrap}.quick{width:100%;margin-bottom:18px;background:#9fdcc5;font-size:13px}.textlink{padding:4px 0;min-height:30px;text-decoration:underline;font-size:12px}.quiet{font-size:12px;min-height:34px;padding:8px 12px}.tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}.tabs button{font-size:12px;padding:9px 12px;min-height:36px}.options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.options button{padding:10px;text-align:center;font-size:12px;min-height:50px}.options img{width:100%;height:85px;object-fit:contain;display:block}.presets{grid-template-columns:repeat(5,1fr)}.presets button{font-size:11px}.presets img{height:100px}.field{display:block;font-size:12px;margin:12px 0 6px;font-weight:700}input,textarea{font:14px/1.5 'Space Mono';color:var(--ink);background:#efe3c9;border:1px solid #a68a62;border-radius:3px;padding:10px;width:100%}textarea{height:80px;resize:vertical}.checks{display:grid;gap:14px;margin:20px 0;font-size:13px}.checks label{display:flex;gap:12px;align-items:center}.checks input{width:18px;height:18px;accent-color:#2e8b6a}.prediction{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px}.prediction label{text-align:center;font-weight:700}.prediction input{margin-top:8px;text-align:center;padding:10px 2px}.stake{margin-top:20px;padding-top:12px;border-top:2px dashed #ab936d}.testnet{background:var(--coin);padding:7px 10px;font-size:11px;font-weight:700;margin:10px 0}.status{font-size:12px;color:#20553f;min-height:20px;margin-top:10px}.steps{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.steps span{font-size:10px;padding:5px 6px;border-bottom:2px solid #baa482}.steps .on{border-color:#2e8b6a;font-weight:700}.notice{font-size:12px}.watch{position:relative;padding:620px 32px 30px;max-width:600px}.watch h1{font-size:28px}.watch button{margin-top:10px}.watch .receipt{margin:0}.card-number{font:44px 'Lilita One';color:#816133}.cost{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-top:15px}.cost strong{font-family:'Lilita One';font-size:26px}.smallcopy{font-size:11px}code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;background:#3b2f25;color:#fff8ea;padding:14px;font:12px/1.6 'Space Mono';margin:12px 0}.draft-b .shell{width:1000px}.draft-b .receipt{transform:rotate(-.5deg)}.draft-b .door{min-height:68px}a{color:#1f5e4a}.seal{width:60px;height:60px;border:3px double #b7892b;border-radius:50%;display:flex;align-items:center;justify-content:center;font:22px 'Lilita One';transform:rotate(-12deg)}
@media(max-width:600px){body{min-height:844px}.brand{top:20px;left:20px;font-size:22px}.shell,.draft-b .shell{width:calc(100% - 24px);margin:95px 12px 24px;padding:22px 20px}.shell:before{left:32px}.shell:after{right:32px}h1{font-size:29px}h2{font-size:23px}.split,.draft-b .split{grid-template-columns:1fr;gap:10px}.hero{height:150px}.desktop-portrait{display:none}.door{min-height:56px}.button-list{gap:10px}.receipt{padding:15px;margin-top:12px}.ribbon{font-size:10px;gap:8px}.presets{grid-template-columns:repeat(3,1fr)}.presets img{height:65px}.presets button{padding:7px;font-size:10px}.options button{font-size:11px}.tabs{gap:5px;margin-bottom:14px}.tabs button{font-size:11px;padding:8px}.watch{padding:570px 18px 24px}.watch .receipt{padding:18px}.cost strong{font-size:22px}.draft-b .door{min-height:56px}.steps{gap:4px}.steps span{font-size:9px;padding:4px}.prediction{gap:6px}.checks{font-size:12px}.close{padding:8px}.shell>header{margin-bottom:16px}}

.draft-a.board-S4 .shell{width:600px}.draft-a.board-S4 .split{grid-template-columns:1fr}.draft-a.board-S4 .desktop-portrait{display:none}.draft-b header{padding-bottom:15px;border-bottom:2px dashed #88623c}.draft-b.board-S2 .hero{height:290px}.craft .brand{display:none}.craft .shell{margin-top:28px}.craft .arena{opacity:.2}@media(max-width:600px){.draft-a.board-S4 .shell{width:calc(100% - 24px)}.draft-b.board-S2 .hero{height:150px}}

/* sk-rd2: reserve the brand strip; paper underlays make the small labels measurable. */
.arena{background:#d9eeec url(img/island.png) center/cover}.brand{position:relative;top:auto;left:auto;min-height:80px;padding:16px 24px;background:#fff8ea;z-index:2;text-shadow:none}.shell,.draft-b .shell{margin-top:42px}.shell:before,.shell:after{top:-32px;height:36px}.shell .eyebrow{display:table;max-width:100%;color:#2a2622;background:#fff8ea;padding:3px 6px;border-radius:2px;letter-spacing:.08em}.sub{color:#3b2f25}.slot-group{border:0;margin:16px 0 0;padding:0;min-width:0}.slot-group legend{font:20px 'Lilita One';padding:0}.slot-group .options{margin-top:8px}.watch{padding-top:490px}.craft .brand{display:none}.craft .shell{margin-top:28px}@media(max-width:600px){.brand{padding:15px 20px;min-height:80px}.shell,.draft-b .shell{margin-top:36px}.shell:before,.shell:after{top:-28px;height:32px}.watch{padding-top:450px}.slot-group{margin-top:12px}}button.textlink{padding:8px 12px;min-height:36px;margin-right:6px;margin-top:6px}

/* sk-rd3: grain is confined to the wooden frame. All lettering has a plain surface. */
.shell,.draft-b .shell{padding:14px}.paper-surface{background:#fff8ea;padding:24px;border:1px solid #d8cdb8;min-width:0}.receipt{background:#fff8ea;transform:none!important}.status{color:#20553f;background:#fff8ea;padding:8px}.status:empty{display:none}.ribbon{gap:10px}.ribbon span{background:#fff8ea;border:1px solid #bbaa8c;padding:5px 8px}.steps{background:#fff8ea}.steps span{background:#fff8ea;border:1px solid #bbaa8c}.steps .on{background:#9fdcc5;border-color:#2e8b6a}.slot-summary button{width:100%;margin-top:10px}.slot-group{background:#fff8ea}.slot-group legend{background:#fff8ea}.portrait{background:#fff8ea}.portrait .sub{margin-top:4px}.presets button span,.presets button small{display:block}.presets button small{margin-top:7px;font-size:11px}.presets{align-items:stretch}.closed-preview{position:relative;margin:80px auto;width:min(500px,90%)}.watch .receipt{background:#fff8ea}.path-preview{min-width:0}@media(max-width:600px){.shell,.draft-b .shell{padding:10px}.paper-surface{padding:18px 12px}.presets{grid-template-columns:repeat(2,1fr)}.ribbon span{white-space:normal}.draft-b .split{grid-template-columns:1fr}.portrait .hero{height:160px}}
@media(max-width:600px){.board-S2 .desktop-portrait{display:block}.board-S2 .desktop-portrait .hero{height:160px}}

/* sk-rd4: opaque, high-contrast placeholder text. */
input::placeholder,textarea::placeholder{color:#5b4b39;opacity:1}

/* ---- connection (S4) ---- */
/* Candle Atoll: broad hanging console / edge-mounted dock. Text stays on enamel. */
:root{--sea:#9fdcc5;--sand:#fff8ea;--timber:#8a5f3c;--deep-ink:#2a2622;--muted-ink:#655541;--coin:#f7cf6b;--coral:#d97757;--sky:#a9d4f5}
.ai-mode .shell{padding:14px}.draft-a.ai-mode .shell{width:1040px;margin:110px auto 40px}.draft-b.ai-mode .shell{width:500px;margin:48px 64px 40px auto}.ai-mode header{padding:0;border:0;margin-bottom:26px}.ai-mode header h1{font-size:36px;max-width:850px}.draft-b.ai-mode header h1{font-size:30px;max-width:350px}.ai-mode .paper-surface{padding:28px}.ai-drawing{min-width:0}.ai-doors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.ai-door{display:flex;flex-direction:column;align-items:center;gap:16px;min-width:0;padding:24px 14px 20px;min-height:240px;text-align:center}.ai-door .door-name{font:24px/1.1 'Lilita One';max-width:160px}.ai-door .door-tag{font:700 10px 'Space Mono';letter-spacing:.1em;border:1px solid #bbaa8c;background:#efe3c9;padding:4px 8px}.door-arrow{font:22px 'Space Mono';position:absolute;right:14px;bottom:14px}.ai-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:76px;height:76px;padding:15px;background:#111916;box-shadow:inset 0 2px 1px #ffffff3b,0 3px 0 #bbaa8c}.ai-mark svg{display:block;width:100%;height:100%;overflow:visible}.mark-0{border-radius:50%}.mark-1{background:#faede5;border-radius:18px 5px 18px 5px;border:1px solid #d97757;padding:14px}.mark-2{background:#191919;border-radius:16px}.mark-3{background:#060c0c;border-radius:38px 10px 10px 38px;padding:16px 12px}.ai-door:hover{filter:brightness(1.04)}.ai-door:focus-visible{outline:3px solid #20553f;outline-offset:5px}.return-door{display:flex;gap:14px;align-items:center;width:100%;margin-bottom:24px;padding:12px 18px;min-height:60px}.return-door .ai-mark{width:32px;height:32px;padding:5px}.return-door>span:last-child{margin-left:auto}.ai-help{margin-top:28px;padding:20px 0 0;border-top:1px dashed #bbaa8c;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}.ai-help h2{font-size:25px;line-height:1.1;max-width:180px}.help-entry{display:grid;gap:4px;font-size:12px}.help-entry b{font-size:11px;letter-spacing:.1em}.help-foot{grid-column:1/-1;font-size:11px;color:var(--muted-ink)}.help-toggle{font-size:12px;text-decoration:underline;margin-top:16px;min-height:40px}.layout-a:not(.help-open)>.help-toggle{display:none}.layout-b .ai-doors{grid-template-columns:1fr;gap:12px}.layout-b .ai-door{flex-direction:row;text-align:left;min-height:90px;padding:16px;gap:16px}.layout-b .ai-door .door-name{font-size:21px;flex:1}.layout-b .ai-door .ai-mark{width:56px;height:56px;padding:11px}.layout-b .door-arrow{display:none}.layout-b .door-tag{font-size:9px;padding:4px}.layout-b .ai-help{grid-template-columns:1fr 1fr}.layout-b .ai-help h2{grid-column:1/-1;max-width:none}.ai-back{font-size:12px;min-height:36px;padding:6px 12px;margin-bottom:16px}.consent{background:var(--sand);border-left:4px solid var(--sea);padding:4px 0 4px 20px;margin:8px 0 22px}.consent h2{font-size:23px;margin-bottom:12px}.consent-line{font-size:13px;margin:9px 0;line-height:1.55;overflow-wrap:anywhere}.ai-cost{margin-top:22px;padding:16px 0;border-top:1px dashed #bbaa8c;border-bottom:1px dashed #bbaa8c}.ai-cost>b{font:20px 'Lilita One'}.ai-cost label{display:block;margin:12px 0 8px;font-size:12px}.ai-cost small{display:block;margin-top:8px;font-size:11px}.cost-row{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px}.key-steps{display:grid;gap:9px;margin:18px 0;font-size:12px}.get-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;margin-top:8px}.get-row .textlink{margin:0}.pair-code{display:grid;gap:4px;background:#efe3c9;padding:14px 18px;margin:16px 0;border-left:4px solid var(--coin);font-size:11px}.pair-code strong{font:30px 'Lilita One';letter-spacing:.06em}.command-preview{font:12px/1.65 'Space Mono';background:#f0e7d6;border:1px solid #bbaa8c;padding:16px;white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0}.wait-line{font-size:12px;color:#20553f;margin-top:14px}.wait-line:empty{display:none}.secondary{display:inline-block;margin:8px 8px 0 0;min-height:44px}.connection-chip{display:flex;align-items:center;gap:16px;width:100%;padding:16px;font:23px 'Lilita One'}.connection-chip .ai-mark{width:42px;height:42px;padding:8px}.connected-dot{color:#20553f;margin-left:auto}.connection-panel{margin-top:18px}.connection-panel .consent-line{font-size:12px}.ai-feedback{font-size:12px;color:#20553f;margin-top:12px}.ai-feedback:empty{display:none}.drawing-note{display:block;font-size:10px;color:var(--muted-ink);margin-top:22px}.claude-paths{display:grid;grid-template-columns:1fr 1fr;gap:16px}.path-card{display:flex;flex-direction:column;gap:12px;padding:24px 18px;min-height:130px}.path-card strong{font:24px 'Lilita One'}.path-card span{font-size:11px}.wordless .door-name,.wordless .door-tag,.wordless .door-arrow{visibility:hidden}
@media(max-width:600px){.draft-a.ai-mode .shell,.draft-b.ai-mode .shell{width:calc(100% - 24px);margin:28px 12px 24px;padding:10px}.ai-mode .paper-surface{padding:20px 12px}.ai-mode header{margin-bottom:20px}.ai-mode header h1,.draft-b.ai-mode header h1{font-size:29px;max-width:255px}.ai-doors{grid-template-columns:1fr 1fr;gap:12px}.ai-door{min-height:192px;padding:18px 10px 14px;gap:12px}.ai-door .door-name{font-size:20px}.ai-door .ai-mark{width:60px;height:60px;padding:12px}.ai-door .door-tag{font-size:9px}.door-arrow{display:none}.ai-help{display:none;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.ai-help h2{grid-column:1/-1;max-width:none;font-size:23px}.help-open .ai-help{display:grid}.layout-a:not(.help-open)>.help-toggle{display:block}.layout-b .ai-door{min-height:80px;padding:12px;gap:12px}.layout-b .ai-door .ai-mark{width:48px;height:48px;padding:10px}.layout-b .ai-door .door-name{font-size:19px}.return-door{margin-bottom:16px;font-size:11px;gap:10px}.claude-paths{grid-template-columns:1fr;gap:12px}.path-card{min-height:100px;padding:18px}.consent{padding-left:12px}.consent h2{font-size:21px}.consent-line{font-size:12px}.cost-row{display:grid;gap:6px}.command-preview{font-size:10px;padding:12px}.ai-back{margin-bottom:12px}.drawing-note{font-size:9px}.craft.ai-mode .shell{margin-top:28px}}
.wallet-chip{display:table;border:1px solid #bbaa8c;background:#efe3c9;padding:6px 10px;margin:0 0 16px;font-size:10px}.ai-mode .status:empty{display:none}
.ai-mode .arena:before{content:'';position:absolute;inset:0;background:url('img/avatar-0.png') 20% 45%/100px auto no-repeat,url('img/avatar-2.png') 42% 64%/92px auto no-repeat,url('img/avatar-3.png') 9% 67%/108px auto no-repeat;pointer-events:none}@media(max-width:600px){.ai-mode .arena:before{display:none}}
/* sk-s4-fix1: identity remains the heading; state and setup are supporting content. */
.connection-state{font:700 13px/1.5 'Space Mono';color:#20553f;margin:0 0 18px}.connection-state.error-state{color:#963c2d}.plan-credit-help{border-top:1px dashed #bbaa8c;border-bottom:1px dashed #bbaa8c;padding:14px 0;margin:16px 0;font-size:12px}.plan-credit-help summary{cursor:pointer;font-weight:700;min-height:32px;padding:6px 0}.plan-credit-help summary:focus-visible,.plan-credit-help a:focus-visible{outline:3px solid #20553f;outline-offset:3px}.plan-credit-help ol{padding-left:24px;display:grid;gap:14px;margin:14px 0}.plan-credit-help li>span{display:block}.plan-credit-help a{display:inline-block;min-height:36px;padding:8px 0;color:#20553f}.plan-credit-help .sub{margin-top:8px}

/* ---- snapin production additions ---- */
.swatches{grid-template-columns:repeat(4,1fr)}.swatches button{display:flex;align-items:center;gap:8px;justify-content:center;font-size:11px}.dot{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid #3b2f25;flex:none}
.status.err,#locked.err,.sub[role=alert]{color:#963c2d}.status.err{background:#fff8ea}#locked{font-size:12px;color:#20553f;background:#fff8ea;padding:8px;margin-top:10px}#locked:empty{display:none}
.temper button{flex:1 1 30%}.sheet-pre{font:11px/1.5 'Space Mono';background:#f0e7d6;border:1px solid #bbaa8c;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;margin:12px 0}
.persona-card{max-width:340px;margin:12px auto}.persona-card svg{display:block}.card-wrap{display:grid;place-items:center;background:#fff8ea;padding:12px}
.door .symbol{margin-left:auto}.door span:first-child{font-weight:700}
.secondary:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){.swatches{grid-template-columns:repeat(3,1fr)}.persona-card{max-width:100%}}
.row.quirks>*{flex:0 1 auto;white-space:nowrap}.row.quirks button{min-height:40px;padding:8px 12px}
@media(min-width:601px){.split>div:first-child{align-self:start}.split>div:first-child .portrait,.split>div:first-child .desktop-portrait{position:sticky;top:12px}}
.acct{font:700 15px/1.3 'Space Mono',monospace;overflow-wrap:anywhere;word-break:break-all}
.join-steps{list-style:none;margin:12px 0 4px;padding:0;display:grid;gap:6px}.join-steps li{opacity:.55}.join-steps li.done{opacity:1}.join-steps li.now{opacity:1;font-weight:700}
.in-banner{margin:10px 0 4px;padding:8px 12px;border:2px solid #2a2622;border-radius:10px;background:#9fdcc5;font-weight:700;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.chat{display:grid;gap:6px}.chat .field{margin-top:4px}.chat textarea{height:72px}.chat.compact textarea{height:38px}
.chat-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.chat-row .chat-send{width:auto;min-width:140px;margin:0}
.chat-reply{font:20px/1.25 'Lilita One';margin-top:8px}.chat-receipt{font:12px/1.45 'Space Mono';color:#5b5145;overflow-wrap:anywhere}.chat-receipt.refused{color:#7a2e22;font-weight:700}
.chat-fixes{margin:4px 0 0;padding-left:18px;font:12px/1.45 'Space Mono';color:#7a2e22}
.chat-turns{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;border-top:1px dashed #c9bc98;padding-top:8px}.chat-turns li{font:13px/1.4 'Space Mono';overflow-wrap:anywhere}.chat-turns .who{font-weight:700;margin-right:6px}.chat-turns .trenchie{font-family:'Lilita One';font-size:16px}
@media(max-width:600px){.textlink{min-height:44px;padding:10px 12px}.checks input{width:24px;height:24px}.checks label{min-height:44px}}
button.textlink{min-height:44px}   /* a thumb-sized target everywhere; beats the 36 px rule above */
.checks input{flex:0 0 24px;min-width:24px;width:24px;height:24px}.checks label{align-items:flex-start}   /* the box never shrinks beside a long label */
.chat-door p{margin:6px 0 0}.chat-door a{display:inline-block;min-height:44px;padding:12px 0;font-weight:700}   /* the door states: a heading and one line, the link a 44 px target like every text link */
