:root{color-scheme:dark;font-family:Futura,Avenir Next,Noto Sans SC,sans-serif;color:#f4ecdd;background:#142c32;font-synthesis:none;letter-spacing:0}@font-face{font-family:"Stars Serif";src:url(/stars/fonts/stars-serif.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}body{min-width:320px;overflow:hidden;background:#142c32}button,textarea{font:inherit;color:inherit}button{border:0;cursor:pointer}button:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #eab56b;outline-offset:5px}.academy-back{position:fixed;z-index:100;top:21px;left:20px;display:grid;width:42px;height:42px;place-items:center;color:#b5c7c1;text-decoration:none}.academy-back span{position:relative;display:block;width:14px;height:14px;border-bottom:2px solid currentColor;border-left:2px solid currentColor;transform:rotate(45deg)}.academy-back span:after{content:"";position:absolute;left:-3px;bottom:-2px;width:20px;height:2px;background:currentColor;transform:rotate(-45deg);transform-origin:left center}.academy-back:active{color:#e7b66e}.academy-back:focus-visible{outline:2px solid #eab56b;outline-offset:2px}.entry-screen,.breathing-screen,.star-screen{position:relative;width:100vw;height:100svh;min-height:620px;overflow:hidden;background:#142c32}.entry-screen{display:grid;place-items:center}.entry-copy{position:relative;z-index:2;width:min(720px,72vw);margin-left:-24vw;transform:translateY(-12vh)}.eyebrow{margin:0 0 16px;color:#e7b66e;font-size:11px;letter-spacing:.19em;text-transform:uppercase}.entry-copy h1{width:fit-content;margin:0;color:#f7efdf;font-family:Songti SC,"Noto Serif CJK SC","Stars Serif",Georgia,serif;font-size:clamp(64px,9.2vw,126px);font-weight:400;line-height:.92;white-space:nowrap}.entry-copy .entry-button{margin-top:42px}.entry-button,.ink-button{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 19px;border:1px solid #e7b66e;background:transparent;color:#f3dfbb;font-size:13px;transition:background-color .28s ease,color .28s ease,transform .28s ease}.entry-button{position:relative;overflow:hidden;touch-action:none;-webkit-touch-callout:none;user-select:none}.entry-button:before{content:"";position:absolute;inset:0;background:#a89066;opacity:.16;transform:scaleX(0);transform-origin:left center}.entry-button>*{position:relative;z-index:1}.entry-button.is-pressing{border-color:#a89066;color:#d7c395}.entry-button.is-pressing:before{animation:deliberate-hold .62s linear both}.ink-button:active{background:#e7b66e;color:#172c31;transform:translateY(-2px)}.entry-button span{color:#e7b66e;font-size:22px;line-height:0}.entry-star{position:absolute;right:16vw;top:50%;width:220px;height:220px;transform:translateY(-50%)}.entry-star:before,.entry-star:after,.entry-star span{content:"";position:absolute;inset:0;border:1px solid #6ba697;transform:rotate(45deg)}.entry-star:after{inset:36px;border-color:#e7b66e;transform:rotate(90deg)}.entry-star span{inset:78px;border:0;background:#e48173;transform:rotate(45deg)}.phase-entry-flight .entry-star{opacity:0}.phase-entry-flight .entry-copy{animation:entry-copy-exit .52s ease-out both}.phase-entry-flight:before{content:"";position:absolute;z-index:0;inset:0;background:#101f28;opacity:0;animation:entry-background-continuous 6.78s ease-out both}.phase-entry-flight .entry-architecture{z-index:1;animation:entry-architecture-continuous 6.78s cubic-bezier(.2,.72,.2,1) both}.phase-entry-flight .prologue-copy{z-index:3;animation:prologue-copy 4.2s 2.58s cubic-bezier(.2,.72,.2,1) both}.entry-flight-shape{--entry-flight-start-x: calc(84vw - 110px) ;position:absolute;z-index:2;left:var(--entry-flight-start-x);top:50%;width:220px;height:220px;transform:translate(-50%,-50%);animation:entry-star-roll 1.8s .78s cubic-bezier(.22,.72,.2,1) both}.entry-flight-shape:before,.entry-flight-shape:after,.entry-flight-shape span{content:"";position:absolute;inset:0;border:1px solid #6ba697;transform:rotate(45deg)}.entry-flight-shape:after{inset:36px;border-color:#e7b66e;transform:rotate(90deg)}.entry-flight-shape span{inset:78px;border:0;background:#e48173;transform:rotate(45deg)}.entry-architecture i{position:absolute;display:block;background:#1c4448;transform:rotate(30deg)}.entry-architecture i:nth-child(1){right:2vw;bottom:-18vh;width:42vw;height:55vh}.entry-architecture i:nth-child(2){left:44vw;top:-28vh;width:15vw;height:75vh;background:#1a3a40;transform:rotate(-29deg)}.entry-architecture i:nth-child(3){left:-14vw;bottom:-26vh;width:38vw;height:30vh;background:#244c4d;transform:rotate(-12deg)}.prologue-architecture{opacity:.24;animation:prologue-architecture-dim 4.2s ease-out both}.prologue-copy{position:absolute;left:50%;top:calc(44.2% + 102px);width:fit-content;transform:translate3d(-50%,8px,0);text-align:left;animation:prologue-copy 4.2s cubic-bezier(.2,.72,.2,1) both;will-change:transform,opacity}.prologue-copy p{margin:0;color:#8bc7b4;font-family:"Stars Serif",Songti SC,serif;font-size:clamp(16px,1.7vw,21px);line-height:1.35;white-space:nowrap}.prologue-copy .latin{color:#d0b079;font-family:Georgia,Times New Roman,serif;font-size:clamp(12px,1.25vw,15px)}.breathing-screen{display:grid;place-items:center;align-content:center;text-align:center;background:#101f28}.breathing-screen>.breath-copy{position:relative;top:12px;animation:breathing-content-arrive .85s ease-out both;animation-delay:.08s}.breathing-screen>.breath-controls{animation:breathing-controls-arrive .85s ease-out both;animation-delay:.08s}.breath-orb,.breath-flight-shape{position:relative;width:132px;height:132px;background:transparent;transform:scale(.86);transition:transform .2s linear}.breath-flight-shape{animation:star-glimmer 3.8s -1.9s ease-in-out infinite}.breathing-screen>.breath-orb{animation:breathing-orb-arrive .85s ease-out both}.breath-orb:before,.breath-flight-shape:before{content:"";position:absolute;inset:0;border:1px solid #6ba697;transform:rotate(45deg)}.breath-orb i,.breath-flight-shape i{position:absolute;left:22px;top:22px;width:88px;height:88px;border:1px solid #e7b66e;background:transparent;transform:rotate(90deg)}.breath-orb span,.breath-flight-shape span{position:absolute;inset:47px;border:0;background:#e48173;transform:rotate(45deg)}.breath-label{margin:34px 0 0;color:#e7b66e;font-size:13px;letter-spacing:.2em}.breath-note{margin:14px 0 0;color:#8ca8a6;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:16px}.breath-controls{position:absolute;left:50%;bottom:58px;width:min(390px,62vw);transform:translate(-50%)}.breath-progress{width:100%;height:2px;overflow:hidden;background:#29484b}.breath-progress i{display:block;width:100%;height:100%;background:#a89066;transform:scaleX(0);transform-origin:left center;will-change:transform}.breath-skip{position:relative;display:block;min-width:76px;height:38px;margin:18px auto 0;overflow:hidden;border:1px solid #496a69;background:transparent;color:#77918f;font-size:12px;touch-action:none;-webkit-touch-callout:none;user-select:none}.breath-skip:before{content:"";position:absolute;inset:0;background:#a89066;opacity:.16;transform:scaleX(0);transform-origin:left center}.breath-skip.is-pressing{border-color:#a89066;color:#d7c395}.breath-skip.is-pressing:before{animation:deliberate-hold .62s linear both}.star-screen{background:#142c32;contain:layout style}.scene-reveal-shell{position:absolute;inset:0;overflow:hidden;background:#142c32;contain:paint}.phase-launch{background:#101f28}.phase-launch .scene-reveal-shell{clip-path:circle(0 at var(--portal-x) var(--portal-y));animation:portal-reveal 1.25s .76s cubic-bezier(.2,.72,.2,1) both}.breath-flight{position:absolute;z-index:30;left:50%;top:50%;width:132px;height:132px;transform:translate(-50%,-50%);animation:breath-flight 1.04s cubic-bezier(.33,.02,.26,1) both;pointer-events:none}.breath-flight-shape{transform:scale(.98)}.portal-flare{position:absolute;z-index:29;left:var(--portal-x);top:var(--portal-y);width:28px;height:28px;border:1px solid #b59c69;opacity:0;transform:translate(-50%,-50%) rotate(45deg);animation:portal-flare 1.18s .72s cubic-bezier(.2,.72,.2,1) both;pointer-events:none}.portal-flare:before,.portal-flare:after{content:"";position:absolute;inset:-1px;border:1px solid #648e87}.portal-flare:before{animation:portal-ring 1.08s .08s ease-out both}.portal-flare:after{animation:portal-ring 1.08s .25s ease-out both}.portal-flare i{position:absolute;inset:8px;background:#c0a570}.architecture-backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none}.architecture-backdrop span{position:absolute;display:block;background:#1b3d42;transform:rotate(30deg)}.architecture-backdrop span:nth-child(1){width:29vw;height:78vh;right:-8vw;top:8vh}.architecture-backdrop span:nth-child(2){width:18vw;height:48vh;right:16vw;top:-13vh;background:#1d4446;transform:rotate(-23deg)}.architecture-backdrop span:nth-child(3){width:19vw;height:22vh;left:-5vw;bottom:-7vh;background:#244b4a;transform:rotate(-19deg)}.architecture-backdrop span:nth-child(4){width:10vw;height:70vh;left:48vw;top:-30vh;background:#18383e;transform:rotate(59deg)}.topbar{position:absolute;z-index:7;top:28px;left:78px;right:42px;display:flex;align-items:flex-start;justify-content:space-between}.topbar .eyebrow{margin-bottom:6px}.season{margin:0;color:#83a9a5;font-size:11px}.subject-tabs{display:flex;gap:22px;margin-left:auto;margin-right:30px}.subject-tabs button{padding:6px 0;border-bottom:1px solid transparent;background:transparent;color:#72908e;font-size:12px}.subject-tabs button.active{border-color:#e7b66e;color:#f1d4a3}.map-button{position:absolute;z-index:42;left:42px;bottom:38px;width:34px;height:34px;padding:7px;border:1px solid #547b7b;background:#142c32b8;color:#91b1ad}.map-button i{position:absolute;width:6px;height:6px;border:1px solid currentColor;transform:rotate(45deg)}.map-button i:nth-child(1){left:8px;top:8px}.map-button i:nth-child(2){right:7px;top:8px}.map-button i:nth-child(3){left:8px;bottom:7px}.map-button i:nth-child(4){right:7px;bottom:7px}.map-button.is-return{border-color:#a89066;color:#d7c395}.map-button:disabled{opacity:.48}.scene-caption{position:absolute;z-index:4;top:134px;left:42px;display:flex;gap:15px;align-items:flex-start}.scene-index{color:#e7b66e;font-size:12px;letter-spacing:.16em}.scene-caption p{margin:0 0 8px;color:#88aaa5;font-size:11px}.scene-caption h1{margin:0;color:#f4ecdd;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:clamp(30px,4vw,53px);font-weight:400;line-height:1}.star-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.world{transform-origin:0 0;transition:transform .9s cubic-bezier(.2,.75,.22,1)}.world.is-camera-moving{animation:camera-move 1.08s cubic-bezier(.18,.76,.22,1) both;will-change:transform}.owned-node{pointer-events:none}.owned-node.is-new{animation:node-in .72s both;animation-delay:var(--node-delay)}.owned-node .node-halo{fill:#5f8e86;opacity:.3;animation:halo-glimmer 5.4s ease-in-out infinite;animation-delay:0s;transform-box:fill-box;transform-origin:center}.owned-node .node-core{fill:#f2d593;opacity:1;animation:none;transform-box:fill-box;transform-origin:center}.owned-node text{fill:#a9c3bf;font-family:Futura,Avenir Next,sans-serif;font-size:14px;transition:fill .45s ease}.owned-node.is-anchor .node-halo{fill:#a77771;opacity:.42}.owned-node.is-anchor .node-core{fill:#f2d593}.owned-node.is-anchor text{fill:#f4ecdd;font-size:18px}.owned-node.is-pressing .node-halo{animation:owned-hold-halo .56s cubic-bezier(.2,.72,.2,1) both;transform-box:fill-box;transform-origin:center}.owned-node.is-pressing .node-core{animation:owned-hold-core .56s cubic-bezier(.2,.72,.2,1) both;transform-box:fill-box;transform-origin:center}.owned-node.is-pressing text{fill:#f4ecdd}.edge{fill:none;stroke-width:2.4}.edge.is-new{animation:edge-in .9s both;animation-delay:var(--edge-delay)}.edge line{stroke:#aa9068;stroke-linecap:round}.edge line:not(.edge-echo){animation:edge-glimmer 5.4s ease-in-out infinite;animation-delay:var(--twinkle-delay)}.edge-coral line{stroke:#a97872}.edge-jade line{stroke:#70968d}.edge-gold line{stroke:#ad9368}.edge-echo{stroke-width:9;opacity:.14}.edge .edge-label{display:none}.edge-touch{stroke:transparent!important;stroke-width:32;opacity:1!important;animation:none!important;pointer-events:stroke;touch-action:none}.edge.is-pressing .edge-line{animation:edge-hold .56s cubic-bezier(.2,.72,.2,1) both}.edge.is-pressing .edge-echo{animation:edge-echo-hold .56s cubic-bezier(.2,.72,.2,1) both}.candidate-arc{position:absolute;inset:0;z-index:5;pointer-events:none;touch-action:manipulation}.owned-hit-layer{position:absolute;inset:0;z-index:6;pointer-events:none}.owned-hit{position:absolute;left:var(--x);top:var(--y);width:64px;height:64px;padding:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);pointer-events:auto;touch-action:none;-webkit-touch-callout:none}.candidate-shell{position:absolute;left:var(--x);top:var(--y);z-index:1;width:104px;min-height:96px;transform:translate3d(-50%,-50%,0);contain:layout style;pointer-events:auto;transition:opacity .42s ease}.candidate-shell.is-chosen{z-index:3}.candidate-shell.is-chosen .candidate{animation:candidate-selected .38s cubic-bezier(.2,.72,.2,1) both}.candidate-shell.is-merging{animation:candidate-merge .72s ease both;pointer-events:none}.candidate-shell.is-receding{animation:candidate-recede .82s ease both;pointer-events:none}.phase-arrive .candidate-shell:not(.is-rare){animation:candidate-arrive .9s cubic-bezier(.18,.76,.22,1) both;animation-delay:var(--candidate-delay)}.phase-withdraw .owned-node,.phase-arrive .owned-node,.phase-withdraw .edge,.phase-arrive .edge{animation:none}.candidate{position:relative;display:block;width:86px;min-height:76px;margin:0 auto;padding:4px 0 0;background:transparent;text-align:center;touch-action:none;-webkit-touch-callout:none;user-select:none}.candidate-dot{position:relative;display:block;width:22px;height:22px;margin:0 auto 10px;border:1px solid #607f79;background:#294846;transform:rotate(45deg);transition:transform .65s ease,background-color .45s ease,border-color .45s ease}.candidate-dot:after{content:"";position:absolute;inset:5px;background:#70968d;opacity:.42;animation:star-glimmer 3.8s ease-in-out infinite;animation-delay:var(--twinkle-delay)}.candidate-label{display:block;color:#91afaa;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:15px;white-space:nowrap;transition:color .45s ease,font-size .45s ease}.candidate.is-pressing .candidate-dot{animation:candidate-hold .56s cubic-bezier(.2,.72,.2,1) both}.candidate.is-pressing .candidate-label,.candidate:focus-visible .candidate-label,.is-chosen .candidate-label{color:#f4ecdd}.candidate:focus-visible .candidate-dot,.is-chosen .candidate-dot{border-color:#e7b66e;background:#a97872;transform:rotate(45deg) scale(1.2)}.candidate-trend{display:block;min-height:14px;margin-top:7px;color:#638b86;font-family:Futura,Avenir Next,sans-serif;font-size:10px}.trend-rising .candidate-trend{color:#8bc7b4}.trend-cooling .candidate-trend{color:#aa817b}.trend-cooling .candidate-dot:after{background:#9b746f}.candidate-orbit-menu{position:absolute;left:50%;top:15px;width:118px;height:118px;transform:translate(-50%,-50%);pointer-events:none}.orbit-action{position:absolute;left:50%;top:50%;width:31px;height:31px;border:1px solid #557b76;background:#173239;color:#a9c0b9;font-size:17px;line-height:1;transform:translate(-50%,-50%) translate3d(var(--action-x),var(--action-y),0);animation:candidate-action-in .62s cubic-bezier(.16,1,.3,1) both;pointer-events:auto;touch-action:manipulation;will-change:transform,opacity}.candidate-orbit-menu.is-closing .orbit-action{animation:candidate-action-out .52s cubic-bezier(.16,1,.3,1) both;pointer-events:none}.orbit-action:focus-visible{outline:1px solid #e7b66e;outline-offset:3px}.orbit-action:disabled{border-color:#365752;color:#456963;opacity:.48}.orbit-confirm{--action-x: 0px;--action-y: -54px;border-color:#a89066;color:#d7c395}.orbit-cancel{--action-x: 47px;--action-y: 27px;color:#b88a82;animation-delay:45ms}.orbit-refresh{--action-x: -47px;--action-y: 27px;color:#7fa59e;animation-delay:.09s}.candidate-shell.is-rare{animation:rare-arrival 1.4s cubic-bezier(.17,.72,.2,1) both}.candidate-shell.is-rare:before,.candidate-shell.is-rare:after{content:"";position:absolute;left:50%;top:19px;width:54px;height:54px;border:1px solid #e7b66e;opacity:.38;transform:translate(-50%,-50%) rotate(45deg);animation:rare-orbit 7s linear infinite;pointer-events:none}.candidate-shell.is-rare:after{width:76px;height:76px;border-color:#e48173;opacity:.2;animation-direction:reverse;animation-duration:11s}.candidate-shell.is-rare .candidate-dot{border-color:#f1ca89;background:#e7b66e;box-shadow:none}.candidate-shell.is-rare .candidate-label{color:#f4dfb5}.candidate-shell.is-rare .candidate-trend{color:#d99c72}.writing-panel,.reveal-panel{position:absolute;z-index:8;left:42px;right:42px;bottom:33px;max-width:680px;padding-top:17px;border-top:1px solid #3a6866;background:#142c32}.panel-kicker{margin:0 0 10px;color:#e7b66e;font-size:11px;letter-spacing:.12em}.writing-panel h2{margin:0 0 8px;color:#f4ecdd;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:27px;font-weight:400}textarea{display:block;width:min(100%,570px);min-height:55px;padding:0 0 10px;border:0;border-bottom:1px solid #58827d;outline:0;resize:none;background:transparent;color:#f4ecdd;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:18px;line-height:1.55}textarea::placeholder{color:#6f9490}.writing-panel .ink-button,.reveal-panel .ink-button{margin-top:18px}.reveal-panel{max-width:790px}.source-line{margin:0 0 7px;color:#e7b66e;font-size:12px}.reveal-copy{max-width:640px;margin:0 0 8px;color:#f4ecdd;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:19px;line-height:1.5}.quote-line{margin:0;color:#85aaa3;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:13px;line-height:1.5}.pair-reveal{max-width:870px}.reveal-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.reveal-star{position:relative;min-height:150px;padding:13px 18px 12px 38px;border-left:1px solid #4b7772;background:#173239;animation:reveal-fold .75s both}.reveal-star.reveal-to{animation-delay:.16s}.reveal-star>span{position:absolute;left:12px;top:16px;color:#e7b66e;font-size:10px}.reveal-star h3{margin:0 0 7px;color:#f4ecdd;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:24px;font-weight:400}.reveal-star p:not(.source-line){margin:0 0 8px;color:#b2c5bf;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:14px;line-height:1.45}.reveal-star blockquote{margin:0;color:#79a19b;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:12px;line-height:1.45}.connect-actions{display:flex;align-items:center;gap:18px}.connection-feedback{color:#e48173;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:17px;font-weight:400}.feedback-hint{max-width:600px;margin:10px 0 0;color:#8faaa5;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:13px;line-height:1.5}.source-hint{position:absolute;z-index:12;left:42px;bottom:34px;width:min(480px,62vw);max-height:220px;overflow:auto;padding:3px 42px 5px 18px;border-left:1px solid #d7a867;background:linear-gradient(90deg,rgba(20,44,50,.96),rgba(20,44,50,.72) 78%,transparent);animation:edge-detail-in .42s ease both}.source-hint>button{position:absolute;right:5px;top:-5px;width:32px;height:32px;background:transparent;color:#93ada8;font-size:24px}.source-hint h2{margin:0 0 7px;color:#f4ecdd;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:25px;font-weight:400}.source-hint .hint-reveal{margin:0 0 9px;color:#c4d0ca;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:14px;line-height:1.45}.source-hint blockquote{margin:10px 0 0;color:#8eaaa4;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:13px;line-height:1.5}.source-hint small{display:block;margin-top:10px;color:#d99c72;font-size:11px}.celebrate-copy{position:absolute;z-index:10;left:50%;top:50%;width:min(590px,76vw);isolation:isolate;contain:paint;transform:translate3d(-50%,-50%,0);text-align:center;animation:celebrate-presence 1.65s cubic-bezier(.2,.72,.2,1) both}.celebrate-copy:before{content:"";position:absolute;z-index:-1;left:50%;top:52%;width:min(430px,72vw);height:150px;border-radius:50%;background:radial-gradient(ellipse at center,#538f854d,#c1946a2b 34%,#15313700 72%);filter:blur(18px);opacity:0;transform:translate3d(-50%,-50%,0) scale(.72);animation:celebrate-blur 1.65s cubic-bezier(.2,.72,.2,1) both;pointer-events:none;will-change:transform,opacity}.celebrate-mark{display:block;margin-bottom:20px;color:#e7b66e;font-size:36px}.celebrate-copy p{margin:0 0 14px;color:#9cbab2;font-size:13px}.celebrate-copy strong{display:block;color:#f6e5c0;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:clamp(22px,3vw,35px);font-weight:400;line-height:1.3;text-shadow:0 0 18px rgba(231,182,110,.14)}.zoom-copy{position:absolute;z-index:9;left:50%;bottom:48px;transform:translate(-50%);color:#88aaa5;text-align:center;animation:fade-in .8s both}.zoom-copy span{color:#e7b66e;font-size:24px}.zoom-copy p{margin:8px 0 0;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:14px}.quiet-prompt{position:absolute;z-index:4;left:50%;bottom:55px;transform:translate(-50%);color:#83a9a5;text-align:center;animation:fade-in 1.2s both}.quiet-prompt span{color:#e7b66e;font-size:22px}.quiet-prompt p{margin:8px 0 0;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:15px}.refresh-meter{position:absolute;z-index:8;right:46px;bottom:38px;display:flex;min-width:24px;min-height:28px;align-items:center;justify-content:flex-end;gap:18px}.refresh-star{position:relative;display:block;flex:0 0 auto;padding:0;animation:none;touch-action:manipulation}.refresh-star.is-unowned{width:22px;height:22px;border:1px solid #72918b;background:#2a4a48;transform:rotate(45deg)}.refresh-star.is-unowned:after{content:"";position:absolute;inset:6px;background:#789b93}.refresh-star:active{border-color:#d7bd84;background:#466662}.refresh-meter.is-spending{animation:refresh-meter-spend .82s cubic-bezier(.16,1,.3,1) both}.refresh-meter.is-spending:after{content:"";position:absolute;right:0;width:22px;height:22px;border:1px solid #9e8870;background:#355451;transform:rotate(45deg);animation:refresh-star-vanish .82s cubic-bezier(.16,1,.3,1) both}.refresh-meter.is-restoring:before{content:"";position:absolute;right:0;width:22px;height:22px;border:1px solid #d7bd84;background:#52756f;transform:rotate(45deg);animation:refresh-star-restore .96s cubic-bezier(.16,1,.3,1) both}.edge-detail{position:absolute;z-index:8;left:42px;bottom:34px;width:min(480px,62vw);min-height:62px;padding:2px 42px 4px 18px;border-left:1px solid #70968d;animation:edge-detail-in .42s ease both}.edge-detail time{display:block;margin-bottom:8px;color:#a89066;font-size:11px}.edge-detail p{margin:0;color:#c5d1ca;font-family:"Stars Serif",Georgia,Songti SC,serif;font-size:17px;line-height:1.45}.edge-detail button{position:absolute;right:0;top:-5px;width:32px;height:32px;background:transparent;color:#78958f;font-size:24px}@keyframes node-in{0%{opacity:0}to{opacity:1}}@keyframes entry-copy-exit{0%{opacity:1;transform:translateY(-12vh)}to{opacity:0;transform:translateY(-15vh)}}@keyframes entry-star-roll{0%{left:var(--entry-flight-start-x);top:50%;opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}to{left:50%;top:44.2%;opacity:.62;transform:translate(-50%,-50%) scale(.516) rotate(-90deg)}}@keyframes entry-architecture-dim{0%{opacity:1}to{opacity:.24}}@keyframes entry-background-continuous{0%{opacity:0}to{opacity:1}}@keyframes entry-architecture-continuous{0%{opacity:1}38%{opacity:.24}to{opacity:0}}@keyframes prologue-architecture-dim{0%{opacity:.24}to{opacity:0}}@keyframes prologue-copy{0%,8%{opacity:0;transform:translate3d(-50%,8px,0)}22%,64%{opacity:1;transform:translate3d(-50%,0,0)}88%,to{opacity:0;transform:translate3d(-50%,-6px,0)}}@keyframes breathing-content-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes breathing-controls-arrive{0%{opacity:0;transform:translate3d(-50%,8px,0)}to{opacity:1;transform:translate3d(-50%,0,0)}}@keyframes breathing-orb-arrive{0%{opacity:0}to{opacity:1}}@keyframes edge-in{0%{opacity:0;stroke-dasharray:600;stroke-dashoffset:600}to{opacity:1;stroke-dashoffset:0}}@keyframes celebrate-presence{0%{opacity:0;transform:translate3d(-50%,-43%,0) scale(.98)}18%,72%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}to{opacity:0;transform:translate3d(-50%,-54%,0) scale(.985)}}@keyframes celebrate-blur{0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.72)}24%{opacity:.9;transform:translate3d(-50%,-50%,0) scale(1)}72%{opacity:.62;transform:translate3d(-50%,-50%,0) scale(1.08)}to{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.2)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rare-arrival{0%{opacity:0;transform:translate(150px,-80px) scale(.4)}70%{opacity:1}to{transform:translate(-50%,-50%) scale(1)}}@keyframes rare-orbit{to{transform:translate(-50%,-50%) rotate(405deg)}}@keyframes reveal-fold{0%{opacity:0;transform:perspective(500px) rotateX(-14deg) translateY(16px)}to{opacity:1;transform:perspective(500px) rotateX(0) translateY(0)}}@keyframes hint-open{0%{opacity:0;transform:translate(-50%,-46%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes star-glimmer{0%,to{opacity:.28}50%{opacity:.62}}@keyframes halo-glimmer{0%,to{opacity:.18}50%{opacity:.38}}@keyframes edge-glimmer{0%,to{opacity:.46}50%{opacity:.72}}@keyframes deliberate-hold{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes edge-hold{0%{opacity:.46}to{opacity:1}}@keyframes edge-echo-hold{0%{opacity:.12}to{opacity:.42}}@keyframes owned-hold-halo{0%{opacity:.2;transform:scale(.82)}to{opacity:.7;transform:scale(1.38)}}@keyframes owned-hold-core{0%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1.2)}}@keyframes candidate-hold{0%{border-color:#607f79;background:#294846;transform:rotate(45deg) scale(1)}to{border-color:#b59c69;background:#9a746e;transform:rotate(135deg) scale(1.2)}}@keyframes candidate-selected{0%{opacity:.78;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes candidate-merge{0%{opacity:1}to{opacity:0}}@keyframes candidate-recede{0%{opacity:.82}to{opacity:0}}@keyframes edge-detail-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes breath-flight{0%{left:50%;top:50%;opacity:1;transform:translate(-50%,-50%) scale(.92) rotate(0)}48%{left:var(--flight-mid-x);top:var(--flight-mid-y);opacity:1;transform:translate(-50%,-50%) scale(.58) rotate(48deg)}88%{opacity:.92}to{left:var(--portal-x);top:var(--portal-y);opacity:0;transform:translate(-50%,-50%) scale(.12) rotate(132deg)}}@keyframes portal-flare{0%{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(.35)}26%{opacity:.9}to{opacity:0;transform:translate(-50%,-50%) rotate(135deg) scale(2.3)}}@keyframes portal-ring{0%{opacity:.6;transform:scale(.3)}to{opacity:0;transform:scale(7.5)}}@keyframes portal-reveal{0%{clip-path:circle(0 at var(--portal-x) var(--portal-y))}to{clip-path:circle(160vmax at var(--portal-x) var(--portal-y))}}@keyframes camera-move{0%{transform:translate(var(--camera-from-x),var(--camera-from-y)) scale(var(--camera-from-scale)) translate(var(--reflow-pivot-x),var(--reflow-pivot-y)) rotate(var(--reflow-from-angle)) translate(calc(var(--reflow-pivot-x) * -1),calc(var(--reflow-pivot-y) * -1))}to{transform:translate(var(--camera-to-x),var(--camera-to-y)) scale(var(--camera-to-scale)) translate(var(--reflow-pivot-x),var(--reflow-pivot-y)) rotate(var(--reflow-to-angle)) translate(calc(var(--reflow-pivot-x) * -1),calc(var(--reflow-pivot-y) * -1))}}@keyframes candidate-arrive{0%{opacity:0;transform:translate(-50%,-50%) scale(.82)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes candidate-action-in{0%{opacity:0;transform:translate(-50%,-50%) translateZ(0) scale(.62)}to{opacity:1;transform:translate(-50%,-50%) translate3d(var(--action-x),var(--action-y),0) scale(1)}}@keyframes candidate-action-out{0%{opacity:1;transform:translate(-50%,-50%) translate3d(var(--action-x),var(--action-y),0) scale(1)}to{opacity:0;transform:translate(-50%,-50%) translateZ(0) scale(.62)}}@keyframes refresh-meter-spend{0%,to{opacity:1;transform:translateZ(0)}24%{opacity:.28;transform:translate3d(-5px,0,0)}46%{opacity:.9;transform:translate3d(3px,0,0)}68%{opacity:.42;transform:translate3d(-2px,0,0)}}@keyframes refresh-star-vanish{0%{opacity:.82;transform:rotate(45deg) scale(1)}to{opacity:0;transform:rotate(135deg) scale(.28)}}@keyframes refresh-star-restore{0%{opacity:0;transform:translate3d(0,18px,0) rotate(-45deg) scale(.3)}62%{opacity:.92}to{opacity:0;transform:translateZ(0) rotate(45deg) scale(1.18)}}.map-view{position:absolute;z-index:30;inset:0;overflow:hidden;background:transparent;contain:paint;pointer-events:auto;touch-action:none}.map-view:before{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(circle at 50% 50%,#19363b,#10262e 54%,#0b1c24);opacity:1}.map-view svg{position:relative;z-index:1;display:block;width:100%;height:100%;pointer-events:none}.map-field{opacity:.72}.map-star{fill:#52746f;opacity:.38}.map-star-jade{fill:#769b92;opacity:.54}.map-star-warm{fill:#a98d65;opacity:.66}.map-personal{transform:translate(var(--map-to-x),var(--map-to-y)) scale(var(--map-to-scale)) translate(var(--map-pivot-x),var(--map-pivot-y)) rotate(var(--map-to-angle)) translate(calc(var(--map-pivot-x) * -1),calc(var(--map-pivot-y) * -1));transform-box:view-box;transform-origin:0 0}.map-personal-edges line{stroke:#b1986c;stroke-width:3;stroke-linecap:round;opacity:.72}.map-personal-nodes rect{fill:#e1c280;opacity:.86;animation:star-glimmer 5.4s ease-in-out infinite;animation-delay:var(--map-delay)}.classmap-layer{pointer-events:none}.classmap-cell{fill:#6f9a92}.classmap-cell-warm{fill:#9d8a66}.classmap-outline line{stroke:#5c8a83;stroke-width:1.5;stroke-linecap:round;opacity:.34}.classmap-outline rect{fill:#86ab9f;opacity:.5}.classmap-status{position:absolute;z-index:2;right:26px;bottom:26px;display:flex;align-items:center;gap:10px;color:#7f9f9a;font-size:11px;letter-spacing:.04em}.classmap-status i{display:block;width:7px;height:7px;border:1px solid #6f9a92;transform:rotate(45deg)}.classmap-status.is-loading i{animation:star-glimmer 1.6s ease-in-out infinite}.classmap-status.is-error{color:#b58c80}.classmap-status.is-error i{border-color:#b58c80}.phase-map-in .scene-reveal-shell{animation:game-layer-hide .7s ease-out both;pointer-events:none}.phase-map-in .scene-reveal-shell *,.phase-map .scene-reveal-shell *,.phase-map-out .scene-reveal-shell *{animation-play-state:paused}.phase-map-in .map-view:before{animation:map-background-in 4.2s ease-out both}.phase-map-in .map-field{animation:map-field-in 4.2s cubic-bezier(.16,1,.3,1) both}.phase-map-in .map-personal{animation:personal-map-in 4.2s cubic-bezier(.16,1,.3,1) both;will-change:transform}.phase-map .scene-reveal-shell{opacity:0;pointer-events:none}.phase-map-out .scene-reveal-shell{animation:game-layer-return 4.2s ease-out both;pointer-events:none}.phase-map-out .map-view:before{animation:map-background-out 4.2s ease-out both}.phase-map-out .map-field{animation:map-field-out 4.2s cubic-bezier(.16,1,.3,1) both}.phase-map-out .map-personal{animation:personal-map-out 4.2s cubic-bezier(.16,1,.3,1) both;will-change:transform}@keyframes game-layer-hide{0%{opacity:1}to{opacity:0}}@keyframes game-layer-return{0%,72%{opacity:0}to{opacity:1}}@keyframes map-background-in{0%{opacity:0}to{opacity:1}}@keyframes map-background-out{0%{opacity:1}to{opacity:0}}@keyframes map-field-in{0%,26%{opacity:0}to{opacity:.72}}@keyframes map-field-out{0%{opacity:.72}74%,to{opacity:0}}@keyframes personal-map-in{0%{transform:translate(var(--map-from-x),var(--map-from-y)) scale(var(--map-from-scale)) translate(var(--map-pivot-x),var(--map-pivot-y)) rotate(var(--map-from-angle)) translate(calc(var(--map-pivot-x) * -1),calc(var(--map-pivot-y) * -1))}to{transform:translate(var(--map-to-x),var(--map-to-y)) scale(var(--map-to-scale)) translate(var(--map-pivot-x),var(--map-pivot-y)) rotate(var(--map-to-angle)) translate(calc(var(--map-pivot-x) * -1),calc(var(--map-pivot-y) * -1))}}@keyframes personal-map-out{0%{transform:translate(var(--map-to-x),var(--map-to-y)) scale(var(--map-to-scale)) translate(var(--map-pivot-x),var(--map-pivot-y)) rotate(var(--map-to-angle)) translate(calc(var(--map-pivot-x) * -1),calc(var(--map-pivot-y) * -1))}to{transform:translate(var(--map-from-x),var(--map-from-y)) scale(var(--map-from-scale)) translate(var(--map-pivot-x),var(--map-pivot-y)) rotate(var(--map-from-angle)) translate(calc(var(--map-pivot-x) * -1),calc(var(--map-pivot-y) * -1))}}@media(max-width:720px){.entry-copy{width:76vw;margin-left:-12vw}.entry-copy h1{font-size:clamp(48px,16vw,78px)}.entry-star{right:-5vw;width:150px;height:150px}.entry-flight-shape{--entry-flight-start-x: calc(105vw - 75px) ;width:150px;height:150px}.entry-flight-shape:after{inset:25px}.entry-flight-shape span{inset:53px}.academy-back{top:9px;left:8px}.topbar{left:62px;right:22px;top:18px}.map-button{left:22px;bottom:24px}.scene-caption{left:22px;top:100px}.subject-tabs{margin-right:14px;gap:13px}.writing-panel,.reveal-panel{left:22px;right:22px;bottom:22px}.reveal-pair{gap:12px}.refresh-meter{right:22px;bottom:24px}.edge-detail,.source-hint{left:22px;bottom:24px;width:min(480px,72vw)}.candidate-label{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.phase-entry-flight .entry-copy,.phase-entry-flight .entry-architecture,.entry-flight-shape,.prologue-architecture{animation-delay:0s!important}.phase-entry-flight .entry-architecture,.prologue-architecture{animation:none!important;opacity:.24}.prologue-copy{animation:none!important;opacity:1;transform:translate3d(-50%,0,0)}.breathing-screen>.breath-orb,.breathing-screen>.breath-copy,.breathing-screen>.breath-controls{animation-delay:0s}.celebrate-copy{animation:none!important;opacity:1}.celebrate-copy:before{animation:none!important;opacity:.58;transform:translate3d(-50%,-50%,0) scale(1)}}.low-power .map-field,.low-power .map-personal-nodes rect{animation:none}.low-power .map-field{opacity:.42}.low-power .owned-node .node-halo,.low-power .edge line:not(.edge-echo),.low-power .candidate-dot:after,.low-power .classmap-status.is-loading i{animation-duration:8s}.low-power .candidate-shell.is-rare:before,.low-power .candidate-shell.is-rare:after{animation-duration:14s}
