@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-cyrillic-ext-wght-normal-BbRulJFC.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:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-cyrillic-wght-normal-se3OnFSl.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-vietnamese-wght-normal-DTJpi3oK.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:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-latin-ext-wght-normal-CeZZaleV.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:Libre Franklin Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/libre-franklin-latin-wght-normal-CLTz0ja0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-vietnamese-wght-normal-CtlIRbEm.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:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-ext-wght-normal-MQgHevqp.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:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-wght-normal-DdeTHZLK.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{--paper:#f5f3ee;--card:#fff;--ink:#1a1d29;--ink-2:#545a6b;--ink-3:#6b7080;--line:#e2ded5;--line-2:#eeeae2;--chip-line:#d9d4c9;--punch:#eae5da;--punch-2:#dcd6ca;--edge:#e2ded5;--edge-strong:#000;--accent:#e4572e;--accent-soft:#fde8df;--accent-line:#f2b9a2;--accent-text:#c2410c;--on-bg:#13804f;--on-fg:#fff;--ok-text:#0f6b41;--ok-soft:#e2f1e8;--warn-text:#8a3f06;--warn-ring:#b45309;--warn-soft:#fff8ee;--warn-line:#f0d9b5;--ring-bg:#ece8df;--dash:#9aa0ae;--primary-bg:#1a1d29;--primary-fg:#fff;--toast-bg:#1a1d29;--toast-fg:#fff;--tab-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--font-display:"Libre Franklin Variable", "Libre Franklin", ui-sans-serif, system-ui, sans-serif;--font-body:"Public Sans Variable", "Public Sans", ui-sans-serif, system-ui, sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#12141c;--card:#1c1f2a;--ink:#f1eee6;--ink-2:#a7abb8;--ink-3:#9aa0ae;--line:#2c303c;--line-2:#262a35;--chip-line:#343948;--punch:#262a35;--punch-2:#353a49;--edge:#0a0b10;--edge-strong:#0a0b10;--accent:#ff7a4d;--accent-soft:#3a2620;--accent-line:#6b3a2a;--accent-text:#ff8a5c;--on-bg:#4cc38a;--on-fg:#0e1a14;--ok-text:#6fd3a0;--ok-soft:#1b3326;--warn-text:#f2b26b;--warn-ring:#e8a04f;--warn-soft:#2a2117;--warn-line:#5a4426;--ring-bg:#2c303c;--dash:#6b7080;--primary-bg:#f1eee6;--primary-fg:#12141c;--toast-bg:#f1eee6;--toast-fg:#12141c}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font-size:16px;line-height:1.4}a{color:inherit}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-2)}.small{font-size:13px}.break{word-break:break-all}.center{text-align:center;align-items:center}.lede{color:var(--ink-2);margin:0 0 18px;font-size:16px}.fineprint{color:var(--ink-3);text-align:center;margin:16px 0 0;font-size:12px}.error{color:var(--accent-text);margin:0;font-size:14px;font-weight:700}.tone-ok{color:var(--ok-text)}.tone-muted{color:var(--ink-2)}.tone-warn,.stale{color:var(--warn-text);font-weight:700}.btn,.chip,.cta,.day,.icon-btn,.avatar{position:relative}.btn:focus-visible,.chip:focus-visible,.cta:focus-visible,.day:focus-visible,.icon-btn:focus-visible,.avatar:focus-visible{outline:none}.btn:focus-visible:after,.chip:focus-visible:after,.cta:focus-visible:after,.day:focus-visible:after,.icon-btn:focus-visible:after,.avatar:focus-visible:after{content:"";border:2px solid var(--accent);border-radius:calc(var(--r,12px) + 4px);pointer-events:none;position:absolute;inset:-4px -4px -7px}.chip--select:has(select:focus-visible):after{content:"";border:2px solid var(--accent);border-radius:calc(var(--r,12px) + 4px);pointer-events:none;position:absolute;inset:-4px -4px -7px}.cta{--r:16px}.day{--r:14px}.avatar{--r:50%}.tactile,.btn,.chip,.cta,.day{transition:transform 80ms,box-shadow 80ms,background-color .15s}.tactile:active,.btn:active,.chip:active,.cta:active,.day:active{transform:translateY(2px);box-shadow:none!important}.screen{max-width:560px;padding:calc(18px + var(--safe-t)) 16px calc(var(--tab-h) + var(--safe-b) + 28px);flex-direction:column;gap:22px;margin:0 auto;display:flex}@media (display-mode:standalone){.screen{padding-top:calc(40px + var(--safe-t))}.toasts{top:calc(32px + var(--safe-t))}.offline{padding-top:calc(28px + var(--safe-t))}}.screen--library{padding-bottom:calc(var(--tab-h) + var(--safe-b) + 92px);gap:12px}.screen--join{padding-bottom:calc(32px + var(--safe-b));gap:16px;min-height:100dvh}.head{justify-content:space-between;align-items:flex-start;gap:12px;padding-inline:4px;display:flex}.head--end{align-items:flex-end}.head--center{align-items:center}.head__text{flex-direction:column;gap:4px;min-width:0;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:12px;font-weight:700}.h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:32px;font-weight:700;line-height:1.05}.h1--game{font-size:28px;line-height:1.05}.h2{font-family:var(--font-display);margin:0;font-size:19px;font-weight:700}.sub{color:var(--ink-2);margin:0;font-size:14px}.section{flex-direction:column;gap:10px;display:flex}.section__head{justify-content:space-between;align-items:center;gap:12px;padding-inline:4px;display:flex}.section__link{color:var(--ink-2);font-size:14px;font-weight:600;text-decoration:none}.card{background:var(--card);border:1px solid var(--line);box-shadow:0 2px 0 var(--edge);border-radius:16px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pill{color:var(--ok-text);background:var(--ok-soft);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.avatar{background:var(--card);border:1px solid var(--line);width:44px;height:44px;box-shadow:0 2px 0 var(--edge);border-radius:50%;flex:none;place-items:center;display:grid}.topbar{justify-content:space-between;align-items:center;margin:-8px -4px -10px;display:flex}.setup{background:var(--accent-soft);border:1px solid var(--accent-line);box-shadow:0 2px 0 var(--accent-line);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.setup__icon{background:#e4572e;border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid;box-shadow:inset 0 -2px #0003}.setup__text{color:var(--ink-2);flex-direction:column;gap:2px;font-size:14px;display:flex}.setup__text strong{color:var(--ink);font-size:15px}.venue{background:var(--card);border:1px solid var(--line);box-shadow:0 2px 0 var(--edge);border-radius:16px;align-items:center;gap:10px;min-width:0;padding:12px;display:flex}.venue--warn{background:var(--warn-soft);border-color:var(--warn-line);box-shadow:0 2px 0 var(--warn-line)}.venue__text{flex-direction:column;gap:1px;min-width:0;display:flex}.venue__name{font-size:15px;font-weight:700}.venue__sub{color:var(--ink-2);font-size:13px}.venue--warn .venue__sub{color:var(--warn-text);font-weight:700}.venue--closed .venue__name{color:var(--ink-2)}.ring{flex:none;width:44px;height:44px;position:relative}.ring svg{transform:rotate(-90deg)}.ring__bg,.ring__fg{fill:none;stroke-width:5px}.ring__bg{stroke:var(--ring-bg)}.ring__fg{stroke:var(--on-bg);stroke-linecap:round}.ring--warn .ring__fg{stroke:var(--warn-ring)}.ring__label{place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;inset:0}.ring--warn .ring__label{color:var(--warn-text)}.ring--off .ring__label{color:var(--ink-3)}.list{background:var(--card);border:1px solid var(--line);box-shadow:0 2px 0 var(--edge);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.list>li+li{border-top:1px solid var(--line-2)}.row{min-height:60px;color:inherit;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.row--lib{gap:8px;min-height:66px;padding:8px 8px 8px 12px}.row__link{min-width:0;color:inherit;flex:1;align-items:center;gap:12px;text-decoration:none;display:flex}.row__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row__title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.row__sub,.row__status{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.row__status{font-weight:600}.row__status.tone-ok{color:var(--ok-text)}.row__status.tone-warn{color:var(--warn-text)}.chev{color:var(--ink-3);display:grid;transform:rotate(180deg)}.chev--ext{transform:none}.more{color:var(--ink-2);align-self:center;padding:8px 12px;font-size:14px;font-weight:700}.time-col{flex-direction:column;flex:none;align-items:center;width:48px;line-height:1;display:flex}.time-col__t{font-family:var(--font-display);font-size:19px;font-weight:700}.time-col__ampm{color:var(--ink-2);margin-top:3px;font-size:11px;font-weight:700}.empty-card{text-align:center;color:var(--ink-2);border:1.5px dashed var(--chip-line);border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:20px;display:flex}.empty-card p{max-width:34ch;margin:0}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:36px 24px;display:flex}.empty p{margin:0}.empty__title{font-family:var(--font-display);font-size:20px;font-weight:700}.empty__die{color:var(--ink);transform:rotate(-8deg)}.tile{font-family:var(--font-display);background-image:linear-gradient(135deg,#ffffff29 0 50%,#0000 50%);flex:none;place-items:center;font-weight:800;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -2px #0000002e}.tile img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tile--s{border-radius:9px;width:40px;height:40px;font-size:15px}.tile--m{border-radius:10px;width:44px;height:44px;font-size:15px}.tile--l{width:88px;height:88px;box-shadow:inset 0 -4px 0 #0003, 0 3px 0 var(--chip-line);border-radius:16px;font-size:30px}.token{white-space:nowrap;border-radius:8px;flex:none;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.token--on{background:var(--on-bg);color:var(--on-fg);padding:5px 9px;box-shadow:inset 0 -2px #0003}.token--out,.token--full{border:1.5px dashed var(--dash);color:var(--ink-2);padding:4px 8px}.token--ticket{background:var(--primary-bg);color:var(--primary-fg);padding:5px 9px;box-shadow:inset 0 -2px #7f7f7f40}.token--seats{border:1.5px solid var(--on-bg);color:var(--ok-text);padding:4px 8px}.token--cancelled{background:var(--punch);color:var(--ink-2);padding:4px 8px}.token-slot{flex:none;display:inline-flex;position:relative}.watch{width:44px;height:44px;color:var(--ink-3);background:0 0;border:1.5px solid #0000;border-radius:12px;flex:none;place-items:center;display:grid;position:relative}.watch:hover{background:var(--punch)}.watch.on{background:var(--accent-soft);border-color:var(--accent-line)}.peek{pointer-events:none;display:flex;position:absolute;bottom:3px;right:1px}.peek svg{width:14px;height:14px;stroke:var(--card);stroke-width:3.5px;paint-order:stroke;stroke-linejoin:round;margin-left:-6px}.people{align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.people__meeples{flex:none;display:flex}.people__meeples svg{width:22px;height:22px;stroke:var(--card);stroke-width:3px;paint-order:stroke;stroke-linejoin:round}.people__meeples svg+svg{margin-left:-8px}.icon-btn{border:1.5px solid var(--chip-line);background:var(--card);width:44px;height:44px;box-shadow:0 2px 0 var(--chip-line);color:var(--ink);border-radius:12px;flex:none;place-items:center;display:grid}.icon-btn--bare{box-shadow:none;background:0 0;border-color:#0000}.icon-btn[aria-pressed=true]{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--primary-fg)}.filters{scrollbar-width:none;gap:8px;margin:-4px -16px;padding:6px 16px 8px;display:flex;overflow-x:auto}.filters:after{content:"";flex:0 0 8px}.filters::-webkit-scrollbar{display:none}.chip{border:1.5px solid var(--chip-line);background:var(--card);min-height:40px;color:var(--ink);box-shadow:0 2px 0 var(--chip-line);white-space:nowrap;border-radius:12px;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex;position:relative}.chip.on{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--primary-fg);box-shadow:0 2px 0 var(--edge-strong)}.chip--select{padding:0}.chip--select select{appearance:none;color:inherit;cursor:pointer;background-color:#0000;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-repeat:no-repeat;background-size:5px 5px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:none;border-radius:12px;min-height:40px;padding:0 30px 0 14px;font-size:14px;font-weight:700}.chip--select select:focus-visible{outline:none}html[data-input=pointer] .chip--select:has(select:focus-visible):after{display:none}.count{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin:0;padding:0 4px;font-size:12px;font-weight:700}.sentinel{height:1px}.searchbar{left:0;right:0;bottom:calc(var(--tab-h) + var(--safe-b));z-index:20;background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:10px 16px;position:fixed}.kb-open .tabbar{display:none}.kb-open .searchbar{transform:translate3d(0, calc(-1 * var(--kb,0px)), 0);bottom:0}.searchbar__box{background:var(--card);border:1.5px solid var(--ink);max-width:528px;height:48px;box-shadow:0 2px 0 var(--ink);border-radius:14px;align-items:center;gap:10px;margin:0 auto;padding:0 6px 0 14px;display:flex}.searchbar__box input{background:0 0;border:none;outline:none;flex:1;min-width:0;height:100%;font-size:16px}.searchbar__box input::-webkit-search-cancel-button{display:none}.searchbar__clear{background:var(--punch);border:none;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.hero{align-items:center;gap:16px;display:flex}.hero__text{flex-direction:column;gap:6px;min-width:0;display:flex}.facts{flex-wrap:wrap;gap:8px;margin:-6px 0 0;padding:0;list-style:none;display:flex}.facts li{background:var(--punch);border-radius:10px;padding:7px 12px;font-size:14px;font-weight:700;box-shadow:inset 0 -2px #00000012}.status{border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.status__top{align-items:center;gap:10px;font-size:14px;display:flex}.status__big{font-family:var(--font-display);margin:0;font-size:25px;font-weight:700;line-height:1.1}.status__note{color:var(--ink-2);margin:0;font-size:13px;line-height:1.4}.status__people{border-top:1px solid var(--line-2);padding-top:12px}.track{flex-direction:column;gap:6px;display:flex}.track__cells{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;display:grid}.track__cell{background:var(--paper);border:1.5px solid var(--line);border-radius:6px;place-items:center;height:28px;display:grid}.track__cell--done{background:var(--punch-2);border-color:#0000;box-shadow:inset 0 -2px #00000014}.track__cell--here{background:var(--accent-soft);border-color:var(--accent-line)}.track__cell--goal{border:1.5px dashed var(--on-bg);color:var(--on-bg)}.track__labels{color:var(--ink-2);justify-content:space-between;font-size:12px;font-weight:700;display:flex}.cta-wrap{flex-direction:column;gap:8px;display:flex}.cta{background:var(--primary-bg);width:100%;min-height:56px;color:var(--primary-fg);border:1.5px solid var(--primary-bg);box-shadow:0 3px 0 var(--edge-strong);border-radius:16px;justify-content:center;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.cta.on{background:var(--accent-soft);color:var(--ink);border-color:var(--accent-line);box-shadow:0 3px 0 var(--accent-line)}.cta-hint{text-align:center;color:var(--ink-2);margin:0;font-size:13px}.similar{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.similar__card{background:var(--card);border:1px solid var(--line);box-shadow:0 2px 0 var(--edge);border-radius:14px;flex-direction:column;gap:8px;min-width:0;padding:10px;text-decoration:none;display:flex}.similar__name{overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.similar__meta{color:var(--ok-text);font-size:12px;font-weight:700}.outlink{border:1.5px solid var(--chip-line);border-radius:16px;align-items:center;gap:12px;min-height:60px;padding:10px 14px;text-decoration:none;display:flex}.outlink>span{flex-direction:column;flex:1;gap:2px;font-size:13px;display:flex}.outlink strong{font-size:15px}.days{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.day{border:1.5px solid var(--line);background:var(--card);height:58px;box-shadow:0 2px 0 var(--edge);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex}.day__name{letter-spacing:.08em;color:var(--ink-2);font-size:11px;font-weight:700}.day__num{font-family:var(--font-display);font-size:20px;font-weight:700}.day.on{background:var(--accent);border-color:var(--accent);color:#12141c;box-shadow:0 2px #a8411b}.day.on .day__name{color:#12141c}.timeline{flex-direction:column;gap:14px;margin-left:-6px;display:flex}.hour{grid-template-columns:52px minmax(0,1fr);gap:8px;display:grid}.hour__label{font-family:var(--font-display);color:var(--ink-2);text-align:right;margin:14px 0 0;padding-right:4px;font-size:15px;font-weight:700}.hour__events{flex-direction:column;gap:8px;display:flex}.nowline{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:14px;display:grid}.nowline__pill{background:var(--accent);color:#12141c;border-radius:7px;justify-self:end;padding:3px 7px;font-size:12px;font-weight:700}.nowline__bar{background:var(--accent);border-radius:2px;height:2px}.event{background:var(--card);border:1px solid var(--line);border-radius:14px}.event--starred{border-color:var(--accent-line)}.event--past{opacity:.6}.event--cancelled .event__name{text-decoration:line-through}.event__main{align-items:center;gap:6px;min-height:62px;padding:4px 4px 4px 0;display:flex}.event__body{text-align:left;background:0 0;border:none;flex-direction:column;flex:1;gap:2px;min-width:0;padding:6px 4px 6px 12px;display:flex}.event__name{font-size:15px;font-weight:700;line-height:1.25}.event__meta{color:var(--ink-2);font-size:13px}.star{width:44px;height:44px;color:var(--ink-3);background:0 0;border:none;border-radius:12px;flex:none;place-items:center;display:grid}.star.on{color:var(--accent)}.event__more{border-top:1px solid var(--line-2);flex-direction:column;gap:10px;padding:10px 12px 12px;display:flex}.event__when{margin:0;font-size:14px;font-weight:700}.event__desc{color:var(--ink-2);white-space:pre-line;max-height:14em;margin:0;font-size:14px;overflow:auto}.event__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.check{align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:700;display:inline-flex}.check input{width:20px;height:20px;accent-color:var(--accent)}.btn{background:0 0;border:1.5px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.btn--primary{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--primary-fg);box-shadow:0 3px 0 var(--edge-strong)}.btn--secondary{background:var(--card);border-color:var(--chip-line);box-shadow:0 2px 0 var(--chip-line)}.btn--quiet{color:var(--ink-2);padding:0 10px}.btn--block{width:100%;min-height:52px}.row-buttons{flex-wrap:wrap;gap:8px;display:flex}.form{flex-direction:column;gap:12px;padding:16px;display:flex}.form p{margin:0}.form__title{font-family:var(--font-display);margin:0;font-size:17px;font-weight:700}.center-text{text-align:center}.passkey-badge{background:var(--punch);border-radius:18px;place-items:center;width:64px;height:64px;display:grid;box-shadow:inset 0 -3px #00000014}.plain-list .codebox{flex-basis:100%;margin-top:4px}.label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);font-size:13px;font-weight:700}.field{margin-top:-10px}.input{border:1.5px solid var(--chip-line);background:var(--card);border-radius:12px;width:100%;height:48px;padding:0 14px;font-size:16px}.input:focus{border-color:var(--ink);outline:none}.input--code{height:60px;font-family:var(--font-display);letter-spacing:.12em;text-align:center;font-size:28px;font-weight:700}.upload{flex-direction:column;gap:10px;padding:14px;display:flex}.upload__title{margin:0;font-size:14px;font-weight:700}.upload__row{gap:8px;display:flex}.upload__row .input{flex:1;min-width:0}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:1.5px solid var(--line);background:var(--paper);border-radius:12px;place-items:center;width:46px;height:46px;display:grid;position:relative}.swatch.on{border-color:var(--ink);background:var(--card);box-shadow:0 2px 0 var(--ink)}.swatch__taken{background:var(--dash);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.toggle{cursor:pointer;align-items:center;gap:12px;min-height:52px;display:flex}.toggle__text{flex-direction:column;flex:1;gap:1px;display:flex}.toggle__label{font-weight:700}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle__track{background:var(--punch-2);border-radius:999px;flex:none;width:50px;height:30px;transition:background-color .15s;position:relative}.toggle__track:after{content:"";background:var(--card);width:24px;height:24px;transition:transform .2s var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.toggle input:checked+.toggle__track{background:var(--on-bg)}.toggle input:checked+.toggle__track:after{transform:translate(20px)}.toggle input:focus-visible+.toggle__track{outline:2px solid var(--accent);outline-offset:2px}.alert-state{color:var(--ok-text);align-items:center;gap:8px;font-weight:700;display:flex}.steps ol{flex-direction:column;gap:8px;margin:8px 0 0;padding-left:22px;display:flex}.steps svg{vertical-align:-3px}.card.steps{padding:16px}.codebox{background:var(--punch);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:8px;margin-top:10px;padding:14px;display:flex}.code{font-family:var(--font-display);letter-spacing:.1em;font-size:32px;font-weight:800}.plain-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plain-list li{border-top:1px solid var(--line-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;padding:10px 0;display:flex}.news{flex-direction:column;gap:6px;padding:14px 16px;display:flex}.news__title{margin:0;font-size:16px;font-weight:700}.news__body{color:var(--ink-2);white-space:pre-line;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.news__body.open{display:block}.news__actions{gap:4px;margin:0 -10px -6px;display:flex}.maps{flex-direction:column;gap:12px;display:flex}.map{margin:0;overflow:hidden}.map img{background:var(--punch);width:100%}.map figcaption{justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 14px;font-size:14px;font-weight:700;display:flex}.brand{align-items:center;gap:10px;margin-bottom:8px;display:flex}.brand__icon{background:#e4572e;border-radius:11px;place-items:center;width:40px;height:40px;display:grid;box-shadow:inset 0 -3px #0003}.brand__icon--l{border-radius:20px;width:72px;height:72px}.brand__name{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px;font-weight:800}.splash{flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;display:flex}.tabbar{z-index:30;height:calc(var(--tab-h) + var(--safe-b));padding:6px 6px var(--safe-b);background:var(--card);border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:700;text-decoration:none;display:flex;position:relative}.tab.on{color:var(--ink)}.tab.on:before{content:"";background:var(--accent);border-radius:0 0 4px 4px;width:28px;height:4px;position:absolute;top:-7px}.toasts{top:calc(12px + var(--safe-t));z-index:50;pointer-events:none;flex-direction:column;gap:8px;max-width:528px;margin:0 auto;display:flex;position:fixed;left:16px;right:16px}.toast{background:var(--toast-bg);color:var(--toast-fg);animation:toast-in .3s var(--ease-out) both;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;line-height:1.35;display:flex;box-shadow:0 10px 28px #1a1d2947}.toast svg{flex:none}.offline{z-index:40;padding:calc(8px + var(--safe-t)) 16px 8px;background:var(--warn-soft);color:var(--warn-text);border-bottom:1px solid var(--warn-line);text-align:center;font-size:13px;font-weight:700;position:sticky;top:0}@keyframes drop{0%{opacity:0;transform:translateY(-12px)scale(.85)}60%{opacity:1;transform:translateY(2px)scale(1.06)}to{transform:none}}.drop{animation:.38s cubic-bezier(.25,1,.5,1) both drop}@keyframes roll{0%{transform:rotate(0)}75%{transform:rotate(400deg)}to{transform:rotate(360deg)}}.roll{animation:.75s cubic-bezier(.2,.8,.3,1) infinite roll}@keyframes flip{0%{transform:perspective(200px)rotateX(90deg)}to{transform:perspective(200px)rotateX(0)}}.flip{animation:flip .5s var(--ease-out) both}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.bob{animation:2.4s ease-in-out infinite bob}@keyframes toast-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}.cube{opacity:0;pointer-events:none;border-radius:1.5px;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;animation:none;position:absolute;top:50%;left:50%}.c1{background:#d64545;animation-name:b1}.c2{background:#2f6fd6;animation-name:b2}.c3{background:#e8b931;animation-name:b3}.c4{background:#2e8a4f;animation-name:b4}.c5{background:#7b4fc9;animation-name:b5}.c6{background:#e4572e;animation-name:b6}@keyframes b1{0%{opacity:0;transform:translate(0)rotate(0)scale(.5)}25%{opacity:1}to{opacity:0;transform:translate(-40px,-16px)rotate(140deg)}}@keyframes b2{0%{opacity:0;transform:translate(0)rotate(0)scale(.5)}25%{opacity:1}to{opacity:0;transform:translate(40px,-14px)rotate(-120deg)}}@keyframes b3{0%{opacity:0;transform:translate(0)rotate(0)scale(.5)}25%{opacity:1}to{opacity:0;transform:translate(-30px,18px)rotate(90deg)}}@keyframes b4{0%{opacity:0;transform:translate(0)rotate(0)scale(.5)}25%{opacity:1}to{opacity:0;transform:translate(32px,18px)rotate(-160deg)}}@keyframes b5{0%{opacity:0;transform:translate(0)rotate(0)scale(.5)}25%{opacity:1}to{opacity:0;transform:translate(4px,-26px)rotate(200deg)}}@keyframes b6{0%{opacity:0;transform:translate(0)rotate(0)scale(.5)}25%{opacity:1}to{opacity:0;transform:translate(-6px,26px)rotate(-90deg)}}@media (prefers-reduced-motion:reduce){.drop,.roll,.flip,.bob,.toast,.cube{animation:none!important}.cube{display:none}.tactile:active,.btn:active,.chip:active,.cta:active,.day:active{transform:none}}
