:root{--navy:#141c3a;--dusk:#1e2a58;--deep:#0a0e1f;--ink:#f6f1e4;--gold:#f0b840;--coral:#f06a5a;--teal:#2bb8a8;--pink:#f4a3b5;--sky:#5aa9e6;--dim:#9aa0bf;--pixel:"Press Start 2P",ui-monospace,monospace;--body:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--step:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px);--ease:cubic-bezier(.34,1.3,.64,1);--quick:160ms;--std:260ms;--slow:460ms}*{box-sizing:border-box}body,html{margin:0;background:var(--navy);color:var(--ink)}body{font-family:var(--body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--gold)}.pixel{image-rendering:pixelated;image-rendering:crisp-edges}button,input,select,textarea{font:inherit;color:var(--ink);background:var(--dusk);border:2px solid var(--ink);border-radius:0;padding:8px}button{background:var(--gold);color:var(--deep);cursor:pointer}button:disabled{opacity:.5;cursor:default}.wrap{max-width:640px;margin:0 auto;padding:16px}.admin{font-family:ui-monospace,monospace;font-size:14px}.admin h1,.admin h2{font-family:var(--pixel);font-size:14px;letter-spacing:.02em}.admin table{border-collapse:collapse;width:100%}.admin td,.admin th{border-bottom:1px solid var(--dusk);padding:6px;text-align:left;vertical-align:top}.admin label{display:block;margin:8px 0}.admin label input,.admin label select,.admin label textarea{display:block;width:100%;margin-top:4px}.admin button{padding:10px 20px;font-weight:700}.page{min-height:100dvh;gap:24px;padding-block:20px 0;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.hero,.page{display:flex;flex-direction:column}.hero{align-items:center;gap:32px;text-align:center}.hero .who{gap:16px}.who{display:flex;flex-direction:column;align-items:center;min-width:0;max-width:46ch}@media (min-width:900px){.page{height:100dvh;display:grid;grid-template-columns:480px minmax(0,1fr);grid-gap:48px;gap:48px;padding:32px;align-items:stretch}.hero{justify-content:flex-start;padding-top:16px}}.badge{position:relative;width:min(420px,76vw);aspect-ratio:1;background:var(--deep);padding:4%;border-radius:50%;box-shadow:0 0 0 4px var(--deep),0 0 0 8px var(--ink),0 0 0 12px #c9c3b4,0 0 0 16px var(--deep),10px 12px 0 16px rgba(0,0,0,.35);opacity:0;scale:.94;transition:opacity var(--slow) var(--ease),scale var(--slow) var(--ease),transform var(--slow) var(--ease);touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;cursor:-webkit-grab;cursor:grab;will-change:transform}.badge-on{opacity:1;scale:1}.badge.held{transition:opacity var(--slow) var(--ease),scale var(--slow) var(--ease),transform 80ms linear;cursor:-webkit-grabbing;cursor:grabbing}.badge-screen{display:block;width:100%;height:100%;background:#000}.badge-screen,.badge:after{border-radius:50%;pointer-events:none}.badge:after{content:"";position:absolute;inset:4%;box-shadow:inset 0 0 0 3px #000}.hint{letter-spacing:.04em;white-space:nowrap}.hint,.kicker{margin:0;font-family:var(--pixel);font-size:10px;line-height:1.6;color:var(--dim)}.kicker{letter-spacing:.06em;text-transform:uppercase;font-weight:400}.kicker.accent,.name{color:var(--ink)}.name{margin:2px 0 0;font-family:var(--pixel);font-size:clamp(28px,6vw,40px);line-height:1.15}.speaker{margin:0;color:var(--ink);font-weight:700}.bio{margin:0;font-size:15px;color:var(--dim)}.links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0}.chip{display:inline-block;padding:8px 14px;border:1px solid var(--dusk);background:var(--deep);color:var(--ink);text-decoration:none;font-weight:700;font-size:14px;transition:transform var(--quick) var(--ease),background var(--quick),color var(--quick)}.chip:focus-visible,.chip:hover{transform:translateY(-2px);background:var(--ink);color:var(--deep);border-color:var(--ink);outline:none}.chip:active{transform:translateY(0) scale(.97)}.offline{color:var(--coral);margin:0;text-align:center}.console{display:flex;flex-direction:column;min-height:60dvh;min-width:0;padding:0 16px;border:1px solid var(--dusk);background:var(--deep);font-family:ui-monospace,SF Mono,Menlo,monospace}@media (min-width:900px){.console{min-height:0;height:calc(100dvh - 64px);padding:0 20px}}.console-head{display:flex;align-items:center;gap:10px;padding:16px 0 12px;border-bottom:1px solid var(--dusk)}.console-foot{display:none;margin-top:auto;padding:12px 0 14px;border-top:1px solid var(--dusk);font-size:12px;color:var(--dim);letter-spacing:.02em}@media (min-width:900px){.console-foot{display:flex;justify-content:space-between}}.live{width:8px;height:8px;background:var(--gold);animation:blink 2.4s steps(1) infinite}.boot{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;color:var(--dim);margin:0 0 4px}.boot:before{content:"> ";color:var(--dim)}.thread{list-style:none;margin:0;padding:16px 0 72px;display:flex;flex-direction:column;gap:10px;flex:1 1;overflow-y:auto;min-height:0}@media (min-width:900px){.thread{padding-bottom:8px;flex:0 1 auto}.composer{position:static;background:none}}.bubble{position:relative;max-width:min(88%,620px);padding:12px 16px;-webkit-clip-path:var(--step);clip-path:var(--step);display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.from-pet{align-self:flex-start;background:var(--dusk);color:var(--ink)}.from-pet:before{content:"";position:absolute;inset:0;-webkit-clip-path:var(--step);clip-path:var(--step);padding:1px;background:var(--ink);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.from-you{align-self:flex-end;background:var(--deep);color:var(--ink)}.from-city{align-self:center;background:transparent;color:var(--coral);font-size:14px}.tag{font-size:12px;line-height:1.6;letter-spacing:.04em;color:var(--dim);text-transform:uppercase}.bubble-links{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:2px}.bubble-links a{color:var(--ink);font-weight:700}.starters{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:2px 0 0}.starter{background:transparent;border:0;padding:4px 0;color:var(--dim);font-family:var(--body);font-size:14px;text-align:left;cursor:pointer;transition:color var(--quick),transform var(--quick) var(--ease)}.starter:before{content:"> ";color:var(--dim)}.starter:focus-visible,.starter:hover{color:var(--ink);transform:translateX(4px);outline:none}.dots{display:inline-flex;gap:6px;padding:6px 2px}.dots i{width:8px;height:8px;background:var(--ink);animation:dot .9s steps(2) infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}.composer{display:flex;gap:8px;position:-webkit-sticky;position:sticky;bottom:0;padding:10px 0 max(12px,env(safe-area-inset-bottom,0px));background:linear-gradient(to top,var(--deep) 75%,rgba(10,14,31,0))}.prompt{display:flex;align-items:center;flex:1 1;min-width:0;border:1px solid var(--dusk);background:var(--navy);padding-left:14px;font-family:ui-monospace,SF Mono,Menlo,monospace;transition:border-color var(--quick)}.prompt:focus-within{background:var(--ink);color:var(--deep);border-color:var(--ink)}.prompt:focus-within input{color:var(--deep);caret-color:var(--deep)}.prompt:before{content:">";color:var(--gold);margin-right:10px}.composer input{flex:1 1;min-width:0;border:0;padding:13px 14px 13px 0;background:transparent;font-family:inherit;font-size:14px;caret-color:var(--gold)}.composer input:focus{outline:none}.composer input::placeholder{color:var(--dim)}.composer button{border:0;padding:0 18px;font-family:var(--pixel);font-size:12px;letter-spacing:.04em;box-shadow:3px 3px 0 var(--deep),3px 3px 0 1px var(--gold);transition:transform var(--quick) var(--ease),background var(--quick)}.composer button:disabled{opacity:1;background:var(--dusk);color:var(--dim);box-shadow:3px 3px 0 var(--deep),3px 3px 0 1px var(--dusk)}.composer button:not(:disabled):hover{transform:translateY(-1px)}.composer button:not(:disabled):active{transform:scale(.95)}.rise{opacity:0;transform:translateY(12px);animation:rise var(--std) var(--ease) forwards}.pop{opacity:0;transform:translateY(8px) scale(.96);animation:pop var(--std) var(--ease) forwards;transform-origin:bottom left}.from-you.pop{transform-origin:bottom right}@keyframes rise{to{opacity:1;transform:none}}@keyframes pop{to{opacity:1;transform:none}}@keyframes blink{0%,60%{opacity:1}70%,to{opacity:.25}}@keyframes dot{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-4px);opacity:1}}@media (prefers-reduced-motion:reduce){.pop,.rise{opacity:1;transform:none}.dots i,.live,.pop,.rise{animation:none}.badge{transition:none}}.ed-page{min-height:100dvh;padding:24px max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}.editor{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px;max-width:1180px;margin:0 auto}@media (min-width:960px){.ed-page{padding:48px}.editor{grid-template-columns:360px minmax(0,1fr);gap:64px;align-items:start}}.eyebrow{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.ed-page{--label:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif}.ed-preview{display:flex;flex-direction:column;align-items:stretch;gap:24px}@media (min-width:960px){.ed-preview{position:-webkit-sticky;position:sticky;top:32px}}.ed-badge{width:100%;display:flex;justify-content:center;padding:16px 0 0}.ed-badge .badge{width:min(260px,60vw);box-shadow:0 0 0 4px var(--deep),0 0 0 8px var(--ink),0 0 0 12px #c9c3b4,0 0 0 16px var(--deep)}.ed-links{display:flex;flex-wrap:wrap;gap:4px 14px;font-weight:700}.ed-links span{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:3px}.ed-who{gap:6px;text-align:left;align-items:flex-start;max-width:none}.ed-who .speaker{font-family:var(--label);font-size:18px}.ed-bio{margin:0;display:flex;flex-direction:column;gap:4px;color:var(--dim);font-size:13px}.boot.cursor:after{content:"";display:inline-block;width:7px;height:12px;background:var(--gold);vertical-align:-2px;margin-left:6px;animation:blink 1s steps(1) infinite}.ed-console{width:100%;background:repeating-linear-gradient(0deg,rgba(246,241,228,.035) 0 1px,transparent 1px 3px),var(--deep);padding:16px;display:flex;flex-direction:column;gap:10px}.ed-console .bubble{max-width:100%;animation:pop var(--std) var(--ease);border-left:2px solid var(--ink);background:transparent;padding-left:14px}.ed-console .from-pet:before{display:none}.ed-console .bubble-links span{color:var(--ink);font-weight:700;margin-right:12px}.ed-view{font-size:13px;color:var(--dim);text-decoration:none;align-self:flex-start}.ed-view:hover{color:var(--ink)}.ed-work{display:flex;flex-direction:column;min-width:0}.ed-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:8px 16px;padding-bottom:24px}.ed-title{margin:10px 0 0;font-family:var(--pixel);font-size:40px;line-height:1.2;color:var(--ink)}.ed-who-am-i{margin:8px 0 0;font-size:12px;color:var(--dim)}.ed-who-am-i:before{content:"⌂ "}.linkish{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}.tabs{gap:32px;border-bottom:1px solid var(--dusk)}.tab,.tabs{position:relative;display:flex}.tab{background:none;border:0;padding:12px 0 14px;flex-direction:column;align-items:flex-start;gap:2px;color:var(--dim);cursor:pointer;transition:color var(--quick)}.tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--std) var(--ease)}.tab.on:after{transform:scaleX(1)}.tab .eyebrow{color:inherit;font-weight:700}.tab small{font-size:12px;font-family:var(--label)}.tab.on,.tab:hover{color:var(--ink)}.panel{padding:24px 0 8px;animation:rise var(--std) var(--ease)}.fields{display:flex;flex-direction:column;gap:24px}.fields[hidden]{display:none}.fieldgrid{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px}@media (min-width:640px){.fieldgrid{grid-template-columns:1fr 1fr}}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-family:var(--label);font-size:13px;color:var(--ink);font-weight:700}.field-head small{color:#6b7399;font-weight:500}.field-head em{margin-left:auto;font-style:normal;font-size:12px;color:var(--dim)}.field-head em.full{color:var(--coral)}.field input,.field textarea{width:100%;border:1px solid #2a3566;background:transparent;padding:11px 12px;font-size:14px;line-height:1.5;transition:border-color var(--quick);resize:none}.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}.field input::placeholder,.field textarea::placeholder{color:#5b6287}.ed-hatch{margin:-6px 0 0;padding:10px 12px;background:var(--deep);border-left:2px solid var(--gold);color:var(--dim);font-size:13px}.ed-hatch .tag{margin-right:8px}.caret{display:inline-block;width:7px;height:13px;background:var(--gold);vertical-align:-2px;margin-left:2px;animation:blink 1s steps(1) infinite}.cards{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}@media (min-width:640px){.cards{grid-template-columns:1fr 1fr}}.card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--dusk);background:var(--deep);cursor:pointer;position:relative;transition:border-color var(--quick),transform var(--quick) var(--ease)}.card input{position:absolute;opacity:0;pointer-events:none}.card b{font-size:14px;font-family:var(--label)}.card span{font-size:13px;color:var(--dim)}.card:hover{transform:translateY(-1px);border-color:#3a477f}.card.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.card.on:after{content:"";position:absolute;top:14px;right:14px;width:8px;height:8px;background:var(--gold)}.check{display:flex;align-items:center;gap:8px;font-size:14px}.check input{width:16px;height:16px;accent-color:var(--gold)}.warn{color:var(--coral)}.ed-answer,.warn{margin:0;font-size:13px}.ed-answer{color:var(--ink)}.howto{border:1px solid var(--dusk);padding:12px 16px;font-size:14px;color:var(--dim)}.howto summary{cursor:pointer;color:var(--ink);font-weight:700;font-family:var(--label)}.howto ol{padding-left:20px;line-height:1.7}.howto b,.howto code{color:var(--ink)}.savebar{position:-webkit-sticky;position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:14px 0 max(14px,env(safe-area-inset-bottom,0px));margin-top:12px;background:var(--navy)}.saved-pill{font-size:13px;color:var(--gold);opacity:.7;padding:10px 0}.dirty{margin-left:auto;font-size:13px;color:var(--dim);white-space:nowrap}.dirty:before{content:"● ";color:var(--dim)}.dirty.is-dirty{color:var(--ink)}.dirty.is-dirty:before{color:var(--gold)}.savebar button{font-family:var(--pixel);font-size:12px;padding:14px 22px;border:0;transition:transform var(--quick) var(--ease),background var(--quick),color var(--quick)}.savebar button.ready{box-shadow:3px 3px 0 var(--deep),3px 3px 0 1px var(--gold)}.savebar button.ready:hover{transform:translateY(-1px)}.savebar button.ready:active{transform:translate(2px,2px);box-shadow:none}.toast{font-size:13px;color:var(--ink);opacity:0;transform:translateY(6px);transition:opacity var(--std) var(--ease),transform var(--std) var(--ease);pointer-events:none}.toast:before{content:"■ ";color:var(--gold)}.toast.show{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.ed-console .bubble,.panel{animation:none}.tab-ink,.toast{transition:none}.caret{animation:none}}@media (max-width:959px){.ed-preview{display:grid;grid-template-columns:96px 1fr;grid-gap:6px 14px;gap:6px 14px;align-items:center;text-align:left;padding-bottom:16px;border-bottom:1px solid var(--dusk)}.ed-badge{padding:0;grid-row:1/span 2}.ed-badge .badge{width:80px;box-shadow:0 0 0 2px var(--deep),0 0 0 4px var(--ink),0 0 0 6px var(--deep)}.ed-who{align-items:flex-start;text-align:left;gap:4px}.ed-console,.ed-links,.ed-who .bio{display:none}.ed-view{justify-self:start}}.passport{margin:8px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.stamp{font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--dusk);color:var(--dim)}.stamp.creature{color:var(--ink)}.stamp.background{color:var(--sky);border-color:#2a3566}.stamp.stamp{color:var(--gold)}.sound{margin-left:auto;background:none;border:1px solid var(--dusk);color:var(--dim);font-family:var(--pixel);font-size:8px;letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;cursor:pointer;transition:color var(--quick),border-color var(--quick)}.sound[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}@property --rx{syntax:"<angle>";inherits:false;initial-value:0deg}@property --ry{syntax:"<angle>";inherits:false;initial-value:0deg}.badge{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transition:opacity var(--slow) var(--ease),scale var(--slow) var(--ease),--rx var(--slow) var(--ease),--ry var(--slow) var(--ease)}.badge.held{transition:opacity var(--slow) var(--ease),scale var(--slow) var(--ease),--rx 80ms linear,--ry 80ms linear}@media (prefers-reduced-motion:reduce){.badge,.badge.held{transition:none}}.hero .badge:before{content:"";position:absolute;inset:-16px;border-radius:50%;pointer-events:none;z-index:1;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='180'%3E%3Cfilter%20id='g'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='.85'%20numOctaves='2'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20values='0%200%200%200%20.6%200%200%200%200%20.6%200%200%200%200%20.55%200%200%200%20.22%200'/%3E%3C/filter%3E%3Crect%20width='100%'%20height='100%'%20filter='url(%23g)'/%3E%3C/svg%3E"),linear-gradient(calc(135deg + var(--ry) * 3 - var(--rx) * 2),transparent 32%,rgba(255,255,255,.5) 50%,transparent 68%),conic-gradient(from calc(var(--ry) * 5 - var(--rx) * 4),#f06a5a,#f0b840,#9ff0b0,#5aa9e6,#c99bf5,#f06a5a);mix-blend-mode:color-dodge;opacity:.6;mask:radial-gradient(closest-side,rgba(0,0,0,.16) 0 85%,#000 86%);-webkit-mask:radial-gradient(closest-side,rgba(0,0,0,.16) 0 85%,#000 86%)}@property --peel{syntax:"<number>";inherits:true;initial-value:0}.hero .badge{transition:opacity var(--slow) var(--ease),scale var(--slow) var(--ease),--rx var(--slow) var(--ease),--ry var(--slow) var(--ease),--peel var(--slow) var(--ease)}.hero .badge.held{transition:opacity var(--slow) var(--ease),scale var(--slow) var(--ease),--rx 80ms linear,--ry 80ms linear,--peel 80ms linear}.hero .badge:hover{--peel:.35}.peel{position:absolute;inset:-16px;border-radius:50%;pointer-events:none;z-index:2;--fold:calc(14.6% + var(--peel) * 18%);background:linear-gradient(315deg,#d6cfbc 0,#f6f1e4 calc(var(--fold) - 6px),#b9b2a0 var(--fold),transparent var(--fold)),linear-gradient(315deg,transparent var(--fold),rgba(0,0,0,.45) var(--fold),transparent calc(var(--fold) + var(--peel) * 14px))}@media (prefers-reduced-motion:reduce){.hero .badge,.hero .badge.held{transition:none}}.motion,.swap{background:none;border:1px solid var(--dusk);color:var(--dim);font-family:var(--pixel);font-size:8px;letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;cursor:pointer;text-decoration:none;margin-top:-16px}.motion:hover,.swap:hover{color:var(--gold);border-color:var(--gold)}.badge3d{width:min(480px,86vw);aspect-ratio:1;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;cursor:-webkit-grab;cursor:grab;opacity:0;transition:opacity var(--slow) var(--ease)}.badge3d.badge-on{opacity:1}.badge3d.held{cursor:-webkit-grabbing;cursor:grabbing}.badge3d canvas{display:block;width:100%!important;height:100%!important}