:root{--paper:#fdf8ea;--cream:#f8f1df;--ink:#302d26;--pencil:#766f60;--yellow:#f7d968;--mint:#cbe2d6;--pink:#edc4b8;--red:#bc4a38;--hand:'Caveat','Noto Sans Armenian',cursive;--body:'Patrick Hand','Noto Sans Armenian',sans-serif;--mono:ui-monospace,'SFMono-Regular',Consolas,'Noto Sans Armenian',monospace;--panel:#f7eed8;--panel-2:#e8dfc9;--line:#c4b99f;--line-soft:#dfd5be;--text:#302d26;--muted:#766f60;--dim:#8b8175;--amber:#8a541c;--coral:#bc4a38;--sky:#3b5f80;--violet:#795c86;--amber-soft:#f7d96844}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font:18px/1.5 var(--body);color:var(--ink);background:var(--cream)}[hidden]{display:none!important}button,a,input{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,#room:focus-visible{outline:3px dashed var(--red);outline-offset:5px}button:disabled{cursor:wait;opacity:.55}button,a{-webkit-tap-highlight-color:transparent}button:hover{filter:brightness(.97)}.topbar{position:fixed;z-index:100;left:0;top:0;width:100%;height:77px;display:flex;align-items:center;justify-content:space-between;padding:16px 30px;gap:15px;background:linear-gradient(var(--cream) 65%,transparent);pointer-events:none}.topbar>*{pointer-events:auto}.sticker{display:inline-flex;align-items:center;gap:10px;background:var(--paper);border:1.7px solid var(--ink);box-shadow:2px 3px 0 var(--ink);padding:7px 15px;border-radius:4px 6px 3px 7px;text-decoration:none;font-size:16px;white-space:nowrap;transition:transform .16s}.sticker:hover{transform:translateY(-2px) rotate(-1deg)}.demos{transform:rotate(-2deg)}.top-actions{display:flex;gap:14px;align-items:center}.instagram{background:var(--pink);transform:rotate(2deg)}#language{min-width:59px;background:var(--yellow);font:600 14px var(--body)}.top-name{font:600 24px var(--hand);opacity:0;transition:opacity .5s}.ready .top-name{opacity:1}#room{position:fixed;inset:0;isolation:isolate;outline:none;touch-action:none}#world,#world canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}#world{opacity:0;transition:opacity .55s .45s}.ready #world{opacity:1}.intro{position:absolute;left:7%;top:22%;z-index:2;pointer-events:none;transition:opacity .65s,transform .65s;max-width:600px;background:var(--cream);box-shadow:0 0 0 34px var(--cream)}.intro p{margin:5px 0;font-size:23px}.intro h1{font:700 clamp(60px,9vw,112px)/1 var(--hand);margin:5px 0;letter-spacing:-.04em}.intro .little-star{font:50px var(--hand);color:var(--red);position:absolute;left:-46px;top:19px}.underline{display:block;width:90%;height:8px;border-top:3px solid var(--ink);border-radius:50%;transform:rotate(-2deg)}.intro .room-line{font-size:20px;margin-top:18px}.ready .intro{opacity:0;transform:translateY(-25px)}.speech{position:absolute;z-index:4;right:5%;top:16%;width:235px;padding:18px 23px;background:var(--paper);border:2px solid var(--ink);border-radius:50% 45% 48% 18%;transform:rotate(5deg);box-shadow:4px 4px 0 #302d2614;pointer-events:none;transition:opacity .6s}.speech p{font:20px/1.3 var(--hand);margin:0}.speech-star{position:absolute;top:-28px;right:15px;font-size:43px;color:var(--red)}.speech-arrow{position:absolute;bottom:-38px;left:50px;font-size:45px}.speech.quiet{opacity:0}.loading{position:absolute;left:7%;bottom:23%;font:22px var(--hand);transition:opacity .5s;max-width:85%}.ready .loading{opacity:0;pointer-events:none}.grain{position:fixed;inset:0;z-index:120;pointer-events:none;opacity:.16;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)' opacity='.32'/%3E%3C/svg%3E")}.explorer{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(600px,calc(100% - 36px));z-index:8;padding:12px 19px 13px;background:var(--paper);border:1.7px solid var(--ink);border-radius:9px 5px 11px 4px;box-shadow:4px 5px 0 #302d2624;opacity:0;transition:opacity .5s}.ready .explorer{opacity:1}.explorer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px;margin-bottom:9px}.drag-hint{color:var(--pencil);font-size:16px}.rotation{font-size:15px}.object-index{display:flex;justify-content:space-between;gap:6px}.object-index button{position:relative;display:grid;place-items:center;background:#f0e8d4;border:1.5px solid transparent;border-radius:8px 5px 9px 5px;width:48px;height:43px;font-size:23px;transition:transform .2s}.object-index button:hover{transform:rotate(-5deg) scale(1.1);border-color:var(--ink);background:var(--yellow)}.object-index button.seen:after{content:'✓';position:absolute;right:-2px;top:-7px;font-size:13px;color:#286a59;background:var(--mint);border-radius:50%;width:17px;height:17px}.object-index button.active{background:var(--yellow);border-color:var(--ink)}.look-controls{position:absolute;z-index:8;left:28px;bottom:39px;display:flex;gap:9px}.look-controls button{width:47px;height:44px;border:1.5px solid var(--ink);border-radius:50%;background:var(--paper);font-size:24px}#hotspots{opacity:0;transition:opacity .45s .9s}.ready #hotspots{opacity:1}.hotspot{position:absolute;z-index:5;padding:5px 12px;background:var(--paper);border:1.5px solid var(--ink);border-radius:20px 14px 17px 12px;box-shadow:2px 3px 0 #302d2626;white-space:nowrap;transform:translate(-50%,-50%);font-size:17px;transition:background .15s;will-change:left,top}.hotspot:before{content:'+';display:inline-block;margin-right:7px;color:var(--red);font-size:20px}.hotspot:hover{background:var(--yellow)}.hotspot.seen:before{content:'✓';color:#28745f}.hotspot.appear{animation:slap .5s both}.fallback{position:fixed;bottom:28%;left:50%;transform:translateX(-50%);z-index:25;max-width:90%;white-space:normal;text-align:center}.failed #loading,.failed .speech,.failed .explorer,.failed .look-controls{display:none}.failed .intro{opacity:1;transform:none}.overlay-open #room{pointer-events:none}#overlay{position:fixed;inset:77px 0 0;z-index:60;background:#302d2655;backdrop-filter:blur(5px);display:flex;flex-direction:column;padding:15px 30px 24px;overflow:hidden;animation:slideup .45s cubic-bezier(.16,1,.3,1)}.overlay-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;width:min(1060px,100%);margin:0 auto 14px;font:600 23px var(--hand);flex:none}.overlay-bar>span{background:var(--yellow);padding:2px 14px;transform:rotate(-1deg);border:1px solid var(--ink)}#overlay-content{width:min(1060px,100%);margin:0 auto;background:var(--paper);border:2px solid var(--ink);border-radius:5px 9px 4px 7px;box-shadow:7px 8px 0 #302d2638;overflow:auto;overscroll-behavior:contain;min-height:0;flex:1}.paper-card{position:relative;padding:clamp(24px,5vw,58px);min-height:100%;background:repeating-linear-gradient(transparent 0 31px,#3b5f800c 31px 32px)}.paper-card:before{content:'';position:absolute;top:0;left:27px;bottom:0;width:1px;background:#bc4a3829;pointer-events:none}.paper-card h2{font:700 clamp(33px,5vw,58px)/1.15 var(--hand);margin:0 0 18px}.paper-card .lede{font-size:22px;max-width:720px}.badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.badge{position:relative;border:2px solid var(--ink);border-radius:45% 48% 35% 40%;background:var(--yellow);padding:25px 15px;text-align:center;transform:rotate(-3deg);display:flex;flex-direction:column;justify-content:center;min-height:150px;box-shadow:3px 4px 0 #302d2620}.badge:nth-child(2n){background:var(--mint);transform:rotate(2deg)}.badge:nth-child(3n){background:var(--pink)}.badge b{display:block;font:700 45px var(--hand)}.badge span{font-size:17px}.card-ship{display:block;width:min(700px,100%);margin:auto}.crew-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.crew-note{background:#f7e4a7;padding:18px 22px;border:1px solid var(--ink);box-shadow:2px 3px 0 #302d2617;transform:rotate(-1deg)}.crew-note:nth-child(2n){transform:rotate(1deg);background:#e1ecd9}.crew-note h3{margin:0;font:700 27px var(--hand)}.crew-note p{margin:6px 0}.card-cat{width:220px;float:right}.facts-list{padding-left:23px}.facts-list li{margin:18px 0}.tickets{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ticket{border:1.5px solid var(--ink);border-right:8px dotted var(--ink);padding:18px 23px;background:#f6e8c2;transform:rotate(-.8deg)}.ticket:nth-child(2n){transform:rotate(.8deg);background:#dce8d9}.ticket h3{font:700 28px var(--hand);margin:0 0 6px}.ticket p{margin:4px 0;font-size:16px}.ticket-score{font:600 24px var(--hand);color:var(--red)}.social-big{display:block;padding:25px 28px;background:var(--pink);border:2px solid var(--ink);box-shadow:4px 5px var(--ink);font:700 39px var(--hand);text-decoration:none;transform:rotate(-1deg);margin:25px 0}.social-small{display:flex;flex-direction:column;gap:12px}.social-small .tiktok{color:var(--pencil);text-decoration:line-through}.wave{height:150px;display:flex;justify-content:center;align-items:center;gap:9px;margin:30px 0}.wave i{display:block;width:12px;height:var(--h);border-radius:9px;background:var(--red);transform-origin:center;animation:beat .8s ease-in-out infinite alternate;animation-delay:var(--d)}.wave.paused i{animation-play-state:paused}.beatbox-bubble{font:700 38px var(--hand);text-align:center;background:var(--yellow);padding:20px;border-radius:50%;border:2px solid var(--ink)}.row-anim .rower,.row-anim .oar{animation:row .45s alternate infinite;transform-box:fill-box;transform-origin:center}.poster-view{height:100%;display:flex;align-items:center;justify-content:center;background:var(--cream);padding:15px}.poster-view canvas{width:100%;height:auto;max-height:100%;object-fit:contain}.nairios{height:100%;display:flex;flex-direction:column;background:#ded9bd}.os-bar{display:flex;align-items:center;gap:15px;padding:10px 19px;border-bottom:1.5px solid var(--ink);background:var(--yellow);font:500 13px var(--mono)}.os-bar b{font-weight:700}.os-clock{margin-left:auto}.os-home{border:1px solid var(--ink);background:var(--paper);padding:4px 10px;border-radius:3px;font-size:12px}.os-grid{padding:25px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:17px;align-content:start;overflow:auto;flex:1;background:radial-gradient(ellipse at center,#f5efd8,transparent 70%),repeating-linear-gradient(0deg,transparent 0 31px,#302d2609 31px 32px)}.os-icon{background:transparent;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font:12px/1.4 var(--mono);padding:8px 0;border-radius:5px;min-width:0;word-break:break-word}.os-icon:hover{background:#fdf8ea77}.os-icon .icon-tile{width:57px;height:57px;border-radius:12px 7px 13px 8px;border:1.5px solid var(--ink);background:var(--c);box-shadow:3px 4px 0 #302d2633;display:grid;place-items:center}.icon-tile svg{width:30px;height:30px}.os-note{padding:12px 25px;font:19px var(--hand);margin:0;border-top:1px dashed #302d2655}.os-app{flex:1;min-height:0;overflow:auto;padding:28px;background:var(--paper);font:14px/1.6 var(--mono);container-type:inline-size}.os-app h1,.os-app h2{font-family:var(--hand)}.os-app .app-head h2{font-size:42px}.os-app .about h1{font-size:39px}.os-app .about-photo img{width:100%;max-width:240px}.os-app .about-photo{margin:0}.os-app .about{grid-template-columns:200px 1fr}.os-app .stat-value{color:var(--ink)}.os-app .proc-head,.os-app .proc-top{color:var(--ink)}.os-app .proc{overflow-x:auto}.os-app .proc-row{min-width:570px}.os-app .trash-name{color:var(--ink)}.os-app .term{height:100%;min-height:270px;display:flex;flex-direction:column;background:#292c28;color:#f8f1df;border-radius:5px;border:2px solid var(--ink);--mint:#b1dfbf;--muted:#c1bba9;--dim:#a9ad9e;--amber:#f7d968;--line:#686a5d}.term-out{flex:1;min-height:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;font:13px/1.7 var(--mono)}.term-inputline{display:flex;padding:13px 15px;gap:9px;border-top:1px solid #ffffff30}.term-prompt{white-space:nowrap;font-size:12px;color:#b1dfbf}.term-in{min-width:0;width:100%;background:transparent;border:0;color:#fdf8ea;font:13px var(--mono);outline:none}.term-keys{display:flex;gap:8px;padding:8px 15px}.term-keys button{background:#464a40;color:#f8f1df;border-radius:4px;padding:5px 12px;font:12px var(--mono)}.term-help .hk{display:grid;grid-template-columns:140px 1fr;gap:10px}.term-help code{color:#f7d968}.term .ok{color:#b1dfbf}.term .err{color:#f2b4a2}.term .dim{color:#c7c5b5}.term-line-out{margin:4px 0}.protocol-row{display:grid;grid-template-columns:1fr auto;gap:5px 15px;padding:20px 0;border-bottom:1px solid var(--line)}.protocol-row h3{margin:0;font-size:16px}.protocol-row p{margin:4px 0;color:var(--muted);font-size:13px}.toggle{width:44px;height:25px;border-radius:20px;background:var(--mint);border:1px solid var(--ink);position:relative;display:inline-block;vertical-align:middle;margin-left:12px}.toggle:after{content:'';position:absolute;width:17px;height:17px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);right:3px;top:3px}.toggle.off{background:#d7d2c6}.toggle.off:after{left:3px;right:auto}.fortune{max-width:700px;margin:20px auto;text-align:center}.fortune-mark{font-size:70px}.fortune blockquote{font:600 32px/1.4 var(--hand);margin:15px 0}.fortune cite{display:block;margin:15px 0 35px;font-style:normal}.os-app .tracklist{margin-top:20px}.restore-confirm{padding:20px;border:2px dashed var(--red);background:#f3cbc355}.sleep-card{position:absolute;inset:0;background:var(--ink);color:var(--paper);display:grid;place-content:center;text-align:center;padding:35px;z-index:5}.sleep-card p{font:32px var(--hand)}
@keyframes slap{0%{scale:0;rotate:-15deg}65%{scale:1.15 .85;rotate:4deg}100%{scale:1;rotate:0deg}}@keyframes slideup{from{transform:translateY(70px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes beat{from{transform:scaleY(.45)}to{transform:scaleY(1)}}@keyframes row{from{transform:rotate(-4deg)}to{transform:rotate(5deg)}}
@media(max-width:700px){.topbar{height:65px;padding:12px 16px;gap:8px}.top-name{display:none}.top-actions{gap:10px}.sticker{padding:7px 10px;font-size:14px}.topbar .instagram{font-size:14px}.intro{top:25%;left:8%;max-width:84%}.intro h1{font-size:68px}.intro .little-star{left:auto;right:0;top:-40px}.intro p{font-size:19px}.intro .room-line{font-size:17px}.speech{top:90px;right:22px;width:180px;padding:13px 19px;border-radius:22% 45% 35% 20%}.speech p{font-size:16px}.speech-star{font-size:30px;top:-22px}.speech-arrow{bottom:-30px;font-size:35px}.explorer{bottom:max(18px,env(safe-area-inset-bottom));padding:10px 12px;width:calc(100% - 30px)}.explorer-head{font-size:13px;flex-wrap:wrap;gap:3px;margin-bottom:7px}.drag-hint{font-size:14px}.rotation{display:none}.object-index{gap:4px}.object-index button{height:37px;width:34px;font-size:21px}.look-controls{bottom:125px;left:16px;gap:8px}.look-controls button{width:36px;height:34px;font-size:20px}.hotspot{font-size:14px;padding:5px 9px}.hotspot:before{font-size:17px;margin-right:5px}#overlay{inset:65px 0 0;padding:12px 10px 16px}.overlay-bar{font-size:18px;gap:7px}.overlay-bar>span{padding:3px 8px;max-width:44%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#close-overlay{padding:7px 8px;font-size:12px;gap:6px}.paper-card{padding:25px 22px}.paper-card:before{left:12px}.paper-card h2{font-size:36px}.paper-card .lede{font-size:18px}.badges{grid-template-columns:1fr 1fr;gap:15px}.badge{padding:17px 10px;min-height:140px}.badge b{font-size:32px}.badge span{font-size:14px}.crew-list,.tickets{grid-template-columns:1fr}.card-cat{float:none;margin:auto;display:block;width:150px}.os-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 12px}.os-note{font-size:16px;padding:12px 18px}.os-bar{padding:10px 12px;gap:8px;font-size:11px}.os-app{padding:15px;font-size:12px}.os-app .about{display:block}.os-app .about-photo{width:150px;margin-bottom:15px}.os-app .about h1{font-size:32px}.os-app .stat-grid{grid-template-columns:1fr 1fr}.os-app .lumi-stats{grid-template-columns:1fr 1fr}.os-app .teach-grid{grid-template-columns:1fr}.os-app .term{min-height:0;height:100%}.term-out{font-size:11px;padding:12px}.term-inputline{padding:12px 9px;gap:5px}.term-prompt{font-size:10px}.term-in{font-size:12px}.term-help .hk{grid-template-columns:105px 1fr;gap:7px}.protocol-row{grid-template-columns:1fr}.protocol-row>span{font-size:11px}.fortune blockquote{font-size:27px}.social-big{font-size:31px;padding:20px}.loading{font-size:19px}.wave{gap:6px}.wave i{width:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.intro{transition:none}}
.term-send{background:#f7d968;color:#292c28;padding:4px 8px;border-radius:3px;font:11px var(--mono)}.os-app .stat{background:#f2e5be}.os-app .about-hero{color:var(--ink)}.os-app .about-joke{color:var(--muted)}.os-app .show-table{min-width:570px}.os-app .table-scroll{overflow:auto}.card-cat svg{width:100%;height:auto}.card-ship svg{width:100%;height:auto}.os-app .about-photo img{border-radius:4px}.os-app .feature-list{padding:0}.os-app .term-rows .trow{display:flex;gap:10px;flex-wrap:wrap}.os-app .term-rows .trow em{font-style:normal}.os-app .term-help{margin-bottom:12px}.os-icon .icon-tile{flex:none}.overlay-open .grain{opacity:.1}

/* Give the computer the whole available desktop; keep the paper cards narrower. */
#overlay[data-mode="computer"]{background:#bbc1a8;padding:10px 18px 18px}
#overlay[data-mode="computer"] #overlay-content,#overlay[data-mode="computer"] .overlay-bar{width:100%;max-width:none}
@media(max-width:700px){.speech{top:86px;right:20px;width:220px;padding:13px 18px}.speech p{font-size:13px;line-height:1.25}.speech-arrow{bottom:-26px}.look-controls{bottom:170px}#overlay[data-mode="computer"]{padding:12px 10px 16px}.explorer-head{align-items:baseline}.drag-hint{line-height:1.45}}

.os-app .about-role{color:#28705f}

/* Critique pass: one ink vocabulary, a quieter first view, and touch-sized controls. */
.speech{opacity:0}
.speech.show-bubble:not(.quiet){opacity:1}
.object-index svg{display:block;width:27px;height:27px}
.fortune-mark{display:inline-flex;align-items:center;justify-content:center;width:80px;height:76px;font-size:inherit}
.fortune-mark svg{width:100%;height:100%}
.has-looked .drag-hint,.has-looked .rotation{display:none}
.protocol-row .protocol-rebound{grid-column:1/-1;margin:6px 0 0;color:var(--red);font:19px/1.4 var(--hand)}
.protocol-setting{white-space:nowrap}
.poster-view{display:flex;flex-direction:column;height:100%;padding:0;gap:0;background:var(--paper)}
.poster-stage{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;width:100%;overflow:hidden;padding:10px}
.poster-stage canvas{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;cursor:pointer}
.stage-chips{display:flex;flex:none;justify-content:center;gap:10px;padding:12px 16px;border-top:1px dashed var(--line);width:100%;background:var(--paper)}
.stage-chips button{min-width:58px;min-height:40px;padding:5px 13px;border:1.5px solid var(--ink);border-radius:6px 10px 5px 8px;background:var(--cream);font:18px var(--body);box-shadow:1px 2px 0 #302d2620}
.stage-chips button[aria-pressed="true"]{background:var(--yellow);transform:rotate(-2deg);box-shadow:2px 3px 0 var(--ink)}
.ship-wiggle>svg{transform-origin:center 70%;animation:ship-wiggle .65s ease-in-out 4}
@keyframes ship-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-1.72deg)}75%{transform:rotate(1.72deg)}}
@media(max-width:700px){
 .explorer{width:calc(100% - 16px);padding:10px 7px}
 .explorer-head{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;min-height:18px;margin-bottom:8px;padding:0 3px;font-size:12px}
 .drag-hint{font-size:12px;line-height:1.3;text-align:right;white-space:nowrap}
 .object-index{display:grid;grid-template-columns:repeat(8,minmax(40px,1fr));gap:2px;overflow-x:auto;padding:2px 0}
 .object-index button{width:100%;min-width:40px;height:40px;min-height:40px}
 .object-index svg{width:26px;height:26px}
 .look-controls{bottom:132px}
 .look-controls button{width:40px;height:40px}
 .poster-stage{padding:0}
 .poster-view{height:auto}
 #overlay[data-mode="morph"] #overlay-content{flex:0 1 auto}
 .poster-stage{flex:none}
 .poster-stage canvas{width:100%;height:auto;max-width:100%}
 .stage-chips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:10px 6px}
 .stage-chips button{min-width:0;min-height:40px;padding:5px 1px;font-size:12px}
 .protocol-setting{white-space:normal}
}
.look-controls{opacity:0;pointer-events:none}
.ready .look-controls{opacity:1;pointer-events:auto}
