:root{--bg: #000000;--fg: #f4f4f5;--muted: #8a8a94;--line: rgba(255, 255, 255, .12);--accent: #e6e6e6;--panel-bg: rgba(10, 10, 12, .72);--font-display: "Barlow Condensed", "Arial Narrow", sans-serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Roboto Mono", ui-monospace, "SFMono-Regular", monospace;--page-gutter: clamp(1rem, 4vw, 3rem);--dock-mobile-height: calc(4.9rem + env(safe-area-inset-bottom, 0px)) ;--scene-center-x: 50%}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;min-height:100dvh;width:100%;background:var(--bg);color:var(--fg);font-family:var(--font-sans);overflow:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased}#scene{position:fixed;inset:0;width:100%;height:100%;height:100dvh;display:block;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}.hud{position:fixed;z-index:10;pointer-events:none;user-select:none}.hud--top{top:max(clamp(1.25rem,4vh,2.5rem),env(safe-area-inset-top,0px));left:max(var(--page-gutter),env(safe-area-inset-left,0px));max-width:min(28rem,calc(100vw - (2 * var(--page-gutter))))}.hud__name{margin:0;font-family:var(--font-display);font-size:clamp(1.25rem,2.8vw,1.65rem);font-weight:600;letter-spacing:.035em;text-transform:uppercase}.hud__role{margin:.25rem 0 0;font-family:var(--font-mono);font-size:clamp(.62rem,1.4vw,.78rem);color:var(--fg);text-transform:uppercase;letter-spacing:.14em}.hud__disclaimer{margin:.5rem 0 0;font-size:clamp(.68rem,1.3vw,.78rem);line-height:1.45;color:var(--muted);max-width:min(24rem,78vw);font-weight:300;overflow-wrap:anywhere}.hud__contact{margin-top:.9rem;display:flex;flex-wrap:wrap;gap:.4rem 1rem;pointer-events:auto}.hud__link{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:clamp(.66rem,1.2vw,.74rem);letter-spacing:.04em;color:var(--muted);text-decoration:none;transition:color .2s ease}.hud__link svg{opacity:.75;transition:opacity .2s ease}.hud__link:hover,.hud__link:focus-visible{color:var(--fg);outline:none}.hud__link:hover svg,.hud__link:focus-visible svg{opacity:1}.hud__link:focus-visible{text-decoration:underline;text-underline-offset:3px}.hud__email{display:inline-flex;align-items:center;gap:.35rem}.hud__copy{background:none;border:0;padding:.1rem;margin:0;display:inline-flex;align-items:center;color:var(--muted);cursor:pointer;transition:color .2s ease}.hud__copy:hover,.hud__copy:focus-visible{color:var(--fg);outline:none}.hud__copy:focus-visible{outline:1px solid var(--line);outline-offset:2px;border-radius:4px}.hud__copy-icon{display:block}.hud__copy-icon--check{display:none}.hud__copy.is-copied{color:#7ee0a6}.hud__copy.is-copied .hud__copy-icon--copy{display:none}.hud__copy.is-copied .hud__copy-icon--check{display:block}.hud__copy.is-error{color:#e6a06a}.dock{position:fixed;z-index:30;left:max(clamp(1rem,2.5vw,2rem),env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(.3rem,1vh,.6rem);padding:.5rem;max-height:92dvh;overflow-y:auto;border:1px solid var(--line);border-radius:14px;background:#0a0a0c8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.dock__die{display:flex;flex-direction:row;align-items:center;gap:0;width:auto;padding:.45rem .6rem;background:transparent;border:1px solid transparent;border-radius:10px;color:var(--muted);cursor:pointer;text-align:left;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}.dock__die:hover,.dock__die:focus-visible{color:var(--fg);background:#ffffff0d;border-color:var(--line);outline:none;transform:translate(2px)}.dock__die[aria-pressed=true]{color:var(--fg);background:#ffffff17;border-color:#ffffff59}.dock__die--recommended{color:var(--fg);border-color:#fff3}.dock__glyph{display:flex;flex-direction:column;align-items:center;gap:.15rem;flex:0 0 auto;width:clamp(2.4rem,4vw,3rem)}.dock__icon{width:clamp(1.4rem,2.4vw,1.8rem);height:clamp(1.4rem,2.4vw,1.8rem)}.dock__label{font-family:var(--font-mono);font-size:clamp(.56rem,1vw,.66rem);letter-spacing:.08em}.dock__name{flex:0 1 auto;max-width:0;margin-left:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:clamp(.72rem,1.1vw,.82rem);line-height:1.25;letter-spacing:.01em;transition:max-width .32s ease,opacity .24s ease,margin-left .32s ease}.dock__recommendation{margin-left:.55rem;padding:.2rem .38rem;font-family:var(--font-mono);font-size:.5rem;line-height:1;letter-spacing:.1em;text-transform:uppercase;color:var(--fg);border:1px solid rgba(255,255,255,.26);border-radius:999px;white-space:nowrap}body.has-rolled .dock__recommendation{display:none}body.has-rolled .dock__die--recommended:not([aria-pressed=true]){color:var(--muted);border-color:transparent}.dock__die:hover .dock__name,.dock__die:focus-visible .dock__name,.dock--intro .dock__name{max-width:16rem;margin-left:.6rem;opacity:1}.dock--pulse .dock__die--recommended{animation:dock-nudge 2.4s ease-in-out infinite}@keyframes dock-nudge{0%,to{border-color:transparent}40%,55%{border-color:#fff3;background:#ffffff0a}}.tray{position:fixed;z-index:6;top:50%;left:50%;transform:translate(-50%,-50%);width:min(54vmin,30rem);height:min(54vmin,30rem);border:1px solid rgba(255,255,255,.06);border-radius:22px;pointer-events:none}.tray__corner{position:absolute;width:22px;height:22px;border:1.5px solid rgba(255,255,255,.22);transition:border-color .4s ease,opacity .4s ease}body.is-idle .tray__corner{animation:tray-corner-breathe 2.8s ease-in-out infinite}.tray__corner--tl{top:-1px;left:-1px;border-right:0;border-bottom:0;border-top-left-radius:22px}.tray__corner--tr{top:-1px;right:-1px;border-left:0;border-bottom:0;border-top-right-radius:22px}.tray__corner--bl{bottom:-1px;left:-1px;border-right:0;border-top:0;border-bottom-left-radius:22px}.tray__corner--br{bottom:-1px;right:-1px;border-left:0;border-top:0;border-bottom-right-radius:22px}.tray__label{position:absolute;bottom:-1.7rem;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);opacity:.5;white-space:nowrap;transition:opacity .4s ease}body.has-rolled .tray__label{opacity:.28}.tray__idle{position:absolute;inset:0;padding:1.5rem;text-align:center;transition:opacity .45s ease,transform .45s ease}.tray__idle[hidden]{display:none}body.has-rolled .tray__idle{opacity:0;transform:scale(.96);pointer-events:none}.tray__idle-kicker{position:absolute;top:7%;left:0;width:100%;margin:0;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.tray__idle-title{position:absolute;top:13%;left:50%;transform:translate(-50%);width:min(19rem,80%);margin:0;font-family:var(--font-display);font-size:clamp(1.15rem,3vw,1.45rem);font-weight:600;line-height:1.12;letter-spacing:.025em;text-transform:uppercase;color:var(--fg)}.tray__idle-hint{position:absolute;bottom:7%;left:50%;transform:translate(-50%);width:min(19rem,82%);margin:0;font-size:clamp(.72rem,1.5vw,.82rem);line-height:1.5;color:var(--muted);font-weight:300}.tray__idle-pulse{position:absolute;inset:12%;border:1px solid rgba(255,255,255,.08);border-radius:18px;animation:tray-idle-ring 2.8s ease-in-out infinite;pointer-events:none}@keyframes tray-corner-breathe{0%,to{border-color:#ffffff2e}50%{border-color:#ffffff6b}}@keyframes tray-idle-ring{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.7;transform:scale(1.02)}}.roll-btn{position:absolute;z-index:2;top:-3rem;right:0;display:inline-flex;align-items:center;justify-content:center;width:2.65rem;height:2.65rem;padding:0;color:#ffffffc7;background:#0a0a0c8c;border:1px solid rgba(255,255,255,.2);border-radius:999px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;pointer-events:auto;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}.roll-btn:hover,.roll-btn:focus-visible{color:var(--fg);background:#ffffff14;border-color:#ffffff6b;outline:none}.roll-btn:focus-visible{outline:1px solid var(--line);outline-offset:3px}.roll-btn:active{transform:scale(.96)}.roll-btn__icon{display:block;transition:transform .35s ease}.roll-btn.is-spinning .roll-btn__icon,.roll-btn:active .roll-btn__icon{transform:rotate(-180deg)}body.is-idle .roll-btn{animation:roll-btn-breathe 2.8s ease-in-out infinite}@keyframes roll-btn-breathe{0%,to{border-color:#ffffff2e}50%{border-color:#ffffff6b}}.profile-cta{position:fixed;z-index:12;top:50%;left:50%;transform:translate(-50%,calc(min(27vmin,15rem) + 3rem));display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .75rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#ffffffb8;background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:999px;white-space:nowrap;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.profile-cta:hover,.profile-cta:focus-visible{color:var(--fg);background:#ffffff0d;border-color:#fff6;outline:none}.profile-cta__icon{flex:0 0 auto;width:11px;height:11px;opacity:.7;transition:transform .2s ease,opacity .2s ease}.profile-cta:hover .profile-cta__icon,.profile-cta:focus-visible .profile-cta__icon{opacity:1;transform:translate(1px,-1px)}.hud--hint{top:clamp(1.25rem,4vh,2.5rem);left:50%;transform:translate(-50%);margin:0;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);transition:opacity .6s ease;text-align:center;width:max-content;max-width:90vw}.hud--bottom{bottom:max(clamp(1rem,3vh,1.5rem),env(safe-area-inset-bottom,0px));right:max(var(--page-gutter),env(safe-area-inset-right,0px));display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;color:var(--muted);opacity:.6}.hud__footer-hint{max-width:min(22rem,60vw);line-height:1.5;text-align:right}.panel{position:fixed;z-index:20;right:max(clamp(1.25rem,3vw,2.5rem),env(safe-area-inset-right,0px));top:50%;width:min(24rem,32vw);max-width:30rem;max-height:min(70dvh,30rem);overflow-y:auto;padding:clamp(1.25rem,2.6vw,1.75rem);background:var(--panel-bg);border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transform:translateY(calc(-50% + 12px));transition:opacity .5s ease,transform .5s ease}.panel[data-visible=true]{opacity:1;transform:translateY(-50%)}.panel[hidden]{display:none}.panel__meta{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.75rem}.panel__die{flex:1 1 auto;min-width:0;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:.28rem .55rem;border-radius:6px;line-height:1.35}.panel__value{flex:0 0 auto;font-family:var(--font-mono);font-size:clamp(2.2rem,6vw,3.2rem);font-weight:500;line-height:1;margin-left:auto}.panel__thesis{margin:0 0 .85rem;font-size:clamp(.78rem,1.5vw,.88rem);line-height:1.45;color:var(--muted);font-weight:300}.panel__thesis:empty{display:none}.panel__result{margin:0 0 .35rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.panel__result:empty{display:none}.panel__title{margin:0 0 .6rem;font-family:var(--font-display);font-size:clamp(1.35rem,3vw,1.7rem);font-weight:600;line-height:1.12;letter-spacing:.025em;text-transform:uppercase;overflow-wrap:anywhere}.panel__text{margin:0 0 1.4rem;font-size:clamp(.9rem,2vw,1rem);line-height:1.6;color:#d0d0d6;min-height:4.5em;overflow-wrap:anywhere}.panel__text .caret{display:inline-block;width:.6ch;margin-left:1px;background:var(--fg);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.panel__reroll{pointer-events:auto;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg);background:transparent;border:1px solid var(--line);padding:.6rem 1rem;border-radius:8px;cursor:pointer;transition:background .25s ease,border-color .25s ease}.panel__reroll:hover,.panel__reroll:focus-visible{background:#ffffff0f;border-color:#ffffff59;outline:none}.skip-link{position:fixed;top:-60px;left:1rem;z-index:100;background:#fff;color:#000;padding:.5rem .75rem;border-radius:6px;transition:top .2s ease}.skip-link:focus{top:1rem}.fallback{color:var(--fg);max-width:40rem;margin:0 auto;padding:2rem 1.5rem;line-height:1.6}.fallback--sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.fallback--sr:focus-within{position:fixed;inset:0;z-index:90;width:100%;height:100dvh;max-width:none;clip:auto;white-space:normal;background:#000;overflow:auto;overscroll-behavior:contain}@media(prefers-reduced-motion:reduce){.panel,.hud--hint,.tray__idle,.roll-btn,.roll-btn__icon{transition:none}.panel__text .caret,body.is-idle .tray__corner,.tray__idle-pulse,body.is-idle .roll-btn,.dock--pulse .dock__die--recommended{animation:none}}@media(min-width:901px)and (max-width:1180px){:root{--scene-center-x: 36%}.dock{inset:auto 0 0;transform:none;flex-direction:row;justify-content:center;gap:clamp(.35rem,1.2vw,.8rem);min-height:var(--dock-mobile-height);max-height:none;padding:.45rem max(1rem,env(safe-area-inset-right,0px)) calc(.45rem + env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:0;border-left:0;border-radius:0}.dock__die{flex:0 0 auto;flex-direction:column;gap:.12rem;width:3.5rem;min-width:3.5rem;padding:.35rem .25rem;text-align:center}.dock__glyph{width:auto}.dock__name{display:none}.dock__die:hover,.dock__die:focus-visible{transform:none}.dock__recommendation{width:.4rem;height:.4rem;margin:.1rem 0 0;padding:0;overflow:hidden;color:transparent;background:var(--fg);border:0}.tray{left:var(--scene-center-x);width:min(42vmin,22rem);height:min(42vmin,22rem)}.profile-cta{left:var(--scene-center-x);transform:translate(-50%,calc(min(21vmin,11rem) + 2.5rem))}.panel{right:max(1rem,env(safe-area-inset-right,0px));width:min(21rem,34vw);max-height:min(62dvh,27rem);padding:clamp(1rem,2vw,1.5rem)}.hud--hint{left:var(--scene-center-x)}.hud--bottom{bottom:calc(var(--dock-mobile-height) + .75rem)}}@media(max-width:900px){.dock{inset:auto 0 0;transform:none;flex-direction:row;justify-content:flex-start;gap:.4rem;max-height:none;overflow-x:auto;overflow-y:hidden;border-radius:0;border-left:0;border-right:0;border-bottom:0;padding:.5rem clamp(.75rem,4vw,1.25rem);min-height:var(--dock-mobile-height);padding-left:max(clamp(.75rem,4vw,1.25rem),env(safe-area-inset-left,0px));padding-right:max(clamp(.75rem,4vw,1.25rem),env(safe-area-inset-right,0px));padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}.dock__die{flex:0 0 auto;flex-direction:column;gap:.15rem;width:3.4rem;min-width:3.4rem;padding:.45rem .3rem;text-align:center}.dock__glyph{width:auto}.dock__name{display:none}.dock__recommendation{width:.4rem;height:.4rem;margin:.12rem 0 0;padding:0;overflow:hidden;color:transparent;background:var(--fg);border:0}.dock__die:hover,.dock__die:focus-visible{transform:none}.panel{top:auto;bottom:calc(var(--dock-mobile-height) + .75rem);right:max(.75rem,env(safe-area-inset-right,0px));left:max(.75rem,env(safe-area-inset-left,0px));transform:translateY(16px);width:auto;max-width:none;max-height:min(48dvh,30rem);padding:clamp(1rem,3.5vw,1.5rem);border-radius:16px}.panel[data-visible=true]{transform:translateY(0)}.panel__thesis{margin-bottom:.55rem;font-size:.75rem;line-height:1.35}.tray{top:52%;width:min(58vmin,24rem);height:min(58vmin,24rem);transform:translate(-50%,-60%)}.roll-btn{top:-2.7rem;width:2.45rem;height:2.45rem}.tray__label{display:none}.tray__idle{padding:1rem}.tray__idle-title{top:18%;width:86%;font-size:1rem}.tray__idle-hint{bottom:5%;width:88%;font-size:.68rem;line-height:1.35}.tray__idle-pulse{inset:8%}.profile-cta{transform:translate(-50%,calc(min(29vmin,12rem) + 1.2rem));font-size:.58rem;padding:.32rem .65rem;letter-spacing:.06em}.hud--hint{display:none}.hud--bottom{bottom:calc(var(--dock-mobile-height) + .75rem)}}@media(max-width:640px){.hud--top{right:var(--page-gutter);max-width:none}.hud__contact{gap:.4rem .75rem}.tray{top:54%;width:min(64vmin,20rem);height:min(64vmin,20rem);transform:translate(-50%,-63%)}.roll-btn{top:-2.55rem;width:2.35rem;height:2.35rem}.profile-cta{max-width:calc(100vw - (2 * var(--page-gutter)))}.panel__meta{gap:.5rem}.panel__value{font-size:clamp(2rem,12vw,2.75rem)}.panel__reroll{width:100%;min-height:2.75rem}}@media(max-height:620px){.hud--top{top:max(.65rem,env(safe-area-inset-top,0px))}.hud__disclaimer,.hud--hint,.hud__footer-hint{display:none}.hud__contact{margin-top:.45rem}.dock{gap:.2rem}.tray{width:min(48vmin,16rem);height:min(48vmin,16rem)}.roll-btn{top:-2.4rem;width:2.25rem;height:2.25rem}.tray__idle-kicker{top:5%}.tray__idle-title{top:14%;font-size:clamp(.92rem,4vh,1.15rem)}.tray__idle-hint{bottom:4%;font-size:.65rem;line-height:1.3}.profile-cta{transform:translate(-50%,calc(min(24vmin,8rem) + 1rem))}.panel{max-height:min(55dvh,19rem)}.panel__text{min-height:0;margin-bottom:.9rem;line-height:1.5}}@media(max-width:360px){:root{--page-gutter: .85rem}.hud__name{font-size:1.15rem}.hud__role{letter-spacing:.08em}.hud__disclaimer{max-width:100%}.hud__email{min-width:0}.hud__link{overflow-wrap:anywhere}.dock__die{width:3.1rem;min-width:3.1rem}}
