:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}html{scroll-padding-top:env(safe-area-inset-top,0)}img{max-width:100%}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/geologica-700-cyrillic-ext.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/geologica-700-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/geologica-700-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/geologica-700-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/golos-text-400-cyrillic-ext.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/golos-text-400-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/golos-text-400-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/golos-text-400-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/golos-text-600-cyrillic-ext.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/golos-text-600-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/golos-text-600-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/golos-text-600-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}[hidden]{display:none!important}:root{--font-body:"Golos Text",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--nav-h:66px;--ink:var(--text);--sky:var(--primary);--on-sky:var(--on-primary);--sky-soft:var(--primary-soft);--sun:var(--accent);--on-sun:var(--text);--sun-soft:var(--accent-soft);--ok:var(--primary);--ok-soft:var(--primary-soft);--warn:var(--danger);--warn-soft:var(--danger-soft);--bad:var(--danger);--bad-soft:var(--danger-soft);--head-bg:var(--deep);--head-fg:var(--on-deep);--head-muted:var(--on-deep-muted);--r:14px;--r-sm:10px;--r-sw:6px;--font-display:"Geologica","Golos Text",system-ui,sans-serif;--p-violet:#EEE9FD;--p-violet-ink:#5A3FC0;--p-rose:#FCE7EF;--p-rose-ink:#A3285A;--p-mint:#DCF3E9;--p-mint-ink:#0E6B4D;--p-peach:#FDEADC;--p-peach-ink:#964212;--p-sky:#E1EEFB;--p-sky-ink:#225E9B;--t-sage:var(--p-violet);--t-sage-ink:var(--p-violet-ink);--t-mauve:var(--p-rose);--t-mauve-ink:var(--p-rose-ink);--t-taupe:var(--p-mint);--t-taupe-ink:var(--p-mint-ink);--t-ice:var(--p-sky);--t-ice-ink:var(--p-sky-ink);--t-mist:var(--p-peach);--t-mist-ink:var(--p-peach-ink);--sw-sage:#EEE9FD;--sw-mauve:#FCE7EF;--sw-taupe:#DCF3E9;--sw-mist:#FDEADC;--sw-ice:#E1EEFB;--sw-ink:#1D1930;--c0:#6A52D4;--c1:#C6457E;--c2:#1D8A66;--c3:#C2652A;--c4:#2F79BF;--heart:#C2386E;--on-heart:#FFFFFF;--map-study:#2D5CB8;--map-dorm:#5A3FC0;--map-other:#964212;--map-ent:#0E6B4D;--map-rose:#A3285A;--map-ink:#1D1930;--map-street:#4E4868}:root:not([data-theme=dark]){color-scheme:light;--bg:#F7F5FC;--surface:#FFFFFF;--surface-2:#F1EEF9;--tint:#EEE9FD;--line:#E3DEF0;--text:#1D1930;--muted:#615B78;--primary:#5B45C9;--primary-press:#4A35AE;--on-primary:#FFFFFF;--primary-soft:#EEE9FD;--accent:#FCE7EF;--accent-soft:#FDF2F6;--deep:#FFFFFF;--on-deep:#1D1930;--on-deep-muted:#615B78;--danger:#B92D4E;--danger-soft:#FCE6EB}:root[data-theme=dark]{color-scheme:dark;--bg:#14111D;--surface:#1C1828;--surface-2:#252036;--tint:#2B2443;--line:#372F4D;--text:#EDE9F7;--muted:#ABA4C2;--primary:#BBA9FF;--primary-press:#CDBFFF;--on-primary:#1B1238;--primary-soft:#2B2443;--accent:#3A2231;--accent-soft:#2A1D26;--deep:#1C1828;--on-deep:#EDE9F7;--on-deep-muted:#ABA4C2;--danger:#F3A6B8;--danger-soft:#3E1D27;--heart:#F18DB3;--on-heart:#2A0F1C;--p-violet:#2B2443;--p-violet-ink:#CDBFFF;--p-rose:#3A2231;--p-rose-ink:#F6B7CF;--p-mint:#17302A;--p-mint-ink:#97DDBF;--p-peach:#382819;--p-peach-ink:#F4C19E;--p-sky:#1A2A3C;--p-sky-ink:#A8CDF2;--c0:#A996FF;--c1:#EE8FB6;--c2:#5FCB9F;--c3:#EDA374;--c4:#7FB6EC}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{min-height:100%}body{margin:0;color:var(--text);font:15.5px/1.5 var(--font-body);-webkit-font-smoothing:antialiased}body,body:before{background:var(--bg)}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0);z-index:30}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}h1,h2,h3{text-wrap:balance;margin:0;letter-spacing:-.01em;font-weight:700}h1{font-size:1.5rem}h2{font-size:1.1rem}h3{line-height:1.35}p{margin:0}a{color:var(--primary)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.top{position:sticky;top:env(safe-area-inset-top,0);z-index:20;background:var(--bg);color:var(--text);border-bottom:1px solid transparent}.top.scrolled{border-bottom-color:var(--line)}.top-row{display:flex;align-items:center;gap:6px;min-height:58px;max-width:640px;margin:0 auto;padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px))}.top-title{flex:1 1;min-width:0;font-weight:700;font-size:1.12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:8px}#back:not([hidden])+.top-title{padding-left:0}.brand{letter-spacing:.05em;color:var(--primary)}.brand b{color:var(--text);font-weight:700}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;flex:none;border:0;background:transparent;color:inherit;position:relative}.icon-btn:active{background:var(--surface-2)}.icon-btn .count{position:absolute;top:6px;right:5px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--primary);color:var(--on-primary);font-size:.68rem;font-weight:700;line-height:18px;text-align:center}main{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:8px calc(var(--nav-h) + 28px + env(safe-area-inset-bottom, 0px));max-width:640px;margin:0 auto;gap:22px}.section,main{display:flex;flex-direction:column}.section{gap:10px;min-width:0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.link-btn{border:0;background:none;color:var(--primary);font-weight:600;font-size:.9rem;padding:8px 0;min-height:40px}.eyebrow{font-size:.82rem;font-weight:500}.eyebrow,.muted{color:var(--muted)}.small{font-size:.9rem}.tiny{font-size:.82rem}.note{font-size:.85rem;color:var(--muted);line-height:1.45}.demo-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font-size:.88rem;line-height:1.45}.demo-note svg{flex:none;color:var(--primary);margin-top:1px}.demo-note .grow{flex:1 1;min-width:0}.demo-note button{border:0;background:none;color:var(--primary);font-weight:600;padding:0 0 0 6px;min-height:24px;flex:none}.hero{background:var(--deep);color:var(--on-deep);border-radius:var(--r);padding:18px;display:grid;gap:16px}.hero-top{display:flex;gap:14px;align-items:center}.avatar{width:54px;height:54px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--on-deep);color:var(--deep);font-size:1.25rem}.hero .muted{color:var(--on-deep-muted)}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hero-stat{background:rgba(255,255,255,.08);border-radius:var(--r-sm);padding:10px 12px;min-width:0;border:0;color:inherit;text-align:left;display:flex;flex-direction:column;gap:2px;min-height:64px}button.hero-stat:active{background:rgba(255,255,255,.16)}.hero-stat b{font-family:var(--font-display);font-size:1.2rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.hero-stat span{font-size:.78rem;color:var(--on-deep-muted);line-height:1.25}button.hero{border:0;text-align:left;width:100%}.hero .btn.on-deep,.hero .btn.sun{background:var(--on-deep);color:var(--deep)}.group{background:var(--surface);border-radius:var(--r);border:1px solid var(--line);overflow:hidden}.row{display:flex;gap:12px;align-items:center;padding:12px 14px;width:100%;border:0;background:transparent;text-align:left;min-height:60px;color:inherit}.row+.row{border-top:1px solid var(--line)}a.row:active,button.row:active,label.row:active{background:var(--surface-2)}a.row{text-decoration:none}.row-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.row-title{font-weight:600;line-height:1.3}.row-sub{font-size:.86rem;color:var(--muted);line-height:1.4}.row-end{flex:none;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.chev{color:var(--muted);flex:none}.row .badges{margin-top:4px}.ico{width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center}.ico.sun{background:var(--surface-2);color:var(--text)}.ico.ok{background:var(--primary);color:var(--on-primary)}.ico.bad{background:var(--danger-soft);color:var(--danger)}.catalog{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 6px}.cat{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:7px;padding:2px;font-size:.8rem;line-height:1.25;text-align:center;color:var(--text);min-width:0}.cat .ico{width:54px;height:54px;border-radius:16px;background:var(--surface);border:1px solid var(--line);color:var(--primary)}.cat:active .ico{background:var(--surface-2)}.cat span{overflow-wrap:anywhere}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;margin-inline:-2px;padding-inline:2px}.chips::-webkit-scrollbar{display:none}.chips.wrap{flex-wrap:wrap;overflow:visible}.chips.wrap .chip{white-space:normal;text-align:left;max-width:100%}.chip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 14px;font-size:.88rem;font-weight:500;white-space:nowrap}.chip:active{background:var(--surface-2)}.chip[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.seg{display:flex;background:var(--surface-2);border-radius:12px;padding:4px;gap:4px}.seg button{flex:1 1 auto;border:0;background:transparent;border-radius:9px;padding:9px 8px;min-height:40px;font-size:.86rem;font-weight:600;color:var(--muted);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seg button[aria-pressed=true]{background:var(--surface);color:var(--primary);box-shadow:0 0 0 1px var(--line)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:.76rem;font-weight:600;line-height:1.55;white-space:nowrap}.b-ok,.b-sky{background:var(--primary-soft);color:var(--primary)}.b-sun{background:var(--surface-2);color:var(--text)}.b-bad{background:var(--danger-soft);color:var(--danger)}.b-line{border:1px solid var(--line);color:var(--muted)}.badges{display:flex;flex-wrap:wrap;gap:6px}.card{background:var(--surface);border-radius:var(--r);border:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}button.card{text-align:left;width:100%;color:inherit}button.card:active{background:var(--surface-2)}.card-row{display:flex;gap:12px;align-items:flex-start}.pay{font-family:var(--font-display);font-weight:700;font-size:1.05rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.list{display:flex;flex-direction:column;gap:10px}.urgent{color:var(--danger);font-weight:600}.date{flex:none;width:54px;border-radius:12px;overflow:hidden;text-align:center;background:var(--surface);border:1px solid var(--line)}.date small{display:block;font-size:.72rem;font-weight:600;padding:2px 0}.date b{display:block;font-family:var(--font-display);font-size:1.3rem;line-height:1.6;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 18px;border-radius:14px;border:0;font-weight:600;font-size:.98rem;background:var(--primary);color:var(--on-primary);text-decoration:none;text-align:center}.btn:active{background:var(--primary-press)}.btn.secondary,.btn.sun{background:var(--primary-soft);color:var(--primary)}.btn.ghost{background:transparent;color:var(--primary);border:1px solid var(--line)}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.block{width:100%}.btn[disabled]{opacity:.5}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.btn-row .btn{flex:1 1 140px}.form{gap:14px}.field,.form{display:flex;flex-direction:column}.field{gap:6px;min-width:0}.field .lbl,.field label{font-size:.86rem;font-weight:600;color:var(--muted)}.input,select.input,textarea.input{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px;font-size:16px;min-height:50px}textarea.input{min-height:110px;resize:vertical;line-height:1.45}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px var(--primary-soft)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.search{position:relative}.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search .input{padding-left:42px}.check{display:flex;gap:12px;align-items:center;cursor:pointer}.check input{width:22px;height:22px;margin:0;accent-color:var(--primary);flex:none}.detail-head{display:flex;flex-direction:column;gap:8px}.share-row{display:flex;gap:8px;flex-wrap:wrap}.share-row .chip{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:inherit}.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:.94rem;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}.bullets{padding-left:20px;gap:6px}.bullets,.steps{margin:0;display:flex;flex-direction:column}.steps{padding:0;list-style:none;gap:12px;counter-reset:s}.steps li{display:flex;gap:12px;align-items:flex-start;counter-increment:s}.steps li:before{content:counter(s);flex:none;width:26px;height:26px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:.82rem;font-weight:700}.sticky-cta{position:sticky;bottom:calc(var(--nav-h) + 10px + env(safe-area-inset-bottom, 0px));z-index:5;display:flex;gap:10px;padding:10px;margin-inline:-10px;border-radius:18px;background:var(--bg)}.sticky-cta .btn{flex:1 1}.res{display:flex;gap:10px;align-items:flex-start;padding:9px 0}.res+.res{border-top:1px solid var(--line)}.res .dot{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700}.dot.ok{background:var(--primary);color:var(--on-primary)}.dot.no{background:var(--danger-soft);color:var(--danger)}.dot.mid{color:var(--text)}.dot.mid,.meter{background:var(--surface-2)}.meter{height:8px;overflow:hidden}.meter,.meter>i{border-radius:999px}.meter>i{display:block;height:100%;background:var(--primary)}.big-num{font-family:var(--font-display);font-size:2.2rem;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}@media (max-width:400px){.table-wrap td,.table-wrap th{white-space:normal;padding:9px 8px}}table{border-collapse:collapse;width:100%;font-size:.9rem}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}tr:last-child td{border-bottom:0}th{font-size:.8rem;color:var(--muted);font-weight:600}td.r,th.r{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chat{display:flex;flex-direction:column;gap:10px}.msg{max-width:86%;padding:11px 14px;border-radius:18px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.95rem}.msg.me{align-self:flex-end;background:var(--primary);color:var(--on-primary);border-bottom-right-radius:6px}.msg.ai{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:6px}.msg.err{align-self:stretch;max-width:none;background:var(--danger-soft);color:var(--danger)}.composer{display:flex;gap:8px;align-items:flex-end;position:sticky;bottom:calc(var(--nav-h) + 10px + env(safe-area-inset-bottom, 0px));background:var(--bg);padding-block:6px}.composer textarea{min-height:50px;height:50px;max-height:140px}.composer .btn{width:50px;padding:0;flex:none}.typing{display:inline-flex;gap:4px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:blink 1s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{50%{opacity:.25}}.flash{min-height:200px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);width:100%;color:inherit;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;text-align:center}.flash .q{font-family:var(--font-display);font-size:1.15rem;font-weight:700}.flash.back{background:var(--primary-soft);border-color:var(--primary-soft)}.plan-day{display:flex;gap:12px;align-items:center;padding:12px 14px}.plan-day+.plan-day{border-top:1px solid var(--line)}.plan-day .dnum{flex:none;width:40px;text-align:center;line-height:1.2}.plan-day .dnum b{display:block;font-family:var(--font-display);font-size:1.1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.plan-day.done .row-title{text-decoration:line-through;color:var(--muted)}.deal-pct{font-family:var(--font-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.deals{display:grid;grid-template-columns:1fr 1fr;gap:10px}.deals .card{gap:6px;padding:14px}.qr{display:grid;place-items:center;padding:14px;background:#FFFFFF;border-radius:14px;border:1px solid var(--line)}.qr img,.qr svg{width:210px;height:210px;display:block}.code{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.08em;font-weight:700}.up-when{flex:none;width:54px;text-align:center;line-height:1.15}.up-when b{display:block;font-family:var(--font-display);font-size:1.15rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.up-when span{font-size:.76rem;color:var(--muted)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.tabbar-in{max-width:640px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr .8fr 1fr 1fr;height:var(--nav-h)}.tab{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:.72rem;font-weight:600;min-width:0}.tab .pill{width:50px;height:30px;border-radius:15px;display:grid;place-items:center}.tab span:last-child{letter-spacing:-.01em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 1px}.tab[aria-current=page] .pill{background:var(--primary-soft)}.sheet-back{position:fixed;inset:0;z-index:40;background:rgba(5,20,25,.45);display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:640px;max-height:90vh;overflow-y:auto;background:var(--bg);border-radius:22px 22px 0 0;padding-block:10px calc(22px + env(safe-area-inset-bottom, 0px));padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:14px;animation:up .2s ease-out}.sheet .grab{width:40px;height:4px;border-radius:4px;background:var(--line);align-self:center}@keyframes up{0%{transform:translateY(24px);opacity:.5}}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom, 0px));z-index:50;background:var(--text);color:var(--bg);padding:12px 18px;border-radius:12px;font-size:.9rem;font-weight:600;max-width:calc(100% - 32px);animation:up .2s ease-out}.empty{text-align:center;padding:28px 18px;color:var(--muted);display:flex;flex-direction:column;gap:10px;align-items:center}.empty .btn{margin-top:4px}.pre{white-space:pre-wrap;font-size:.92rem;line-height:1.55;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;overflow-wrap:anywhere}@media (max-width:360px){.catalog{grid-template-columns:repeat(3,1fr)}.deals,.grid-2{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.job-pay{margin-top:4px;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}@media (max-width:350px){.tab{font-size:.62rem;letter-spacing:-.02em}.tab .pill{width:44px}}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:0}h1{font-size:2rem;line-height:1.1}h2{font-size:1.4rem;line-height:1.2}h3{font-size:1.15rem;line-height:1.25}.top-title{font-family:var(--font-display);font-weight:600;font-size:1.4rem}.brand{gap:10px;font-size:1.5rem}.brand .mark{display:inline-flex;gap:2px;height:22px}.brand .mark b{width:5px;border-radius:1px;background:var(--sw-sage)}.brand .mark b:nth-child(2){background:var(--sw-mauve)}.brand .mark b:nth-child(3){background:var(--sw-taupe)}.brand .mark b:nth-child(4){background:var(--sw-mist)}.brand .mark b:nth-child(5){background:var(--sw-ice)}.hero{position:relative;overflow:hidden;border:1px solid var(--line);padding-top:26px}.hero:before{content:"";position:absolute;inset:0 0 auto;height:8px;background:linear-gradient(90deg,var(--sw-sage) 0 20%,var(--sw-mauve) 20% 40%,var(--sw-taupe) 40% 60%,var(--sw-mist) 60% 80%,var(--sw-ice) 80% 100%)}.hero h1{font-size:2.2rem}.avatar{background:var(--sw-mauve);color:var(--sw-ink);font-size:1.5rem}.hero .btn.on-deep,.hero .btn.sun{background:var(--primary);color:var(--on-primary)}.hero-stat{border-radius:var(--r-sw);color:var(--sw-ink);min-height:70px}.hero-stat:nth-child(3n+1){background:var(--sw-sage)}.hero-stat:nth-child(3n+2){background:var(--sw-mauve)}.hero-stat:nth-child(3n){background:var(--sw-taupe)}.hero-stat b{font-size:1.6rem;font-weight:600}.hero-stat span{color:var(--sw-ink);font-size:.8rem}button.hero-stat:active{background:var(--sw-mist)}.ico{border-radius:10px}.btn{border-radius:12px}.seg button[aria-pressed=true]{color:var(--text)}.date small{background:var(--sw-sage);color:var(--sw-ink)}.tab[aria-current=page]{color:var(--text)}.tab[aria-current=page] .pill{background:var(--sw-sage);color:var(--sw-ink)}.deal-pct{font-size:1.6rem}.big-num,.deal-pct{font-weight:600}.msg.me{border-bottom-right-radius:4px}.sheet-back{background:rgba(34,37,42,.4)}.greet{display:flex;flex-direction:column;gap:4px;padding-top:4px}.greet h1{font-size:2.1rem}.promo{display:grid;grid-template-columns:1fr 96px;gap:12px;align-items:center;color:var(--on-primary);border-radius:18px;padding:20px 18px;overflow:hidden}.promo h2{font-size:1.65rem;line-height:1.05}.promo p{font-size:.9rem;line-height:1.4;margin-top:6px;opacity:.92}.promo-btn{margin-top:14px;min-height:44px;padding:10px 16px;background:#FFFFFF;color:var(--t-sage-ink)}.promo-btn:active{background:var(--t-sage)}.promo-art{position:relative;height:120px}.promo-art i{position:absolute;width:58px;height:74px;border-radius:8px}.promo-art i:first-child{left:0;top:0;border:2px solid var(--primary)}.promo-art i:nth-child(2){left:14px;top:10px;border:2px solid var(--primary)}.promo-art i:nth-child(3){left:28px;top:20px;border:2px solid var(--primary)}.promo-art i:nth-child(4){left:38px;top:30px;border:2px solid var(--primary)}.promo-art i:nth-child(5){background:var(--sw-ice);left:48px;top:40px;border:2px solid var(--primary)}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tile{border:0;border-radius:16px;min-height:108px;padding:14px 6px 12px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;font-size:.86rem;line-height:1.2;text-align:center}.tile span:last-child{overflow-wrap:anywhere}.tile-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--surface)}.tile-0{background:var(--t-sage)}.tile-0 .tile-ico{color:var(--t-sage-ink)}.tile-1{background:var(--t-mauve)}.tile-1 .tile-ico{color:var(--t-mauve-ink)}.tile-2{background:var(--t-taupe)}.tile-2 .tile-ico{color:var(--t-taupe-ink)}.tile-3{background:var(--t-ice)}.tile-3 .tile-ico{color:var(--t-ice-ink)}.tile-4{background:var(--t-mist)}.tile-4 .tile-ico{color:var(--t-mist-ink)}.tile:active{box-shadow:inset 0 0 0 2px var(--line)}.row.news{align-items:center}.thumb{flex:none;width:64px;height:52px;border-radius:10px;display:grid;place-items:center;color:var(--sw-ink)}.mk-0,.nico-0,.thumb-0{background:var(--sw-sage)}.mk-1,.nico-1,.thumb-1{background:var(--sw-mauve)}.mk-2,.nico-2,.thumb-2{background:var(--sw-taupe)}.mk-3,.nico-3,.thumb-3{background:var(--sw-mist)}.mk-4,.nico-4,.thumb-4{background:var(--sw-ice)}.search-bar{display:flex;gap:8px;align-items:center}.search-bar .search{flex:1 1;min-width:0}.filter-btn{width:50px;height:50px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}.sr{display:flex;align-items:center}.sr+.sr{border-top:1px solid var(--line)}.sr-main{flex:1 1;min-width:0;display:flex;gap:12px;align-items:flex-start;padding:14px 6px 14px 14px;border:0;background:transparent;text-align:left;color:inherit}.sr-main:active{background:var(--surface-2)}.sr-role{font-size:.92rem;line-height:1.35}.sr-end{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding:12px 8px 10px 0;align-self:stretch;justify-content:space-between}.mk{flex:none;width:44px;height:44px;display:grid;place-items:center;font-size:1.35rem;color:var(--sw-ink)}.mk,.tag{font-weight:600}.tag{font-size:.74rem;padding:2px 9px;border-radius:999px;white-space:nowrap;max-width:116px;overflow:hidden;text-overflow:ellipsis}.tag-new{background:var(--t-sage);color:var(--t-sage-ink)}.tag-pick{background:var(--t-mauve);color:var(--t-mauve-ink)}.tag-warn{background:var(--danger-soft);color:var(--danger)}.tag-deal{background:var(--t-taupe);color:var(--t-taupe-ink)}.heart{width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--muted);display:grid;place-items:center}.heart[aria-pressed=true]{color:var(--heart)}.heart[aria-pressed=true] svg{fill:currentColor}.heart:active{background:var(--surface-2)}.nrow{display:flex;gap:12px;align-items:flex-start;width:100%;padding:14px;border:0;background:transparent;text-align:left;color:inherit}.nrow+.nrow{border-top:1px solid var(--line)}.nrow:active{background:var(--surface-2)}.nrow .row-main{gap:3px}.nrow:not(.unread) .row-title{font-weight:500}.nico{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--sw-ink)}.ndot{flex:none;width:9px;height:9px;border-radius:50%;margin-top:6px}.nrow.unread .ndot{background:var(--primary)}.me{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding-top:6px}.me-photo{position:relative;margin-bottom:8px}.me-avatar{width:104px;height:104px;place-items:center;background:var(--sw-mauve);color:var(--sw-ink);font-weight:600;font-size:2.8rem}.me-avatar,.me-edit{border-radius:50%;display:grid}.me-edit{position:absolute;right:-2px;bottom:2px;width:34px;height:34px;border:3px solid var(--bg);background:var(--primary);color:var(--on-primary);place-items:center;padding:0}.me h1{font-size:1.9rem}.fill{gap:10px}.fill-head{display:flex;justify-content:space-between;align-items:baseline}.fill-head b{font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--primary)}.fill .meter>i{background:var(--primary)}#mine-btn .count{color:#FFFFFF}.tab .pill{position:relative}.tab .pill .tab-count{position:absolute;top:-4px;left:50%;margin-left:4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--heart);color:#FFFFFF;font-size:.66rem;font-weight:700;line-height:18px;text-align:center;letter-spacing:0;max-width:none;overflow:visible;border:1px solid var(--surface)}.inbox-text{overflow-wrap:anywhere;white-space:pre-line}.inbox-actions{display:flex;flex-wrap:wrap;column-gap:18px;align-items:center}.tabbar-in{grid-template-columns:repeat(4,1fr)}.sr-main .row-sub,.sr-main .row-title,.sr-main .sr-role{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word}.sr-main .tag-inline{display:none;align-self:flex-start;margin-top:4px;max-width:100%}.sticky-cta .btn{min-width:0;white-space:normal;line-height:1.2}@media (max-width:400px){.sticky-cta{flex-wrap:wrap}.sticky-cta .btn{flex:1 1 100%}.tab{font-size:.68rem}.sr-end .tag{display:none}.sr-main .tag-inline{display:inline-block}.sr-end{justify-content:center}}@media (max-width:374px){.tiles{grid-template-columns:repeat(2,1fr)}}@media (max-width:340px){#title,.top-title{font-size:1.05rem}.tab{font-size:.64rem}.tab span:last-child{letter-spacing:-.02em}}.top-title,h1,h2,h3{font-weight:700;letter-spacing:-.01em}h1{font-size:1.6rem;line-height:1.2}h2{font-size:1.15rem;line-height:1.3}h3{font-size:1rem}.top-title{font-size:1.25rem}.greet h1{font-size:1.65rem}.brand{font-size:1.15rem;gap:9px;letter-spacing:0;color:var(--text)}.brand .mark{width:32px;height:32px;border-radius:9px;background:var(--primary);display:grid;place-items:center;gap:0}.brand .mark b{display:none}.brand .mark:before{content:"";width:20px;height:20px;background:#FFFFFF;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c3 2.5 9 2.5 12 0v-5'/%3E%3Cpath d='M22 9v6'/%3E%3C/svg%3E") center /contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c3 2.5 9 2.5 12 0v-5'/%3E%3Cpath d='M22 9v6'/%3E%3C/svg%3E") center /contain no-repeat}.input,.search .input{border-color:var(--line)}.search .input{border-radius:14px}.promo{background:var(--primary);border-radius:20px}.promo h2{font-size:1.3rem;line-height:1.2}.promo-btn{color:var(--primary);border-radius:12px;font-size:.9rem}.promo-btn:active{background:var(--tint)}.promo-art i{border-color:var(--primary)!important;border-radius:10px}.promo-art i:first-child{background:#B9C8FF}.promo-art i:nth-child(2){background:#CBBDFE}.promo-art i:nth-child(3){background:#A6E4DD}.promo-art i:nth-child(4){background:#FFE39A}.tile{border-radius:18px;color:var(--text);font-weight:600}.tile-ico{background:transparent;width:40px;height:40px}.tile-ico svg{width:30px;height:30px;stroke-width:2}.mk-0,.nico-0,.thumb-0{background:var(--c0)}.thumb-1{background:var(--primary)}.mk-1,.nico-1{background:var(--c1)}.mk-2,.nico-2,.thumb-2{background:var(--c2)}.mk-3,.nico-3,.thumb-3{background:var(--c3)}.mk-4,.nico-4,.thumb-4{background:var(--c4)}.mk,.nico,.thumb{color:#FFFFFF}.mk{font-family:var(--font-display);font-weight:700;font-size:1.15rem;border-radius:12px}.tag-new{background:#DDF6EA;color:#17804D}.tag-pick{background:#EEE6FF;color:#6B45CF}.tag-warn{background:#FFE4E1;color:#C9372C}.tag-deal{background:#FFF2D4;color:#8A5E00}.chip{border-color:var(--line)}.chip[aria-pressed=true]{border-color:var(--primary-soft);font-weight:600}.chip[aria-pressed=true],.me-avatar{background:var(--primary-soft);color:var(--primary)}.me-avatar{font-family:var(--font-display);font-weight:700}.fill-head b{font-family:var(--font-body);font-size:1rem;font-weight:700;color:var(--text)}.ico,.meter{background:var(--primary-soft)}.ico{color:var(--primary)}.hero:before{display:none}.hero{padding-top:18px}.hero h1{font-size:1.6rem}.avatar{background:var(--primary-soft);color:var(--primary);font-family:var(--font-display);font-weight:700}.hero-stat:nth-child(n){background:var(--primary-soft);color:var(--text)}.hero-stat b{font-size:1.3rem;font-weight:700}.hero-stat span{color:var(--muted)}.date small{background:var(--primary);color:var(--on-primary)}.deal-pct{font-size:1.35rem;font-weight:700}.deal-pct,.tab[aria-current=page]{color:var(--primary)}.tab[aria-current=page] .pill{background:transparent;color:var(--primary)}#mine-btn .count{background:var(--heart)}.sheet-back{background:rgba(20,26,51,.4)}.greet .wave{font-family:system-ui,sans-serif}.sr-end .tag{max-width:120px}.plan-box{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:8px;overflow:hidden}.plan{display:block;width:100%;height:auto}.pl-ground{fill:#E9EEF8}.pl-green{fill:#CFEBD6}.pl-minor{fill:#C3CBDD}.pl-street{font:600 22px var(--font-body);fill:var(--muted)}.pb{cursor:pointer;outline:none}.pb polygon,.pb rect{fill:#8EA0C8;stroke:#FFFFFF;stroke-width:2}.pb-study polygon,.pb-study rect{fill:#2F57E8}.pb-dorm polygon,.pb-dorm rect{fill:#8B5CF6}.pb-other polygon,.pb-other rect{fill:#F2A516}.pb circle{fill:#FFFFFF;stroke:var(--text);stroke-width:2}.pb text{font:700 22px var(--font-display);fill:var(--text);text-anchor:middle;pointer-events:none}.pb.dim{opacity:.3}.pb.on circle{fill:var(--text)}.pb.on text{fill:#FFFFFF}.pb.on polygon,.pb.on rect{stroke:var(--text);stroke-width:4}.pb:focus-visible circle{stroke:var(--primary);stroke-width:5}.bnum{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:700 .95rem var(--font-display);color:#FFFFFF}.bnum-study{background:#2F57E8}.bnum-dorm{background:#8B5CF6}.bnum-other{background:#F2A516;color:var(--text)}.site-card h3.row-title{font-size:1rem;line-height:1.3}.site-card .btn-row .btn{min-height:44px}.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.lg-study i{background:#2F57E8}.lg-dorm i{background:#8B5CF6}.lg-other i{background:#F2A516}.me-photo{cursor:pointer;display:block}.me-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.me-avatar{overflow:hidden}.me-photo input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.me-photo:focus-within .me-edit{outline:2px solid var(--primary);outline-offset:2px}.plan-box{padding:0}.plan image{image-rendering:auto}.pl-street{font:700 24px var(--font-body);fill:#FFFFFF;stroke:#5B6B86;stroke-width:5px;paint-order:stroke;text-anchor:middle;letter-spacing:.02em}.pin{cursor:pointer;outline:none}.pin circle{fill:#FFFFFF;stroke-width:6}.pin-study circle{stroke:#2F57E8}.pin-dorm circle{stroke:#8B5CF6}.pin-other circle{stroke:#E0950C}.pin text{font:700 30px var(--font-display);fill:#141A33;text-anchor:middle;pointer-events:none}.pin.dim{opacity:.35}.pin.on circle{fill:#141A33}.pin.on text{fill:#FFFFFF}.pin .pin-halo{fill:rgba(255,255,255,.55);stroke:#141A33;stroke-width:4}.pin:focus-visible circle{stroke:#141A33;stroke-width:9}.map-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.map-tools .btn{min-height:44px;padding:8px 14px}#geoBtn[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.geo-status{font-size:.92rem;background:var(--primary-soft);color:var(--text);border-radius:12px;padding:10px 12px}.plan-wrap{position:relative}.plan-box{touch-action:pan-y;user-select:none;-webkit-user-select:none}.plan-box.zoomed{touch-action:none;cursor:grab}.map-ctl{position:absolute;right:8px;top:8px;display:flex;flex-direction:column;gap:6px}.map-ctl button{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);display:grid;place-items:center;padding:0}.map-ctl button:active{background:var(--surface-2)}.me-acc{fill:rgba(47,87,232,.16);stroke:rgba(47,87,232,.5);stroke-width:3}.me-dot{fill:#2F57E8;stroke:#FFFFFF;stroke-width:6}.me-route{stroke:#141A33;stroke-width:6;stroke-dasharray:16 12;stroke-linecap:round}.np circle{stroke:#FFFFFF;stroke-width:4}.np svg{color:#FFFFFF;pointer-events:none}.np-stop circle{fill:#2F57E8}.np-food circle{fill:#E5484D}.np-shop circle{fill:#12A594}.np-pharm circle{fill:#17804D}.np-print circle{fill:#6B45CF}.np-money circle{fill:#8A5E00}.np-health circle{fill:#C9372C}.np-post circle{fill:#0E7490}.np-sport circle{fill:#F2A516}.next-class{gap:6px;border-color:var(--primary)}.nc-top{display:flex;justify-content:space-between;align-items:baseline}.nc-top b{font-family:var(--font-display);font-size:1.2rem}.next-class .btn{margin-top:6px;min-height:44px}.ent line{stroke:#17804D;stroke-width:8;stroke-linecap:round}.ent polygon{fill:#17804D;stroke:#FFFFFF;stroke-width:3;stroke-linejoin:round}.ent.dim{opacity:.3}.ent.on line{stroke-width:10}.ent-key{display:inline-block;width:18px;height:6px;border-radius:3px;background:#17804D;vertical-align:middle;margin-right:2px}.b-demo{font-weight:500;padding:0 7px;line-height:1.45;vertical-align:1px}button.badge.verified{border:0;font:inherit;font-size:.76rem;font-weight:600;cursor:pointer}.trust .kv dd a{word-break:break-word}@media (max-width:374px){.seg{gap:2px;padding:3px}.seg button{padding:9px 3px;font-size:.8rem;letter-spacing:-.01em}}@media (max-width:340px){.seg button{font-size:.74rem;padding:9px 2px}}:root{--tg-top:0px;padding-top:calc(env(safe-area-inset-top, 0px) + var(--tg-top))}.top{top:calc(env(safe-area-inset-top, 0px) + var(--tg-top))}body:before{height:calc(env(safe-area-inset-top, 0px) + var(--tg-top))}.rm-step{padding-right:6px}.rm-check{flex:1 1;min-width:0}.chips.wrap .chip svg{flex:none}.tg-login{min-height:48px;display:flex;justify-content:center}.tg-login iframe{max-width:100%}.consent{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}.consent h3{margin-top:6px}.consent h3:first-child{margin-top:0}.consent .link-btn{align-self:flex-start}.consent-age{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0}.consent-age legend{padding:0;margin-bottom:8px;font-weight:600;color:var(--muted)}.check input[type=radio]{width:22px;height:22px;margin:0;accent-color:var(--primary);flex:none}.pw-field{position:relative;min-width:0}.pw-field .input{padding-right:104px}.pw-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--primary);font-weight:600;font-size:.86rem;min-height:42px;padding:0 12px;border-radius:9px}.pw-rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:.84rem;color:var(--muted)}.pw-rules li{display:flex;gap:8px;align-items:flex-start;line-height:1.4;min-width:0}.pw-rules li svg{flex:none;margin-top:2px}.pw-rules li.ok{color:var(--primary)}.pw-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--line);margin:7px 4px 0}.code-boxes{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:360px;cursor:text}.code-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;margin:0;font-size:16px;color:transparent;caret-color:transparent;background:transparent;z-index:1}.code-cell{display:grid;place-items:center;min-height:56px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:24px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);transition:border-color .12s,transform .12s}.code-cell.filled{border-color:var(--primary)}.code-cell.active{border:2px solid var(--primary)}.code-cell.active:empty:after{content:"";width:2px;height:26px;background:var(--primary);animation:code-caret 1s steps(1) infinite}.code-boxes.disabled .code-cell{opacity:.55}@keyframes code-caret{50%{opacity:0}}@media (prefers-reduced-motion:no-preference){.code-cell.filled{animation:code-pop .14s ease-out}}@keyframes code-pop{0%{transform:scale(.92)}}.auth-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 12px}.form>.link-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:4px}.link-btn[disabled]{color:var(--muted)}.addr{overflow-wrap:break-word;word-break:normal}.fb-score .chip{min-width:48px;justify-content:center}.suggest{margin-top:12px;text-decoration:none}.draft-banner{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger);border-radius:var(--r);padding:12px 14px;font-weight:700}.legal{gap:18px}.legal,.legal section{display:flex;flex-direction:column}.legal section{gap:8px}.legal li,.legal p{line-height:1.55;overflow-wrap:anywhere}.legal ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}.stat b{font-family:var(--font-display);font-size:1.5rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.stat span{font-size:.84rem;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.banner{border-color:var(--primary);background:var(--primary-soft)}.banner .btn{align-self:flex-start}.elig{display:inline-flex;align-items:center;gap:6px}.reg-btn{flex:none;min-height:40px;padding:8px 12px;font-size:.86rem}.row .reg-btn{align-self:center}.row-main .btn-row .reg-btn{flex:0 1 auto}.qr.qr-big{padding:12px}.qr.qr-big svg{width:min(78vw,56vh,420px);height:min(78vw,56vh,420px)}.live{position:fixed;inset:0;z-index:60;background:var(--bg);overflow-y:auto;display:flex;justify-content:center;padding:calc(16px + env(safe-area-inset-top, 0px)) 16px calc(16px + env(safe-area-inset-bottom, 0px))}.live-in{width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.live-in .btn.block,.live-in .form{width:100%;text-align:left}.live-counts{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;font-size:1rem}.live-counts b{font-family:var(--font-display);font-size:1.8rem}.scan-video{width:100%;max-width:420px;aspect-ratio:1;object-fit:cover;border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2)}.mk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mk-card{display:flex;flex-direction:column;text-align:left;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:inherit;padding:0;overflow:hidden;min-width:0}.mk-card:active,.mk-photo{background:var(--surface-2)}.mk-photo{aspect-ratio:4/3;display:grid;place-items:center;color:var(--muted);overflow:hidden}.mk-photo img{width:100%;height:100%;object-fit:cover;display:block}.mk-body{display:flex;flex-direction:column;gap:4px;padding:10px 12px 12px;min-width:0}.mk-body .row-title{overflow-wrap:anywhere}.mk-photos{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory}.mk-photos img{flex:none;width:100%;max-height:360px;object-fit:contain;background:var(--surface-2);border-radius:var(--r);border:1px solid var(--line);scroll-snap-align:start}.mk-thumbs{display:flex;gap:8px;flex-wrap:wrap}.mk-thumb{position:relative;width:88px;height:88px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2);flex:none}.mk-thumb img{width:100%;height:100%;object-fit:cover;display:block}.mk-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--primary);cursor:pointer;border-style:dashed}.mk-x{position:absolute;top:4px;right:4px;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);display:grid;place-items:center;padding:0}.mk-mini{flex:none;width:56px;height:56px;border-radius:10px;overflow:hidden;background:var(--surface-2);display:grid;place-items:center;color:var(--muted)}.mk-mini img{width:100%;height:100%;object-fit:cover}.match-board{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}@media (min-width:720px){.match-board{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.match-board button.row[aria-pressed=true]{background:var(--primary-soft)}.kv-row{display:contents}.payload{font-size:.86rem}.payload dt{overflow-wrap:anywhere}.payload dd{font-weight:500;white-space:pre-wrap}.checklist{gap:4px}.cert,.checklist{display:flex;flex-direction:column}.cert{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px 18px;gap:12px}.cert-name{font-family:var(--font-display);font-size:1.6rem;font-weight:700;overflow-wrap:anywhere}@media print{.no-print,.tabbar,.toast,.top{display:none!important}body{background:#FFFFFF}.cert{border:2px solid #000000}}.search-top{position:sticky;top:calc(env(safe-area-inset-top, 0px) + var(--tg-top) + 59px);z-index:15;background:var(--bg);margin:-8px -16px -12px;padding:8px 16px 12px}.search-cats{gap:8px 6px}.search-cats .chip{min-height:36px;padding:6px 12px}.active-filters{align-items:center;gap:6px;margin-top:-10px}.active-filters .chip{min-height:34px;padding:5px 10px 5px 12px;font-size:.84rem}.active-filters .link-btn{min-height:34px;padding:4px 6px}.filter-btn .count{top:2px;right:2px}.sr>.row{flex:1 1;min-width:0;border-top:0}.sr-heart{justify-content:center;padding-left:0}.fav-card{position:relative;min-width:0;display:flex}.fav-card>.card{flex:1 1}.fav-card>.heart{position:absolute;top:6px;right:6px}.fav-card>.card>.badges:first-child{padding-right:34px}.my-ev{gap:0}.ics-link{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.dcheck{display:flex;flex-direction:column;gap:10px}.dcheck .btn-row .btn{min-height:44px;padding:10px 14px}.toggle-row{cursor:pointer}.toggle-row input[type=checkbox]{width:22px;height:22px;margin:0;accent-color:var(--primary);flex:none;align-self:center}.toggle-row input[type=checkbox]:disabled{opacity:.55}.toggle-row.locked{cursor:default}.quiet-times{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px 14px}.sheet>*{flex-shrink:0}@media (max-width:374px){.quiet-times{grid-template-columns:1fr}}main.bare{padding-block:12px 40px;max-width:760px}.pf-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.pf-brand{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text)}.pf-bar .chip,.pf-brand{text-decoration:none}.pf{gap:18px}.pf,.pf-head{display:flex;flex-direction:column;min-width:0}.pf-head{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 18px;gap:8px}.pf-name{font-size:1.9rem;line-height:1.15}.pf-headline,.pf-name{overflow-wrap:anywhere}.pf-headline{font-size:1.05rem;font-weight:600}.pf-where{color:var(--muted)}.pf-bio,.pf-where{overflow-wrap:anywhere}.pf-bio{white-space:pre-line;line-height:1.55}.pf-tg{align-self:flex-start;margin-top:4px}.pf-print-only{display:none}.pf-sec{display:flex;flex-direction:column;gap:10px;min-width:0}.pf-sec h2{display:flex;align-items:center;gap:8px;font-size:1.25rem}.pf-sec h2 svg{color:var(--primary);flex:none}.pf-sec h3{font-family:var(--font-body);font-size:.9rem;color:var(--muted);font-weight:600;margin-top:4px}.pf-list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.pf-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px}.pf-item+.pf-item{border-top:1px solid var(--line)}.pf-ico{width:36px;height:36px;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;flex:none}.pf-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.pf-title{font-weight:600;line-height:1.3;overflow-wrap:anywhere}.pf-desc,.pf-meta{font-size:.88rem;color:var(--muted);overflow-wrap:anywhere}.pf-desc{white-space:pre-line}.pf-verify{font-size:.86rem;overflow-wrap:anywhere;align-self:flex-start}.pf-url{display:none}.pf-end{flex:none}.pf-skills{display:flex;flex-wrap:wrap;gap:6px}.pf-skills .badge{white-space:normal;overflow-wrap:anywhere}.pf-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;color:var(--muted);font-size:.92rem}.pf-legend{display:flex;gap:6px;align-items:flex-start;font-size:.86rem;color:var(--muted)}.pf-legend svg{color:var(--primary);flex:none;margin-top:3px}.pf-foot{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.84rem;color:var(--muted)}.pf-foot a{overflow-wrap:anywhere}.pf-preview .pf-name{font-size:1.5rem}@media (max-width:420px){.pf-item{flex-wrap:wrap}.pf-end{order:3;flex-basis:100%;padding-left:48px}.pf-name{font-size:1.6rem}}@media print{@page{size:A4;margin:14mm}main.bare{max-width:none;padding:0;gap:12px}body:before{display:none}.pf-bar{display:none!important}.pf-print-only{display:block}.pf,.pf *{color:#000000!important;background:transparent!important}.pf{gap:12px;font-size:11pt}.pf-empty,.pf-head,.pf-list{border-color:#9A9A9A;padding:10px 12px}.pf-item{padding:8px 10px;page-break-inside:avoid;break-inside:avoid}.pf-sec h2{page-break-after:avoid;break-after:avoid}.pf-ico{display:none}.pf-end{order:0;flex-basis:auto;padding-left:0}.pf a{text-decoration:none}.pf-url{display:inline}.pf .badge{border:1px solid #9a9a9a}}.offline-bar{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);color:var(--text);font-size:.85rem;line-height:1.35}.offline-bar svg{flex:none;color:var(--muted)}.offline-bar span{min-width:0;overflow-wrap:anywhere}.update-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom, 0px));z-index:49;width:max-content;max-width:calc(100% - 32px);display:flex;align-items:center;gap:12px;background:var(--text);color:var(--bg);padding:8px 8px 8px 16px;border-radius:12px;font-size:.9rem;font-weight:600}.update-bar span{min-width:0}.update-btn{flex:none;min-height:36px;padding:6px 14px;border-radius:10px;border:1px solid var(--bg);background:var(--bg);color:var(--text);font:inherit;font-weight:700;cursor:pointer}@media print{.offline-bar,.update-bar{display:none!important}}.field-err{display:flex;flex-direction:column;gap:2px;font-size:.84rem;font-weight:600;color:var(--danger)}.ac-srv,.field-err{overflow-wrap:anywhere}.ac-srv{display:block;font-weight:500}.input[aria-invalid=true]{border-color:var(--danger)}fieldset.field{border:0;padding:0;margin:0;min-width:0}fieldset.field>legend{padding:0;margin-bottom:6px}.ac-bi>.grid-2>.field,.ac-stack>.field{min-width:0}.ac-stack{display:flex;flex-direction:column;gap:10px}.field label.ac-lang{font-size:.8rem;font-weight:500}.ac-form .section>h2{font-size:1.1rem}.ac-sub{font-family:var(--font-body);font-size:.9rem;color:var(--muted);font-weight:600;margin:4px 0 0}.ac-rows{list-style:none;margin:0;padding:0;flex-direction:column}.ac-row,.ac-rows{display:flex;gap:8px}.ac-row{align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);min-width:0}.ac-n{flex:none;width:22px;padding-top:4px;font-weight:700;color:var(--muted)}.ac-row-in{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:8px}.ac-row-act{flex:none;display:flex;flex-direction:column;gap:2px}.ac-row-act .icon-btn{width:40px;height:40px}.ac-row-act .icon-btn[disabled]{opacity:.35}.ac-up{transform:rotate(-90deg)}.ac-down{transform:rotate(90deg)}.ac-count{margin-left:6px;font-size:.8rem;color:var(--muted)}.ac-title{overflow-wrap:anywhere}.ac-item .btn-row .btn{flex:1 1 96px;min-width:0}.ac-preview{display:flex;flex-direction:column;gap:16px;min-width:0}.ac-page{border:1px solid var(--line);border-radius:var(--r);padding:14px 12px;background:var(--bg)}.ac-preview .sticky-cta{position:static;margin-inline:0;padding:0}.ac-done{align-self:flex-start}.launch-admin{min-width:0;overflow-wrap:anywhere}.launch-admin .row-sub,.launch-admin .row-title{white-space:normal;overflow-wrap:anywhere}.launch-admin .btn{white-space:normal;max-width:100%}.launch-admin>.section{margin-top:22px}.card-detail{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere}.card .card-detail-truncate,.sr-main .card-detail-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fav-card>.card{min-width:0}.row .badge{max-width:100%;white-space:normal;overflow-wrap:anywhere}.row .badge svg{flex:none}.quiz{display:grid;gap:20px;min-width:0;overflow-wrap:anywhere}.quiz *,.quiz :after,.quiz :before{box-sizing:border-box}.quiz h1{font-size:clamp(1.5rem,4vw,2.2rem)}.quiz h2{font-size:1.2rem}.quiz h3{font-size:1rem}.quiz p{margin:0}.quiz a{color:var(--primary)}.quiz a.btn{color:var(--on-primary)}.quiz a.btn.ghost{color:var(--text)}.quiz .btn,.quiz .chip{white-space:normal;height:auto;min-height:44px;max-width:100%;text-align:center;overflow-wrap:anywhere}.quiz .btn:disabled,.quiz .link-btn:disabled{opacity:.5;cursor:not-allowed}.quiz .input{width:100%;min-width:0;max-width:100%}.quiz textarea{resize:vertical;min-height:100px}.quiz input[type=file]{font-size:.85rem;padding:10px 6px}.quiz input[type=file]::file-selector-button{max-width:100%;white-space:normal}.quiz input[type=checkbox],.quiz input[type=radio]{flex:none;width:20px;height:20px;accent-color:var(--primary)}.quiz fieldset{min-width:0;margin:0;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px}.quiz legend{max-width:100%;padding:0 5px;font-weight:600;white-space:normal}.quiz-answers,.quiz-stack{display:grid;gap:16px;min-width:0}.quiz .card{border:1px solid var(--line);box-shadow:none;background:var(--surface);min-width:0}.quiz-actions,.quiz-inline,.quiz-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.quiz-nav{justify-content:space-between}.quiz-inline>.field,.quiz-inline>span{flex:1 1;min-width:120px}.quiz-inline{align-items:end}.quiz-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.quiz-grid a{text-decoration:none;color:var(--text)}.quiz-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}.quiz-coordinates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quiz-check{display:flex;align-items:center;gap:10px;padding:8px 0;min-height:44px}.quiz-option-edit{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid var(--line)}.quiz-option-edit:last-of-type{margin-bottom:12px}.quiz-choice{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);min-height:52px;cursor:pointer}.quiz-choice:has(input:checked){background:var(--primary-soft);border-color:var(--primary)}.quiz-choice:has(input:disabled){cursor:default}.quiz-image{position:relative;width:fit-content;max-width:100%}.quiz-image img{display:block;max-height:420px;object-fit:contain;width:auto;max-width:100%}.quiz-zone{position:absolute;display:grid;place-items:center;border:1px solid var(--primary);color:var(--text);background:var(--surface);font-weight:700;overflow:visible}.quiz-zone[aria-pressed=true]{color:var(--on-primary);background:var(--primary)}.quiz-quote{margin:0;padding:12px;background:var(--surface-2);border-left:1px solid var(--primary)}.quiz blockquote{margin:0}.quiz-passage{white-space:pre-wrap}.quiz-order{padding-left:22px;margin:0}.quiz-order li{padding:8px 0}.quiz-error{color:var(--danger);border:1px solid var(--danger);border-radius:var(--r-sm);padding:12px}.quiz-progress{width:100%;height:8px;accent-color:var(--primary)}.quiz-timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quiz-score{font-size:3rem;font-weight:700;color:var(--primary)}.quiz-dialog{position:fixed;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--text);overflow-y:auto;margin:auto}.quiz-dialog:not([open]){display:none}.quiz-dialog::backdrop{background:#141a3377}.quiz .qr{max-width:100%;justify-self:center}.quiz .qr svg{max-width:100%;height:auto}.quiz-lobby{display:grid;gap:24px;text-align:center}.quiz-live-code{display:block;font-size:clamp(2.6rem,10vw,6.5rem);letter-spacing:.07em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quiz-code-input{letter-spacing:.2em;font-size:1.5rem}.quiz-players{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}.quiz-players li{border:1px solid var(--line);padding:8px 14px;background:var(--surface);border-radius:var(--r-sm)}.quiz-podium,.quiz-ranking{padding:0;list-style:none;display:grid;gap:10px}.quiz-podium li,.quiz-ranking li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border:1px solid var(--line);padding:18px;background:var(--surface)}.quiz-podium li:first-child{background:var(--primary-soft);border-color:var(--primary)}.quiz-host-options{padding-left:24px}.quiz-host-options li{padding:10px}main.quiz-host-main{max-width:1200px}@media (min-width:800px){.quiz-projector{font-size:1.4rem}.quiz-projector h1{font-size:2.6rem}.quiz-projector h2{font-size:2rem}.quiz-lobby{grid-template-columns:1fr auto;align-items:center}.quiz-projector .qr{width:260px}}@media (max-width:390px){.quiz .card{padding:12px}.quiz fieldset{padding:8px}.quiz .btn{padding-inline:12px}.quiz-nav{align-items:start}}.drawer-back{position:fixed;inset:0;z-index:45;background:rgba(34,37,42,.4);display:flex}.drawer{width:min(320px,86vw);height:100%;overflow-y:auto;background:var(--bg);color:var(--text);border-right:1px solid var(--line);padding:calc(env(safe-area-inset-top, 0px) + 8px) 12px 24px}.drawer-head{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding-left:6px}.drawer-group{margin-top:14px}.drawer-title{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 4px 8px}.drawer-item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 10px;border:0;border-radius:12px;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}.drawer-item:active,.drawer-item:hover{background:var(--surface-2)}.drawer-item svg{flex:none;color:var(--primary)}.tile-all{background:var(--surface);border:1px solid var(--line)}.day-more{margin-top:10px}.day-more>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center}.day-more>summary::-webkit-details-marker{display:none}.day-more[open]>summary{margin-bottom:8px}@media (prefers-reduced-motion:no-preference){.drawer{animation:drawer-in .18s ease-out}}@keyframes drawer-in{0%{transform:translateX(-100%)}to{transform:none}}.hero3d{display:grid;grid-template-columns:1fr 160px;align-items:center;gap:0;min-height:196px;background:var(--primary);color:var(--on-primary);border-radius:22px;padding:20px 8px 20px 20px;overflow:hidden}.hero3d h1{font-size:1.7rem;line-height:1.1;color:inherit;overflow-wrap:anywhere}.hero3d p{margin-top:6px;font-size:.92rem;line-height:1.4;opacity:.92}.hero3d-btn{margin-top:14px;min-height:44px;padding:10px 16px;background:#FFFFFF;color:var(--primary)}.hero3d-scene{position:relative;width:160px;height:180px;touch-action:pan-y;perspective:520px;display:grid;place-items:center}.hero3d-cube{--s:72px;position:relative;width:var(--s);height:var(--s);transform-style:preserve-3d;transform:rotateX(-24deg) rotateY(-36deg)}.hero3d-face{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:2px;border:1px solid rgba(20,26,51,.14);border-radius:12px;backface-visibility:hidden;font-size:.62rem;text-align:center}.hero3d-face b{font-weight:700;line-height:1.1;padding:0 4px}.hf-0{background:var(--t-sage);color:var(--t-sage-ink)}.hf-1{background:var(--t-mauve);color:var(--t-mauve-ink)}.hf-2{background:var(--t-taupe);color:var(--t-taupe-ink)}.hf-3{background:var(--t-ice);color:var(--t-ice-ink)}.hf-4{background:var(--t-mist);color:var(--t-mist-ink)}.hero3d-front{transform:translateZ(calc(var(--s) / 2))}.hero3d-back{transform:rotateY(180deg) translateZ(calc(var(--s) / 2))}.hero3d-right{transform:rotateY(90deg) translateZ(calc(var(--s) / 2))}.hero3d-left{transform:rotateY(-90deg) translateZ(calc(var(--s) / 2))}.hero3d-top{transform:rotateX(90deg) translateZ(calc(var(--s) / 2))}.hero3d-bottom{transform:rotateX(-90deg) translateZ(calc(var(--s) / 2))}.hero3d-scene canvas{position:absolute;inset:-14px -8px;width:calc(100% + 16px);height:calc(100% + 28px)}.hero3d-shadow{position:absolute;bottom:8px;left:50%;width:70px;height:10px;margin-left:-35px;border-radius:50%;background:rgba(0,0,0,.18)}@media (prefers-reduced-motion:no-preference){.hero3d-cube{animation:hero3d-spin 14s linear infinite}.hero3d-scene:active .hero3d-cube,.hero3d-scene:hover .hero3d-cube{animation-play-state:paused}.hero3d-shadow{animation:hero3d-breathe 7s ease-in-out infinite}.hero3d-text>*{animation:hero3d-rise .5s ease-out both}.hero3d-text>:nth-child(2){animation-delay:.08s}.hero3d-text>:nth-child(3){animation-delay:.16s}}@keyframes hero3d-spin{0%{transform:rotateX(-24deg) rotateY(0deg)}50%{transform:rotateX(-38deg) rotateY(180deg)}to{transform:rotateX(-24deg) rotateY(1turn)}}@keyframes hero3d-breathe{50%{transform:scaleX(.8);opacity:.7}}@keyframes hero3d-rise{0%{opacity:0;transform:translateY(8px)}}@media (max-width:380px){.hero3d{grid-template-columns:1fr 132px}.hero3d-scene{width:132px;height:170px}}@media (max-width:359px){.hero3d{grid-template-columns:1fr 112px}.hero3d-scene{width:112px;height:140px}.hero3d-cube{--s:56px}}.top-signin{min-height:36px;padding:6px 14px;border-radius:999px;font-size:.88rem;flex:none;margin-left:auto}.cal-nav{display:flex;align-items:center;gap:4px;min-width:0}.cal-title{flex:1 1;min-width:0;text-align:center;font-size:1.1rem;overflow-wrap:anywhere}.cal-nav .chip{margin-left:4px}.cal-grid{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:6px 4px}.cal-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-wd{text-align:center;font-size:.74rem;font-weight:600;color:var(--muted);padding:2px 0 4px}.cal-cell{display:block;min-width:0}.cal-day-btn{width:100%;min-height:48px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:5px 0 4px}.cal-day-btn.out{opacity:.6}.cal-day-btn:active{background:var(--surface-2)}.cal-num{font-weight:600;font-size:.92rem;line-height:1;width:28px;height:28px;border-radius:50%;display:grid;place-items:center}.cal-day-btn[aria-current=date] .cal-num{background:var(--primary);color:var(--on-primary)}.cal-day-btn[aria-pressed=true]{border-color:var(--primary)}.cal-k-class{--k:var(--cal-class)}.cal-k-opp{--k:var(--cal-opp)}.cal-k-job{--k:var(--cal-job)}.cal-k-event{--k:var(--cal-event)}.cal-k-exam{--k:var(--cal-exam)}.cal-k-own{--k:var(--cal-own)}.cal-ico{width:40px;height:40px;border-radius:12px;flex:none;display:grid;place-items:center;background:var(--surface-2);color:var(--k,var(--primary));border:1px solid var(--line)}.cal-item .sr-end{justify-content:center;padding:4px 4px 4px 0}.cal-day h2,.cal-day-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-day-h{font-size:.95rem}.cal-today-badge{font-family:var(--font-body)}.cal-none{padding:2px 2px 0}.cal-week{display:flex;flex-direction:column;gap:16px}.cal-note{white-space:pre-wrap;overflow-wrap:anywhere}.cal-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;align-items:end}#homeDeadlines .tag{max-width:132px}.brand{display:inline-flex;align-items:center;gap:8px}.brand .logo{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--primary);color:var(--on-primary);flex:none}:root{--cal-class:#5A6385;--cal-opp:#2F57E8;--cal-job:#0B7A6E;--cal-event:#7A45E8;--cal-exam:#B4236B;--cal-own:#C2410C}:root[data-theme=dark]{--cal-class:#A3AAC6;--cal-opp:#8EA6FF;--cal-job:#4FD1C1;--cal-event:#B99CFF;--cal-exam:#F48FBA;--cal-own:#FFA36E}.cal-home-row,.task{box-shadow:inset 3px 0 0 var(--k,transparent)}.cal-home-row.prio-high,.task.prio-high{box-shadow:inset 6px 0 0 var(--k,transparent)}.prio-high .row-title,.prio-high .task-title{font-weight:700}.prio-low .row-title,.prio-low .task-title{color:var(--muted);font-weight:500}.is-done .row-title,.is-done .task-title{text-decoration:line-through;color:var(--muted);font-weight:500}.cal-kind-tag{gap:4px;font-weight:600;color:var(--k);border:1px solid var(--line)}.cal-kind-tag,.prio-tag{display:inline-flex;align-items:center;font-size:.72rem;border-radius:999px;padding:1px 8px}.prio-tag{gap:3px;font-weight:700;border:1px solid var(--text);background:var(--text);color:var(--surface)}.prio-tag-low{background:transparent;color:var(--muted);border:1px dashed var(--muted);font-weight:500}.cal-eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--k);font-weight:600}.cal-legend{display:flex;flex-direction:column;gap:6px;color:var(--muted)}.cal-legend ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}.cal-legend li{display:inline-flex;align-items:center;gap:6px}.cal-sw{width:20px;height:20px;border-radius:6px;background:var(--k);color:var(--surface);display:grid;place-items:center;flex:none}.prio-pick{border:0;margin:0;padding:0;min-width:0}.prio-pick legend{font-size:.9rem;font-weight:600;margin-bottom:8px;padding:0}.prio-opts{display:flex;flex-wrap:wrap;gap:8px}.prio-opt{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:8px 14px;min-height:44px;background:var(--surface);cursor:pointer}.prio-opt input{width:20px;height:20px;margin:0;accent-color:var(--primary)}.prio-opt:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.prio-opt-high span{font-weight:700}.prio-opt-low span{color:var(--muted)}.cal-actions{display:flex;flex-direction:column;gap:10px}.cal-pin-ico{width:40px;height:40px;color:var(--muted)}.cal-pin-ico[aria-pressed=true]{color:var(--on-primary);background:var(--primary)}.fav-card>.cal-pin-ico{position:absolute;top:48px;right:6px}.fav-card>.card>h3{padding-right:34px}.toast-act{display:flex;align-items:center;gap:12px}.toast-btn{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-decoration:underline;padding:6px 4px;min-height:32px;cursor:pointer;flex:none}.task-add{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px}.task-add-row{display:flex;gap:8px}.task-add-row .input{flex:1 1;min-width:0}.task-add-row .btn{flex:none}.task-add-opts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.task-add-opts .chips{flex-wrap:wrap}.task-date{width:auto;flex:1 1 150px;min-width:0}.task-prio{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted)}.task-prio select.input{width:auto;min-height:40px;padding:6px 10px}.task-list{list-style:none;margin:0;padding:0}.task{display:flex;align-items:center;gap:10px;padding:8px 4px 8px 16px}.task+.task{border-top:1px solid var(--line)}.task-check{width:22px;height:22px;margin:0;accent-color:var(--primary);flex:none;cursor:pointer}.task-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px;cursor:pointer;padding:4px 0}.task-title{font-weight:600;overflow-wrap:anywhere}.task-meta{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:.8rem;color:var(--muted)}.task-g-overdue .cal-day-h{color:var(--danger)}.cal-home-check{display:flex;align-items:center;padding-left:14px;flex:none}.pts{display:flex;flex-direction:column;gap:14px}.pts-chip{display:flex;align-items:center;gap:6px;width:100%;min-height:44px;margin:0 0 12px;padding:6px 10px 6px 12px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r);text-align:left;font:inherit}.pts-chip:active{background:var(--surface-2)}.pts-chip-i{display:inline-flex;align-items:center;gap:4px;flex:1 1;min-width:0;white-space:nowrap}.pts-chip-i svg{color:var(--primary);flex:none}.pts-chip-i b{font-size:.98rem}.pts-chip-chev{color:var(--muted);flex:none}.pts-level{display:flex;flex-direction:column;gap:10px}.pts-level-top{display:flex;align-items:center;gap:12px;min-width:0}.pts-level-main{display:flex;flex-direction:column;min-width:0}.pts-level-main h2{margin:0}.pts-badge{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);border:1px solid var(--line)}.pts-stats .stat span{display:inline-flex;align-items:center;gap:4px}.pts-board{list-style:none;margin:0;padding:0}.pts-board .row{gap:12px}.pts-rank{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:.86rem;background:var(--surface-2);border:1px solid var(--line)}.pts-me{background:var(--primary-soft)}.pts-me .pts-rank{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.pts-inline{display:flex;gap:8px;min-width:0}.pts-inline .input{flex:1 1 auto;min-width:0}.pts-inline .btn{flex:none}.pts-shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px}.pts-reward{display:flex;flex-direction:column;gap:6px;min-width:0}.pts-reward h3{margin:0;overflow-wrap:anywhere}.pts-reward-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto}.pts-reward-foot b{display:inline-flex;align-items:center;gap:4px}.pts-reward-foot .btn{margin-left:auto}.pts-code{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.pts-code .code{padding:4px 10px;border:1px dashed var(--primary);border-radius:var(--r-sm);background:var(--surface);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.pts-red .row-title{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.hero3d,.promo{background:var(--p-violet);color:var(--text);border:1px solid var(--line)}.hero3d p,.promo p{color:var(--muted);opacity:1}.hero3d-btn,.promo-btn{background:var(--primary);color:var(--on-primary)}.promo-btn:active{background:var(--primary-press)}.hero3d-face{border-color:var(--line)}.promo-art i{border-color:var(--p-violet-ink)!important}.promo-art i:first-child{background:var(--sw-sage)}.promo-art i:nth-child(2){background:var(--sw-mauve)}.promo-art i:nth-child(3){background:var(--sw-taupe)}.promo-art i:nth-child(4){background:var(--sw-mist)}.promo-art i:nth-child(5){background:#FFFFFF}:root,:root[data-theme=dark]{--cal-class:var(--muted);--cal-opp:var(--p-sky-ink);--cal-job:var(--p-mint-ink);--cal-event:var(--p-violet-ink);--cal-exam:var(--p-rose-ink);--cal-own:var(--p-peach-ink)}.mk-0,.nico-0,.thumb-0{background:var(--p-violet);color:var(--p-violet-ink)}.mk-1,.nico-1,.thumb-1{background:var(--p-rose);color:var(--p-rose-ink)}.mk-2,.nico-2,.thumb-2{background:var(--p-mint);color:var(--p-mint-ink)}.mk-3,.nico-3,.thumb-3{background:var(--p-peach);color:var(--p-peach-ink)}.mk-4,.nico-4,.thumb-4{background:var(--p-sky);color:var(--p-sky-ink)}.tag-new{background:var(--p-mint);color:var(--p-mint-ink)}.tag-pick{background:var(--p-violet);color:var(--p-violet-ink)}.tag-warn{background:var(--p-rose);color:var(--p-rose-ink)}.tag-deal{background:var(--p-peach);color:var(--p-peach-ink)}#mine-btn .count,.tab .pill .tab-count{background:var(--heart);color:var(--on-heart)}.sheet-back{background:rgba(29,25,48,.4)}.quiz-dialog::backdrop{background:rgba(29,25,48,.47)}.pb-study polygon,.pb-study rect{fill:var(--map-study)}.pb-dorm polygon,.pb-dorm rect{fill:var(--map-dorm)}.pb-other polygon,.pb-other rect{fill:var(--map-other)}.bnum-study{background:var(--p-sky);color:var(--p-sky-ink)}.bnum-dorm{background:var(--p-violet);color:var(--p-violet-ink)}.bnum-other{background:var(--p-peach);color:var(--p-peach-ink)}.lg-study i{background:var(--c4)}.lg-dorm i{background:var(--c0)}.lg-other i{background:var(--c3)}.pl-street{stroke:var(--map-street)}.pin-study circle{stroke:var(--map-study)}.pin-dorm circle{stroke:var(--map-dorm)}.pin-other circle{stroke:var(--map-other)}.pin text,.pin.on circle{fill:var(--map-ink)}.pin .pin-halo{stroke:var(--map-ink)}.pin:focus-visible circle{stroke:var(--map-ink)}.me-acc{fill:rgba(45,92,184,.16);stroke:rgba(45,92,184,.5)}.me-dot{fill:var(--map-study)}.me-route{stroke:var(--map-ink)}.np-stop circle{fill:var(--map-study)}.np-food circle{fill:var(--map-rose)}.np-pharm circle,.np-shop circle{fill:var(--map-ent)}.np-print circle{fill:var(--map-dorm)}.np-money circle{fill:var(--map-other)}.np-health circle{fill:var(--map-rose)}.np-post circle{fill:var(--map-study)}.np-sport circle{fill:var(--map-other)}.ent line{stroke:var(--map-ent)}.ent polygon{fill:var(--map-ent)}.ent-key{background:var(--map-ent)}.screen-loading{display:flex;flex-direction:column;gap:12px;padding-top:8px}.sk{display:block;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r)}.sk-title{height:28px;width:55%}.sk-line{height:16px;width:80%}.sk-card{height:84px}@media (prefers-reduced-motion:no-preference){.sk{animation:sk-pulse 1.2s ease-in-out infinite}}@keyframes sk-pulse{50%{opacity:.55}}.subj-title{font-size:1.3rem;overflow-wrap:anywhere}.review-due{gap:10px}.review-home{border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.sr-grades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sr-grades .btn{flex-direction:column;gap:2px;min-width:0}@media (min-width:520px){.sr-grades{grid-template-columns:repeat(4,minmax(0,1fr))}}.note-ed{display:flex;flex-direction:column;gap:14px;min-width:0}.note-head{display:flex;justify-content:flex-end;min-height:20px}.note-status{color:var(--muted)}.note-status.bad{color:var(--danger)}.note-title{font-weight:600;font-size:1.05rem}.note-tools{position:sticky;top:calc(var(--tg-top, 0px) + 56px);z-index:5;display:flex;gap:4px;align-items:center;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm)}.note-tools select.input{flex:1 1 auto;min-width:0;padding-top:6px;padding-bottom:6px}.note-tools .icon-btn[disabled]{opacity:.4}.note-tools .icon-btn[aria-pressed=true]{background:var(--primary-soft);color:var(--primary)}.rot-up{transform:rotate(-90deg)}.rot-down{transform:rotate(90deg)}.note-zone{display:flex;flex-direction:column;gap:8px;min-width:0}.nz-title{font-size:.95rem;color:var(--muted)}.note-blocks{display:flex;flex-direction:column;gap:6px}.nb{display:flex;gap:8px;align-items:flex-start;min-width:0}.nb-in{padding-left:24px}textarea.input.nb-text{flex:1 1;min-width:0;resize:none;overflow:hidden;min-height:44px;line-height:1.45}.nb-h{font-family:var(--font-display);font-weight:700;font-size:1.05rem}.nb-dot{flex:none;width:12px;padding-top:10px;text-align:center;color:var(--muted)}.nb-check{flex:none;width:20px;height:20px;margin-top:10px;accent-color:var(--primary)}.nb-callout{border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:var(--r-sm);padding:6px;background:var(--primary-soft)}.nb-callout .nb-text{background:var(--surface)}.nb-flag{flex:none;padding-top:10px;color:var(--primary)}.nb-cur>.nb-text{border-color:var(--primary)}.nb-fig{margin:0;display:flex;flex-direction:column;gap:6px;flex:1 1;min-width:0}.nb-fig img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:var(--r-sm)}.note-add{display:flex;flex-wrap:wrap;gap:6px}.note-add .chip{font-size:.82rem}.cornell{display:flex;flex-direction:column;gap:16px}.cornell .note-zone{border:1px solid var(--line);border-radius:var(--r);padding:10px;background:var(--surface)}@media (min-width:640px){.cornell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.cornell .nz-sum{grid-column:1/-1}}.ai-note{gap:10px}.ai-err{color:var(--danger)}.ai-draft{gap:12px}.ai-cards,.ai-draft{display:flex;flex-direction:column}.ai-cards{list-style:none;margin:0;padding:0;gap:10px;counter-reset:aic}.ai-card{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--line);border-radius:var(--r-sm)}.ai-card .link-btn{align-self:flex-start;color:var(--danger)}:root{--ev-1:#3B6FE0;--ev-1-soft:#E3ECFD;--ev-1-ink:#173A8A;--ev-2:#7C4DDB;--ev-2-soft:#EEE6FD;--ev-2-ink:#42227F;--ev-3:#D0457F;--ev-3-soft:#FCE4EE;--ev-3-ink:#7D1B47;--ev-4:#D64545;--ev-4-soft:#FCE3E1;--ev-4-ink:#7F1D1D;--ev-5:#D06A12;--ev-5-soft:#FDEBD9;--ev-5-ink:#7A3A07;--ev-6:#A67C00;--ev-6-soft:#FBF1CC;--ev-6-ink:#6B4E00;--ev-7:#2F9E58;--ev-7-soft:#DDF3E4;--ev-7-ink:#155B30;--ev-8:#1A9AA8;--ev-8-soft:#D9F2F4;--ev-8-ink:#0E5560}:root[data-theme=dark]{--ev-1:#7EA2FF;--ev-1-soft:#22305A;--ev-1-ink:#DCE6FF;--ev-2:#B39BFF;--ev-2-soft:#2F2752;--ev-2-ink:#E9E1FF;--ev-3:#F28DB8;--ev-3-soft:#45223A;--ev-3-ink:#FFDDEB;--ev-4:#F38B85;--ev-4-soft:#46221F;--ev-4-ink:#FFDEDB;--ev-5:#F6A866;--ev-5-soft:#47301C;--ev-5-ink:#FFE6CF;--ev-6:#E8C65A;--ev-6-soft:#40361A;--ev-6-ink:#FBEFC4;--ev-7:#6FD199;--ev-7-soft:#1C3B2A;--ev-7-ink:#D3F5E0;--ev-8:#5CCBD6;--ev-8-soft:#183A3F;--ev-8-ink:#CDF3F6}.cal-screen{display:flex;flex-direction:column;gap:16px;min-width:0}.cal-views button{padding-inline:4px}.cal-filters{display:flex;flex-direction:column;gap:10px;min-width:0}.cal-filters .chips{flex-wrap:wrap;overflow:visible}.cal-pick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.cal-pick-l{font-size:.86rem;font-weight:600;color:var(--muted)}.cal-pick select.input{width:auto;min-height:44px;padding:8px 10px;flex:1 1 120px;min-width:0}.cal-pick select.cal-pick-y{flex:0 0 96px}.cal-nav{gap:2px}.cal-today-chip{margin-left:4px}.cal-grid{padding:4px 3px;gap:2px}.cal-row{gap:2px}.cal-day-btn{min-height:76px;align-items:stretch;gap:2px;padding:3px 2px 4px;border:0;position:relative}.cal-day-btn .cal-num{align-self:center;width:24px;height:24px;font-size:.84rem;flex:none}.cal-day-btn.out{opacity:1;color:var(--muted)}.cal-day-btn.out .cal-num{font-weight:500;opacity:.7}.cal-day-btn.out .cal-chips{opacity:.55}.cal-day-btn[aria-pressed=true]{border:0;background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary)}.cal-day-btn[aria-current=date] .cal-num{font-weight:700}.cal-chips{display:flex;flex-direction:column;gap:2px;min-width:0}.cal-chip{display:block;min-width:0;height:15px;line-height:15px;font-size:10px;font-weight:600;text-align:left;padding:0 3px 0 4px;border-radius:3px;border-left:2px solid var(--k);background:var(--kbg,color-mix(in srgb,var(--k) 16%,var(--surface)));color:var(--kink,var(--text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-chip.prio-high{font-weight:800;border-left-width:4px}.cal-chip.is-done{text-decoration:line-through;opacity:.7}.cal-more{font-size:10px;line-height:13px;font-weight:700;color:var(--muted);text-align:center}@media (min-width:480px){.cal-chip{font-size:11px;height:17px;line-height:17px}.cal-day-btn{min-height:86px}}.cal-add{min-height:52px}.cal-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.cal-tl{list-style:none;margin:0;padding:0}.cal-tl .cal-item{display:flex;align-items:stretch;min-height:64px;box-shadow:none}.cal-tl .cal-item+.cal-item{border-top:1px solid var(--line)}.cal-time{flex:none;width:58px;padding:13px 0 12px 12px;display:flex;flex-direction:column;gap:1px;font-size:.84rem;line-height:1.25}.cal-time b{font-weight:700;color:var(--text)}.cal-time span{color:var(--muted)}.cal-time .cal-allday{font-size:.74rem;font-weight:600}.cal-tl-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px;text-align:left;border:0;background:transparent;color:inherit;padding:2px 6px 2px 12px;margin:10px 0;border-left:3px solid var(--k);border-radius:0}.cal-tl-main:active{background:var(--surface-2)}.cal-item.prio-high .cal-tl-main{border-left-width:6px}.cal-tl-main .row-sub,.cal-tl-main .row-title{overflow-wrap:anywhere}.cal-tl-main .row-sub{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.cal-tl-main .badges{margin-top:2px}.cal-tl-act{flex:none;display:flex;align-items:center;padding-right:2px;color:var(--muted)}.cal-tl-act .icon-btn:active{color:var(--text)}.cal-sw-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--k);flex:none}.cal-eyebrow.cal-k-own,.is-own-ev .cal-kind-tag{color:var(--kink,var(--k))}.cal-kind-tag .cal-sw-dot{width:8px;height:8px}.cal-place{gap:6px;overflow-wrap:anywhere}.cal-empty,.cal-place{display:flex;align-items:center;color:var(--muted)}.cal-empty{flex-direction:column;gap:10px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 16px}.cal-empty p{max-width:34ch;line-height:1.45}.cal-legend summary{min-height:44px;display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:600;list-style:none}.cal-legend summary::-webkit-details-marker{display:none}.cal-legend summary svg{transform:rotate(90deg);transition:transform .15s}.cal-legend[open] summary svg{transform:rotate(-90deg)}.cal-legend[open] summary{margin-bottom:4px}.cal-legend ul+ul{margin-top:8px}.cal-sw-own{background:var(--ev-2)}.cal-year{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media (min-width:480px){.cal-year{grid-template-columns:repeat(3,minmax(0,1fr))}}.cal-mini-wrap{min-width:0}.cal-mini{width:100%;min-height:44px;display:flex;flex-direction:column;gap:6px;padding:10px 8px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text)}.cal-mini:active{background:var(--surface-2)}.cal-mini.cur{border-color:var(--primary)}.cal-mini-name{font-size:.9rem;font-weight:700;padding-left:2px}.cal-mini.cur .cal-mini-name{color:var(--primary)}.cal-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:1px}.cal-mini-d{font-size:10.5px;line-height:18px;text-align:center;color:var(--muted);border-radius:3px}.cal-mini-d.has{background:var(--primary-soft);color:var(--primary);font-weight:800}.cal-mini-d.today{background:var(--primary);color:var(--on-primary);font-weight:800;border-radius:50%}.cal-opt{font-weight:400;color:var(--muted);font-size:.8rem}.cal-time-row{grid-template-columns:1fr 1fr}.ev-colors{border:0;margin:0;padding:0;min-width:0}.ev-colors legend{font-size:.86rem;font-weight:600;color:var(--muted);margin-bottom:8px;padding:0}.ev-swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.ev-sw{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;min-height:64px;border-radius:var(--r-sm);cursor:pointer}.ev-sw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.ev-sw-dot{width:34px;height:34px;border-radius:50%;background:var(--sw);display:grid;place-items:center;color:var(--surface)}.ev-sw-dot svg{visibility:hidden;stroke-width:3}.ev-sw-name{font-size:.74rem;color:var(--muted);text-align:center;line-height:1.2;overflow-wrap:anywhere}.ev-sw:has(input:checked){background:var(--surface-2)}.ev-sw input:checked+.ev-sw-dot{outline:2px solid var(--text);outline-offset:2px}.ev-sw input:checked+.ev-sw-dot svg{visibility:visible}.ev-sw input:checked~.ev-sw-name{color:var(--text);font-weight:700}.ev-sw input:focus-visible+.ev-sw-dot{outline:2px solid var(--primary);outline-offset:4px}.news-carousel{display:flex;flex-direction:column;gap:10px}.news-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:0 16px;scroll-padding-inline:16px}.news-track::-webkit-scrollbar{display:none}.news-card{flex:0 0 84%;scroll-snap-align:start;min-height:132px;display:flex;align-items:stretch;gap:10px;border:1px solid var(--line);border-radius:18px;padding:16px;text-align:left;font:inherit;color:var(--text);cursor:pointer}@media (min-width:640px){.news-card{flex-basis:46%}}.news-card-text{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1}.news-kind{font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.news-title{font-weight:700;font-size:1.02rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-sub{margin-top:auto;font-size:.82rem;color:var(--muted)}.news-ico{flex:none;align-self:flex-end;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line)}.tone-violet{background:var(--p-violet)}.tone-violet .news-ico,.tone-violet .news-kind{color:var(--p-violet-ink)}.tone-mint{background:var(--p-mint)}.tone-mint .news-ico,.tone-mint .news-kind{color:var(--p-mint-ink)}.tone-peach{background:var(--p-peach)}.tone-peach .news-ico,.tone-peach .news-kind{color:var(--p-peach-ink)}.tone-sky{background:var(--p-sky)}.tone-sky .news-ico,.tone-sky .news-kind{color:var(--p-sky-ink)}.tone-rose{background:var(--p-rose)}.tone-rose .news-ico,.tone-rose .news-kind{color:var(--p-rose-ink)}.news-dots{display:flex;justify-content:center;gap:4px}.news-dot{width:24px;height:24px;border:0;background:transparent;padding:0;display:grid;place-items:center;cursor:pointer}.news-dot:before{content:"";width:7px;height:7px;border-radius:999px;background:var(--line);transition:width .2s}.news-dot[aria-current=true]:before{width:20px;background:var(--primary)}