@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(./source-serif-4-cyrillic-ext-wght-normal-cHuGMAiY.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(./source-serif-4-cyrillic-wght-normal-DwHjdM4S.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(./source-serif-4-greek-wght-normal-ece1310W.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(./source-serif-4-vietnamese-wght-normal-D-yuW59g.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(./source-serif-4-latin-ext-wght-normal-CxNHBx-q.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(./source-serif-4-latin-wght-normal-D9elroTD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}:root,[data-theme=paper]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#efe6d4;--paper-lift:#f7f1e4;--paper-shade:#e4d8c0;--paper-deep:#d9c9a8;--ink:#1c1916;--ink-soft:#4f4942;--rule:color-mix(in srgb, var(--ink) 14%, transparent);--moss:#2f4a3c;--lichen:#7d9164;--rust:#9c4a32;--amber:#c4853a;--petal:#b98990;--sky:#6e8ea3;--slate:#5c6b73;--danger:#8f2d22;--spine:#24362c;--spine-ink:#eadfcb;--shadow:0 24px 60px color-mix(in srgb, var(--ink) 12%, transparent);--season-winter:color-mix(in srgb, var(--slate) 22%, transparent);--season-spring:color-mix(in srgb, var(--lichen) 26%, transparent);--season-summer:color-mix(in srgb, var(--moss) 22%, transparent);--season-autumn:color-mix(in srgb, var(--rust) 20%, transparent)}[data-theme=lamp]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#1b1814;--paper-lift:#241f1a;--paper-shade:#14110e;--paper-deep:#0e0c0a;--ink:#ede4d4;--ink-soft:#b3a894;--rule:color-mix(in srgb, var(--ink) 16%, transparent);--moss:#8eae96;--lichen:#a8b77a;--rust:#d08a6e;--amber:#e0b15c;--petal:#d7a8ae;--sky:#8eafc2;--slate:#8d9aa1;--danger:#e07a6c;--spine:#100e0c;--spine-ink:#eadfcb;--shadow:0 24px 60px #0008;--season-winter:color-mix(in srgb, var(--slate) 28%, transparent);--season-spring:color-mix(in srgb, var(--lichen) 24%, transparent);--season-summer:color-mix(in srgb, var(--moss) 22%, transparent);--season-autumn:color-mix(in srgb, var(--rust) 26%, transparent)}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-optical-sizing:auto;background:var(--paper);color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:"Source Serif 4 Variable",Iowan Old Style,Palatino,Palatino Linotype,serif;line-height:1.5}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(ellipse at 20% 0%, color-mix(in srgb, var(--amber) 8%, transparent), transparent 46%), radial-gradient(ellipse at 100% 100%, color-mix(in srgb, var(--moss) 10%, transparent), transparent 42%);opacity:.9;position:fixed;inset:0}#root{z-index:1;position:relative}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.obs-mark:focus-visible{outline:2px solid var(--moss);outline-offset:2px}.obs-mark:focus{outline:none}.obs-mark:focus-visible{outline:2px solid var(--moss)}h1,h2,h3{font-variation-settings:"SOFT" 40, "WONK" .4, "opsz" 48;letter-spacing:-.02em;margin:0 0 .4em;font-family:Fraunces Variable,Fraunces,Georgia,serif;font-weight:520;line-height:1.15}h1{font-size:clamp(2rem,4vw,3.4rem)}h2{font-size:clamp(1.5rem,2.4vw,2.1rem)}p{margin:0 0 .9rem}.kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.35rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem}.lede{color:var(--ink-soft);font-size:1.12rem}.muted{color:var(--ink-soft)}.sci,em{font-style:italic}.btn,.btn-quiet,.chip,.place{border:1px solid var(--rule);background:color-mix(in srgb, var(--paper-lift) 80%, transparent);border-radius:999px;padding:.55rem .95rem}.btn{background:var(--moss);color:var(--paper-lift);border-color:#0000}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-quiet{background:var(--paper-lift);color:var(--ink);border-color:color-mix(in srgb, var(--ink) 32%, transparent)}.btn-quiet:hover{border-color:var(--ink)}.chip.is-on,.place.is-on,.year-pills button.is-on{background:var(--moss);color:var(--paper-lift);border-color:#0000}.text-btn,.ghost-link{text-underline-offset:.2em;color:var(--moss);background:0 0;border:0;padding:0;text-decoration:underline}.danger{color:var(--danger)}kbd{border:1px solid var(--rule);border-radius:4px;padding:.05em .35em;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72em}.field{flex-direction:column;gap:.3rem;margin-bottom:.55rem;display:flex}.field span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem}input,select,textarea{background:var(--paper-lift);border:1px solid var(--rule);border-radius:8px;padding:.55rem .7rem}textarea{resize:vertical}.form-actions{flex-wrap:wrap;gap:.6rem;margin-top:.45rem;display:flex}.form-head{margin-bottom:.85rem}.form-head h2{margin-bottom:0}.splash,.onboard{place-items:center;min-height:100dvh;padding:2rem;display:grid}.onboard-mark{width:88px;color:var(--moss);margin:0 auto 1.5rem}.onboard-card{max-width:40rem}.place-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.5rem;padding:0;list-style:none;display:grid}.place{text-align:left;border-radius:12px;flex-direction:column;gap:.15rem;width:100%;display:flex}.place span{color:var(--ink-soft);font-size:.85rem}.coord-row{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.shell{grid-template-columns:5.25rem 1fr;min-height:100dvh;display:grid}.shell-body{flex-direction:column;min-width:0;display:flex}.shell-pages{flex:1;grid-template-columns:1fr minmax(18rem,24rem);min-width:0;display:grid}.home-confirm{border:1px solid var(--rule);background:var(--paper-lift);border-radius:12px;margin-top:1.1rem;padding:.9rem 1rem}.home-confirm p{margin-bottom:.35rem}.spine{background:var(--spine);color:var(--spine-ink);flex-direction:column;align-items:center;gap:1.4rem;padding:1.1rem .4rem 1.4rem;display:flex}.spine-top{flex-direction:column;align-items:center;gap:.55rem;display:flex}.spine-brand{color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:.8rem;padding:.2rem;display:flex}.spine-brand:hover .spine-title{opacity:1}.spine-mark{width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb, currentColor 18%, transparent);border:1.5px solid;border-radius:99px}.spine-title{writing-mode:vertical-rl;letter-spacing:.18em;text-transform:uppercase;font-family:Fraunces Variable,Fraunces,Georgia,serif;font-size:.78rem;transform:rotate(180deg)}.sample-chip{letter-spacing:.14em;text-transform:uppercase;border:1px solid color-mix(in srgb, var(--spine-ink) 55%, transparent);color:var(--spine-ink);opacity:.85;border-radius:999px;padding:.12rem .4rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.62rem}.spine-home{color:inherit;letter-spacing:.12em;text-transform:uppercase;opacity:.72;text-underline-offset:.18em;background:0 0;border:0;padding:.2rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem;text-decoration:underline}.spine-home:hover{opacity:1}.spine-nav{flex-direction:column;gap:.2rem;width:100%;padding:0 .3rem;display:flex}.spine-nav button{color:inherit;opacity:.7;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.12rem;min-height:2.85rem;padding:.55rem .2rem;font-size:.78rem;display:flex}.spine-nav button.is-on{opacity:1;background:color-mix(in srgb, var(--spine-ink) 16%, transparent)}.spine-nav kbd{border-color:color-mix(in srgb, var(--spine-ink) 25%, transparent)}.spine-station{writing-mode:vertical-rl;opacity:.7;margin-top:auto;font-size:.78rem;transform:rotate(180deg)}.stage{min-width:0;padding:clamp(1.2rem,3vw,2.4rem)}.panel{border-left:1px solid var(--rule);background:color-mix(in srgb, var(--paper-lift) 55%, transparent);flex-direction:column;min-height:0;padding:1.2rem 1.25rem 1.5rem;display:flex}.keys{color:var(--ink-soft);margin-top:auto;padding-top:1.5rem;font-size:.82rem}.ring-stage{grid-template-rows:auto 1fr auto;min-height:min(100dvh - 8rem,52rem);display:grid}.ring-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;display:flex}.ring-toolbar h1{margin:0}.year-pills{flex-wrap:wrap;gap:.35rem;display:flex}.year-pills button{border:1px solid var(--rule);background:0 0;border-radius:999px;padding:.3rem .7rem;font-size:.9rem}.ring-wrap{width:min(100%,72vh,820px);margin:0 auto;position:relative}.ring-svg{cursor:crosshair;width:100%;height:auto;display:block}.season-winter{stroke:var(--season-winter)}.season-spring{stroke:var(--season-spring)}.season-summer{stroke:var(--season-summer)}.season-autumn{stroke:var(--season-autumn)}.growth-ring{stroke:color-mix(in srgb, var(--ink) 18%, transparent)}.month-tick line,.today-line line{stroke:color-mix(in srgb, var(--ink) 45%, transparent);stroke-width:1px}.month-tick text,.today-line text,.ring-heart-kicker{fill:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px}.today-line text{fill:var(--rust)}.ring-heart{fill:var(--paper-lift);stroke:var(--rule)}.ring-heart-title{fill:var(--ink);font-family:Fraunces Variable,Fraunces,Georgia,serif;font-size:28px}.obs-mark{cursor:pointer}.obs-mark .mark-fill{stroke:var(--paper);stroke-width:1.5px}.obs-mark.is-selected .mark-fill{stroke:var(--ink);stroke-width:2px}.ring-tooltip{background:var(--ink);color:var(--paper);pointer-events:none;box-shadow:var(--shadow);z-index:2;border-radius:8px;flex-direction:column;gap:.1rem;padding:.45rem .65rem;font-size:.85rem;display:flex;position:absolute;transform:translate(12px,-110%)}.ring-caption{text-align:center;color:var(--ink-soft);font-size:.92rem}.almanac,.log,.library,.station{max-width:46rem}.almanac-grid{grid-template-columns:1fr 1fr;gap:1rem;margin:1.2rem 0 1.6rem;display:grid}.stat-card{border:1px solid var(--rule);background:var(--paper-lift);border-radius:16px;padding:1rem}.stat{margin-bottom:.35rem;font-family:Fraunces Variable,Fraunces,Georgia,serif;font-size:1.35rem}.season-meter{background:var(--paper-deep);border-radius:99px;height:6px;margin:.4rem 0 1.4rem;overflow:hidden}.season-meter span{background:var(--moss);height:100%;display:block}.moon-row{align-items:center;gap:.8rem;display:flex}.moon-sky{fill:color-mix(in srgb, var(--ink) 18%, transparent)}.moon-face{fill:var(--paper-lift);stroke:var(--ink-soft)}.prompt-list,.log-list,.lib-list,.history{margin:0 0 1.2rem;padding:0;list-style:none}.prompt-list li,.history li{border-bottom:1px solid var(--rule);flex-direction:column;padding:.45rem 0;display:flex}.view-head,.filters{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.7rem;margin-bottom:1rem;display:flex}.filters input,.filters select{min-width:12rem}.log-row,.lib-row{text-align:left;border:0;border-bottom:1px solid var(--rule);background:0 0;grid-template-columns:6.5rem 12px 1fr;align-items:start;gap:.7rem;width:100%;padding:.7rem .2rem;display:grid}.lib-row{grid-template-columns:12px 1fr}.log-row.is-selected,.lib-list li.is-open{background:color-mix(in srgb, var(--amber) 10%, transparent)}.log-body,.lib-row span{flex-direction:column;gap:.1rem;display:flex}.swatch{border-radius:99px;width:12px;height:12px;margin-top:.35rem}.empty{color:var(--ink-soft);padding:2rem 0}.specimen blockquote{border-left:2px solid var(--moss);margin:.8rem 0 1rem;padding-left:.9rem;font-size:1.05rem}.phase-line{color:var(--ink-soft)}.form-grid{grid-template-columns:1fr 1fr;gap:.15rem .8rem;display:grid}.field-wide{grid-column:1/-1}.station-block{border-top:1px solid var(--rule);margin:2rem 0;padding-top:1.2rem}.choice-row{flex-wrap:wrap;gap:.5rem;display:flex}.typeahead{border:1px solid var(--rule);background:var(--paper-lift);border-radius:10px;margin:-.4rem 0 .8rem;padding:0;list-style:none;overflow:hidden}.typeahead button{text-align:left;border:0;border-bottom:1px solid var(--rule);background:0 0;flex-direction:column;width:100%;padding:.55rem .7rem;display:flex}.picked{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.custom-box{border:1px dashed var(--rule);border-radius:12px;margin-bottom:1rem;padding:.8rem}.flash{color:var(--moss)}.lib-detail{padding:0 0 1rem 1.4rem}@media (width<=980px){.shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.spine{flex-direction:row;align-items:center;gap:.5rem;padding:.45rem .65rem}.spine-top{flex-direction:row;flex-shrink:0;align-items:center;gap:.45rem}.spine-brand{flex-direction:row;gap:.4rem}.spine-title,.spine-station{writing-mode:horizontal-tb;transform:none}.spine-title{letter-spacing:.1em;font-size:.72rem}.spine-nav{flex-direction:row;flex:1;gap:.15rem;padding:0;overflow-x:auto}.spine-nav button{flex-direction:row;gap:.3rem;min-height:2.5rem;padding:.35rem .55rem;font-size:.8rem}.spine-nav kbd,.spine-station{display:none}.shell-pages{grid-template-columns:1fr}.panel{min-height:unset;border-left:0;border-top:1px solid var(--rule)}.almanac-grid,.form-grid,.coord-row{grid-template-columns:1fr}.filters input,.filters select{width:100%;min-width:0}.log-row{grid-template-columns:5.2rem 12px 1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.spine,.panel .keys,.ring-toolbar .btn,.btn{display:none!important}.shell{display:block}.panel{border:0}body{background:#fff}}
