:root{--ink: #151515;--paper: #fffdf6;--cream: #faeab6;--wall: #2a9d8f;--wall-b: #248b7e;--mustard: #f4c242;--blue: #2c4ae3;--blue-dark: #1f36b8;--periwinkle: #a6b4f3;--shelf: #e07b2c;--cart: #f3b51b;--green: #84ebb4;--yellow: #ffd23f;--orange: #ff7a30;--red: #e85d5d;--manila: #f0d38c;--topbar-h: 64px;--font: "Jost", system-ui, sans-serif;--mono: "Silkscreen", ui-monospace, monospace;--line: 2px solid var(--ink);--pop: 3px 3px 0 var(--ink);--pop-sm: 2px 2px 0 var(--ink);--press: transform .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease;--cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M4 3v19l5-5 4 8 4-2-4-8h7z' fill='%23fff' stroke='%23151515' stroke-width='2.2' stroke-linejoin='round'/%3E%3C/svg%3E") 4 3, auto;--cursor-hot: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M4 3v19l5-5 4 8 4-2-4-8h7z' fill='%23ffd23f' stroke='%23151515' stroke-width='2.2' stroke-linejoin='round'/%3E%3C/svg%3E") 4 3, pointer}html{cursor:var(--cursor)}a,button,.cart,label{cursor:var(--cursor-hot)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-weight:500;color:var(--ink);background:var(--wall)}img,svg{display:block}a{color:inherit}button{font:inherit;color:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--paper);border:var(--line);border-radius:6px;padding:8px 12px;font-weight:700}.skip:focus{top:12px}.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;font-family:var(--font);font-weight:700;font-size:15px;letter-spacing:.8px;text-transform:uppercase;text-decoration:none;background:#fff;color:var(--ink);border:var(--line);border-radius:6px;box-shadow:var(--pop);transition:var(--press);white-space:nowrap}.btn:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}@media(hover:hover){.btn:hover{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}}.btn-green{background:var(--green)}.btn-yellow{background:var(--yellow)}.btn.is-current{background:#c9d4ff;cursor:var(--cursor)}.btn.is-current:hover,.btn.is-current:active{transform:none;box-shadow:var(--pop)}.topbar{position:fixed;inset:0 0 auto 0;z-index:30;height:var(--topbar-h);display:flex;align-items:center;gap:14px;padding:0 22px;background:#fff;border-bottom:3px solid var(--ink)}.crumbs{display:flex;gap:10px;align-items:center}.hint{position:relative;margin-left:14px;padding:6px 14px;font-size:15px;font-weight:600;background:#fff4c2;border:var(--line);border-radius:6px}.hint:empty{display:none}.hint:before{content:"";position:absolute;left:-8px;top:50%;width:12px;height:12px;background:#fff4c2;border-left:var(--line);border-bottom:var(--line);transform:translateY(-50%) rotate(45deg)}.actions{margin-left:auto;display:flex;gap:12px}.grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;opacity:.4;background-size:220px 220px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='d' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .17 0 0 0 0 .17 0 0 0 0 .16 .7 0 0 0 -.17'/%3E%3C/filter%3E%3Cfilter id='l' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' seed='9' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 .96 0 0 0 1.5 -.95'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23d)'/%3E%3Crect width='100%25' height='100%25' filter='url(%23l)'/%3E%3C/svg%3E")}.view-desk{position:fixed;inset:var(--topbar-h) 0 0 0;overflow:hidden;background:var(--wall)}.stage-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.stage{position:absolute;left:0;top:0;width:1600px;height:1000px;transform-origin:0 0}.scene-art{position:absolute;left:0;top:0;width:1600px;height:1000px;overflow:visible}.mobile-intro{display:none}.twinkle{animation:twinkle 3.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.led{animation:led 2.4s steps(1) infinite}@keyframes twinkle{50%{opacity:.35;transform:scale(.7)}}@keyframes led{90%{opacity:.35}}.crt-screen{position:absolute;border-radius:20px;overflow:hidden;background:#0f8a7e}.crt-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;background:linear-gradient(125deg,rgba(255,255,255,.1) 0 16%,transparent 16% 100%),radial-gradient(130% 110% at 50% 50%,transparent 70%,rgba(0,0,0,.22) 100%);border-radius:inherit}.desktop{position:relative;height:100%;display:flex;flex-direction:column;padding:14px 14px 0;background:#0f8a7e}.boot{display:none}.booting .boot{display:grid;place-items:center;position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:#0f8a7e;animation:boot 1.9s ease forwards}.boot-card{padding:16px 24px 20px;text-align:center;background:var(--paper);border:3px solid var(--ink);border-radius:6px;box-shadow:5px 5px 0 var(--ink)}.boot-title{font-size:26px;font-weight:800;letter-spacing:3px;text-transform:uppercase}.boot-title .dots{display:inline-block;width:3ch;overflow:hidden;vertical-align:bottom;text-align:left;color:var(--red);animation:dots .6s steps(4) infinite}.boot-sub{margin-top:2px;font-size:14px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#c2581c}.boot-bar{width:300px;height:26px;margin-top:14px;padding:3px;border:3px solid var(--ink);border-radius:5px;background:#fff}.boot-bar i{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,var(--ink) 0 11px,transparent 11px 17px);animation:fill 1.3s steps(17) forwards}@keyframes boot{0%,85%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes dots{0%{width:0}to{width:4ch}}@keyframes fill{to{width:100%}}.win{background:var(--paper);border:3px solid var(--ink);border-radius:6px;overflow:hidden}.win-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 8px 5px 12px;background:var(--mustard);border-bottom:3px solid var(--ink);position:relative;z-index:5}.win-bar h1,.win-bar h2{font-size:15px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.os{flex:1;min-height:0;display:flex;flex-direction:column}.os-body{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:150px 1fr}.os-side{background:var(--cream);border-right:3px solid var(--ink);padding:8px 0}.os-side-title{font-size:15px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;margin:0 12px 8px}.os-side ul,.shelf{list-style:none;margin:0;padding:0}.os-side ul{display:flex;flex-direction:column;gap:9px;padding:0 12px 0 10px}.lib{width:100%;display:flex;justify-content:space-between;align-items:center;gap:6px;padding:5px 6px 5px 10px;font-size:14px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;text-align:left;color:var(--blue);background:#fff;border:var(--line);border-radius:6px;box-shadow:var(--pop-sm);transition:var(--press)}.lib b{min-width:24px;height:20px;padding:0 5px;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--ink);background:#fff;border:var(--line);border-radius:5px;transition:background-color .16s ease}.lib.on{background:var(--blue);color:#fff}.lib.on b{background:var(--yellow)}.lib:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}@media(hover:hover){.lib:not(.on):hover{background:var(--yellow);transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}}.os-main{min-height:0;display:flex;flex-direction:column;background:var(--periwinkle)}.chips{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px 6px}.chip{padding:1px 13px;font-size:14px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;background:#fff;border:var(--line);border-radius:999px;box-shadow:var(--pop-sm);transition:var(--press)}.chip.on{background:var(--blue);color:#fff}.chip:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}@media(hover:hover){.chip:not(.on):hover{background:var(--yellow);transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}}.shelves{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--orange) transparent}.shelves::-webkit-scrollbar{width:8px}.shelves::-webkit-scrollbar-thumb{background:var(--orange);border:1.5px solid var(--ink);border-radius:4px}.shelf{display:grid;grid-template-columns:repeat(var(--per-row, 3),minmax(0,1fr));column-gap:24px;padding:12px 22px 0}.shelf:after{content:"";grid-column:1 / -1;height:14px;margin:0 -22px;background:var(--shelf);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}.cart{position:relative;display:block;aspect-ratio:100 / 124;text-decoration:none;transform-origin:50% 100%;transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.cart-shell{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;transition:filter .28s ease}.cart-depth{fill:var(--ink)}.cart-body{fill:var(--cart);stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cart-side{fill:#00000021}.cart-grip{stroke:#00000059;stroke-width:1.5;stroke-linecap:round;vector-effect:non-scaling-stroke}.cart-tab{fill:var(--ink)}a.cart.is-active,a.cart:focus-visible{transform:translateY(-12px) rotate(-4deg)}a.cart.is-active .cart-shell,a.cart:focus-visible .cart-shell{filter:drop-shadow(4px 6px 0 rgba(0,0,0,.3))}a.cart:active{transform:translateY(-4px) rotate(-1deg);transition-duration:.1s}@media(hover:hover){a.cart:hover{transform:translateY(-12px) rotate(-4deg)}a.cart:hover .cart-shell{filter:drop-shadow(4px 6px 0 rgba(0,0,0,.3))}}.cart-top{position:absolute;top:2.4%;left:12%;width:64%;height:13.7%;display:grid;place-items:center;font-size:8px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#fff}.cart-cover{position:absolute;left:9%;right:15%;top:21%;bottom:12%;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 1px 1px,rgba(0,0,0,.16) 1.2px,transparent 1.6px) 0 0 / 9px 9px,var(--disk);border:var(--line);border-radius:3px}.cart-cover svg{width:52%;height:auto;margin-bottom:18%}.cart-name{position:absolute;left:0;right:0;bottom:0;padding:2px 0 1px;font-size:11px;font-weight:700;letter-spacing:.8px;text-align:center;text-transform:uppercase;color:#fff;background:var(--ink)}.cart-sticker{position:absolute;right:9%;bottom:22%;width:17%;aspect-ratio:1;border:var(--line);border-radius:50%;transform:rotate(-12deg);box-shadow:inset 2px 2px #ffffff8c}.sticker-shipped{background:#3fbf6a}.sticker-in-dev{background:var(--orange)}.sticker-research{background:#4f7bff}.cart-soon .cart-cover{background:radial-gradient(circle at 1px 1px,rgba(0,0,0,.18) 1.2px,transparent 1.6px) 0 0 / 9px 9px,#9a5426}.cart-soon .cart-name{bottom:38%;background:none;font-size:13px;font-weight:800;text-shadow:1px 1px 0 var(--ink)}.peek{position:absolute;z-index:3;top:6px;right:6px;width:288px;max-height:calc(100% - 12px);overflow:hidden;padding:12px;background:#fff;border:3px solid var(--ink);border-radius:10px;box-shadow:5px 5px 0 var(--ink);font-size:13.5px;line-height:1.4;transform-origin:0 20%;animation:peek-in .2s cubic-bezier(.34,1.4,.64,1)}.peek.left{right:auto;left:6px;transform-origin:100% 20%}@keyframes peek-in{0%{opacity:0;transform:translateY(6px) scale(.96)}}.peek-head{display:flex;gap:10px;align-items:center}.peek-icon{display:grid;place-items:center;width:46px;height:46px;flex:none;background:var(--disk);border:var(--line);border-radius:8px}.peek h2{font-size:19px;font-weight:800;line-height:1.1}.peek-head p{font-size:13px;color:#555}.peek-sum{margin-top:10px;font-weight:500}.peek-meta{margin-top:8px;font-size:12.5px;color:#555}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.tags span{padding:0 8px;font-size:12px;font-weight:700;letter-spacing:.5px;border:var(--line);border-radius:5px}.tag-shipped{background:var(--green)}.tag-in-dev{background:#ffc49b}.tag-research{background:#c9d4ff}.peek-open{display:block;margin-top:12px;padding:7px;text-align:center;text-decoration:none;font-size:16px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;background:var(--yellow);border:var(--line);border-radius:6px;box-shadow:var(--pop);transition:var(--press)}.peek-open:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}@media(hover:hover){.peek-open:hover{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}}.taskbar{display:flex;align-items:center;justify-content:space-between;height:36px;margin:10px -14px 0;padding:0 8px;background:var(--paper);border-top:3px solid var(--ink)}.start{display:inline-flex;align-items:center;gap:6px;padding:1px 12px;font-size:14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;background:var(--green);border:var(--line);border-radius:5px;box-shadow:var(--pop-sm)}.tray{padding:1px 10px;font-size:14px;font-weight:600;border:var(--line);border-radius:5px;background:#fff;box-shadow:var(--pop-sm)}.phone-lcd{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#1d3b12;border-radius:6px}.lcd-bars{position:absolute;left:8px;top:7px;display:flex;gap:2px;align-items:flex-end}.lcd-bars i{width:4px;background:#1d3b12}.lcd-bars i:nth-child(1){height:5px}.lcd-bars i:nth-child(2){height:8px}.lcd-bars i:nth-child(3){height:11px}.lcd-title{font-size:18px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;margin-top:6px}.lcd-sub{font-size:12px;font-weight:500}.lcd-boot{display:none}.phone-lcd.booting .lcd-boot{display:block;position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:15px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:#a7d56b;border-radius:6px;animation:boot 1.9s ease forwards}.phone-lcd.booting .lcd-bars i{animation:bars 1.9s steps(1) forwards}.phone-lcd.booting .lcd-bars i:nth-child(2){animation-name:bars2}.phone-lcd.booting .lcd-bars i:nth-child(3){animation-name:bars3}@keyframes bars{0%,40%{opacity:.15}41%{opacity:1}}@keyframes bars2{0%,60%{opacity:.15}61%{opacity:1}}@keyframes bars3{0%,80%{opacity:.15}81%{opacity:1}}.phone-keys{position:absolute;display:flex;flex-direction:column;gap:12px}.pkey{flex:1;display:grid;place-items:center;font-size:15px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-decoration:none;color:#fff;background:#4d68ee;border:var(--line);border-radius:8px;box-shadow:var(--pop);transition:var(--press)}.pkey:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink);background:#1236e0}@media(hover:hover){.pkey:hover{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink);background:#1236e0}}.win-ctrls{display:flex;gap:5px}.wc{position:relative;width:20px;height:20px;padding:0;display:grid;place-items:center;color:var(--ink);background:var(--mustard);border:var(--line);border-radius:4px;box-shadow:1.5px 1.5px 0 var(--ink);transition:var(--press)}.wc svg{width:12px;height:12px}.wc-max{background:#fff}.wc-close{background:var(--red);color:#fff}.wc:active{transform:translate(1.5px,1.5px);box-shadow:0 0 0 var(--ink)}@media(hover:hover){.wc:hover{transform:translate(1.5px,1.5px);box-shadow:0 0 0 var(--ink);background:var(--yellow);color:var(--ink)}.wc-close:hover{background:#d43c3c;color:#fff}}[data-tip]:after{content:attr(data-tip);position:absolute;z-index:8;top:calc(100% + 9px);left:50%;padding:4px 11px;font:600 14px/1.2 var(--font);letter-spacing:.2px;text-transform:none;white-space:nowrap;color:#fff;background:#1d2333;border-radius:7px;box-shadow:2px 2px #00000059;opacity:0;pointer-events:none;transform:translate(-50%,-4px);transition:opacity .15s ease,transform .15s ease}.wc-close[data-tip]:after{left:auto;right:-4px;transform:translateY(-4px)}@media(hover:hover){[data-tip]:hover:after{opacity:1;transform:translate(-50%)}.wc-close[data-tip]:hover:after{transform:translate(0)}}[data-tip]:focus-visible:after{opacity:1;transform:translate(-50%)}.wc-close[data-tip]:focus-visible:after{transform:translate(0)}.desk-icons{flex:1;list-style:none;margin:0;padding:4px;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;gap:10px}.dicon{width:96px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:14px;font-weight:600;text-decoration:none;color:#fff;text-shadow:1px 1px 0 var(--ink);background:none;border:2px solid transparent;border-radius:6px;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.dicon svg{width:44px;height:44px;filter:drop-shadow(2px 2px 0 rgba(0,0,0,.35))}.dicon:active{transform:translateY(1px)}@media(hover:hover){.dicon:hover{background:#ffffff29;border-color:#ffffff80}}.taskbar{position:relative;margin-top:auto;gap:8px}.start{cursor:var(--cursor-hot);transition:var(--press)}.start.on,.start:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.task{display:inline-flex;align-items:center;gap:6px;margin-right:auto;padding:1px 12px;font-size:13px;font-weight:700;letter-spacing:.4px;background:#fff;border:var(--line);border-radius:5px;box-shadow:var(--pop-sm);transition:var(--press)}.task.on{background:#c9d4ff;transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.task:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.taskbar .start+.tray{margin-left:auto}@media(hover:hover){.start:hover,.task:hover{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.task:not(.on):hover{background:var(--yellow)}}.start-menu{position:absolute;left:6px;bottom:calc(100% + 6px);z-index:7;width:230px;display:flex;flex-direction:column;padding:0 0 6px;background:var(--paper);border:3px solid var(--ink);border-radius:6px;box-shadow:4px 4px 0 var(--ink);overflow:hidden;transform-origin:0 100%;animation:menu-in .18s cubic-bezier(.34,1.4,.64,1)}.start-menu[hidden]{display:none}.start-brand{margin-bottom:6px;padding:6px 12px;font-size:14px;font-weight:800;letter-spacing:2px;background:var(--mustard);border-bottom:3px solid var(--ink)}.start-menu button,.start-menu a{display:flex;align-items:center;gap:10px;margin:0 6px;padding:6px 8px;font-size:15px;font-weight:600;text-align:left;text-decoration:none;background:none;border:0;border-radius:5px;transition:background-color .14s ease,color .14s ease}.start-menu svg{width:22px;height:22px;flex:none}.start-menu button:hover,.start-menu a:hover,.start-menu button:focus-visible,.start-menu a:focus-visible{background:var(--blue);color:#fff}.start-menu hr{width:calc(100% - 20px);margin:4px 10px;border:0;border-top:2px dashed #cfc6b0}@keyframes menu-in{0%{opacity:0;transform:scale(.9) translateY(6px)}}.os.anim-open{animation:win-open .22s cubic-bezier(.34,1.3,.64,1)}.os.anim-restore{transform-origin:0 100%;animation:win-restore .28s cubic-bezier(.34,1.3,.64,1)}.os.anim-min{transform-origin:0 100%;animation:win-min .18s ease-in forwards}.os.anim-close{animation:win-close .18s ease-in forwards}@keyframes win-open{0%{opacity:0;transform:scale(.9)}}@keyframes win-restore{0%{opacity:0;transform:scale(.15)}}@keyframes win-min{to{opacity:0;transform:scale(.15)}}@keyframes win-close{to{opacity:0;transform:scale(.92)}}html.lock{overflow:hidden}.max-layer{position:fixed;inset:var(--topbar-h) 0 0 0;z-index:40;display:grid;place-items:center;padding:28px;background:#0e162c8c;animation:fade-in .2s ease}.max-layer .os{width:min(1180px,100%);height:min(780px,100%);box-shadow:10px 10px 0 var(--ink);animation:max-in .3s cubic-bezier(.34,1.3,.64,1)}.os-max .win-bar{padding:7px 10px 7px 16px}.os-max .win-bar h2{font-size:18px}.os-max .os-body{grid-template-columns:220px 1fr}.os-max .os-side-title{font-size:17px;margin:4px 16px 12px}.os-max .os-side ul{gap:12px;padding:0 16px 0 14px}.os-max .lib{font-size:16px;padding:7px 8px 7px 12px}.os-max .chips{padding:16px 22px 8px;gap:10px}.os-max .chip{font-size:16px;padding:2px 16px}.os-max .shelf{padding:16px 34px 0;column-gap:34px}.os-max .shelf:after{margin:0 -34px;height:18px}.os-max .cart-top{font-size:11px}.os-max .cart-name{font-size:14px;padding:3px 0 2px}.os-max .peek{width:340px;font-size:15px;padding:16px}.os-max .peek h2{font-size:22px}@keyframes fade-in{0%{opacity:0}}@keyframes max-in{0%{opacity:0;transform:scale(.55)}}.power-btn{position:absolute;display:grid;place-items:center;padding:0;color:var(--ink);background:#fbf5e6;border:4px solid var(--ink);border-radius:50%;box-shadow:0 5px 0 var(--ink);transition:var(--press)}.power-btn svg{width:26px;height:26px}.power-btn:after{top:auto;bottom:calc(100% + 12px);font-size:18px}.power-btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--ink)}@media(hover:hover){.power-btn:hover{transform:translateY(4px);box-shadow:0 1px 0 var(--ink);background:#fff}}.stage.is-off .power-btn{color:#c03b3b}.stage.is-off .led{fill:#4a4a4a;animation:none}.screen-off{height:100%;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#10140f,#030403 70%)}.screen-off button{padding:8px 14px;font-size:15px;font-weight:600;letter-spacing:1px;color:#4c5a4c;background:none;border:0;transition:color .2s ease}.screen-off button:hover,.screen-off button:focus-visible{color:#8dfc8d}.crt-screen.powering-off{background:#030403}.crt-screen.powering-off .desktop{animation:crt-off .5s ease-in forwards}.desktop.anim-power-on{animation:crt-on .5s ease-out}@keyframes crt-off{0%{transform:scale(1);filter:brightness(1)}55%{transform:scaleY(.008);filter:brightness(3)}to{transform:scale(0,.008);filter:brightness(5)}}@keyframes crt-on{0%{transform:scale(0,.008);filter:brightness(5)}40%{transform:scaleY(.008);filter:brightness(3)}to{transform:scale(1);filter:brightness(1)}}.cat-move,.cat-sleep,.cat-walk,.cat-zzz,.cat-alert{animation-duration:16s;animation-iteration-count:infinite}.cat-move{animation-name:cat-move}.cat-sleep{animation-name:cat-sleep;transform-box:fill-box;transform-origin:50% 50%}.cat-walk{opacity:0;animation-name:cat-walk}.cat-zzz{animation-name:cat-zzz}.cat-alert{opacity:0;animation-name:cat-alert}.cat-breathe{transform-box:fill-box;transform-origin:50% 100%;animation:breathe 2.6s ease-in-out infinite alternate}.cat-leg{transform-box:fill-box;transform-origin:50% 0;animation:step .5s ease-in-out infinite alternate}.cat-leg.b{animation-delay:-.5s}.cat-bob{animation:bob .25s ease-in-out infinite alternate}.cat-tail{transform-box:fill-box;transform-origin:100% 100%;animation:tail 1s ease-in-out infinite alternate}.cat-zzz .z{animation:zfloat 3s ease-out infinite}.cat-zzz .z:nth-child(2){animation-delay:1s}.cat-zzz .z:nth-child(3){animation-delay:2s}@keyframes cat-move{0%,44%{transform:translate(0);animation-timing-function:cubic-bezier(.55,0,1,.45)}56%{transform:translate(8px,330px)}56.3%{transform:translate(-150px)}61%{transform:translate(-150px);animation-timing-function:linear}86%,to{transform:translate(0)}}@keyframes cat-sleep{0%,43%{opacity:1;transform:rotate(0)}45.5%{transform:rotate(-12deg)}47%{transform:rotate(-6deg);animation-timing-function:ease-in}56%{opacity:1;transform:rotate(160deg)}56.3%,87%{opacity:0;transform:rotate(0)}89%,to{opacity:1;transform:rotate(0)}}@keyframes cat-walk{0%,56%{opacity:0}56.3%,87%{opacity:1}89%,to{opacity:0}}@keyframes cat-zzz{0%,42%{opacity:1}44%,91%{opacity:0}94%,to{opacity:1}}@keyframes cat-alert{0%,44.5%{opacity:0;transform:translateY(4px)}45.5%,50%{opacity:1;transform:translateY(0)}51%,to{opacity:0}}@keyframes breathe{to{transform:scale(1.02,1.07)}}@keyframes step{0%{transform:rotate(24deg)}to{transform:rotate(-24deg)}}@keyframes bob{to{transform:translateY(-1.5px)}}@keyframes tail{to{transform:rotate(10deg)}}@keyframes zfloat{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}to{opacity:0;transform:translate(8px,-10px)}}.view-case,.view-resume{min-height:100vh;padding:calc(var(--topbar-h) + 44px) 24px 130px;background:repeating-linear-gradient(90deg,var(--wall) 0 40px,var(--wall-b) 40px 80px)}.view-case:focus,.view-resume:focus{outline:none}.case-top{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:36px;align-items:start}.viewer{position:sticky;top:calc(var(--topbar-h) + 24px);box-shadow:8px 8px #0000004d}.viewer-screen{aspect-ratio:4 / 3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;background:radial-gradient(circle at 1px 1px,rgba(0,0,0,.18) 1.5px,transparent 2px) 0 0 / 18px 18px,var(--disk);border-bottom:3px solid var(--ink)}.viewer-art{padding:18px;background:var(--paper);border:3px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--ink)}.viewer-name{font-size:28px;font-weight:800;margin-top:10px}.viewer-tag{font-weight:600}.viewer-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px;background:var(--cream)}.viewer-foot .btn{font-size:12px;padding:5px 10px}.viewer-count{font-size:15px;font-weight:700}.folder{position:relative;margin-top:30px;padding:18px;background:var(--manila);border:3px solid var(--ink);border-radius:0 14px 14px;box-shadow:8px 8px #0000004d}.folder-tab{position:absolute;left:-3px;top:-33px;padding:4px 18px;font-size:14px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;background:var(--manila);border:3px solid var(--ink);border-bottom:0;border-radius:10px 10px 0 0}.paper{position:relative;padding:26px 26px 18px;background:#fffdf5;border:var(--line);border-radius:4px;transform:rotate(-.4deg)}.stamp{position:absolute;right:22px;top:22px;padding:5px 12px;font-size:18px;font-weight:800;letter-spacing:1px;text-transform:uppercase;border:4px double currentColor;border-radius:6px;transform:rotate(-9deg);opacity:.85}.stamp-shipped{color:#2d8a3e}.stamp-in-dev{color:#d4561e}.stamp-research{color:var(--blue)}.field{padding:8px 0;border-bottom:2px dashed #cfc6b0}.field>span{display:block;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#8a816c}.field h1{font-size:clamp(28px,3vw,38px);font-weight:800;line-height:1.1;padding-right:150px}.field b{font-size:17px;font-weight:600}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checks{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;margin-top:16px}.label{font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--blue);margin-bottom:6px}.check{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;letter-spacing:.5px;text-transform:uppercase;margin:4px 0;color:#9a917c}.check:before{content:"";width:16px;height:16px;flex:none;border:2px solid currentColor;border-radius:3px}.check.on{color:var(--ink)}.check.on:before{content:"✓";display:grid;place-items:center;font-size:12px;color:#fff;background:var(--ink);border-color:var(--ink)}.stack{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.stack li{padding:1px 8px;font-size:13px;font-weight:600;background:#fff;border:var(--line);border-radius:5px;box-shadow:var(--pop-sm);transition:background-color .16s ease}.about{margin-top:18px;padding:14px 16px;background:#eef2ff;border:var(--line);border-radius:6px;line-height:1.55}.links{margin-top:12px}.public{margin-top:16px;text-align:center;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#8a816c}.section-title{display:inline-block;font-size:clamp(26px,3.2vw,36px);font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--paper);text-shadow:3px 3px 0 var(--ink);border-bottom:5px solid var(--orange);padding-bottom:4px}.overview{max-width:1180px;margin:72px auto 0}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:22px}.metric{display:flex;flex-direction:column;gap:6px;padding:20px 20px 18px;border:3px solid var(--ink);border-radius:10px;box-shadow:5px 5px 0 var(--ink);transition:var(--press)}.metric b{font-size:clamp(30px,3.4vw,42px);font-weight:800;line-height:1}.metric span{font-weight:600;text-transform:uppercase;font-size:14px;letter-spacing:.6px}.m0{background:var(--yellow)}.m1{background:#fffdf5}.m2{background:#9ab3ff}.story{margin:80px -24px 0;padding:56px 24px 64px;background:var(--blue);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);text-align:center}.story-paper{max-width:780px;margin:28px auto 0;padding:10px 36px;text-align:left;background:#fffdf5;border:3px solid var(--ink);border-radius:10px;box-shadow:8px 8px 0 var(--ink)}.chapter{padding:26px 0;border-bottom:2px dashed #cfc6b0}.chapter:last-child{border-bottom:0}.chapter-no{font-size:13px;font-weight:600;letter-spacing:1px;color:#8a816c}.chapter h3{margin:4px 0 10px;font-size:24px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--blue)}.chapter p:last-child{font-size:18px;line-height:1.6}.dock{position:fixed;left:50%;bottom:16px;z-index:30;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:7px 9px;background:#fff;border:3px solid var(--ink);border-radius:999px;box-shadow:var(--pop)}.dock .btn{box-shadow:var(--pop-sm);padding:5px 13px;font-size:13px}.dock .btn:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.dock-round{display:grid;place-items:center;width:38px;height:38px;font-size:20px;font-weight:700;text-decoration:none;color:#fff;background:#4d68ee;border:var(--line);border-radius:50%;box-shadow:var(--pop-sm);transition:var(--press)}.dock-round:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink);background:#1236e0}@media(hover:hover){.dock .btn:hover{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.dock-round:hover{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink);background:#1236e0}.metric:hover{transform:translate(5px,5px);box-shadow:0 0 0 var(--ink)}.stack li:hover{background:var(--yellow)}}.notepad{max-width:920px;margin:0 auto;box-shadow:8px 8px #0000004d}.menubar{display:flex;gap:18px;padding:4px 12px;font-size:15px;font-weight:500;background:var(--cream);border-bottom:3px solid var(--ink)}.menubar span:first-letter{text-decoration:underline}.note{padding:28px 34px 34px;background:#fff;line-height:1.55}.note-head h2{font-size:clamp(30px,4vw,42px);font-weight:800}.note-head p{font-weight:500}.note-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:6px!important}.note-links a{font-weight:700}.note h3{margin:30px 0 10px;font-size:16px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--blue)}.entry{margin-bottom:16px}.entry-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.entry-top b{font-weight:700}.entry-top span{font-size:14px;font-weight:600;color:#555}.entry-org{color:#555}.note ul{margin:6px 0 0;padding-left:20px}.note li{margin:3px 0}.skills{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0}.skills dt{font-weight:700}.skills dd{margin:0}.error-box{max-width:380px;margin:10vh auto 0}.error-body{display:flex;flex-direction:column;align-items:center;gap:14px;padding:26px}.error-icon{display:grid;place-items:center;width:44px;height:44px;color:#fff;font-weight:700;background:var(--red);border:var(--line);border-radius:50%}@media(max-width:1100px){.hint{display:none}}@media(max-width:859px){:root{--topbar-h: 58px}.topbar{gap:8px;padding:0 10px}.btn{font-size:12px;padding:6px 9px;letter-spacing:.4px}.crumbs #crumb{display:none}.actions{gap:6px}.view-desk{position:static;padding:calc(var(--topbar-h) + 24px) 16px 32px;background:repeating-linear-gradient(90deg,var(--wall) 0 40px,var(--wall-b) 40px 80px);min-height:100vh}.mobile-intro{display:block;max-width:620px;margin:0 auto 22px;color:var(--paper)}.mobile-intro .eyebrow{font-size:15px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}.mobile-name{font-size:42px;font-weight:800;line-height:1.05;text-shadow:3px 3px 0 var(--ink)}.mobile-intro p:last-child{margin-top:8px;font-size:17px;line-height:1.5}.stage-wrap,.stage{position:static;width:auto;height:auto}.stage{display:flex;flex-direction:column;gap:22px;max-width:620px;margin:0 auto;transform:none!important}.scene-art,.phone-lcd{display:none}.crt-screen{position:static!important;width:auto!important;height:auto!important;border:14px solid #efe3c4;outline:3px solid var(--ink);border-radius:22px;box-shadow:8px 8px #0000004d}.desktop{padding:10px 10px 0}.os-body{grid-template-columns:minmax(0,1fr)}.os-side{min-width:0;padding:6px;border-right:0;border-bottom:3px solid var(--ink)}.os-side-title{display:none}.os-side ul{flex-direction:row;gap:8px;overflow-x:auto;padding:2px 4px 5px 2px}.lib{flex:none;width:auto;gap:6px;padding:4px 6px 4px 9px;font-size:13px;white-space:nowrap}.shelves{overflow:visible}.shelf{column-gap:14px;padding:10px 14px 0;grid-template-columns:repeat(3,minmax(0,1fr))}.shelf:after{margin:0 -14px}.shelf:has(>.soon:first-child){display:none}.booting .boot{display:none}.taskbar{margin:10px -10px 0}.phone-keys{position:static!important;width:auto!important;height:auto!important;flex-direction:row;gap:10px;padding:14px;background:#e63946;border:3px solid var(--ink);border-radius:18px;box-shadow:8px 8px #0000004d}.pkey{padding:11px 4px;font-size:13px}.power-btn{display:none}.desktop{min-height:300px}.desk-icons{flex-direction:row}.screen-off{min-height:300px}.max-layer{padding:10px}.max-layer .os{height:100%;display:flex;flex-direction:column}.max-layer .os-body{grid-template-rows:auto minmax(0,1fr)}.max-layer .shelves{overflow-y:auto}.os-max .shelf{padding:10px 14px 0;column-gap:14px}.os-max .os-body{grid-template-columns:minmax(0,1fr)}.os-max .os-side-title{display:none}.os-max .os-side ul{gap:8px;padding:2px 4px 5px 2px}.os-max .lib{font-size:13px;padding:4px 6px 4px 9px}.os-max .chips{padding:10px 14px 6px;gap:8px}.os-max .chip{font-size:14px;padding:1px 13px}.os-max .cart-top{font-size:8px}.os-max .cart-name{font-size:11px;padding:2px 0 1px}.os-max .shelf:after{margin:0 -14px}.start-menu{width:210px}.view-case,.view-resume{padding:calc(var(--topbar-h) + 40px) 14px 110px}.case-top{grid-template-columns:1fr;gap:50px}.viewer{position:static}.paper{padding:20px 16px 16px}.stamp{position:static;display:inline-block;margin-bottom:8px;transform:rotate(-4deg)}.field h1{padding-right:0}.checks{grid-template-columns:1fr}.story{margin:64px -14px 0;padding:44px 14px}.story-paper{padding:4px 18px}.chapter p:last-child{font-size:17px}.note{padding:20px 16px}.skills{grid-template-columns:1fr}.skills dd{margin-bottom:8px}.dock{gap:5px;padding:5px 6px;bottom:10px;max-width:calc(100vw - 20px)}.dock .btn{padding:5px 8px;font-size:11px}.dock-round{width:32px;height:32px;font-size:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
