/* Jakob Flow / Monochrome · quiet black, luminous white, mechanical motion. */
:root{--flow-mint:#f2f2f2;--flow-ink:#f4f4f4;--flow-muted:#a4a4a4;--flow-ease:cubic-bezier(.18,.78,.18,1)}
body{background:radial-gradient(ellipse 480px 400px at 65% -170px,#42424280,transparent),#080808;color:#efefef}
.brand-mark.small{background:linear-gradient(140deg,#f4f4f4,#777)!important;color:#111!important;border:1px solid #fff6;box-shadow:inset 0 1px #fff8,0 4px 14px #0006}
.minimal-menu,.menu-open .minimal-menu{background:linear-gradient(150deg,#ffffff0e,#ffffff03);border-color:#fff2;color:#ddd;transition:background .3s,border-color .3s,scale .25s}.minimal-menu:hover{border-color:#fff6;background:#ffffff12}.minimal-menu:active{scale:.92}.minimal-menu span{transition:transform .5s var(--flow-ease),width .4s}
.cockpit-greeting h1{color:#f5f5f5;font-weight:450}.cockpit-kicker{color:#a5a5a5}.cockpit-greeting p{color:#adadad}.cockpit-greeting>*{animation:mono-type-in .8s var(--flow-ease) both}.cockpit-greeting h1{animation-delay:70ms}.cockpit-greeting p{animation-delay:140ms}.cockpit-home::before{background:#ffffff09}
.home-mission{animation:mono-dial-arrive 1.1s var(--flow-ease) .05s both;perspective:900px}.home-mission::before{inset:0;padding:1px;background:conic-gradient(from 0deg,#ffffffb3,transparent 13%,#ffffff0d 29%,#ffffff73 48%,transparent 67%,#ffffff0d 88%,#ffffffb3);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;animation:mono-bezel-spin 18s linear infinite;opacity:.8}.home-dial{inset:9px;background:radial-gradient(circle at 35% 15%,#3d3d3d6e,transparent 60%),linear-gradient(145deg,#161616,#080808);border-color:#ffffff24;box-shadow:inset 0 1px 2px #ffffff24,inset 0 -8px 28px #0008,0 25px 55px #0007;transition:transform .7s var(--flow-ease),box-shadow .7s}.home-dial::before{content:'';position:absolute;inset:7px;border-radius:50%;background:repeating-conic-gradient(from -1deg,#ffffff3d 0deg 0.45deg,transparent .45deg 9deg);mask:radial-gradient(circle,transparent 67%,#000 67%,#000 69%,transparent 69%);-webkit-mask:radial-gradient(circle,transparent 67%,#000 67%,#000 69%,transparent 69%);opacity:.4;pointer-events:none}.home-dial::after{content:'';position:absolute;inset:-60%;background:linear-gradient(115deg,transparent 40%,#ffffff07 49%,#ffffff0d 50%,transparent 58%);transform:translateX(-40%) rotate(-14deg);animation:mono-glass-pass 11s var(--flow-ease) 1.2s infinite;pointer-events:none}.home-mission:hover .home-dial{transform:rotateX(4deg) rotateY(-5deg) translateY(-3px);box-shadow:inset 0 1px #fff5,0 28px 60px #0009,0 0 45px #ffffff06}.home-mission:active .home-dial{transform:scale(.96);transition-duration:.16s}.home-mission-glow{background:#ffffff0f;animation:flow-breathe 6s ease-in-out infinite}.home-room{z-index:2}.home-room small{color:#b4b4b4;letter-spacing:.19em}.home-room strong{color:#fff;font-style:italic;font-weight:620;letter-spacing:-5px;text-shadow:0 2px 18px #fff1}.home-room>span{color:#e5e5e5}.home-room>span svg{animation:mono-forward 3.5s var(--flow-ease) 1.7s infinite}.home-dial-route{opacity:.27}.home-dial-route .home-route-spark{stroke-dasharray:15 405;stroke-dashoffset:420;animation:mono-route-trace 6.5s linear 1.5s infinite;filter:drop-shadow(0 0 5px #ffffff80)}.cockpit-home-meta{color:#959595}.cockpit-home-meta>span:first-child{color:#c4c4c4}.cockpit-home-meta i{background:#ddd;box-shadow:0 0 9px #fff4}.cockpit-shortcuts button{background:linear-gradient(145deg,#ffffff0b,#ffffff02);border-color:#ffffff21;color:#e6e6e6;box-shadow:inset 0 1px #ffffff09,0 12px 24px #0003;animation:mono-shortcut-in .75s var(--flow-ease) .3s both;transition:background .35s,transform .45s var(--flow-ease),border-color .35s}.cockpit-shortcuts button:nth-child(2){animation-delay:.4s}.cockpit-shortcuts button:hover{transform:translateY(-4px);border-color:#ffffff4d;background:#ffffff10}.cockpit-shortcuts button:active{transform:scale(.96)}.cockpit-shortcuts svg{color:#ccc}.cockpit-shortcuts small{color:#929292}
.menu-open .sidebar{background:radial-gradient(ellipse at 50% 34%,#242424,#090909 75%)!important;animation:mono-menu-enter .65s var(--flow-ease) both}.orbit-menu-title>span{color:#9b9b9b}.orbit-menu-title h2{color:#f0f0f0}.orbit-menu{animation:mono-orbit-arrive 1.05s var(--flow-ease) both}.orbit-menu-ring{border-color:#ffffff26;background:radial-gradient(circle,#ffffff04,transparent 65%);box-shadow:inset 0 0 30px #ffffff03}.orbit-menu-ring::before{border-color:#ffffff0e}.orbit-menu-ring::after{content:'';position:absolute;inset:-2px;border-radius:50%;border:1px solid transparent;border-top-color:#ffffff75;border-bottom-color:#ffffff0d;animation:mono-bezel-spin 22s linear infinite;pointer-events:none}.orbit-menu-center{color:#eee;animation:mono-type-in .9s var(--flow-ease) .24s both}.orbit-menu-center>span{font-weight:450}.orbit-menu-center small{color:#929292}.orbit-choice{background:linear-gradient(145deg,#ffffff0e,#111);color:#bcbcbc;border-color:#ffffff29;box-shadow:inset 0 1px #ffffff14,0 8px 18px #0005;animation:mono-orbit-choice 1s var(--flow-ease) calc(var(--order)*80ms) both;transition:background .35s,color .35s,box-shadow .35s}.orbit-choice.active{color:#111;background:linear-gradient(135deg,#fff,#bebebe);border-color:#fff;box-shadow:inset 0 1px #fff,0 3px 28px #ffffff18}.orbit-choice:not(.active):hover{color:#fff;border-color:#fff8;box-shadow:0 0 24px #ffffff0d}.orbit-choice:focus-visible{outline-color:#fff}.orbit-menu-links button{color:#b1b1b1;animation:mono-type-in .6s var(--flow-ease) .4s both}.orbit-menu-links button:hover{color:#fff}.menu-open .topbar .topright{background:linear-gradient(0deg,#0a0a0a,#0a0a0af2)!important;border-top-color:#fff2!important}.menu-open .topright select,.menu-open .topright #logoutBtn{color:#aaa!important}
.navigation-fullscreen{background:radial-gradient(ellipse at 50% 20%,#30303061,transparent 58%),radial-gradient(ellipse at 50% 85%,#161616b3,transparent 70%),#070707}.minimal-destination{color:#dedede}.cockpit-nav-context>span{color:#c5c5c5}.cockpit-nav-context small{color:#888}.cockpit-compass{background:radial-gradient(circle at 38% 15%,#44444440,transparent 65%);box-shadow:0 35px 80px #0007,inset 0 1px #ffffff16}.cockpit-compass::after{background:linear-gradient(125deg,#ffffff05,transparent 55%,#08080870)}.cockpit-compass-aura{background:#ffffff13}.minimal-arrow.cockpit-arrow{color:#fafafa;filter:drop-shadow(0 2px 1px #ffffff33) drop-shadow(0 10px 22px #ffffff17)}.cockpit-dial-caption{color:#9a9a9a}.cockpit-arrow-mark{animation:mono-bearing 1.05s var(--flow-ease) both}.cockpit-dial-progress{filter:drop-shadow(0 0 4px #ffffff30)}.cockpit-progress-orbit{position:absolute;inset:8.125%;border-radius:50%;pointer-events:none;transform:rotate(var(--route-angle-to));animation:mono-progress-orbit 1.1s var(--flow-ease) both}.cockpit-progress-orbit::before{content:'';position:absolute;left:100%;top:50%;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 12px #fff8;transform:translate(-50%,-50%)}.cockpit-instruction strong{color:#f9f9f9}.cockpit-instruction p{color:#aaa}.cockpit-simulation{color:#737373}.cockpit-instruction{animation:mono-instruction .65s var(--flow-ease) both}
.arrival-head p{color:#adadad}.arrival-head p::before{background:#ffffff08;border-color:#ffffff30;color:#fff}.arrival-head h1{color:#fff}.arrival-check,body:not(.map-page) .arrival-check{color:#ededed;border-bottom-color:#ffffff12;animation-duration:.7s}.arrival-check input[type=checkbox],body:not(.map-page) .arrival-check input[type=checkbox]{border-color:#aaa!important;background:linear-gradient(135deg,#ffffff08,#ffffff02)!important;transition:background .25s,box-shadow .3s,transform .35s var(--flow-ease)}.arrival-check input:checked,body:not(.map-page) .arrival-check input:checked{background:#f2f2f2!important;border-color:#f2f2f2!important;box-shadow:0 0 16px #ffffff16;animation:mono-check-pop .45s var(--flow-ease)}.arrival-check input:checked::after{border-color:#161616}.arrival-check:has(input:checked) span{color:#858585;text-decoration-color:#85858580}.arrival-link.room-continue{background:linear-gradient(120deg,#fff,#cdcdcd);border-color:#fff;color:#111;box-shadow:inset 0 1px #fff9,0 12px 30px #0006;animation:mono-action-arrive .7s var(--flow-ease) both}.arrival-link.room-continue:active{transform:scale(.97)}.arrival-note,.arrival-special h2,.arrival-special-task small{color:#aaa}.arrival-link,.round-finished .arrival-link{color:#e1e1e1}.round-finished svg{color:#fff}.round-finished h1{color:#fff}.round-finished p{color:#aaa}body:not(.map-page) .journal-room h2{color:#bebebe}body:not(.map-page) .primary,body:not(.map-page) .secondary,body:not(.map-page) .soft{color:#e5e5e5!important;border-bottom-color:#555!important}body:not(.map-page) input,body:not(.map-page) select,body:not(.map-page) textarea{color:#e5e5e5!important;border-bottom-color:#555!important}body:not(.map-page) .stat strong{color:#f0f0f0}.minimal-floor select{color:#aaa!important}.minimal-target select{color:#ddd!important;border-bottom-color:#666!important}.minimal-go{color:#fff}.minimal-start,.minimal-footnote{color:#888}.minimal-route h2{color:#f0f0f0}
::view-transition-group(flow-dial){animation-duration:1s;animation-timing-function:cubic-bezier(.2,.8,.15,1)}
@keyframes mono-bezel-spin{to{transform:rotate(360deg)}}
@keyframes mono-glass-pass{0%,15%{transform:translateX(-45%) rotate(-14deg);opacity:0}35%{opacity:.9}65%,100%{transform:translateX(45%) rotate(-14deg);opacity:0}}
@keyframes mono-route-trace{0%{stroke-dashoffset:420;opacity:0}12%,82%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes mono-dial-arrive{from{opacity:0;transform:perspective(900px) rotateX(14deg) rotateZ(-12deg) scale(.9) translateY(16px)}to{opacity:1;transform:perspective(900px) rotateX(0) rotateZ(0) scale(1) translateY(0)}}
@keyframes mono-type-in{from{opacity:0;transform:translateY(11px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes mono-shortcut-in{from{opacity:0;transform:translateY(17px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes mono-forward{0%,55%,100%{transform:translateX(0)}70%{transform:translateX(5px)}85%{transform:translateX(0)}}
@keyframes mono-menu-enter{from{opacity:0}to{opacity:1}}
@keyframes mono-orbit-arrive{from{opacity:0;scale:.78;rotate:-28deg}to{opacity:1;scale:1;rotate:0deg}}
@keyframes mono-orbit-choice{from{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--angle) - 80deg)) translateX(calc(var(--orbit-radius)*.65)) rotate(calc(-1 * (var(--angle) - 80deg)))}to{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) translateX(var(--orbit-radius)) rotate(calc(-1 * var(--angle)))}}
@keyframes mono-bearing{0%{transform:rotate(var(--bearing-from)) scale(.91);opacity:.55}65%{transform:rotate(var(--bearing-to)) scale(1.035);opacity:1}100%{transform:rotate(var(--bearing-to)) scale(1);opacity:1}}
@keyframes mono-progress-orbit{from{transform:rotate(var(--route-angle-from))}to{transform:rotate(var(--route-angle-to))}}
@keyframes mono-instruction{from{opacity:0;translate:0 11px}to{opacity:1;translate:0 0}}
@keyframes mono-check-pop{0%{transform:scale(.85)}55%{transform:scale(1.1)}100%{transform:scale(1)}}
@keyframes mono-action-arrive{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.home-dial-route .home-route-spark{display:none}.cockpit-arrow-mark{transform:rotate(var(--bearing-to))}.cockpit-progress-orbit{transform:rotate(var(--route-angle-to))}.cockpit-greeting>*{filter:none}.home-mission{transform:none}}
/* Quiet task help: a separate control never toggles the task checkbox. */
.task-help-row{display:flex;align-items:center;gap:8px;position:relative}.task-help-row>.arrival-check{flex:1;min-width:0}.task-help-row:has(.task-info-button)>.arrival-check{border-bottom:0}.task-help-row:has(.task-info-button){border-bottom:1px solid #ffffff12}.task-info-button{flex:0 0 44px;min-width:44px;width:44px;height:48px;border:0;background:none;color:#b8b8b8;display:grid;place-items:center;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.task-info-button span{width:22px;height:22px;display:grid;place-items:center;border:1px solid #ffffff50;border-radius:50%;font-family:Georgia,serif;font-style:italic;font-size:15px;line-height:1;color:inherit;transition:background .2s,border-color .2s,scale .2s}.task-info-button:hover span{background:#ffffff12;border-color:#fff9;color:#fff}.task-info-button:active span{scale:.9}.task-info-button:focus-visible{outline:2px solid #ddd;outline-offset:0;border-radius:12px}
.task-guide-dialog{position:fixed;inset:0;width:min(420px,calc(100% - 30px));max-width:none;max-height:calc(100dvh - 34px);margin:auto;padding:29px 26px 25px;border:1px solid #ffffff2b;border-radius:28px;background:linear-gradient(155deg,#202020,#0e0e0e 65%);color:#f4f4f4;box-shadow:inset 0 1px #ffffff12,0 30px 100px #000b;overflow-y:auto;overscroll-behavior:contain;font:inherit;scrollbar-width:thin}.task-guide-dialog::backdrop{background:#0008;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.task-guide-dialog[open]{animation:guide-open .42s cubic-bezier(.2,.8,.2,1) both}.task-guide-close{position:absolute;right:13px;top:13px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:#bcbcbc;font-size:29px;font-weight:300;cursor:pointer}.task-guide-close:hover{color:#fff;background:#ffffff0b}.task-guide-close:focus-visible{outline:1px solid #aaa;outline-offset:0}.task-guide-header{padding-right:29px;margin-bottom:29px}.task-guide-header p{font-size:20px;font-weight:400;line-height:1.4;margin:0 0 8px;color:#eee;letter-spacing:-.3px}.task-guide-header>span{font-size:14px;color:#969696;line-height:1.5}.task-guide-kicker{font-size:11px;letter-spacing:.16em;color:#a0a0a0}.task-guide-product{margin-bottom:25px}.task-guide-product h2{font-size:35px;font-weight:450;letter-spacing:-1.1px;line-height:1.1;color:#fff;margin:12px 0 16px}.task-guide-product>p{font-size:16px;line-height:1.55;color:#a8a8a8;margin:0}.task-guide-list{margin:24px 0}.task-guide-list h3{font-size:21px;font-weight:450;letter-spacing:-.4px;color:#eee;margin:0 0 13px;display:flex;gap:12px;align-items:center}.task-guide-list h3>span{width:23px;font-size:19px;color:#bfbfbf;flex:none}.task-guide-list ul{list-style:none;padding:0 0 0 35px;margin:0}.task-guide-list li{font-size:19px;line-height:1.5;color:#d5d5d5;margin:0 0 12px}.task-guide-source{margin:27px 0 0;padding-top:10px;border-top:1px solid #ffffff13;color:#8d8d8d}.task-guide-source summary{font-size:14px;line-height:24px;min-height:34px;list-style:none;cursor:pointer}.task-guide-source summary::after{content:' +';margin-left:8px}.task-guide-source[open] summary::after{content:' −'}.task-guide-source p{font-size:14px;line-height:1.55;color:#9a9a9a;margin:12px 0 0}body:has(.task-guide-dialog[open]){overflow:hidden}
.room-success{display:flex;flex-direction:column;align-items:center;gap:13px;margin:34px 0 0;animation:room-success-in .65s cubic-bezier(.2,.8,.2,1) both}.room-success svg{width:86px;height:86px;overflow:visible;filter:drop-shadow(0 0 14px #ffffff09)}.room-success circle{fill:#ffffff04;stroke:#ffffff24;stroke-width:1}.room-success path{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:64;stroke-dashoffset:64;animation:room-check-draw .65s cubic-bezier(.25,.8,.25,1) .12s forwards}.room-success p{font-size:23px;line-height:1.3;font-weight:400;letter-spacing:-.5px;color:#eee;margin:0;text-align:center}.room-success+.room-continue{margin-top:24px}
@keyframes guide-open{from{opacity:0;translate:0 15px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
@keyframes room-success-in{from{opacity:0;transform:translateY(8px) scale(.93)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes room-check-draw{to{stroke-dashoffset:0}}
@media(max-width:360px){.task-guide-dialog{padding:26px 21px 22px}.task-guide-product h2{font-size:32px}.task-guide-list li{font-size:18px}}
@media(prefers-reduced-motion:reduce){.task-guide-dialog[open],.room-success,.room-success path{animation:none!important}.room-success path{stroke-dashoffset:0}}

/* v1.4 · Open into the same animated orbit, with one quiet task preview. */
.home-orbit .orbit-menu-title,.home-orbit .orbit-menu-links{display:none}
.home-orbit .orbit-menu{margin:8px auto 30px}
.home-orbit .orbit-menu-center>span{font-size:48px;letter-spacing:-3px}
.cockpit-home-page .logo{visibility:hidden}
.home-next{padding:0 5px 28px}
.home-next-room{font-size:16px;color:#999;margin:0 0 18px;font-weight:400}
.home-next ul{padding:0;margin:0;list-style:none}
.home-next li{font-size:22px;font-weight:400;letter-spacing:-.4px;line-height:1.4;padding:13px 0 13px 23px;position:relative;border-bottom:1px solid #ffffff0c;animation:flow-row-in .6s var(--flow-ease) both}
.home-next li::before{content:'';position:absolute;left:0;top:24px;width:6px;height:6px;border:1px solid #777;border-radius:50%}
.home-empty{font-size:21px;color:#bbb;text-align:center}
#launchSplash{position:fixed;inset:0;z-index:10000;background:#080808;display:grid;place-items:center;overflow:hidden;transition:background .75s ease,visibility .8s;--launch-dx:0px;--launch-dy:0px}
#launchSplash[hidden]{display:none}
.launch-letter{position:absolute;font-family:inherit;font-size:92px;letter-spacing:-7px;font-weight:450;color:#f2f2f2;animation:launch-letter-in .7s ease both;transition:transform .8s var(--flow-ease),opacity .8s ease}
.launch-orbit{width:190px;height:190px;border:1px solid #ffffff12;border-radius:50%;position:relative;animation:launch-spin 2.4s linear infinite;transition:opacity .5s}
.launch-orbit::before{content:'';position:absolute;inset:-1px;border:1px solid transparent;border-top-color:#ddd;border-right-color:#ffffff25;border-radius:50%}
.launch-orbit::after{content:'';position:absolute;inset:18px;border:1px solid #ffffff08;border-radius:50%}
.launch-caption{position:absolute;top:calc(50% + 135px);font-size:14px;letter-spacing:.06em;color:#858585;animation:flow-breathe 2s ease-in-out infinite;transition:opacity .3s}
#launchSplash.leaving{background:transparent;pointer-events:none}
#launchSplash.leaving .launch-orbit,#launchSplash.leaving .launch-caption{opacity:0}
#launchSplash.leaving .launch-letter{animation:none;transform:translate(var(--launch-dx),var(--launch-dy)) scale(.52);opacity:0}
.launch-pending #view .orbit-menu,.launch-pending #view .orbit-choice,.launch-pending #view .orbit-menu-center{animation-play-state:paused}
@keyframes launch-letter-in{from{opacity:0;filter:blur(7px);scale:.86}to{opacity:1;filter:blur(0);scale:1}}
@keyframes launch-spin{to{transform:rotate(360deg)}}
@media(max-width:360px){.home-orbit .orbit-menu{--orbit-radius:98px;margin-bottom:23px}.home-next li{font-size:21px}}
@media(prefers-reduced-motion:reduce){#launchSplash,.launch-letter,.launch-orbit,.launch-caption{animation:none!important;transition:none!important}}
