:root{--star-white: #fff4d6;--star-quiet: rgba(255, 244, 214, .62);--star-faint: rgba(255, 244, 214, .3);--star-cool: #dce8ff;--line: #8fa3b8;--ink-panel: rgba(15, 30, 49, .82);--ink-solid: #0f1e31;--ink-deep: #0b1826;--gilt: #c9a227;--gilt-hairline: rgba(201, 162, 39, .6);--hairline-faint: rgba(201, 162, 39, .28);--brass: #b89650;--amber: #e0a458;--planet-mercury: #b4aba0;--planet-venus: #eed69c;--planet-mars: #d8694a;--planet-jupiter: #e3a06b;--planet-saturn: #f4c430;--planet-uranus: #96d6cf;--planet-neptune: #6e8fea;--planet-pluto: #ddb0a4;--planet: var(--planet-saturn);--horizon-warmth: #8a6a52;--night-disc: #081525;--scrim: rgba(4, 8, 14, .55);--font-almanac: "Fraunces", "Iowan Old Style", Georgia, serif;--font-observatory: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;--radius-card: 12px;--radius-button: 8px;--tray-width: 360px;--display-size: 76px;--subtitle-size: 20px;--card-title-size: 26px;--card-subtitle-size: 14px;--fraction-size: 22px;--inset: 40px;--column: 640px;--card-padding: 28px;--card-gap: 18px;--card-border: #223b58;--card-border-done: #172a40;--card-done: rgba(8, 19, 32, .92);--card-hover: rgba(28, 50, 78, .95);--card-pressed: rgba(11, 24, 38, .95);--card-ease: .2s ease;--row-line: 1px;--row-mark-stroke: 2px;--row-inset: 20px;--row-pad-y: 18px;--row-gap: 8px;--row-head-gap: 16px;--row-icon-stroke: .8;--row-title-size: 32px;--row-title-line: 38px;--row-tagline-size: 16px;--row-tagline-line: 22px;--row-star: 18px;--row-count-size: 20px;--row-count-pad: 10px;--hud-panel: 52px;--hud-inset: 20px;--below-bar: 56px;--word-panel-height: 76px;--button-height: 44px;--hud-number: 22px;--word-size: 40px}[data-palette=moonlight]{--star-white: #eef2f7;--star-quiet: rgba(238, 242, 247, .62);--star-faint: rgba(238, 242, 247, .3);--ink-panel: rgba(13, 24, 40, .92);--ink-solid: #0d1828;--ink-deep: #0a1422;--gilt: #c9d6e8;--gilt-hairline: rgba(143, 163, 184, .75);--hairline-faint: rgba(143, 163, 184, .32);--brass: #dce8ff;color:var(--star-white)}:root[data-platform=tablet]{--display-size: 60px;--subtitle-size: 20px;--card-title-size: 22px;--inset: 32px;--hud-inset: 16px;--below-bar: 48px}:root[data-platform=phone]{--display-size: 34px;--subtitle-size: 15px;--card-title-size: 19px;--card-subtitle-size: 13px;--fraction-size: 18px;--inset: 16px;--column: 361px;--card-padding: 16px;--card-gap: 12px;--row-inset: 12px;--row-pad-y: 12px;--row-gap: 6px;--row-head-gap: 12px;--row-icon-stroke: 1.15;--row-title-size: 18px;--row-title-line: 22px;--row-tagline-size: 13px;--row-tagline-line: 18px;--row-star: 12px;--row-count-size: 13px;--row-count-pad: 7px;--row-mark-stroke: 1.6px;--hud-panel: 40px;--hud-inset: 10px;--below-bar: 40px;--word-panel-height: 60px;--button-height: 36px;--hud-number: 18px;--word-size: 30px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{background:var(--ink-deep);color:var(--star-white);font-family:var(--font-almanac);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-synthesis:none}body{overflow-x:hidden}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gilt);outline-offset:2px}a{color:inherit}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.panel{background:var(--ink-panel);border:1px solid var(--gilt-hairline);border-radius:var(--radius-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--button-height);min-width:104px;padding:0 18px;border-radius:var(--radius-button);font-family:var(--font-almanac);font-weight:600;font-size:16px;letter-spacing:0;white-space:nowrap;transition:transform .12s ease,background-color .12s ease,opacity .12s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--brass);color:var(--ink-deep)}.btn-primary:hover:not(:disabled){background:#c7a45c}.btn-ghost{border:1px solid var(--gilt-hairline);color:var(--star-white)}.btn-ghost:hover:not(:disabled){background:#fff4d60f}.btn-done{border:1px solid var(--gilt);color:var(--gilt)}.btn-small{height:36px;min-width:0;padding:0 14px;font-size:14px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--hud-panel);height:var(--hud-panel);border-radius:var(--radius-button);color:var(--star-white)}.icon-btn:hover{background:#fff4d614}.icon-btn:disabled{opacity:.4;cursor:default}.icon{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-sm{width:18px;height:18px}.toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px;font-size:16px;color:var(--star-white);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.toggle-track{position:relative;flex:none;width:44px;height:26px;border:1px solid var(--gilt-hairline);border-radius:999px;background:#08152599;transition:background .14s ease,border-color .14s ease}.toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--star-quiet);transition:transform .14s ease,background .14s ease}.toggle:hover .toggle-track{border-color:var(--gilt)}.toggle input:checked+.toggle-track{background:var(--gilt);border-color:var(--gilt)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(18px);background:var(--ink-deep)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--star-white);outline-offset:2px}.setting-button{cursor:default}.setting-button .btn{min-width:76px}.hairline{border:0;border-top:1px solid var(--gilt-hairline);margin:0}.mono{font-family:var(--font-observatory);font-variant-numeric:tabular-nums}.quiet{color:var(--star-quiet)}.tag{display:inline-block;padding:3px 8px;border:1px solid var(--gilt-hairline);border-radius:999px;font-family:var(--font-observatory);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--star-quiet)}.label-mono{font-family:var(--font-observatory);font-size:11px;letter-spacing:.16em;text-transform:uppercase}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.tray-root{position:fixed;inset:0;z-index:40;pointer-events:none}.tray-root.is-open{pointer-events:auto}.tray-scrim{position:absolute;inset:0;background:var(--scrim);opacity:0;transition:opacity .2s ease}.is-open .tray-scrim{opacity:1}.tray{position:absolute;top:0;right:0;bottom:0;width:min(var(--tray-width),100vw);border-radius:0;border-width:0 0 0 1px;border-color:var(--gilt);display:flex;flex-direction:column;transform:translate(100%);transition:transform .22s ease;background:var(--ink-solid)}.is-open .tray{transform:translate(0)}.tray-header{display:flex;align-items:center;justify-content:flex-end;padding:8px 8px 0}.tray-header .icon-btn{width:44px;height:44px}.tray-header.has-tabs{justify-content:space-between;align-items:flex-end;padding:8px 8px 0 18px;border-bottom:1px solid var(--gilt-hairline)}.tray-header.has-tabs>.icon-btn{margin-bottom:4px}.tray-tabs{display:flex;gap:4px}.tray-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--radius-button) var(--radius-button) 0 0;color:var(--star-quiet);transition:color .12s ease,background-color .12s ease}.tray-tab:hover:not(:disabled):not(.is-selected){color:var(--star-white);background:#fff4d60f}.tray-tab.is-selected{color:var(--gilt);background:#c9a2271f}.tray-tab.is-selected:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--gilt)}.tray-tab:disabled{color:var(--star-faint);opacity:.6;cursor:default}.tray-entries{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 0 24px}.tray-footer{flex:none;position:relative;z-index:1;padding:16px 32px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--gilt-hairline);background:var(--ink-solid);box-shadow:0 -14px 24px #04080e73}.tray-footer .btn{width:100%}:root[data-platform=phone] .tray-footer{padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.tray-item{display:flex;align-items:center;gap:14px;width:100%;padding:14px 32px;text-align:left;font-size:18px;font-weight:600}.tray-item:hover:not(:disabled){background:#fff4d60f}.tray-item:disabled{cursor:default;opacity:.7}.tray-label{flex:1}.tray-caret{color:var(--gilt)}.tray-detail{font-size:15px;font-weight:500;color:var(--gilt)}.is-small .tray-item{font-size:15px;font-weight:500;padding:10px 32px;color:var(--star-quiet)}.tray-divider{margin:8px 32px}.tray-content{padding:4px 32px 18px;font-size:15px;line-height:1.5;color:var(--star-quiet)}.tray-content h4{margin:14px 0 6px;font-size:15px;color:var(--star-white);font-weight:500}.tray-content p{margin:0 0 8px}.tray-content ul{margin:0 0 8px;padding-left:18px}.share{display:flex;flex-direction:column;gap:12px;padding-top:4px}.share-preview{display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden;border:1px solid var(--gilt-hairline);border-radius:var(--radius-button);background:var(--ink-deep)}.share-preview img{display:block;width:100%;height:100%}.share-preview-wait{font-size:13px}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.share-actions .btn{min-width:0;padding:0 12px;font-size:15px}.share-actions .btn-primary{grid-column:1 / -1}.tray-content .share-note{margin:0;font-size:13px}.score-table{font-size:14px}.score-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid rgba(201,162,39,.18);color:var(--star-white)}.score-word{display:flex;flex-direction:column;gap:2px;min-width:0}.score-word .mono:first-child{font-size:15px;letter-spacing:.08em}.score-how{font-size:11px;color:var(--star-quiet)}.score-points{font-size:15px;font-weight:500}.score-row.is-total{border-bottom:0;border-top:1px solid var(--gilt-hairline);margin-top:4px;padding-top:10px;color:var(--gilt);font-weight:600}.score-row.is-total .score-points{font-size:18px;font-weight:600}.stats-table{width:100%;border-collapse:collapse;font-size:14px}.stats-table th,.stats-table td{padding:8px 0;border-bottom:1px solid rgba(201,162,39,.18);vertical-align:baseline}.stats-table tr:last-child th,.stats-table tr:last-child td{border-bottom:0}.stats-table th{text-align:left;font-weight:400;color:var(--star-quiet)}.stats-table td{text-align:right;color:var(--star-white);font-size:15px;font-weight:500;white-space:nowrap}.stats-sub{display:block;margin-top:2px;font-size:11px;letter-spacing:.08em;color:var(--star-white)}.tray-content .constellation-cards{list-style:none;margin:0;padding:4px 0 0;display:flex;flex-direction:column;gap:12px}.constellation-card{overflow:hidden;border:1px solid var(--gilt-hairline);border-radius:var(--radius-card);background:var(--ink-deep)}.constellation-art{display:block;width:100%;height:auto}.constellation-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 14px 12px;border-top:1px solid rgba(201,162,39,.3)}.constellation-name{font-size:18px;font-weight:600;letter-spacing:.12em;color:var(--star-white)}.home{position:relative;min-height:100%;z-index:1}.home-header{position:absolute;top:var(--hud-inset);left:var(--hud-inset);right:var(--hud-inset);z-index:3;display:flex;justify-content:space-between;pointer-events:none}.home-header>*{pointer-events:auto}.home-menu-button{margin-left:auto}.horoscope-button{position:relative}.horoscope-notice{position:absolute;top:-5px;right:-5px;width:14px;height:14px;color:var(--gilt);filter:drop-shadow(0 0 3px rgba(0,0,0,.6))}.home-main{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:calc(var(--hud-inset) + var(--hud-panel) / 2) var(--inset) 24px}.title-block{text-align:center;margin:0 0 clamp(16px,4vh,36px)}.title{padding-inline:max(0px,calc(var(--hud-inset) + var(--hud-panel) + 8px - var(--inset)));margin:0;font-size:var(--display-size);font-weight:400;font-style:italic;font-variation-settings:"opsz" 144;letter-spacing:0;line-height:1}.subtitle{margin:12px 0 0;font-size:var(--subtitle-size);line-height:1.2}.home-column{width:min(var(--column),100%);display:flex;flex-direction:column;gap:var(--card-gap)}.date-row-wrap{position:relative}.date-row{display:flex;align-items:center;justify-content:space-between;height:44px}.date-button{display:inline-flex;align-items:center;gap:10px;font-size:17px;font-weight:600;padding:6px 4px;border-radius:var(--radius-button)}.date-button:hover{background:#fff4d60f}.countdown{font-size:15px;font-weight:500;letter-spacing:.04em;color:var(--star-quiet)}.tag-archive{border-color:var(--gilt);color:var(--gilt)}.calendar{position:absolute;top:48px;left:0;right:0;z-index:5;padding:16px 20px 20px;border-color:var(--gilt);background:var(--ink-solid)}.calendar-head{display:flex;align-items:center;justify-content:center;gap:clamp(16px,8vw,72px);margin-bottom:8px}.calendar-month{min-width:9em;text-align:center;font-size:19px;font-weight:600}.calendar-arrow{width:36px;height:36px}.calendar-arrow:disabled{opacity:.25;cursor:default}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,64px));justify-content:center}.calendar-weekday{padding:4px 0 10px;text-align:center;font-size:10px;color:var(--gilt)}.calendar-day{position:relative;display:flex;align-items:center;justify-content:center;height:46px;font-family:var(--font-observatory);font-size:13px;color:var(--star-white)}.calendar-day-number{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%}button.calendar-day:hover .calendar-day-number{background:#fff4d614}.calendar-day[data-state=closed]{color:var(--star-faint)}.calendar-day[data-state=selected] .calendar-day-number{background:var(--brass);color:var(--ink-deep)}.calendar-day[data-state=tonight] .calendar-day-number{box-shadow:inset 0 0 0 1.5px var(--gilt)}.calendar-day[data-state=some] .calendar-day-number{transform:translateY(-4px)}.calendar-day-ring{position:absolute;left:50%;bottom:10px;width:6px;height:6px;margin-left:-3px;border:1px solid var(--gilt);border-radius:50%}.calendar-day-star{width:26px;height:26px;color:var(--gilt)}button.calendar-day:hover .calendar-day-star{color:var(--brass)}.calendar-error{margin:8px 0 0;text-align:center}.home-notice{padding:16px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between}.home-notice p{margin:0}.level-list{display:flex;flex-direction:column;gap:var(--card-gap)}.level-card{display:flex;align-items:flex-start;gap:var(--row-head-gap);width:100%;padding:var(--row-pad-y) var(--row-inset);border-color:var(--card-border);color:var(--star-white);text-align:left;cursor:pointer;transition:background-color var(--card-ease)}.level-card-icon,.level-card-title,.level-card-tagline,.level-card-stars,.level-card-mark{transition:color var(--card-ease),border-color var(--card-ease),opacity var(--card-ease)}@media(hover:hover){.level-card:hover{background:var(--card-hover)}.level-card:hover .level-card-mark,.level-card:hover .level-card-tagline,.level-card:hover .level-card-stars{color:var(--star-white)}.level-card:hover .level-card-stars{border-color:var(--star-white)}}.level-card:active{background:var(--card-pressed)}.level-card-icon{width:calc(var(--row-title-line) + var(--row-tagline-line));height:calc(var(--row-title-line) + var(--row-tagline-line));stroke-width:var(--row-icon-stroke)}.level-card-body{display:flex;flex-direction:column;flex:1 1 0;min-width:0}.level-card-head{display:flex;align-items:center;gap:var(--row-gap);height:var(--row-title-line)}.level-card-title{flex:1 1 0;min-width:0;overflow:hidden;font-size:var(--row-title-size);line-height:var(--row-title-line);text-overflow:ellipsis;white-space:nowrap}.level-card-stars{flex:none;display:inline-flex;align-items:center;gap:3px;height:var(--row-title-line);padding:0 var(--row-count-pad);border:var(--row-line) solid var(--star-quiet);border-radius:999px;font-size:var(--row-count-size);font-weight:500;line-height:1}.level-card-star{width:var(--row-star);height:var(--row-star)}.level-card-mark{flex:none;width:var(--row-title-line);height:var(--row-title-line);border:var(--row-line) solid currentColor;border-radius:50%;color:var(--star-quiet)}.level-card-mark-glyph{display:block;width:100%;height:100%;stroke-width:var(--row-mark-stroke)}.level-card-mark-glyph *{vector-effect:non-scaling-stroke}.level-card-tagline{font-size:var(--row-tagline-size);line-height:var(--row-tagline-line);color:var(--star-quiet)}.level-card.is-done{background:var(--card-done);border-color:var(--card-border-done)}.level-card.is-done .level-card-title,.level-card.is-done .level-card-stars{color:#fff4d68c}.level-card.is-done .level-card-tagline{color:#fff4d661}.level-card.is-done .level-card-icon{opacity:.45}@media(hover:hover){.level-card.is-done:hover{background:var(--card-hover)}.level-card.is-done:hover .level-card-title,.level-card.is-done:hover .level-card-stars{color:var(--star-white)}.level-card.is-done:hover .level-card-icon{opacity:.8}}.level-loading{margin:8px 0;text-align:center}.level-placeholder{margin:4px 0;text-align:center}.layer-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;color:var(--gilt)}.layer-divider-end{display:flex;align-items:center;gap:14px}.layer-divider:before,.layer-divider-end:before{content:"";flex:1;border-top:1px solid var(--gilt-hairline)}.layer-timer{cursor:default}.home-footer{margin-top:auto;padding-top:48px;font-family:var(--font-observatory);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.debug-tools>p:first-child{margin-bottom:14px}.debug-tool{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:14px}.debug-tool .btn.is-armed{border-color:var(--gilt);color:var(--gilt)}.debug-tool-what{font-size:13px;color:var(--star-faint)}.debug-note{color:var(--gilt)}:root[data-platform=phone] .home-main{padding-bottom:16px}.horoscope-screen{position:relative;min-height:100%;z-index:1}.horoscope-content{transition:opacity .45s ease}.horoscope-screen.is-divining .horoscope-content{opacity:0}.horoscope-header{position:absolute;top:var(--hud-inset);left:var(--hud-inset);right:var(--hud-inset);z-index:3;display:grid;grid-template-columns:var(--hud-panel) minmax(0,1fr) var(--hud-panel);align-items:center;gap:8px}.horoscope-title{margin:0;font-size:32px;font-weight:400;font-style:italic;font-variation-settings:"opsz" 144;line-height:1.05;text-align:center}.home-main.horoscope-main{padding-top:calc(var(--hud-inset) + var(--hud-panel) + var(--below-bar))}.horoscope-date{display:flex;align-items:center;gap:14px;height:1px;margin:0;line-height:1;white-space:nowrap;color:var(--star-white)}.horoscope-date:before,.horoscope-date:after{content:"";flex:1;height:1px;background:var(--gilt-hairline)}.horoscope-loading{text-align:center}.sign-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--card-gap)}.sign-slot{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;padding:14px 14px 16px;text-align:center;transition:border-color .16s ease,background-color .16s ease,transform .12s ease}.sign-slot:not(:disabled):hover{border-color:var(--gilt);background:#0f1e31f0}.sign-slot:not(:disabled):active{transform:translateY(1px)}.sign-slot:disabled{cursor:default}.sign-slot[data-filled=true]{border-color:var(--gilt)}.sign-slot-head{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--gilt)}.sign-slot-head .icon{width:18px;height:18px;stroke-width:1.4}.sign-slot-art{display:block;aspect-ratio:1;overflow:hidden;border:1px solid var(--hairline-faint);border-radius:6px;background:var(--ink-deep)}.sign-slot-art svg{display:block;width:100%;height:100%}.sign-slot-empty circle{fill:none;stroke:var(--gilt-hairline);stroke-width:1.5;stroke-dasharray:3 7;stroke-linecap:round}.sign-slot-empty path{stroke:var(--star-white);stroke-width:2;stroke-linecap:round}.sign-slot:not(:disabled):hover .sign-slot-empty circle{stroke:var(--gilt)}.sign-slot-word{min-height:1.4em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;letter-spacing:.12em}.sign-slot-word.is-empty{font-family:var(--font-almanac);font-size:16px;font-style:italic;letter-spacing:0}.horoscope-panel{padding:var(--card-padding)}.horoscope-invite{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.horoscope-invite-text{max-width:30em;margin:0;font-size:17px;font-style:italic}.horoscope-generate{min-width:220px}.horoscope-hint{margin:-6px 0 0;font-size:13px}.horoscope-error{margin:0;color:var(--amber)}.horoscope-locked{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.horoscope-locked p{margin:0}.horoscope-count{font-size:var(--fraction-size);font-weight:500;color:var(--gilt)}[data-palette=moonlight] .btn-primary:hover:not(:disabled){background:#eef4ff}.horoscope-lock{width:28px;height:28px;color:var(--gilt)}.horoscope-text{max-width:34em;margin:0 auto}.horoscope-headline{margin:4px 0 18px;text-align:center;font-size:calc(var(--card-title-size) * 1.15);font-weight:400;font-style:italic;line-height:1.2}.horoscope-headline .sign-word{font-size:.72em}.horoscope-reading{margin:0;font-size:17px;line-height:1.6}.horoscope-rule{margin:22px 0 18px;border:0;border-top:1px solid var(--gilt-hairline)}.horoscope-sign{margin:0 0 18px}.horoscope-sign-head{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-weight:400;color:var(--gilt)}.horoscope-sign-head .icon{width:16px;height:16px;stroke-width:1.4}.horoscope-sign p{margin:0;font-size:17px;line-height:1.6}.sign-word{font-family:var(--font-observatory);font-size:.84em;letter-spacing:.08em;color:var(--gilt)}.horoscope-placeholder{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:14px}.horoscope-placeholder p{margin:0;font-size:12px;font-style:italic}.reveal{animation:reveal-line .8s ease both}@keyframes reveal-line{0%{opacity:0;transform:translateY(8px);filter:blur(3px)}}.divining{position:fixed;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;padding:var(--inset);animation:divining-in .45s ease both;transition:opacity .45s ease}.divining.is-closing{opacity:0;pointer-events:none}.divining-mask{position:absolute;inset:0;background:#0a142280}.divining-body{position:relative;display:flex;flex-direction:column;align-items:center;gap:40px}.dial{width:min(440px,76vw,58vh);height:auto;overflow:visible;transition:opacity .6s ease}.divining.is-spoken .dial{opacity:.7}.dial-limb,.dial-houses,.dial-rule{transform-box:view-box;transform-origin:160px 160px}.dial-limb{fill:none;stroke:var(--gilt);stroke-opacity:.85;stroke-width:1;animation:spin 120s linear infinite}.dial-limb line{stroke-width:.7;stroke-opacity:.6}.dial-limb .tick-major{stroke-width:1.4;stroke-opacity:1}.dial-houses{fill:none;stroke:var(--gilt);stroke-opacity:.45;stroke-width:.8;animation:spin 80s linear infinite reverse}.house-star{fill:var(--gilt);stroke:none;opacity:.8}.dial-orbit{fill:none;stroke:var(--star-faint);stroke-width:.8;stroke-dasharray:1 5}.dial-rule{stroke:var(--gilt);stroke-opacity:.6;stroke-width:.8;fill:var(--gilt);animation:spin 6s linear infinite}.dial-sun{fill:none;stroke:var(--star-white);stroke-width:1.4;stroke-linecap:round;transform-box:fill-box;transform-origin:center;animation:sun-breathe 3.2s ease-in-out infinite}.divining-line{min-height:1.5em;margin:0;font-size:17px;font-style:italic;text-align:center;animation:phrase-in .6s ease both}.divining-spoken{display:flex;flex-direction:column;align-items:center;gap:24px;animation:phrase-in .7s ease both}.divining-spoken-line{margin:0;font-size:calc(var(--card-title-size) * 1.15);font-style:italic;text-align:center}.divining-reveal{min-width:220px}@keyframes divining-in{0%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sun-breathe{50%{transform:scale(1.08);opacity:.75}}@keyframes phrase-in{0%{opacity:0;transform:translateY(4px)}}.divining.is-still :is(.dial-limb,.dial-houses,.dial-rule,.dial-sun){animation:none!important}.picker-root{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px}.picker-scrim{position:absolute;inset:0;background:var(--scrim);animation:scrim-in .2s ease both}.picker{position:relative;display:flex;flex-direction:column;width:min(680px,100%);max-height:min(720px,calc(100vh - 48px));border-color:var(--gilt);background:var(--ink-solid);animation:sheet-in .26s ease both}.picker-head{display:flex;align-items:center;gap:12px;padding:14px 10px 12px 20px;border-bottom:1px solid var(--gilt-hairline)}.picker-head .icon-btn{width:44px;height:44px}.picker-glyph{width:28px;height:28px;color:var(--gilt)}.picker-titles{flex:1;min-width:0}.picker-title{margin:0;font-size:22px;font-weight:600;line-height:1.15}.picker-meaning{margin:2px 0 0;font-size:14px;font-style:italic}.picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:16px 20px 20px;list-style:none;overflow-y:auto;overscroll-behavior:contain}.picker-card{display:flex;flex-direction:column;gap:6px;width:100%;padding:8px 8px 10px;border:1px solid var(--hairline-faint);border-radius:var(--radius-button);text-align:left}.picker-card:hover{background:#fff4d60d}.picker-card[aria-pressed=true]{border-color:var(--gilt);box-shadow:inset 0 0 0 1px var(--gilt)}.picker-art{display:block;width:100%;height:auto;border-radius:5px}.picker-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 0}.picker-word{overflow:hidden;text-overflow:ellipsis;font-size:15px;letter-spacing:.12em}.picker-check{color:var(--gilt)}.picker-detail{overflow:hidden;padding:0 2px;font-size:10px;white-space:nowrap;text-overflow:ellipsis}.picker-also{display:inline-flex;align-items:center;gap:4px;padding:0 2px;font-size:10px;color:var(--gilt)}.picker-also .icon{width:14px;height:14px;stroke-width:1.5}.picker-none{margin:0;padding:0 20px 20px}.picker-foot{display:flex;justify-content:center;padding:12px 20px 16px;border-top:1px solid var(--gilt-hairline)}@keyframes scrim-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes sheet-up{0%{transform:translateY(calc(100% + 16px))}}:root[data-platform=phone] .horoscope-title{font-size:24px}:root[data-platform=phone] .sign-slot{gap:8px;padding:10px 8px 12px}:root[data-platform=phone] .sign-slot-word{font-size:12px;letter-spacing:.08em}:root[data-platform=phone] .sign-slot-word.is-empty{font-size:14px}:root[data-platform=phone] .horoscope-invite-text,:root[data-platform=phone] .horoscope-reading,:root[data-platform=phone] .horoscope-sign p{font-size:16px}:root[data-platform=phone] .picker-root{align-items:flex-end;padding:0 16px 16px}:root[data-platform=phone] .picker{width:100%;max-height:calc(100vh - 96px);border-radius:16px;animation:sheet-up .28s ease both}:root[data-platform=phone] .divining-mask{background:#0a1422b3}:root[data-platform=phone] .divining-body{gap:32px}:root[data-platform=phone] .picker-detail,:root[data-platform=phone] .picker-also{letter-spacing:.08em}:root[data-platform=phone] .picker-grid{gap:10px;padding:12px 14px 18px}.play{position:fixed;inset:0;overflow:hidden}.hud{position:absolute;z-index:10;display:flex;gap:10px;align-items:flex-start}.hud-top-left{top:var(--hud-inset);left:var(--hud-inset);transform:translateZ(0);flex-wrap:wrap;max-width:min(520px,calc(100vw - 2 * var(--hud-inset) - var(--hud-panel) - 20px))}.hud-top-right{top:var(--hud-inset);right:var(--hud-inset)}.play:has(.fullscreen-button) .hud-top-left{max-width:min(520px,calc(100vw - 2 * var(--hud-inset) - 2 * var(--hud-panel) - 30px))}.hud-top-left,.hud-top-right{transition:opacity .15s ease}.play[data-hud=quiet] .hud-top-left,.play[data-hud=quiet] .hud-top-right{opacity:.25;z-index:0;pointer-events:none}.hud-bottom{bottom:var(--hud-inset);left:50%;transform:translate(-50%);transition:opacity .18s ease,transform .18s ease}.hud-bottom.at-top{top:var(--hud-inset);bottom:auto}.hud-bottom.at-top.drop{top:calc(var(--hud-inset) + var(--hud-panel) + 10px)}.hud-bottom.is-empty{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}.hud-bottom.at-top.is-empty{transform:translate(-50%,-8px)}.state-bar{display:inline-flex;align-items:center;gap:10px;height:var(--hud-panel);padding:0 16px}.state-bar.is-button:hover{background:#0f1e31f2}.state-icon{color:var(--gilt)}.state-number{font-size:var(--hud-number);font-weight:600;letter-spacing:0}.finish-btn{height:var(--hud-panel);background:var(--ink-panel)}.finish-btn:hover:not(:disabled){background:#0f1e31f2}.selection-points{display:inline-flex;align-items:center;height:var(--hud-panel);padding:0 4px;font-size:var(--hud-number);color:var(--star-quiet);white-space:nowrap;pointer-events:none;text-shadow:0 0 10px var(--ink-deep);animation:selection-points-in .16s ease}@keyframes selection-points-in{0%{opacity:0}}.score-detail{flex-basis:100%;cursor:pointer;padding:12px 20px;max-width:320px;max-height:calc(100vh - var(--hud-panel) - var(--word-panel-height) - 3 * var(--hud-inset) - 20px);overflow-y:auto}.score-detail-empty{margin:4px 0;font-size:16px;font-style:italic}.score-detail-table{width:100%;border-collapse:collapse}.score-detail-table td{padding:5px 0;border-bottom:1px solid var(--hairline-faint);font-size:16px}.score-detail-word{letter-spacing:.08em}.score-detail-points{text-align:right;padding-left:24px}.puzzle-detail{position:relative;flex-basis:100%;cursor:pointer;padding:16px 20px;max-width:480px;max-height:calc(100vh - var(--hud-panel) - var(--word-panel-height) - 3 * var(--hud-inset) - 20px);overflow-y:auto}.puzzle-category{margin:0 0 10px;font-size:24px;font-weight:500}.puzzle-detail.is-shining{animation:goal-glow 1.4s ease .25s both}.puzzle-detail.is-shining:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(105deg,transparent 30%,rgba(255,244,214,.2) 45%,rgba(255,244,214,.38) 50%,rgba(255,244,214,.2) 55%,transparent 70%);background-size:250% 100%;background-repeat:no-repeat;animation:goal-shine 1.1s cubic-bezier(.45,0,.3,1) .35s both}@keyframes goal-shine{0%{background-position:120% 0}to{background-position:-20% 0}}@keyframes goal-glow{0%,to{border-color:var(--gilt-hairline);box-shadow:0 0 #c9a22700}35%{border-color:var(--gilt);box-shadow:0 0 22px #c9a22773}}.puzzle-title{margin:0 0 8px;color:var(--gilt)}.puzzle-slots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.puzzle-slot{font-size:18px;letter-spacing:.08em;color:var(--star-quiet)}.puzzle-slot.is-found,.puzzle-blank.is-found{color:var(--gilt)}.puzzle-phrase{margin:0;font-size:19px;line-height:1.5}.puzzle-quote{color:var(--gilt)}.puzzle-blank{letter-spacing:.12em;color:var(--star-quiet);margin:0 1px}.puzzle-attribution{margin:10px 0 0;text-align:right;font-style:italic}.word-panel{display:flex;align-items:center;gap:6px;height:var(--word-panel-height);width:max-content;max-width:calc(100vw - 2 * var(--hud-inset));padding:0 16px}.word-panel{cursor:pointer;transition:background .14s ease,border-color .14s ease}@media(hover:hover){.word-panel:hover:not(:has(button:hover)){background:#223856eb;border-color:var(--gilt)}}.word-panel .icon-btn{width:var(--button-height);height:var(--button-height);border:1px solid var(--gilt-hairline)}.word-panel .icon-btn+.icon-btn{margin-left:2px}.word{flex:1;margin:0 10px;text-align:center;font-family:var(--font-almanac);font-size:var(--word-size);font-weight:600;letter-spacing:.04em;overflow:hidden;white-space:nowrap;text-overflow:clip;min-width:0}.toast{position:absolute;z-index:11;left:50%;bottom:calc(var(--hud-inset) + var(--word-panel-height) + 14px);transform:translate(-50%);padding:10px 18px;font-size:16px;white-space:nowrap;max-width:calc(100vw - 32px);animation:toast-in .18s ease}.toast.is-hint{white-space:normal;text-align:center;width:max-content;max-width:min(460px,calc(100vw - 32px));line-height:1.35}.toast.no-word{bottom:calc(var(--hud-inset) + (var(--word-panel-height) - 44px) / 2)}.toast.is-brief{font-family:var(--font-observatory);color:var(--gilt);font-size:20px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.play-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-style:italic;z-index:5}.play-error{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%);padding:20px 24px;max-width:360px}.play-error-actions,.confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.confirm-root{position:fixed;inset:0;z-index:30;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:16px}.confirm{padding:22px 24px;max-width:420px;width:100%;background:#0f1e31f5}.confirm-text{margin:0;font-size:19px;line-height:1.4}.landscape-prompt{position:absolute;top:calc(var(--hud-inset) + var(--hud-panel) + 10px);left:50%;transform:translate(-50%);z-index:12;display:flex;align-items:center;gap:12px;padding:8px 10px 8px 14px;font-size:14px;max-width:calc(100vw - 24px)}.landscape-prompt button{display:inline-flex;color:var(--star-quiet)}.how-to-play-root{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px;background:#04080eb8;animation:how-to-play-in .36s ease both}.how-to-play-root.is-leaving{animation:how-to-play-out .22s ease both}@keyframes how-to-play-in{0%{opacity:0}}@keyframes how-to-play-out{to{opacity:0}}.how-to-play{width:100%;max-width:400px;max-height:100%;overflow-y:auto;padding:22px 24px 20px;background:#0f1e31f5;text-align:center}.how-to-play-art{display:block;width:100%;max-width:320px;height:auto;margin:0 auto 14px;overflow:visible}.htp-line{stroke:var(--star-white);stroke-width:3;stroke-linecap:round;stroke-dasharray:8 7}.htp-disc{fill:#08152599;stroke:var(--star-white);stroke-opacity:.85;stroke-width:1.5}.htp-letter{font-family:var(--font-observatory);font-weight:600;font-size:20px;fill:var(--star-white)}.htp-star.is-selected .htp-disc{fill:var(--star-white);stroke-opacity:1;filter:drop-shadow(0 0 6px rgba(255,244,214,.45))}.htp-star.is-selected .htp-letter{fill:var(--ink-deep)}.htp-ripple{fill:none;stroke:var(--star-white);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:htp-ripple 1.8s ease-out infinite}@keyframes htp-ripple{0%{opacity:.7;transform:scale(1)}70%,to{opacity:0;transform:scale(1.9)}}.htp-hand path{fill:var(--ink-solid);stroke:var(--star-white);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}.htp-hand .htp-hand-crease{fill:none;stroke-width:.9;stroke-opacity:.7}.how-to-play-text p{margin:0;font-size:19px;line-height:1.45}.how-to-play-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;margin-top:20px}.checkbox{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--star-quiet);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.checkbox-box{display:inline-flex;width:22px;height:22px;border:1px solid var(--gilt-hairline);border-radius:5px;background:#08152599;transition:background .12s ease,border-color .12s ease}.checkbox-box svg{width:100%;height:100%;fill:none;stroke:var(--ink-deep);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0}.checkbox:hover .checkbox-box{border-color:var(--gilt)}.checkbox input:checked+.checkbox-box{background:var(--gilt);border-color:var(--gilt)}.checkbox input:checked+.checkbox-box svg{opacity:1}.checkbox input:focus-visible+.checkbox-box{outline:2px solid var(--star-white);outline-offset:2px}@media(max-width:420px){.how-to-play-actions{flex-direction:column;justify-content:center}}@media(max-height:480px){.how-to-play{padding:14px 20px}.how-to-play-art{max-width:200px;margin-bottom:8px}.how-to-play-text p{font-size:17px}.how-to-play-actions{margin-top:12px}}.sky-stage{position:fixed;top:0;left:0;width:100%;z-index:0;overflow:hidden;pointer-events:none;will-change:transform;transition:opacity .7s ease}.sky-stage[data-at=home]{transform:translateY(-50%)}.sky-stage[data-ready=false]{opacity:0}.sky-half{position:absolute;left:0;right:0;height:50%;overflow:hidden}.sky-half-play{top:0}.sky-half-home{top:50%}.sky-depths{position:absolute;inset:0}.sky-layer{position:absolute;top:0;left:0;height:100%;width:0;will-change:transform}.sky-tile,.atlas-figure{position:absolute;top:0;overflow:visible}.sky-tile circle{transform-box:fill-box;transform-origin:center}.sky-atlas{transition-property:opacity;transition-timing-function:ease}.sky-atlas[data-shown=false]{opacity:0}.sky-ambient{position:absolute;inset:0}.ambient-meteor,.ambient-satellite{position:absolute;top:0;left:0;opacity:0;will-change:transform,opacity}.ambient-meteor{border-radius:999px;background:linear-gradient(to right,rgba(255,244,214,0),var(--star-white))}.ambient-satellite{border-radius:50%;background:var(--star-white)}.sky-milky-way{position:absolute;left:-20%;right:-20%;top:20%;height:46%;transform:rotate(-18deg);background:radial-gradient(ellipse at center,#fff4d6e6,#dce8ff59,#dce8ff00 70%)}.sky-chart{position:absolute;inset:0;background:#0a1422;opacity:0;transition:opacity .3s ease}.sky-stage[data-chart=true] .sky-chart{opacity:1}.planisphere{position:absolute;inset:0;overflow:visible}.planisphere path,.planisphere circle{fill:none;stroke:var(--line);stroke-width:.8}.planisphere .chart-hours{opacity:.16}.planisphere .chart-hours-bold{opacity:.32}.planisphere .chart-circles{opacity:.2}.planisphere .chart-ecliptic{stroke:var(--star-cool);stroke-width:1;stroke-dasharray:2 6;opacity:.28}.planisphere .chart-milky-way{opacity:.3}.planisphere .chart-milky-way circle{fill:var(--star-cool);stroke:none}.chart-mark{font-family:var(--font-observatory);font-size:9px;letter-spacing:.14em;fill:var(--line);opacity:.5}.chart-mark-hour{opacity:.65}.chart-mark-ecliptic{fill:var(--star-cool);opacity:.5}.sky-tile circle{transition:fill .3s ease}.sky-stage[data-chart=true] .sky-tile circle{fill:var(--star-cool)}.atlas-line{transition:stroke .3s ease,stroke-opacity .3s ease,stroke-width .3s ease}.sky-stage[data-chart=true] .atlas-line{stroke:var(--star-cool);stroke-opacity:.5;stroke-width:.8}.atlas-symbol,.atlas-chart-star{transition:opacity .3s ease}.atlas-chart-star{opacity:0}.atlas-chart-star circle:first-child{fill:none;stroke:var(--star-cool);stroke-width:.7;stroke-opacity:.6}.atlas-chart-star circle:last-child{fill:var(--star-cool)}.sky-stage[data-chart=true] .atlas-symbol{opacity:0}.sky-stage[data-chart=true] .atlas-chart-star{opacity:1}.sky-horizon,.sky-horizon-glow{transition:opacity .3s ease}.sky-stage[data-chart=true] :is(.sky-horizon,.sky-horizon-glow){opacity:0!important}.sky-horizon-glow{position:absolute;left:0;right:0;bottom:0;height:42%;background:radial-gradient(ellipse 80% 70% at 50% 110%,var(--horizon-warmth) 0%,rgba(138,106,82,0) 70%)}.sky-horizon{position:absolute;left:0;right:0;bottom:0;height:16vh;min-height:90px;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='4800'%20height='160'%20viewBox='0%200%204800%20160'%3e%3cpath%20fill='%2304080E'%20d='M0,160%20L0,100%20C106.7,95.3%20193.3,81.7%20300,84%20C406.7,86.3%20526.7,114.7%20640,114%20C753.3,113.3%20865,79.3%20980,80%20C1095,80.7%201226.7,111.7%201330,118%20C1433.3,124.3%201510,134.5%201600,118%20C1720,96%201820,84%201940,92%20C2030,98%202100,120%202190,112%20C2290,103%202360,70%202470,74%20C2560,78%202610,110%202700,108%20C2800,106%202880,78%202980,82%20C3070,86%203140,110%203200,104%20C3273.3,96.7%203326.7,88%203420,90%20C3513.3,92%203646.7,118.3%203760,116%20C3873.3,113.7%203983.3,76.7%204100,76%20C4216.7,75.3%204343.3,108%204460,112%20C4576.7,116%204693.3,104.7%204800,100%20L4800,160%20Z'/%3e%3cpath%20fill='%23020509'%20d='M0,160%20L0,124%20C140,124.3%20240,111.3%20360,112%20C480,112.7%20600,128.7%20720,128%20C840,127.3%20933.3,107%201080,108%20C1226.7,109%201426.7,144.8%201600,134%20C1760,124%201900,130%202020,124%20C2160,118%202240,100%202360,104%20C2480,108%202540,132%202660,128%20C2780,124%202900,104%203020,108%20C3100,110%203160,122%203200,122%20C3320,122%203436.7,102.7%203560,104%20C3683.3,105.3%203813.3,129%203940,130%20C4066.7,131%204176.7,111%204320,110%20C4463.3,109%204660,123.7%204800,124%20L4800,160%20Z'/%3e%3c/svg%3e") center bottom / auto 100% repeat-x}.board{position:absolute;inset:0;z-index:1;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.board:active{cursor:grabbing}.board-safe-area{position:absolute;visibility:hidden;pointer-events:none;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.board svg{display:block;width:100%;height:100%}.board>svg{animation:board-in .6s ease both}@keyframes board-in{0%{opacity:0}to{opacity:1}}.board .node{cursor:pointer}.board .node text{font-family:var(--font-observatory);font-weight:600;pointer-events:none;-webkit-user-select:none;user-select:none}.node-free .disc{fill:#08152573;stroke:var(--star-white);stroke-opacity:.85;stroke-width:2}.node-free .letter{fill:var(--star-white)}.node-selected .disc{fill:var(--star-white);stroke:var(--star-white);stroke-width:2}.node-selected .letter{fill:var(--ink-deep)}.node-blocked .disc{fill:#08152573;stroke:var(--line);stroke-opacity:.6;stroke-width:2}.node-blocked .letter{fill:var(--line);opacity:.7}.node-blocked .slash{stroke:var(--line);stroke-width:2.5;stroke-opacity:.8}.node-locked .atlas-star{fill:var(--star-white)}.board .planet{pointer-events:none}.board .planet-diamond{fill:none;stroke:var(--planet);stroke-width:3;stroke-linejoin:round}.board .planet-body{fill:var(--planet);fill-rule:evenodd}.board .planet-blocked .planet-diamond{stroke:var(--line);stroke-opacity:.6}.board .planet-blocked .planet-body{opacity:.55}.board .planet-blocked .slash{stroke:var(--line);stroke-width:2.5;stroke-opacity:.8}.board .ring-preview{pointer-events:none}.board .planet-preview{fill:var(--planet);fill-opacity:.18}.board .line-progress.planet-closing{stroke:var(--planet);stroke-opacity:.9}.board .node{--glow: var(--star-white)}.board .glow,.board .sparks,.board .glyph{pointer-events:none}.board .glow{opacity:0;transform:scale(.62);transition:opacity .24s ease-out,transform .42s cubic-bezier(.2,.8,.2,1)}.node-free.hover .glow,.node-selected .glow{opacity:1;transform:scale(1)}.node-free.hover .glow-halo,.node-selected .glow-halo{animation:glow-breathe 2.8s ease-in-out .42s infinite}@keyframes glow-breathe{50%{opacity:.65;transform:scale(1.06)}}.board .glyph{transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.node-free.pressed .glyph,.node-selected.pressed .glyph{transform:scale(.86);transition:transform 90ms ease-out}.node-selected .glyph.pop{animation:glyph-pop .46s linear}@keyframes glyph-pop{0%{transform:scale(.86);animation-timing-function:cubic-bezier(.2,.7,.4,1)}40%{transform:scale(1.16);animation-timing-function:ease-in-out}72%{transform:scale(.97);animation-timing-function:ease-out}to{transform:scale(1)}}.board .spark{fill:var(--glow);opacity:0;animation:spark-fly .65s cubic-bezier(.15,.7,.3,1) forwards}@keyframes spark-fly{0%{opacity:0;transform:translate(var(--x0),var(--y0)) scale(.6)}10%{opacity:1}55%{opacity:1}to{opacity:0;transform:translate(var(--x1),var(--y1)) scale(.3)}}.board .line-progress.departing{animation-name:accept-dash-out;animation-timing-function:ease;animation-fill-mode:both}@keyframes accept-dash-out{to{opacity:0}}.board .depart{pointer-events:none;animation-name:accept-depart;animation-fill-mode:both}.board .depart .disc{fill:var(--star-white);stroke:var(--star-white);stroke-width:2}.board .depart .letter{fill:var(--ink-deep)}@keyframes accept-depart{0%{transform:scale(1);animation-timing-function:ease-out}35%{transform:scale(1.15);animation-timing-function:ease-in}to{transform:scale(0)}}.board .arrive{animation-name:accept-arrive;animation-fill-mode:both}@keyframes accept-arrive{0%{transform:scale(0) rotate(-140deg);animation-timing-function:cubic-bezier(.2,.7,.3,1)}62%{transform:scale(1.22) rotate(18deg);animation-timing-function:ease-in-out}82%{transform:scale(.96) rotate(-5deg);animation-timing-function:ease-out}to{transform:scale(1) rotate(0)}}.board .line-locked.drawing{animation-name:accept-line-draw;animation-timing-function:cubic-bezier(.3,.1,.3,1);animation-fill-mode:both}@keyframes accept-line-draw{0%{stroke-dashoffset:var(--line-length)}to{stroke-dashoffset:0}}.board .pill-body.arriving{animation-name:accept-word-in;animation-fill-mode:both}@keyframes accept-word-in{0%{opacity:0;transform:translateY(10px) scale(.92);animation-timing-function:cubic-bezier(.2,.7,.3,1)}60%{opacity:1;transform:translateY(-3px) scale(1.04);animation-timing-function:ease-in-out}to{opacity:1;transform:translateY(0) scale(1)}}.board .line-shine{fill:none;stroke:var(--star-white);stroke-width:5;stroke-linecap:round;pointer-events:none;animation-name:accept-shine;animation-timing-function:ease-in-out;animation-fill-mode:both}@keyframes accept-shine{0%{stroke-dashoffset:var(--shine-from)}to{stroke-dashoffset:var(--shine-to)}}.board .planet-diamond.dissolving{transform-box:fill-box;transform-origin:center;animation-name:accept-diamond-out;animation-timing-function:cubic-bezier(.2,.7,.3,1);animation-fill-mode:both}@keyframes accept-diamond-out{0%{opacity:1;transform:scale(1) rotate(0)}to{opacity:0;transform:scale(1.5) rotate(45deg)}}.board.reduced-motion .glow{transform:scale(1);transition:opacity .24s ease-out}.board.reduced-motion .glow-halo{animation:none}.board.reduced-motion .glyph{transition-timing-function:ease-out}.line-hit{stroke:transparent;stroke-linecap:round;pointer-events:stroke;cursor:pointer}.line-locked{stroke:var(--line);stroke-width:6;stroke-linecap:round}.line-progress{stroke:var(--star-white);stroke-width:6;stroke-linecap:round;stroke-dasharray:16 14}.label-pill rect{fill:var(--ink-solid);stroke:var(--gilt-hairline);stroke-width:1.5}.label-pill text{fill:var(--star-white);font-family:var(--font-observatory);font-weight:400;letter-spacing:.16em}.label-pill{cursor:pointer}.board .node text.letter-value{fill:var(--star-white);font-weight:500}.node-blocked .letter-value{fill:var(--line);opacity:.7}.pan-edge{position:absolute;top:0;bottom:0;width:72px;z-index:2;display:flex;align-items:center;pointer-events:none}.pan-edge-west{left:0;justify-content:flex-start;background:linear-gradient(to right,#07131f8c,#07131f00)}.pan-edge-east{right:0;justify-content:flex-end;background:linear-gradient(to left,#07131f8c,#07131f00)}.pan-edge button{pointer-events:auto;color:var(--gilt);width:44px;height:64px;display:flex;align-items:center;justify-content:center}.pan-edge .icon{stroke-width:1.2}.scene-home{position:relative;z-index:1;min-height:100%;transition-property:opacity;transition-timing-function:ease}.scene-home[data-shown=false]{opacity:0}.scene-play{position:fixed;inset:0;z-index:2}.scene-play[data-at=home]{transform:translateY(-100%)}.scene-play :is(.hud,.toast,.play-loading,.play-error,.landscape-prompt,.pan-edge){transition:opacity var(--hud-fade, .45s) ease}.scene-play[data-hud=hidden] :is(.hud,.toast,.play-loading,.play-error,.landscape-prompt,.pan-edge){opacity:0}.home-half{min-height:100%;transition:opacity .3s ease}.home-half[data-leaving=true]{opacity:0;pointer-events:none}.playtest-host{position:fixed;inset:0;background:var(--ink-deep);overflow:hidden}.playtest-host .play{position:absolute;inset:0}.playtest-waiting,.playtest-problem{position:absolute;inset:0;display:grid;place-items:center;color:var(--star-quiet);font-family:var(--font-almanac)}.playtest-problem{color:var(--amber)}
