@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-cyrillic-ext-wght-normal-C8B9Chlh.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:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-cyrillic-wght-normal-DbeVG3Ps.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-greek-wght-normal-DPM5d9ub.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:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-vietnamese-wght-normal-DcI17N1q.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:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-latin-ext-wght-normal-DZyYlgcm.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:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-latin-wght-normal-BBL8hQxZ.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}:root{--night:#0e1430;--night-2:#182042;--night-3:#232c52;--night-ink:#eef1fa;--night-hint:#a3abc8;--lamp:#ffb13b;--lamp-core:#ffe2ad;--lamp-dim:#d08a26;--lamp-off-night:#4a3e2b;--lamp-ink:#2a1a00;--ground:var(--tg-theme-secondary-bg-color,#eff0f5);--surface:var(--tg-theme-section-bg-color,var(--tg-theme-bg-color,#fff));--ink:var(--tg-theme-text-color,#11142a);--ink-2:color-mix(in oklab, var(--ink) 64%, var(--surface));--danger:var(--tg-theme-destructive-text-color,#d93a3a);--tone:color-mix(in oklab, var(--ink) 6%, var(--surface));--tone-2:color-mix(in oklab, var(--ink) 11%, var(--surface));--lamp-off:color-mix(in oklab, #6b5530 34%, var(--surface));--accent-text:#8f5200;--app-h:var(--tg-viewport-stable-height,100dvh);--safe-b:max(env(safe-area-inset-bottom), var(--tg-safe-area-inset-bottom,0px));--tabbar-h:calc(58px + var(--safe-b));--gutter:16px;--r-card:24px;--r-ctl:14px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);color:var(--ink);background:var(--ground);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;font-optical-sizing:auto;font-family:Geologica Variable,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.45}:root[data-scheme=dark]{--accent-text:var(--lamp)}*{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior:none;background:var(--ground)}body{min-height:var(--app-h)}::selection{background:color-mix(in oklab, var(--lamp) 45%, transparent);color:var(--ink)}input,select,textarea{font:inherit;color:inherit;caret-color:var(--lamp);font-size:16px}button,a,[role=button]{font:inherit;color:inherit;touch-action:manipulation;-webkit-user-select:none;user-select:none}button{cursor:pointer;background:0 0;border:0}:focus-visible{outline:2px solid var(--lamp);outline-offset:3px;border-radius:6px}img{max-width:100%;display:block}.num{font-variant-numeric:tabular-nums}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page{padding:18px var(--gutter) calc(var(--tabbar-h) + 28px);min-height:var(--app-h)}.page-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.page-head h1{letter-spacing:-.03em;font-size:30px;font-weight:800;line-height:1.05}.page-head span{color:var(--ink-2);font-size:15px}.tabbar{z-index:20;height:var(--tabbar-h);padding:6px 12px var(--safe-b);background:var(--night);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.tab{color:#8790b4;height:48px;transition:color .16s var(--ease-out);place-items:center;display:grid;position:relative}.tab svg{stroke-width:1.8px;width:26px;height:26px}.tab[aria-current=page]{color:var(--lamp)}.tab[aria-current=page]:after{content:"";background:var(--lamp);border-radius:50%;width:5px;height:5px;position:absolute;bottom:3px}.tab:active svg{transform:scale(.9)}.tab svg{transition:transform .12s var(--ease-out)}.btn{width:100%;min-height:52px;transition:transform .14s var(--ease-out), opacity .16s;border-radius:26px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:17px;font-weight:650;display:flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default}.btn-lamp{background:var(--lamp);color:var(--lamp-ink)}.btn-night{background:var(--night);color:var(--night-ink)}.btn-quiet{background:var(--tone);color:var(--ink)}.btn-ghost-night{background:var(--night-3);color:var(--night-ink)}.btn-text{width:auto;min-height:44px;color:var(--ink);padding:0 4px;font-size:16px;font-weight:600}.btn-danger{color:var(--danger);background:0 0;font-weight:550}.lamps{align-items:center;gap:9px;display:flex}.lamp{background:var(--lamp-off);border-radius:50%;flex:none;width:11px;height:11px}.on-night .lamp{background:var(--lamp-off-night)}.lamp[data-level="1"]{background:var(--lamp-dim)}.lamp[data-level="2"]{background:radial-gradient(circle at 50% 45%, var(--lamp-core) 0 22%, var(--lamp) 23%)}.lamp[data-level="3"]{background:radial-gradient(circle at 50% 45%, #fff6e3 0 34%, var(--lamp-core) 35% 50%, var(--lamp) 51%)}.lamp.is-today{animation:3.2s step-end infinite flicker}@keyframes flicker{0%,86%,92%,to{opacity:1}88%,95%{opacity:.55}}.lamps-note{margin-left:4px;font-size:14px}.photo{background:var(--night-2);position:relative;overflow:hidden}.photo img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .26s var(--ease-out)}.photo img[data-loaded]{opacity:1}.photo-empty{color:var(--night-hint);place-items:center;display:grid;position:absolute;inset:0}.chip{height:28px;color:var(--night-ink);background:#0e1430b8;border-radius:14px;align-items:center;gap:6px;padding:0 11px;font-size:13px;font-weight:550;display:inline-flex}.chip-lamp{background:var(--lamp);color:var(--lamp-ink)}.catalog{gap:14px;display:grid}.card{width:100%;height:clamp(420px, calc(var(--app-h) * .68), 620px);border-radius:var(--r-card);text-align:left;color:var(--night-ink);background:var(--night-2);transition:transform .16s var(--ease-out);display:block;position:relative;overflow:hidden}.card:active{transform:scale(.985)}.card .photo{position:absolute;inset:0}.card-scrim{background:linear-gradient(#080b1a00 0%,#080b1adb 72%);height:58%;position:absolute;inset:auto 0 0}.card-top{justify-content:space-between;gap:8px;display:flex;position:absolute;inset:14px 14px auto}.card-meta{position:absolute;inset:auto 20px 22px}.name-xl{letter-spacing:-.045em;overflow-wrap:anywhere;font-size:clamp(52px,17vw,68px);font-weight:800;line-height:.88}.plate{color:#d8ddee;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:10px;font-size:16px;display:-webkit-box;overflow:hidden}.plate b{color:#fff;font-weight:700}.card .lamps{margin-top:16px}.scrim{z-index:40;opacity:0;transition:opacity .28s var(--ease-drawer);background:#080b1a8c;position:fixed;inset:0}.scrim[data-open]{opacity:1}.sheet{z-index:41;max-height:calc(var(--app-h) - 28px);background:var(--surface);transition:transform .38s var(--ease-drawer);border-radius:26px 26px 0 0;flex-direction:column;display:flex;position:fixed;inset:auto 0 0;transform:translateY(100%);box-shadow:0 -12px 32px #080b1a38}.sheet[data-open]{transform:translateY(0)}.sheet[data-dragging]{transition:none}.sheet-grip{touch-action:none;cursor:grab;flex:none;place-items:center;height:26px;display:grid}.sheet-grip:before{content:"";background:var(--tone-2);border-radius:3px;width:40px;height:5px}.sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 var(--gutter) 16px;overflow-y:auto}.sheet-foot{padding:12px var(--gutter) calc(12px + var(--safe-b));background:var(--surface);flex:none;gap:8px;display:grid}.carousel{scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter);scroll-padding:0 var(--gutter);touch-action:pan-x pan-y;gap:10px;display:flex;overflow-x:auto}.carousel::-webkit-scrollbar{display:none}.slide{aspect-ratio:3/4;scroll-snap-align:start;border-radius:20px;flex:0 0 82%;max-height:46vh;position:relative;overflow:hidden}.slide .photo{position:absolute;inset:0}.slide-label{position:absolute;inset:auto 12px 12px}.dots{justify-content:center;gap:6px;margin:12px 0 2px;display:flex}.dot{background:var(--tone-2);width:18px;height:3px;transition:background .2s var(--ease-out);border-radius:2px}.dot[aria-current=true]{background:var(--ink)}.who{margin-top:16px}.who h2{letter-spacing:-.04em;font-size:40px;font-weight:800;line-height:.95}.who .sub{color:var(--ink-2);margin-top:6px;font-size:15px}.prose{margin-top:14px;font-size:16px;line-height:1.5}.prose+.prose{margin-top:8px}.tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.tag{background:var(--tone);border-radius:14px;padding:6px 12px;font-size:14px}.section-title{letter-spacing:-.02em;margin:24px 0 10px;font-size:20px;font-weight:750}.choices{gap:8px;display:grid}.choice{background:var(--tone);text-align:left;width:100%;transition:background .16s, transform .14s var(--ease-out);border-radius:16px;grid-template-columns:20px 1fr;align-items:start;gap:12px;padding:14px;display:grid}.choice:active{transform:scale(.985)}.choice[aria-checked=true]{background:color-mix(in oklab, var(--night) 12%, var(--surface))}.choice .tick{width:20px;height:20px;box-shadow:inset 0 0 0 2px var(--tone-2);color:#0000;border-radius:50%;place-items:center;margin-top:1px;display:grid}.choice[aria-checked=true] .tick{background:var(--night);box-shadow:none;color:#fff;margin-top:1px}.choice b{font-weight:650;display:block}.choice span{color:var(--ink-2);margin-top:3px;font-size:14px;line-height:1.4;display:block}.note{color:var(--ink-2);text-align:center;font-size:14px}.note-error{color:var(--danger)}.rows{gap:8px;display:grid}.row{background:var(--surface);text-align:left;width:100%;transition:transform .14s var(--ease-out);border-radius:20px;grid-template-columns:64px 1fr;align-items:center;gap:14px;padding:10px;display:grid}.row:active{transform:scale(.985)}.row .photo{border-radius:16px;width:64px;height:64px}.row-title{align-items:center;gap:8px;display:flex}.row-title b{letter-spacing:-.02em;font-size:19px;font-weight:750}.row-title .badge{color:var(--accent-text);font-size:12px;font-weight:650}.row p{color:var(--ink-2);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:2px;font-size:14px;display:-webkit-box;overflow:hidden}.row .lamps{background:var(--night);border-radius:10px;gap:7px;width:-moz-fit-content;width:fit-content;margin-top:8px;padding:5px 9px}.row .lamp{width:8px;height:8px}.row .lamp[data-level="0"]{background:var(--lamp-off-night)}.screen{z-index:30;background:var(--ground);padding-bottom:calc(28px + var(--safe-b));animation:screen-in .3s var(--ease-drawer);position:fixed;inset:0;overflow-y:auto}@keyframes screen-in{0%{opacity:0;transform:translate(24px)}}.hero{height:clamp(300px, calc(var(--app-h) * .46), 440px);color:var(--night-ink);position:relative}.hero .photo{position:absolute;inset:0}.hero .card-meta{inset:auto var(--gutter) 20px var(--gutter)}.panel{margin:12px var(--gutter) 0;background:var(--surface);border-radius:22px;padding:16px}.panel-night{background:var(--night);color:var(--night-ink)}.panel h3{letter-spacing:-.01em;font-size:18px;font-weight:750}.panel .hint{color:var(--ink-2);font-size:14px}.panel-night .hint{color:var(--night-hint)}.week-head{justify-content:space-between;align-items:center;display:flex}.week-nav{gap:4px;display:flex}.icon-btn{width:44px;height:44px;color:var(--night-ink);border-radius:22px;place-items:center;display:grid}.icon-btn:disabled{opacity:.3}.icon-btn:active:not(:disabled){background:var(--night-3)}.week{grid-template-columns:repeat(7,1fr);margin-top:12px;display:grid}.day{color:var(--night-hint);border-radius:16px;justify-items:center;gap:8px;padding:8px 0 10px;font-size:12px;display:grid}.day .lamp{width:20px;height:20px;animation:lamp-on .42s var(--ease-out) both;animation-delay:calc(var(--i) * 70ms)}.day .lamp.is-today{animation:lamp-on .42s var(--ease-out) both calc(var(--i) * 70ms), flicker 3.2s steps(1, end) infinite 1s}@keyframes lamp-on{0%{opacity:0;transform:scale(.4)}}.day b{color:var(--night-ink);font-size:15px;font-weight:650}.day[aria-pressed=true]{background:var(--night-3)}.diary{margin-top:14px}.diary-text{margin-top:8px;font-size:18px;line-height:1.55}.actions{margin:16px var(--gutter) 0;gap:10px;display:grid}.quiet-actions{margin:18px var(--gutter) 0;justify-items:start;display:grid}.filters{scrollbar-width:none;margin:0 calc(var(--gutter) * -1) 14px;padding:0 var(--gutter);gap:8px;display:flex;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.filter{background:var(--surface);border-radius:19px;flex:none;height:38px;padding:0 16px;font-size:15px;font-weight:550}.filter[aria-pressed=true]{background:var(--night);color:var(--night-ink)}.grid{border-radius:18px;grid-template-columns:repeat(3,1fr);gap:4px;display:grid;overflow:hidden}.thumb{aspect-ratio:1;position:relative}.thumb .photo{position:absolute;inset:0}.thumb-chip{height:22px;padding:0 8px;font-size:11px;position:absolute;top:6px;left:6px}.thumb-mark{color:#fff;position:absolute;bottom:6px;right:6px}.locked-cover{color:#fff;background:#080b1a59;place-items:center;display:grid;position:absolute;inset:0}.viewer{z-index:50;color:var(--night-ink);animation:fade-in .22s var(--ease-out);background:#05070f;grid-template-rows:1fr auto;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.viewer .photo{background:0 0}.viewer .photo img{object-fit:contain}.viewer-bar{padding:14px var(--gutter) calc(14px + var(--safe-b));background:var(--night);align-items:center;gap:12px;display:flex}.viewer-bar div{flex:1;min-width:0}.viewer-bar b{font-weight:700}.viewer-bar span{color:var(--night-hint);font-size:14px;display:block}.fav{width:48px;height:48px;color:var(--night-ink);place-items:center;display:grid;position:relative}.fav svg.ring{fill:none;width:52px;height:52px;stroke:var(--lamp);stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:150;stroke-dashoffset:150px;transition:stroke-dashoffset .38s var(--ease-out);position:absolute;inset:-2px}.fav[aria-pressed=true] svg.ring{stroke-dashoffset:0}.fav[aria-pressed=true]{color:var(--lamp)}.group{margin-top:22px}.group>h2{color:var(--ink-2);margin:0 4px 8px;font-size:15px;font-weight:650}.list{background:var(--surface);border-radius:20px;overflow:hidden}.item{align-items:center;gap:12px;min-height:56px;padding:10px 16px;display:flex}.item+.item{box-shadow:inset 0 1px 0 var(--tone)}.item>div{flex:1;min-width:0}.item small{color:var(--ink-2);font-size:13px;line-height:1.35;display:block}.switch{appearance:none;background:var(--tone-2);cursor:pointer;width:51px;height:31px;transition:background .2s var(--ease-out);border-radius:16px;flex:none;position:relative}.switch:after{content:"";width:27px;height:27px;transition:transform .22s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.switch:checked{background:var(--lamp)}.switch:checked:after{transform:translate(20px)}.switch:disabled{opacity:.45}.segmented{background:var(--tone);border-radius:14px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.segmented button{border-radius:10px;min-height:38px;font-size:14px;font-weight:550}.segmented button[aria-pressed=true]{background:var(--surface);box-shadow:0 1px 3px #0000001f}.field{gap:6px;display:grid}.field+.field{margin-top:14px}.field label{font-size:15px;font-weight:600}.input{border-radius:var(--r-ctl);background:var(--tone);appearance:none;border:0;width:100%;height:50px;padding:0 14px}.input[type=time]{width:auto}.field small{color:var(--ink-2);font-size:13px}.field .err{color:var(--danger)}details.faq+details.faq{box-shadow:inset 0 1px 0 var(--tone)}details.faq summary{cursor:pointer;padding:16px;font-weight:600;list-style:none}details.faq summary::-webkit-details-marker{display:none}details.faq p{color:var(--ink-2);padding:0 16px 16px;font-size:15px}.meter{background:var(--night-3);border-radius:3px;height:6px;margin-top:12px;overflow:hidden}.meter span{background:var(--night-ink);height:100%;transition:width .4s var(--ease-out);border-radius:3px;display:block}.row-btn{text-align:left;width:100%}.row-btn svg{color:var(--ink-2);flex:none}.night{min-height:var(--app-h);background:var(--night);color:var(--night-ink);padding:32px 24px calc(28px + var(--safe-b));flex-direction:column;display:flex}.night h1{letter-spacing:-.035em;font-size:38px;font-weight:800;line-height:1}.night p{color:var(--night-hint);margin-top:14px;font-size:17px;line-height:1.5}.night .grow{flex:1}.night .input{background:var(--night-2);color:var(--night-ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.night .field small{color:var(--night-hint)}.night .field .err{color:#ff8a8a}.night form{margin-top:28px}.night .stack{gap:10px;margin-top:24px;display:grid}.boot{place-items:center;display:grid}.road{justify-content:space-between;margin:auto 4px 28px}.road .lamp{width:12px;height:12px}.boot .lamps .lamp{background:var(--lamp-off-night);width:14px;height:14px;animation:1.4s step-end infinite boot-lamp;animation-delay:calc(var(--i) * .2s)}@keyframes boot-lamp{0%,60%{background:radial-gradient(circle at 50% 45%, var(--lamp-core) 0 22%, var(--lamp) 23%)}61%,to{background:var(--lamp-off-night)}}.state{text-align:center;color:var(--ink-2);justify-items:center;gap:14px;padding:48px 12px;display:grid}.state .btn{width:auto}.skeleton{border-radius:var(--r-card);background:var(--tone);animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation:none!important}.photo img{opacity:1}}.sheet:not([data-open]),.scrim:not([data-open]){transition-duration:.24s}
