:root{--lime:#c7ff00;--lime2:#9edc19;--green:#5f9c39;--dark:#0d1710;--ink:#050705;--paper:#f1f2d8;--orange:#ff6412;--brown:#79532d;--line:3px solid var(--ink)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--lime);color:var(--ink);font-family:"IBM Plex Mono",monospace;font-size:16px;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,a{font:inherit}
.boot-screen{position:fixed;inset:0;z-index:50;background:var(--ink);color:var(--lime);display:grid;place-content:center;text-align:center;transition:opacity .35s,visibility .35s}
.boot-screen.done{opacity:0;visibility:hidden}
.boot-name{font:clamp(3rem,10vw,8rem)/1 "Archivo Black",sans-serif;letter-spacing:-.07em}
.boot-bar{width:min(420px,75vw);height:16px;border:2px solid var(--lime);margin:25px auto 12px;padding:2px}.boot-bar span{display:block;height:100%;background:var(--lime);animation:load .45s linear forwards}.boot-screen p{font-weight:700;letter-spacing:.1em}
@keyframes load{from{width:0}to{width:100%}}
.site-header{height:76px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:var(--line);background:var(--paper);position:relative;z-index:5}
.brand{display:flex;align-items:center;gap:10px;font-family:"Archivo Black",sans-serif;font-size:1.25rem}.brand-mark{display:grid;place-items:center;background:var(--orange);border:var(--line);width:38px;height:38px;transform:rotate(-4deg)}
nav{display:flex;gap:2rem;font-weight:700;font-size:.86rem}nav a:hover{text-decoration:underline;text-decoration-thickness:3px}
.header-buy,.outline-button,.talk-button{border:var(--line);padding:13px 18px;font-family:"Archivo Black",sans-serif;font-size:.8rem;letter-spacing:.02em;box-shadow:5px 5px 0 var(--ink);transition:transform .15s,box-shadow .15s;background:var(--lime);cursor:pointer}
.header-buy:hover,.outline-button:hover,.talk-button:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:48% 52%;border-bottom:var(--line);background:linear-gradient(90deg,var(--paper) 0 48%,var(--lime) 48%)}
.hero-copy{padding:clamp(50px,7vw,100px) 4vw 46px;display:flex;flex-direction:column;justify-content:center;position:relative}
.eyebrow,.section-tag{font-weight:700;font-size:.78rem;letter-spacing:.12em;margin-bottom:22px}.status-dot{display:inline-block;width:10px;height:10px;background:#24d263;border:2px solid var(--ink);margin-right:8px;animation:blink 1.5s steps(1) infinite}@keyframes blink{50%{opacity:.25}}
h1,h2{font-family:"Archivo Black",sans-serif;margin:0;letter-spacing:-.065em;text-transform:uppercase}
h1{font-size:clamp(3rem,6.3vw,6.5rem);line-height:.86;max-width:800px}h1 span,.lore h2 span{color:var(--green);-webkit-text-stroke:2px var(--ink);text-shadow:5px 5px 0 var(--ink)}
.hero-lede{font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.55;max-width:620px;margin:32px 0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.talk-button{background:var(--orange)}.outline-button{background:transparent}
.contract-strip{border:var(--line);display:grid;grid-template-columns:auto 1fr auto;margin-top:40px;align-items:center;background:var(--ink);color:var(--paper);max-width:680px}.contract-strip span{background:var(--lime);color:var(--ink);padding:13px;font-weight:700}.contract-strip code{padding:0 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-strip button{align-self:stretch;border:0;border-left:2px solid var(--paper);background:var(--orange);font-weight:700;padding:0 16px;cursor:pointer}
.hero-world{position:relative;overflow:hidden;min-height:720px;background:repeating-linear-gradient(0deg,transparent 0 58px,rgba(0,0,0,.08) 59px 60px),repeating-linear-gradient(90deg,transparent 0 58px,rgba(0,0,0,.08) 59px 60px)}
.hero-world:before{content:"";position:absolute;width:80%;height:70%;left:10%;bottom:-40%;border:var(--line);background:#8cc641;transform:perspective(400px) rotateX(65deg)}
.npc-card{position:absolute;inset:4% 4% 17% 4%;border:var(--line);background:var(--lime);overflow:hidden;box-shadow:12px 12px 0 var(--ink);transform:rotate(1.5deg)}
.npc-card img{width:100%;height:100%;object-fit:cover;display:block}
.spawn-label{position:absolute;z-index:2;right:2.5%;top:3%;background:var(--paper);border:var(--line);padding:10px 14px;font-size:.72rem;transform:rotate(3deg);box-shadow:4px 4px 0 var(--ink)}
.nameplate{position:absolute;z-index:3;left:7%;bottom:18%;background:var(--ink);color:white;padding:9px 14px;border-left:8px solid var(--orange);display:flex;gap:15px;align-items:center}.nameplate b{font-family:"Archivo Black"}.nameplate span{font-size:.72rem;color:var(--lime)}
.dialogue-box{position:absolute;z-index:4;bottom:3%;left:5%;right:5%;background:var(--paper);border:5px solid var(--ink);padding:17px 20px;box-shadow:8px 8px 0 var(--ink);cursor:pointer}.dialogue-box:before{content:"";position:absolute;top:-17px;left:32px;width:24px;height:24px;background:var(--paper);border-left:5px solid var(--ink);border-top:5px solid var(--ink);transform:rotate(45deg)}.speaker{font-weight:800;color:#4d8429}.dialogue-box p{font-weight:700;margin:5px 0;font-size:clamp(.9rem,1.2vw,1.1rem)}.continue{display:block;text-align:right;font-size:.66rem;font-weight:700}.pulse{animation:pulse .2s}@keyframes pulse{50%{transform:translateY(3px)}}
.ticker{border-bottom:var(--line);background:var(--orange);overflow:hidden;padding:12px 0;font-family:"Archivo Black"}.ticker-track{display:flex;width:max-content;animation:ticker 22s linear infinite}.ticker-track span{font-size:1.05rem;white-space:nowrap}@keyframes ticker{to{transform:translateX(-50%)}}
.lore{background:var(--paper);padding:110px 7vw;border-bottom:var(--line)}.lore-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:start}.lore-grid>*{min-width:0}.lore h2,.routine h2,.passport h2{font-size:clamp(3.2rem,7vw,7.5rem);line-height:.86}.lore-copy{border-left:var(--line);padding-left:4vw;min-width:0}.lore-copy p{font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.65;margin:0 0 22px}.quote{margin-top:40px;padding:25px;background:var(--lime);border:var(--line);font-size:1.1rem;box-shadow:8px 8px 0 var(--ink)}
.routine{background:var(--dark);color:var(--paper);padding:100px 5vw}.routine-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.routine-head p{text-align:right;line-height:1.5}.section-tag.light{color:var(--lime)}.routine-grid{display:grid;grid-template-columns:repeat(4,1fr);border:2px solid var(--lime)}.routine-grid article{padding:28px;min-height:250px;border-right:2px solid var(--lime);position:relative}.routine-grid article:last-child{border-right:0}.routine-grid span{color:var(--lime);font-size:.8rem}.routine-grid b{display:block;font:2rem/1 "Archivo Black";margin:55px 0 18px}.routine-grid p{line-height:1.5;font-size:.9rem}.routine-grid article:before{content:"+";position:absolute;top:14px;right:16px;color:var(--lime);font-size:1.6rem}
.stats{display:grid;grid-template-columns:1fr 260px;background:var(--green);border-bottom:var(--line);padding:70px 7vw;gap:7vw;align-items:center}.stat-main>span{font-weight:800;letter-spacing:.1em}.behavior-line{display:grid;grid-template-columns:170px 1fr 70px;align-items:center;gap:15px;margin-top:22px}.behavior-line b,.behavior-line strong{font-size:.78rem}.behavior-line i{height:24px;background:var(--paper);border:2px solid var(--ink);position:relative}.behavior-line i:after{content:"";display:block;height:100%;width:var(--value);background:var(--orange);border-right:2px solid var(--ink)}.stat-stamp{aspect-ratio:1;display:grid;place-items:center;text-align:center;border:7px double var(--ink);font:3rem/.8 "Archivo Black";transform:rotate(-8deg);background:var(--lime)}
.passport{padding:100px 7vw;background:var(--lime);display:grid;grid-template-columns:1.1fr .9fr;gap:7vw}.passport>div:first-child p{max-width:550px;line-height:1.6}.passport dl{margin:0;border-top:var(--line)}.passport dl div{display:flex;justify-content:space-between;padding:19px 0;border-bottom:var(--line)}.passport dt{font-size:.75rem;font-weight:700}.passport dd{font-family:"Archivo Black"}.passport-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border:var(--line);box-shadow:10px 10px 0 var(--ink)}.passport-actions a{padding:24px;text-align:center;background:var(--paper);border-right:var(--line);font-family:"Archivo Black"}.passport-actions a:last-child{border-right:0}.passport-actions a:hover{background:var(--orange)}
footer{background:var(--ink);color:var(--lime);padding:100px 5vw 30px;text-align:center}.footer-face{font:clamp(8rem,22vw,20rem)/.6 "IBM Plex Mono";letter-spacing:-.15em}.footer-face+p{font-size:clamp(1.2rem,2vw,2rem);line-height:1.4;margin:70px 0}.footer-bottom{border-top:1px solid var(--green);padding-top:22px;display:flex;justify-content:space-between;font-size:.72rem}
@media(max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr;background:var(--paper)}.hero-world{min-height:690px;background-color:var(--lime);border-top:var(--line)}.lore-grid,.passport{grid-template-columns:1fr}.routine-grid{grid-template-columns:1fr 1fr}.routine-grid article:nth-child(2){border-right:0}.routine-grid article{border-bottom:2px solid var(--lime)}.stats{grid-template-columns:1fr 180px}.passport-actions{grid-template-columns:1fr}.passport-actions a{border-right:0;border-bottom:var(--line)}.passport-actions a:last-child{border-bottom:0}}
@media(max-width:560px){.site-header{height:64px;padding:0 16px}.brand{font-size:1rem}.brand-mark{width:32px;height:32px}.header-buy{padding:10px 11px;font-size:.66rem;box-shadow:3px 3px 0 var(--ink)}.hero{min-height:0}.hero-copy{padding:48px 18px 40px}h1{font-size:clamp(2.75rem,14vw,4.3rem)}h1 span{-webkit-text-stroke:1px var(--ink);text-shadow:3px 3px 0 var(--ink)}.hero-lede{margin:24px 0}.hero-actions{display:grid}.hero-actions>*{text-align:center}.contract-strip{grid-template-columns:1fr auto}.contract-strip span{grid-column:1/-1;text-align:center}.contract-strip code{padding:13px;font-size:.72rem}.hero-world{min-height:510px}.npc-card{inset:5% 4% 24%}.dialogue-box{bottom:4%;padding:14px}.nameplate{bottom:25%;left:5%}.spawn-label{font-size:.6rem}.lore,.routine,.passport{padding:72px 18px}.lore-grid{gap:45px}.lore h2{font-size:clamp(2.35rem,12.4vw,3.15rem)}.routine h2,.passport h2{font-size:clamp(2.8rem,15vw,4.8rem)}.lore-copy{padding-left:18px}.routine-head{display:block}.routine-head p{text-align:left}.routine-grid{grid-template-columns:1fr}.routine-grid article{border-right:0;min-height:210px}.stats{grid-template-columns:1fr;padding:60px 18px}.stat-stamp{width:160px;margin:auto}.behavior-line{grid-template-columns:110px 1fr 48px;gap:8px}.passport{gap:45px}.footer-bottom{gap:20px}.footer-face+p{margin-top:50px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* ROBIN'S HAND-DRAWN WORLD */
:root{--lime:#caff18;--green:#6da33e;--dark:#17351f;--ink:#150e08;--paper:#fff6d4;--orange:#ff6814;--brown:#76512f;--line:4px solid var(--ink);--display:"Bowlby One SC",sans-serif;--hand:"Patrick Hand",cursive}
body{font-family:var(--hand);font-size:19px;background-color:var(--lime);background-image:radial-gradient(rgba(21,14,8,.09) 1px,transparent 1px);background-size:13px 13px}
.boot-name{font-family:var(--display);letter-spacing:-.03em}
.boot-screen p,.eyebrow,.section-tag,.continue{font-family:var(--display)}
.site-header{background-color:var(--paper);background-image:radial-gradient(rgba(118,81,47,.12) 1px,transparent 1px);background-size:10px 10px}
.brand{font-family:var(--display);font-size:1.12rem}.brand-mark{width:41px;height:41px;border-width:4px;box-shadow:3px 3px 0 var(--brown);transform:rotate(-6deg)}
nav{font-family:var(--display);font-size:.68rem;letter-spacing:.03em}
.header-buy,.outline-button,.talk-button{font-family:var(--display);font-size:.72rem;border-width:4px;box-shadow:6px 6px 0 var(--brown);letter-spacing:0}
.header-buy{transform:rotate(1deg)}.talk-button{transform:rotate(-1deg)}.outline-button{transform:rotate(.6deg)}
.header-buy:hover,.outline-button:hover,.talk-button:hover{box-shadow:2px 2px 0 var(--brown)}
.hero{background:linear-gradient(90deg,var(--paper) 0 48%,var(--lime) 48%)}
.hero-copy{background-image:radial-gradient(rgba(118,81,47,.1) 1px,transparent 1px);background-size:12px 12px}
.eyebrow,.section-tag{font-size:.65rem;letter-spacing:.07em}.status-dot{width:12px;height:12px;border:3px solid var(--ink);transform:rotate(7deg)}
h1,h2{font-family:var(--display);letter-spacing:-.035em;line-height:.93}
h1{font-size:clamp(3rem,5.85vw,6.1rem);transform:rotate(-.5deg)}
h1 span,.lore h2 span{color:var(--green);text-shadow:5px 5px 0 var(--brown)}
.hero-lede{font-size:clamp(1.25rem,1.65vw,1.6rem);line-height:1.35;max-width:590px}
.contract-strip{background:var(--brown);border-width:4px;box-shadow:6px 6px 0 var(--ink);transform:rotate(.3deg)}
.contract-strip span,.contract-strip button{font-family:var(--display);font-size:.66rem}.contract-strip button{border-left:3px solid var(--ink)}.contract-strip code{font-family:var(--hand);font-size:1rem}
.hero-world{background-color:var(--lime);background-image:linear-gradient(rgba(21,14,8,.07) 2px,transparent 2px),linear-gradient(90deg,rgba(21,14,8,.07) 2px,transparent 2px);background-size:62px 62px}
.hero-world:before{background:#87c842;border-width:5px;transform:perspective(400px) rotateX(65deg) rotate(-1deg)}
.npc-card{border:5px solid var(--ink);box-shadow:14px 14px 0 var(--brown);transform:rotate(1.1deg);clip-path:polygon(1% 0,99% 1%,100% 98%,1% 100%,0 2%)}
.spawn-label{font-family:var(--display);font-size:.57rem;box-shadow:5px 5px 0 var(--brown);transform:rotate(3deg)}
.nameplate{background:var(--brown);border:4px solid var(--ink);border-left-width:10px;transform:rotate(-1deg)}.nameplate b{font-family:var(--display);font-size:.85rem}.nameplate span{font-family:var(--hand);font-size:.88rem}
.dialogue-box{background-color:var(--paper);background-image:radial-gradient(rgba(118,81,47,.1) 1px,transparent 1px);background-size:9px 9px;box-shadow:9px 9px 0 var(--brown);transform:rotate(-.35deg)}
.speaker{font-family:var(--display);font-size:.68rem;color:#4d8429}.dialogue-box p{font-size:clamp(1.12rem,1.45vw,1.42rem);line-height:1.15}.continue{font-size:.53rem}
@keyframes pulse{50%{transform:translateY(3px) rotate(-.35deg)}}
.ticker{font-family:var(--display);padding:14px 0}.ticker-track span{font-size:.82rem}
.lore{background-color:var(--paper);background-image:linear-gradient(rgba(118,81,47,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(118,81,47,.075) 1px,transparent 1px);background-size:30px 30px}
.lore h2{transform:rotate(-.7deg)}.lore-copy{border-left-width:5px}.lore-copy p{font-size:clamp(1.25rem,1.7vw,1.55rem);line-height:1.4}
.quote{font-size:1.35rem;box-shadow:9px 9px 0 var(--brown);transform:rotate(1deg)}.quote b{font-family:var(--display);font-size:.82rem}
.routine{background-color:var(--dark);background-image:radial-gradient(rgba(202,255,24,.11) 1px,transparent 1px);background-size:14px 14px}
.routine-grid{border-width:4px;transform:rotate(-.15deg)}.routine-grid article{border-right-width:3px}.routine-grid b{font-family:var(--display);font-size:1.55rem}.routine-grid p{font-size:1.15rem;line-height:1.3}.routine-grid span{font-family:var(--display);font-size:.6rem}
.stats{background:#75aa42}.stat-main>span,.behavior-line b,.behavior-line strong{font-family:var(--display)}.behavior-line b,.behavior-line strong{font-size:.62rem}.behavior-line i{height:27px;border-width:3px}.stat-stamp{font-family:var(--display);font-size:2.45rem;background:var(--paper);box-shadow:8px 8px 0 var(--brown)}
.passport{background-color:var(--lime);background-image:radial-gradient(rgba(21,14,8,.08) 1px,transparent 1px);background-size:13px 13px}.passport>div:first-child p{font-size:1.4rem;line-height:1.35}.passport dt{font-family:var(--display);font-size:.62rem}.passport dd{font-family:var(--display);font-size:.8rem}.passport-actions{box-shadow:11px 11px 0 var(--brown)}.passport-actions a{font-family:var(--display);font-size:.76rem}
footer{background:var(--dark);padding:50px 5vw 24px}.footer-message{margin:0 0 36px;font-size:clamp(1.3rem,2.4vw,2rem);line-height:1.5}.footer-message b{font-family:var(--display);font-size:.75em}.footer-bottom{font-family:var(--hand);font-size:.85rem}
@media(max-width:560px){body{font-size:18px}.brand{font-size:.88rem}.brand-mark{width:34px;height:34px}.header-buy{font-size:.55rem}.hero-lede{font-size:1.3rem}.lore h2{font-size:clamp(2.1rem,11.1vw,2.85rem)}.lore-copy p{font-size:1.28rem}.routine-grid p{font-size:1.15rem}.dialogue-box p{font-size:1.13rem}.passport>div:first-child p{font-size:1.25rem}}
