*{box-sizing:border-box}canvas{touch-action:none}html,body{color:#f2ece2;background:#10151c;height:100%;margin:0;font:12px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}#view{cursor:default;width:100vw;height:100vh;display:block}#attribution{letter-spacing:.2px;color:#ffffff9e;text-shadow:0 1px 2px #0009;pointer-events:none;font-size:10px;position:fixed;bottom:8px;left:10px}#hud{opacity:.55;flex-direction:column;align-items:flex-end;gap:6px;transition:opacity .2s;display:flex;position:fixed;top:10px;right:10px}#hud:hover{opacity:1}.panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e1218b8;border:1px solid #ffffff1f;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.panel[hidden]{display:none}.panel label{color:#fff9;text-transform:uppercase;letter-spacing:.6px;font-size:10px}select,input[type=range],button{font:inherit;color:inherit;background:#ffffff14;border:1px solid #ffffff24;border-radius:4px;padding:3px 6px}input[type=checkbox]{accent-color:#ffcf8a}button{cursor:pointer}button:hover{background:#ffffff29}#debug{white-space:pre;pointer-events:none;background:#0a0e12c7;border:1px solid #ffffff1f;border-radius:6px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;position:fixed;top:10px;left:10px}#tooltip{pointer-events:none;white-space:nowrap;background:#0a0e12d9;border:1px solid #ffffff26;border-radius:4px;padding:4px 7px;position:fixed;transform:translate(-50%,-140%)}:root{--paper:#fdf6e8;--paper-2:#f5ead4;--ink:#2b2118;--ink-soft:#6b5a48;--coral:#ff6a5e;--teal:#2ba79b;--mustard:#f2b134;--navy:#2c4a70;--forest:#3f7d52;--plum:#7a4a8c;--shadow:4px 4px 0 var(--ink);--radius:14px}.toy-card,.toy-panel{background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);font:13px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#context-card{z-index:6;width:320px;max-width:calc(100vw - 28px);padding:12px 14px 14px;position:fixed;bottom:30px;left:14px}#context-card[hidden],#search[hidden],#concierge[hidden],#search-results[hidden]{display:none}.card-head{align-items:flex-start;gap:8px;display:flex}.card-title{letter-spacing:-.2px;flex:1;margin:0;font-size:17px;font-weight:800;line-height:1.25}.card-sub{color:var(--ink-soft);margin:2px 0 0;font-size:12px}.chip-row{flex-wrap:wrap;gap:6px;margin:10px 0 0;display:flex}.chip{border:2px solid var(--ink);background:var(--paper-2);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.chip[data-tone=coral]{background:var(--coral);color:var(--paper)}.chip[data-tone=teal]{background:var(--teal);color:var(--paper)}.chip[data-tone=mustard]{background:var(--mustard)}.chip[data-tone=navy]{background:var(--navy);color:var(--paper)}.chip[data-tone=forest]{background:var(--forest);color:var(--paper)}.chip[data-tone=plum]{background:var(--plum);color:var(--paper)}.card-facts{grid-template-columns:auto 1fr;gap:3px 10px;margin:10px 0 0;font-size:12px;display:grid}.card-facts dt{color:var(--ink-soft)}.card-facts dd{margin:0;font-weight:600}.card-source{border-top:2px dotted var(--ink);color:var(--ink-soft);margin:10px 0 0;padding-top:8px;font-size:11px}.card-actions{gap:8px;margin-top:10px;display:flex}.toy-button{font:inherit;color:var(--ink);background:var(--mustard);border:2px solid var(--ink);cursor:pointer;box-shadow:2px 2px 0 var(--ink);border-radius:10px;padding:5px 11px;font-size:12px;font-weight:800;transition:transform 80ms,box-shadow 80ms}.toy-button[data-tone=teal]{background:var(--teal);color:var(--paper)}.toy-button:hover{box-shadow:1px 1px 0 var(--ink);transform:translate(1px,1px)}.toy-button:active{box-shadow:none;transform:translate(2px,2px)}.icon-button{background:var(--paper-2);border:2px solid var(--ink);cursor:pointer;width:26px;height:26px;box-shadow:none;color:var(--ink);border-radius:9px;place-items:center;padding:0;display:grid}.glyph{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}.card-history{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.history-chip{font:inherit;background:var(--paper-2);border:2px solid var(--ink);cursor:pointer;color:var(--ink);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}#sky-clock{z-index:6;pointer-events:none;padding:8px 12px 9px;position:fixed;top:14px;left:14px}.clock-time{align-items:center;gap:7px;display:flex}.clock-hm{letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1.05}.clock-period{letter-spacing:.4px;padding:1px 7px;font-size:10px}.clock-date{letter-spacing:.8px;color:var(--ink-soft);margin-top:3px;font-size:10px;font-weight:800}.clock-sky{align-items:center;gap:6px;margin-top:6px;font-size:11.5px;font-weight:700;display:flex}.sky-glyph{flex:none;width:16px;height:16px}@media (max-width:480px){#sky-clock{padding:6px 10px 7px}.clock-date{display:none}.clock-hm{font-size:21px}}#search{z-index:7;width:420px;max-width:calc(100vw - 28px);position:fixed;top:14px;left:50%;transform:translate(-50%)}#search-box{align-items:center;gap:8px;padding:8px 12px;display:flex}#search-input{font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:14px;font-weight:600}#search-input::placeholder{color:var(--ink-soft);font-weight:500}#search-hint{color:var(--ink-soft);border:2px solid var(--ink-soft);border-radius:6px;padding:0 5px;font-size:11px;font-weight:800}#search-results{max-height:46vh;margin-top:8px;padding:6px;overflow-y:auto}.result{text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--ink);background:0 0;border:2px solid #0000;border-radius:10px;align-items:center;gap:9px;padding:6px 8px;font-size:13px;display:flex}.result:hover,.result[aria-selected=true]{background:var(--paper-2);border-color:var(--ink)}.result strong{font-weight:700}.result span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px;margin-left:auto;font-size:11px}#concierge{z-index:6;flex-direction:column;width:320px;max-width:calc(100vw - 28px);display:flex;position:fixed;bottom:30px;right:14px}#concierge-head{border-bottom:2px solid var(--ink);align-items:center;gap:8px;padding:9px 12px;font-weight:800;display:flex}#concierge-log{flex-direction:column;gap:8px;max-height:40vh;padding:10px 12px;display:flex;overflow-y:auto}.msg{border:2px solid var(--ink);white-space:pre-wrap;border-radius:11px;padding:7px 10px;font-size:12.5px}.msg[data-role=user]{background:var(--paper-2);align-self:flex-end;max-width:85%}.msg[data-role=assistant]{background:var(--paper);align-self:flex-start}.msg[data-role=error]{background:var(--coral);color:var(--paper)}#concierge-form{border-top:2px solid var(--ink);gap:8px;padding:9px 12px;display:flex}#concierge-input{font:inherit;border:2px solid var(--ink);background:var(--paper-2);color:var(--ink);border-radius:10px;flex:1;padding:5px 9px}#concierge-toggle{z-index:6;position:fixed;bottom:30px;right:14px}@media (max-width:640px){#context-card,#concierge{width:auto;left:14px;right:14px}#concierge{top:70px;bottom:auto}}@media (prefers-reduced-motion:reduce){.toy-button,.toy-button:hover,.toy-button:active{transition:none;transform:none}}:root{--boot-void:#050a14;--boot-deep:#0b1622;--boot-haze:#1b2938;--boot-chrome-hi:#fff;--boot-chrome-mid:#c6cad6;--boot-chrome-lo:#74788a;--boot-blue:#1f6bff;--boot-violet:#a94bf2;--boot-violet-hi:#d79bff;--boot-hot:#eef2ff;--boot-ink:#aab3c8;--boot-clear-ms:2.4s}#boot{z-index:100;background:var(--boot-void);pointer-events:auto;contain:strict;position:fixed;inset:0;overflow:hidden}#boot .boot-sky{background:radial-gradient(120% 70% at 50% 100%, #78a0be4d 0%, transparent 64%), radial-gradient(90% 55% at 50% 50%, #46698c29 0%, transparent 74%), linear-gradient(180deg, var(--boot-void) 0%, var(--boot-deep) 42%, var(--boot-haze) 78%, #24384a 100%);position:absolute;inset:0}#boot .boot-grid{perspective:260px;perspective-origin:50% 0;opacity:.62;height:62%;position:absolute;bottom:-14%;left:-60%;right:-60%;-webkit-mask-image:linear-gradient(#0000 22%,#00000059 58%,#000 100%);mask-image:linear-gradient(#0000 22%,#00000059 58%,#000 100%)}#boot .boot-grid i{transform-origin:50% 100%;background:repeating-linear-gradient(90deg,#00eaff57 0 1px,#0000 1px 72px),repeating-linear-gradient(#00eaff57 0 1px,#0000 1px 72px);animation:2.8s linear infinite boot-grid-run;display:block;position:absolute;inset:-100% 0 -60%;transform:rotateX(70deg)}@keyframes boot-grid-run{to{transform:rotateX(70deg)translateY(72px)}}#boot .boot-fog{position:absolute;inset:0}#boot .boot-fog i{will-change:transform, opacity;background-position:50%;display:block;position:absolute;inset:-55%;transform:translate(0,0)}#boot .boot-fog i:first-child,#boot .boot-fog i:nth-child(2),#boot .boot-fog i:nth-child(3),#boot .boot-fog i:nth-child(4){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.011' numOctaves='5' stitchTiles='stitch' seed='7'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.78 0 0 0 0 0.86 0 0 0 0 0.95 1.25 0 0 0 -0.42'/%3E%3C/filter%3E%3Crect width='600' height='600' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat}#boot .boot-fog i:first-child{opacity:.52;mix-blend-mode:screen;background-size:118%;animation:83s ease-in-out infinite alternate boot-drift-a;transform:scale(1.5)}#boot .boot-fog i:nth-child(2){opacity:.4;mix-blend-mode:screen;background-size:76%;animation:61s ease-in-out infinite alternate boot-drift-b;-webkit-mask-image:linear-gradient(#0000 8%,#0000008c 28%,#000 58% 100%);mask-image:linear-gradient(#0000 8%,#0000008c 28%,#000 58% 100%)}#boot .boot-fog i:nth-child(3){opacity:.3;mix-blend-mode:screen;background-size:46%;animation:44s ease-in-out infinite alternate boot-drift-c;-webkit-mask-image:linear-gradient(#0000 32%,#000 74% 100%);mask-image:linear-gradient(#0000 32%,#000 74% 100%)}#boot .boot-fog i:nth-child(4){opacity:.22;mix-blend-mode:screen;background-size:32%;animation:31s linear infinite boot-drift-d}@keyframes boot-drift-a{0%{transform:translate(-4%,1%)scale(1.5)}to{transform:translate(6%,-2%)scale(1.62)}}@keyframes boot-drift-b{0%{transform:translate(3%,2%)scale(1.04)}50%{transform:translate(-3%,-1%)scale(1.14)}to{transform:translate(-8%,1%)scale(1.08)}}@keyframes boot-drift-c{0%{transform:translate(-6%,3%)scaleX(-1)scale(1.06)}50%{transform:translate(2%,-2%)scaleX(-1)scale(1.16)}to{transform:translate(9%,2%)scaleX(-1)scale(1.1)}}@keyframes boot-drift-d{0%{transform:translate(-16%)scale(1.2)}to{transform:translate(16%,-3%)scale(1.3)}}#boot .boot-doors,#boot .boot-wisps{opacity:0;transition:opacity .9s;position:absolute;inset:0}#boot.has-doors .boot-doors{opacity:1}#boot.has-wisps .boot-wisps{opacity:.75}#boot.has-doors .boot-fog{opacity:.22;transition:opacity .9s}#boot .boot-doors i{will-change:transform;width:104%;transition:transform 2.1s cubic-bezier(.5,0,.2,1);display:block;position:absolute;top:-4%;bottom:-4%}#boot .boot-doors i:after{content:"";will-change:transform;background-repeat:no-repeat;background-size:100% 100%;position:absolute;inset:-5%}#boot .boot-doors i:first-child{left:-4%}#boot .boot-doors i:first-child:after{background-image:url(/boot/karl-door-left.webp);background-position:0;animation:26s ease-in-out infinite alternate boot-door-idle-l}#boot .boot-doors i:nth-child(2){right:-4%}#boot .boot-doors i:nth-child(2):after{background-image:url(/boot/karl-door-right.webp);background-position:100%;animation:31s ease-in-out infinite alternate boot-door-idle-r}@keyframes boot-door-idle-l{0%{transform:translate(0,0)scale(1)}to{transform:translate(-1.6%,1%)scale(1.05)}}@keyframes boot-door-idle-r{0%{transform:translate(0,0)scale(1.03)}to{transform:translate(1.8%,-1%)scale(1)}}#boot .boot-wisps i{will-change:transform, opacity;background-image:url(/boot/karl-wisp.webp);background-repeat:no-repeat;background-size:100% 100%;animation:34s linear infinite boot-wisp-blow;display:block;position:absolute;inset:-25%}#boot .boot-wisps i:nth-child(2){opacity:.55;animation:23s linear infinite boot-wisp-blow-2;transform:scaleX(-1)}@keyframes boot-wisp-blow{0%{transform:translate(-14%,2%)scale(1.1)}to{transform:translate(14%,-2%)scale(1.24)}}@keyframes boot-wisp-blow-2{0%{transform:translate(12%,-3%)scaleX(-1)scale(1.16)}to{transform:translate(-12%,3%)scaleX(-1)scale(1.3)}}#boot .boot-veil{pointer-events:none;background:radial-gradient(closest-side,#060d168c 0%,#060d1657 44%,#060d1624 70%,#0000 100%);width:min(1100px,128vw);height:min(560px,62vh);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#boot .boot-core{text-align:center;will-change:transform, opacity;width:min(560px,86vw);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#boot .boot-frame{margin-top:0;padding:0;position:relative}#boot .boot-bar{background:linear-gradient(180deg, var(--boot-chrome-hi) 0%, var(--boot-chrome-mid) 16%, var(--boot-chrome-lo) 40%, #eef0f6 54%, var(--boot-chrome-mid) 74%, #6d7183 100%);border:none;border-radius:999px;height:clamp(34px,5.4vw,48px);padding:7px;position:relative;overflow:visible;box-shadow:inset 0 1px #fffffff2,inset 0 -1px #0006,0 10px 26px #00000080,0 0 0 1px #ffffff38}#boot .boot-bar:before{content:"";z-index:0;background:radial-gradient(circle,#ffffff1c .9px,#0000 1.6px) 0 0/9px 9px,linear-gradient(#2b2f3d 0%,#171a23 60%,#0e1017 100%);border-radius:999px;position:absolute;inset:7px;box-shadow:inset 0 4px 9px #000000bf,inset 0 -1px #ffffff24}#boot .boot-fill{z-index:1;background:repeating-linear-gradient(90deg, transparent 0 44px, #ffffff29 44px 46px), linear-gradient(90deg, var(--boot-blue) 0%, #3f5df4 42%, #7b4ff2 72%, var(--boot-violet) 100%);border-radius:999px;width:0%;min-width:0;height:100%;transition:width .32s cubic-bezier(.22,.61,.36,1);display:block;position:relative;box-shadow:0 0 20px #7a5ef6bf,0 0 44px #5a78ff59,inset 0 -7px 12px #0000004d}#boot .boot-fill:before{content:"";pointer-events:none;background:linear-gradient(#ffffff9e 0%,#ffffff2e 60%,#0000 100%);border-radius:999px;height:34%;position:absolute;top:10%;left:3%;right:3%}#boot .boot-fill:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--boot-violet-hi) 70%, #fff 100%);border-radius:999px;width:14px;height:100%;position:absolute;top:0;right:0;box-shadow:0 0 14px 3px #d79bffd9}#boot .boot-scan{z-index:2;will-change:transform;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff4d 50%,#0000 100%);border-radius:999px;width:26%;animation:2.6s linear infinite boot-scan;position:absolute;top:7px;bottom:7px;left:7px}@keyframes boot-scan{0%{transform:translate(-130%)}to{transform:translate(400%)}}#boot .boot-readout{letter-spacing:.2em;color:var(--boot-ink);justify-content:space-between;align-items:baseline;gap:10px;margin-top:11px;font-size:clamp(9px,1.3vw,11px);display:flex}#boot .boot-pct{color:var(--boot-hot);text-shadow:0 0 10px #8c6effe6;font-variant-numeric:tabular-nums}#boot .boot-status:before{content:"> ";color:var(--boot-violet-hi)}#boot .boot-status{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}#boot .boot-pct{flex:none}@media (max-width:520px){#boot .boot-title{letter-spacing:.3em;text-indent:.3em}#boot .boot-sub{letter-spacing:.24em;text-indent:.24em}#boot .boot-bar{height:32px}#boot .boot-readout{letter-spacing:.12em}}#boot .boot-scanlines{opacity:.22;background:repeating-linear-gradient(#0003 0 1px,#0000 1px 4px);position:absolute;inset:0}#boot.is-clearing{pointer-events:none;opacity:0;transition:opacity .95s 1.45s}#boot.is-clearing .boot-fog i{transition:transform var(--boot-clear-ms) cubic-bezier(.3, 0, .2, 1), opacity var(--boot-clear-ms) cubic-bezier(.4, 0, .7, 1);opacity:0;animation-play-state:paused}#boot.has-doors.is-clearing .boot-doors i:first-child{transform:translate(-128%,-2%)scale(1.06)}#boot.has-doors.is-clearing .boot-doors i:nth-child(2){transform:translate(128%,-2%)scale(1.06)}#boot.has-doors.is-clearing .boot-wisps{opacity:0;transition:opacity .7s}#boot.has-doors.is-clearing{opacity:1;background:0 0;transition:none}#boot.has-doors.is-clearing .boot-fog,#boot.has-doors.is-clearing .boot-sky,#boot.has-doors.is-clearing .boot-grid,#boot.has-doors.is-clearing .boot-scanlines,#boot.has-doors.is-clearing .boot-veil{opacity:0;transition:opacity .18s}#boot.is-clearing .boot-veil{opacity:0;transition:opacity .7s}#boot.is-clearing:not(.has-doors) .boot-sky,#boot.is-clearing:not(.has-doors) .boot-grid,#boot.is-clearing .boot-scanlines{opacity:0;transition:opacity .9s .2s}#boot.is-clearing .boot-core{animation:.62s cubic-bezier(.4,0,.2,1) forwards boot-power-down}@keyframes boot-power-down{0%{opacity:1;filter:brightness();transform:translate(-50%,-50%)scale(1)}22%{opacity:1;filter:brightness(2.6);transform:translate(-50%,-50%)scale(1.035)}to{opacity:0;filter:brightness();transform:translate(-50%,-50%)scale(1.09)}}#boot.is-failed .boot-fog i,#boot.is-failed .boot-grid,#boot.is-failed .boot-scan{opacity:.12;animation-play-state:paused}#boot.is-failed .boot-bar{box-shadow:inset 0 1px #fff9,0 0 18px #ff6a5e80}#boot.is-failed .boot-fill{box-shadow:none;background:linear-gradient(90deg,#8f2f28 0%,#ff6a5e 100%)}#boot.is-failed .boot-status,#boot.is-failed .boot-pct{color:#ffb3ac;text-shadow:none}@media (prefers-reduced-motion:reduce){#boot .boot-doors i:after,#boot .boot-wisps i,#boot .boot-wisps i:nth-child(2),#boot .boot-fog i:first-child,#boot .boot-fog i:nth-child(2),#boot .boot-fog i:nth-child(3),#boot .boot-fog i:nth-child(4),#boot .boot-plates i:first-child,#boot .boot-plates i:nth-child(2),#boot .boot-plates i:nth-child(3),#boot .boot-roll i,#boot .boot-grid i,#boot .boot-scan{animation:none}#boot .boot-doors i{transition-duration:.9s}#boot.has-doors.is-clearing .boot-doors i:first-child{transform:translate(-128%)}#boot.has-doors.is-clearing .boot-doors i:nth-child(2){transform:translate(128%)}#boot .boot-scan{opacity:.25;transform:translate(120%)}#boot .boot-fill{transition-duration:.12s}#boot.is-clearing{transition:opacity .52s}#boot.is-clearing .boot-fog i{transition:opacity .42s;transform:none}#boot.is-clearing .boot-core{opacity:0;transition:opacity .3s;animation:none}}
