@charset "UTF-8";@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("./media/archivo-vietnamese-wdth-normal-JICEILHD.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("./media/archivo-latin-ext-wdth-normal-GPGIT4GY.woff2") format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("./media/archivo-latin-wdth-normal-R3FITQA7.woff2") format("woff2-variations");unicode-range:U+0000-00FF,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}:root{--bg: #1c1a21;--sidebar-bg: #16141a;--surface: #252329;--surface-solid: #2a2830;--surface-2: #2e2c34;--surface-3: #3b3842;--surface-hover: rgba(236, 231, 222, .045);--border: rgba(236, 231, 222, .09);--border-strong: rgba(236, 231, 222, .17);--border-input: rgba(236, 231, 222, .4);--highlight: rgba(236, 231, 222, .04);--text: #dfdad1;--text-2: #aca69d;--text-3: #9e9990;--accent: #f0a83a;--accent-strong: #f3b85e;--accent-ink: #2a1c05;--focus: var(--accent);--focus-ring: rgba(240, 168, 58, .25);--accent-2: #e8604f;--on-bad: #22100c;--avatar-ink: #1c1a21;--avatar-bg: color-mix(in srgb, var(--accent) 82%, #000 18%);--paper: #cdc7bc;--media-bg: #141414;--media-mat: #2e2e2e;--accent-grad: linear-gradient(var(--accent), var(--accent));--accent-soft: rgba(240, 168, 58, .13);--accent-ring: rgba(240, 168, 58, .42);--ok: #7cc79b;--ok-soft: rgba(124, 199, 155, .12);--warn: #e3c55a;--warn-soft: rgba(227, 197, 90, .1);--bad: #fd8375;--bad-soft: rgba(253, 131, 117, .12);--info: #9db8de;--info-soft: rgba(157, 184, 222, .11);--shadow: none;--shadow-menu: 0 12px 32px -12px rgba(0, 0, 0, .7), 0 0 0 1px var(--border-strong);--shadow-toast: 0 16px 40px -16px rgba(0, 0, 0, .75), 0 0 0 1px var(--border-strong);--shadow-sheet: 0 24px 60px -24px rgba(0, 0, 0, .75), 0 0 0 1px var(--border-strong);--shadow-pop: var(--shadow-sheet);--ring-field: 0 0 0 1px var(--focus), 0 0 0 4px var(--focus-ring);--ring-selected: inset 0 0 0 1px var(--focus);--radius-xs: 2px;--radius-sm: 5px;--radius: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-pill: 999px;--font: "Archivo Variable", "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;--condensed: 74%;--fs-hero: 74px;--fs-display: 44px;--fs-headline-lg: 34px;--fs-headline-md: 26px;--fs-title: 20px;--fs-title-sm: 16px;--fs-body-lg: 16px;--fs-body-md: 14.5px;--fs-body-sm: 13px;--fs-label-lg: 14.5px;--fs-label-md: 13px;--fs-label-sm: 12px;--fs-caption: 12px;--fs-numeral-lg: 56px;--fs-numeral: 44px;--fs-mono: 13px;--chart-ok: #5fae80;--chart-bad: #e8604f;--chart-grid: rgba(236, 231, 222, .08);--sidebar-w: 248px;--z-sticky: 10;--z-scrim: 20;--z-drawer: 30;--z-fixed: 40;--z-peek: 55;--z-popover: 60;--z-grain: 999;--z-toast: 1000;--z-route: 1500;--z-fx: 2000;--dur-press: .14s;--dur-ui: .2s;--dur-enter: .3s;--dur-reveal: .6s;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease: var(--ease-out);color-scheme:dark}[data-theme=light]{--bg: #eceef1;--sidebar-bg: #e2e5e9;--surface: #ffffff;--surface-solid: #ffffff;--surface-2: #f4f5f7;--surface-3: #e4e6ea;--surface-hover: rgba(28, 26, 33, .035);--border: rgba(28, 26, 33, .1);--border-strong: rgba(28, 26, 33, .19);--highlight: rgba(255, 255, 255, .9);--text: #1c1a21;--text-2: #54505b;--text-3: #64606a;--border-input: rgba(28, 26, 33, .52);--accent-strong: #8f520a;--focus: #8f520a;--focus-ring: rgba(143, 82, 10, .25);--accent-soft: rgba(240, 168, 58, .2);--accent-ring: rgba(200, 128, 20, .45);--accent-2: #c8372b;--on-bad: #ffffff;--paper: #ffffff;--ok: #0a6e42;--ok-soft: rgba(10, 110, 66, .1);--warn: #7a6200;--warn-soft: rgba(176, 142, 0, .12);--bad: #b4271e;--bad-soft: rgba(180, 39, 30, .09);--info: #2f5e9e;--info-soft: rgba(47, 94, 158, .09);--shadow-menu: 0 12px 32px -16px rgba(28, 26, 50, .32), 0 0 0 1px var(--border-strong);--shadow-toast: 0 16px 40px -20px rgba(28, 26, 50, .36), 0 0 0 1px var(--border-strong);--shadow-sheet: 0 24px 60px -28px rgba(28, 26, 50, .4), 0 0 0 1px var(--border-strong);--chart-ok: #1f7a4d;--chart-bad: #c2362b;--chart-grid: rgba(28, 26, 33, .08);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font);font-size:var(--fs-body-md);line-height:1.5;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;font-optical-sizing:auto}h1,h2,h3,h4{margin:0;line-height:1.15;font-weight:700}h1{font-size:var(--fs-headline-lg);font-stretch:var(--condensed);font-weight:780;line-height:1.02;letter-spacing:-.005em}h2{font-size:var(--fs-title);font-stretch:86%;font-weight:720}h1,h2{text-wrap:balance}h3{font-size:var(--fs-title-sm);font-weight:650}p{margin:0}a{color:var(--accent-strong);text-decoration:none;text-underline-offset:3px}a:hover{text-decoration:underline}code,.mono{font-family:var(--mono);font-size:.9em}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.codebox,.lightbox{--focus: var(--accent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:var(--fs-body-sm)}.tiny{font-size:var(--fs-caption)}.nums{font-variant-numeric:tabular-nums}.grad-text{color:var(--accent-strong)}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.stack{display:flex;flex-direction:column;gap:14px}.stack.tight{gap:8px}.stack.loose{gap:22px}.grow{flex:1;min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hidden{display:none!important}.center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.grid-3,.grid-2{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat .value{font-size:var(--fs-headline-lg)}.card{padding:16px}}.page{max-width:1180px;margin:0 auto;padding:36px max(40px,env(safe-area-inset-right)) 72px max(40px,env(safe-area-inset-left))}.page.narrow{max-width:820px}@media(max-width:760px){.page{padding:22px max(16px,env(safe-area-inset-right)) 48px max(16px,env(safe-area-inset-left))}}@keyframes page-in{0%{opacity:0}to{opacity:1}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}.page-head h1{font-size:var(--fs-display)}.page-head .eyebrow,.eyebrow{font-size:var(--fs-label-md);font-weight:600;color:var(--text-2);margin-bottom:6px}.page-head p{color:var(--text-2);margin-top:8px;max-width:62ch}@media(max-width:520px){.page-head h1{font-size:var(--fs-headline-lg)}}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:var(--fs-label-md);margin-bottom:12px}.back-link:hover{color:var(--text);text-decoration:none}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:34px 0 12px;min-height:32px}.section-title h2{font-size:var(--fs-title)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.card.flush{padding:0;overflow:hidden}.card.pad-lg{padding:26px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head h3{display:flex;align-items:center;gap:8px}.card-head .sub{color:var(--text-2);font-size:var(--fs-body-sm);margin-top:2px}.card.interactive{cursor:pointer;transition:border-color var(--dur-press),background var(--dur-press)}.card.selected{border-color:var(--focus);box-shadow:var(--ring-selected);background:color-mix(in srgb,var(--surface) 90%,var(--accent) 10%)}.divider{height:1px;background:var(--border);margin:16px 0;border:0}.btn{--btn-bg: var(--surface-2);display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--btn-bg);color:var(--text);font:inherit;font-weight:600;font-size:var(--fs-label-lg);cursor:pointer;white-space:nowrap;transition:background var(--dur-press),border-color var(--dur-press),color var(--dur-press),transform var(--dur-press) var(--ease-out);text-decoration:none!important;-webkit-user-select:none;user-select:none}.btn:hover{background:var(--surface-3)}.btn:active{transform:scale(.97)}.btn-lg:active,.btn-block:active{transform:scale(.985)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,#fff 12%)}[data-theme=light] .btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 90%,#000 10%)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-hover);color:var(--text)}.btn-danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent);background:transparent}.btn-danger:hover{background:var(--bad-soft)}.btn-ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:transparent}.btn-ok:hover{background:var(--ok-soft)}.btn:disabled,.btn[aria-disabled=true]{background:var(--surface-3);border-color:transparent;color:var(--text-3);cursor:not-allowed;transform:none}.btn-ghost:disabled,.btn-ghost[aria-disabled=true]{background:transparent}.btn-sm{height:32px;padding:0 12px;font-size:var(--fs-label-md);border-radius:var(--radius-sm)}.btn-lg{height:48px;padding:0 24px;font-size:var(--fs-title-sm);border-radius:var(--radius-sm)}.btn-icon{width:36px;padding:0;flex:none}.btn-icon.btn-sm{width:30px}.btn-block{width:100%}.btn .spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.label{font-size:var(--fs-label-md);font-weight:600;color:var(--text-2)}.field .hint{font-size:var(--fs-body-sm);color:var(--text-3)}.field .error{font-size:var(--fs-body-sm);color:var(--bad)}.input,.select,.textarea{width:100%;height:40px;padding:0 12px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-input);color:var(--text);font:inherit;font-size:var(--fs-body-md);transition:border-color var(--dur-press),box-shadow var(--dur-press),background var(--dur-press)}.textarea{height:auto;min-height:96px;padding:10px 12px;line-height:1.5;resize:vertical}.textarea.code{font-family:var(--mono);font-size:var(--fs-mono);min-height:220px;white-space:pre;tab-size:2}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--focus);box-shadow:var(--ring-field);background:var(--surface-solid)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}[data-theme=light] :is(.input,.select,.textarea){background-color:var(--surface-solid)}.input.lg{height:46px;font-size:var(--fs-body-lg);border-radius:var(--radius-sm)}.input.code-input{font-family:var(--mono);letter-spacing:.18em;text-align:center;font-size:var(--fs-title);height:52px}.select{appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%);background-position:calc(100% - 17px) 17px,calc(100% - 12px) 17px;background-size:5px 5px;background-repeat:no-repeat}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .full{grid-column:1/-1}@media(max-width:640px){.form-grid{grid-template-columns:minmax(0,1fr)}}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--fs-body-md);-webkit-user-select:none;user-select:none}.switch input{appearance:none;width:38px;height:22px;border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--border-strong);position:relative;cursor:pointer;transition:background var(--dur-ui);margin:0;flex:none}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text);transition:transform var(--dur-ui) var(--ease),background var(--dur-ui)}.switch input:checked{background:var(--focus);border-color:var(--focus)}.switch input:checked:after{transform:translate(16px);background:var(--surface-solid)}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--fs-body-md)}.check input{accent-color:var(--focus);width:16px;height:16px;margin:0}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap}.segmented button{height:30px;padding:0 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);font:inherit;font-size:var(--fs-label-md);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:transform var(--dur-press) var(--ease-out)}.segmented button:hover{color:var(--text)}.segmented button:active{transform:scale(.97)}.segmented button.active{background:var(--text);color:var(--bg)}.segmented .count{font-size:var(--fs-label-sm);padding:0 6px;border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-2);font-variant-numeric:tabular-nums}.segmented button.active .count{background:color-mix(in srgb,var(--bg) 18%,transparent);color:inherit}.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--radius-sm);font-size:var(--fs-label-sm);font-weight:650;white-space:nowrap;background:var(--surface-3);color:var(--text-2);border:1px solid transparent}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:transparent;color:var(--warn);border-color:color-mix(in srgb,var(--warn) 55%,transparent)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.adult{background:var(--accent-2);color:var(--on-bad);letter-spacing:.01em}.badge.info{background:var(--info-soft);color:var(--info)}.badge.accent{background:var(--accent-soft);color:var(--accent-strong)}.badge.live .dot{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px 0 4px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-label-md);font-weight:600}.chip .swatch{width:18px;height:18px;border-radius:var(--radius-xs)}.kbd,.code-pill{font-family:var(--mono);font-size:var(--fs-caption);padding:2px 7px;border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid var(--border);color:var(--text)}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:14px;padding:14px 18px;border-top:1px solid var(--border);transition:background var(--dur-press);color:inherit;text-decoration:none!important}.list-item:first-child{border-top:0}a.list-item:hover,.list-item.clickable:hover{background:var(--surface-hover);cursor:pointer}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--fs-body-md)}.table th{text-align:left;font-size:var(--fs-label-md);font-weight:650;color:var(--text-2);padding:11px 16px;border-bottom:1px solid var(--border-strong);white-space:nowrap;background:var(--surface-2)}.table td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--surface-hover)}.stat{display:flex;flex-direction:column;gap:6px}.stat .top{display:flex;align-items:center;justify-content:space-between;color:var(--text-2);font-size:var(--fs-label-md);font-weight:600}.stat .icon-bubble{width:30px;height:30px;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--text-3)}.stat .value{font-size:var(--fs-numeral);font-weight:800;font-stretch:68%;line-height:1;font-variant-numeric:tabular-nums}.stat .foot{font-size:var(--fs-body-sm);color:var(--text-3)}.progress{height:6px;border-radius:var(--radius-pill);background:var(--surface-3);overflow:hidden;position:relative}.progress>span{position:relative;overflow:hidden;display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width var(--dur-reveal) var(--ease)}.progress.live>span:after{content:"";position:absolute;inset:0 0 0 -34px;pointer-events:none;background:repeating-linear-gradient(-45deg,transparent 0 6px,color-mix(in srgb,var(--accent-ink) 22%,transparent) 6px 12px) 0 0/34px 100%;animation:flow 1s linear infinite}.progress.indeterminate>span{width:35%!important;animation:slide 1.4s var(--ease-in-out) infinite}@keyframes flow{to{transform:translate(34px)}}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}.meter{height:5px;border-radius:var(--radius-pill);background:var(--surface-3);overflow:hidden}.meter>span{display:block;height:100%;background:var(--accent);border-radius:inherit}.meter.full>span{background:var(--bad)}.skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--radius-lg)}.skeleton:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,var(--surface-3) 50%,transparent);transform:translate(-100%);animation:shimmer 1.3s var(--ease-in-out) infinite}@keyframes shimmer{to{transform:translate(100%)}}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:44px 20px;color:var(--text-2)}.empty .art{width:52px;height:52px;border-radius:var(--radius);display:grid;place-items:center;border:1px dashed var(--border-strong);color:var(--accent-strong);margin-bottom:4px}.empty h3{color:var(--text);font-size:var(--fs-title);font-stretch:86%;font-weight:720}.empty p{max-width:420px;font-size:var(--fs-body-sm)}.callout{display:flex;gap:12px;padding:14px 16px;border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:var(--fs-body-sm);border:1px solid var(--border);border-left:3px solid var(--info);overflow-wrap:anywhere}.callout .ico{color:var(--info);flex:none;margin-top:1px}.callout.warn{border-left-color:var(--warn)}.callout.warn .ico{color:var(--warn)}.callout.bad{border-left-color:var(--bad);background:color-mix(in srgb,var(--surface) 94%,var(--bad) 6%)}.callout.bad .ico{color:var(--bad)}.callout.ok{border-left-color:var(--ok)}.callout.ok .ico{color:var(--ok)}.callout.accent{border-left-color:var(--accent)}.callout.accent .ico{color:var(--accent-strong)}.codebox{position:relative;font-family:var(--mono);font-size:var(--fs-mono);background:#131117;color:#e6e1d8;border:1px solid var(--border-strong);border-radius:var(--radius);padding:14px 16px;overflow-x:auto;white-space:pre;line-height:1.6}[data-theme=light] .codebox{background:#1c1a21}.codebox.wrap{white-space:pre-wrap;word-break:break-all}.codebox .copy{position:absolute;top:8px;right:8px}dialog.modal{border:0;padding:0;background:transparent;color:var(--text);max-width:min(560px,100vw - 32px);width:100%}dialog.modal.wide{max-width:min(820px,100vw - 32px)}dialog.modal::backdrop{background:#0e0c12b3}dialog.modal[open]{animation:pop var(--dur-ui) var(--ease)}dialog.modal .modal-card{background:var(--surface-solid);border-radius:var(--radius-xl);box-shadow:var(--shadow-sheet);padding:24px;max-height:calc(100dvh - 64px);overflow:auto}dialog.modal .modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}dialog.modal .modal-head p{color:var(--text-2);font-size:var(--fs-body-sm);margin-top:4px}dialog.modal .modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}@keyframes pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.avatar{--c: var(--avatar-bg);--ink: var(--avatar-ink);width:40px;height:40px;border-radius:var(--radius-sm);flex:none;display:grid;place-items:center;font-weight:800;font-stretch:80%;font-size:var(--fs-title-sm);color:var(--ink);background:var(--c)}.avatar.sm{width:28px;height:28px;border-radius:var(--radius-sm);font-size:var(--fs-label-md)}.avatar.lg{width:56px;height:56px;border-radius:var(--radius);font-size:var(--fs-title)}.avatar.xl{width:72px;height:72px;border-radius:var(--radius-lg);font-size:var(--fs-headline-md)}.toasts{position:fixed;right:calc(20px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:var(--z-toast);display:flex;flex-direction:column;gap:10px;max-width:min(380px,100vw - 40px)}.toast{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius);background:var(--surface-solid);box-shadow:var(--shadow-toast);font-size:var(--fs-body-sm);cursor:pointer}.toast .ico{flex:none;margin-top:1px}.toast.ok .ico{color:var(--ok)}.toast.bad .ico{color:var(--bad)}.toast.info .ico{color:var(--accent-strong)}body:before{content:"";position:fixed;inset:-50%;z-index:var(--z-grain);pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(4) infinite}[data-theme=light] body:before{opacity:.03}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}to{transform:translate(0)}}.main{position:relative;isolation:isolate}.main:before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:520px;pointer-events:none;background:radial-gradient(60% 100% at 70% -20%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 70%)}[data-theme=light] .main:before{background:radial-gradient(60% 100% at 70% -20%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%)}.page>*{animation:rise var(--dur-enter) var(--ease-out) both}.page>:nth-child(2){animation-delay:40ms}.page>:nth-child(3){animation-delay:80ms}.page>:nth-child(4){animation-delay:.12s}.page>:nth-child(5){animation-delay:.16s}.page>:nth-child(n+6){animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-head h1{animation:expose .55s 40ms var(--ease-out) both}@keyframes expose{0%{clip-path:inset(-10% 100% -10% 0);filter:brightness(3) blur(3px)}to{clip-path:inset(-10% -2% -10% 0);filter:none}}.page img:not(.qr){transition:filter 1.4s cubic-bezier(.3,0,.2,1),opacity var(--dur-reveal)}.page img:not(.qr):not(.developed){filter:sepia(1) saturate(1.6) hue-rotate(-12deg) brightness(.35) contrast(1.2) blur(5px);opacity:.6}.btn-primary{position:relative;overflow:hidden;isolation:isolate}.btn-primary:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.45) 48%,transparent 66%);transform:translate(-120%);transition:transform .7s var(--ease)}.card.interactive{position:relative}.card.interactive:before{content:"";position:absolute;left:-1px;top:12px;bottom:12px;width:3px;border-radius:0 var(--radius-xs) var(--radius-xs) 0;background:var(--focus);transform:scaleY(0);transition:transform var(--dur-ui) var(--ease-out)}.card.selected:before{transform:scaleY(1)}a.list-item,.list-item.clickable{position:relative}a.list-item:before,.list-item.clickable:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 var(--radius-xs) var(--radius-xs) 0;background:var(--focus);transform:scaleY(0);transition:transform var(--dur-ui) var(--ease-out)}@media(hover:hover)and (pointer:fine){.btn-primary:hover:not(:disabled):after{transform:translate(120%)}.card.interactive:hover{border-color:var(--border-strong);background-image:linear-gradient(var(--surface-hover) 0 0)}.card.interactive:hover:before{transform:scaleY(1)}a.list-item:hover:before,.list-item.clickable:hover:before{transform:scaleY(1)}}.badge.accent.live{box-shadow:0 0 0 0 var(--accent-ring);animation:safelight 2.4s ease-in-out infinite}@keyframes safelight{50%{box-shadow:0 0 14px -2px var(--accent-ring)}}.progress.live>span{box-shadow:0 0 12px -1px var(--accent)}.spot{position:relative;overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,var(--surface)),var(--surface) 60%)!important}.card.spot,.callout.spot{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.callout.spot{border-left-color:var(--accent)}.spot:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 35%,color-mix(in srgb,var(--accent) 22%,transparent) 50%,transparent 65%);transform:translate(-100%);animation:sweep 1.6s .5s var(--ease-in-out) both}@keyframes sweep{to{transform:translate(100%)}}.count-up{display:inline-block}.toast{transition:opacity var(--dur-enter) ease,transform var(--dur-enter) ease}@starting-style{.toast{opacity:0;transform:translate(24px)}}dialog.modal::backdrop{animation:fade var(--dur-ui) ease}@keyframes fade{0%{opacity:0}}.card{position:relative}@media(hover:hover)and (pointer:fine){.card.interactive:not(.spot):after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;background:radial-gradient(240px circle at var(--mx, -999px) var(--my, -999px),color-mix(in srgb,var(--text) 30%,transparent),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity var(--dur-enter)}.card.interactive:hover:after{opacity:1}.card.interactive:not(.spot):hover{background-image:radial-gradient(520px circle at var(--mx, -999px) var(--my, -999px),color-mix(in srgb,var(--text) 2%,transparent),transparent 65%),linear-gradient(var(--surface-hover) 0 0)}.counters{position:relative}.counters:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(360px circle at var(--mx, -999px) var(--my, -999px),color-mix(in srgb,var(--text) 4%,transparent),transparent 70%)}.counters:hover:after{opacity:1}}.tilt{transition:transform .5s var(--ease),box-shadow .5s var(--ease);transform-style:preserve-3d;will-change:transform}.tilt.tilting{transition:transform .08s linear,box-shadow .3s;box-shadow:0 26px 50px -24px #000000b3}.card.interactive.tilt{transition:transform .5s var(--ease),border-color .15s,background .15s,box-shadow .5s var(--ease)}.card.interactive.tilt.tilting{transition:transform .08s linear,border-color .15s,background .15s,box-shadow .3s}.tilt.glare{position:relative}.tilt.glare:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;mix-blend-mode:soft-light;background:radial-gradient(circle at var(--gx, 50%) var(--gy, 50%),rgba(255,255,255,.85),transparent 55%)}.tilt.glare.tilting:after{opacity:1}.magnetic{transition:translate .35s var(--ease),transform var(--dur-press) var(--ease-out),background var(--dur-press),box-shadow var(--dur-ui)}.fx-flash{position:fixed;inset:0;z-index:var(--z-fx);pointer-events:none;background:radial-gradient(circle at 50% 35%,#fff,#fff6e1d9 45%,#ffecc866);animation:flash .9s var(--ease-out) forwards}.fx-flash i{display:none}@keyframes flash{0%{opacity:0}8%{opacity:.95}to{opacity:0}}.fx-shutter{position:fixed;inset:0;z-index:var(--z-fx);pointer-events:none}.fx-shutter i{position:absolute;left:0;right:0;height:50.5%;background:#0c0b0e}.fx-shutter i:first-child{top:0;border-bottom:2px solid var(--accent);animation:shut-top .76s var(--ease-in-out) forwards}.fx-shutter i:last-child{bottom:0;border-top:2px solid var(--accent);animation:shut-bottom .76s var(--ease-in-out) forwards}@keyframes shut-top{0%{transform:translateY(-100%)}34%,52%{transform:none}to{transform:translateY(-101%)}}@keyframes shut-bottom{0%{transform:translateY(100%)}34%,52%{transform:none}to{transform:translateY(101%)}}.route-bar{position:fixed;top:0;left:0;right:0;height:2px;z-index:var(--z-route);pointer-events:none;overflow:hidden;opacity:0;transition:opacity .3s}.route-bar.on{opacity:1;transition:opacity .2s .15s}.route-bar:after{content:"";position:absolute;top:0;bottom:0;left:0;width:35%;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 10px var(--accent);animation:route 1s var(--ease-in-out) infinite}@keyframes route{0%{transform:translate(-100%)}to{transform:translate(286%)}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}.hold{position:relative;overflow:hidden;isolation:isolate;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.hold:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,currentColor 14%,transparent),color-mix(in srgb,currentColor 30%,transparent));clip-path:inset(0 100% 0 0);transition:clip-path .2s var(--ease-out)}.hold.holding:before{clip-path:inset(0 0 0 0);transition:clip-path var(--hold-ms, 1.2s) linear}.hold.confirmed:before{clip-path:inset(0 0 0 100%);transition:clip-path .32s var(--ease-out)}.hold.holding{transform:scale(.97)}@keyframes reveal{0%{opacity:0;transform:translateY(16px)}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.reveal,.page>.reveal{animation:reveal var(--ease-out) both;animation-timeline:view();animation-range:entry 0% entry 75%;animation-delay:0s}}}.light-leak{position:relative;isolation:isolate;overflow:clip}.light-leak:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(13% 28% at 84% 36%,color-mix(in srgb,var(--accent-2) 42%,transparent),transparent 70%),radial-gradient(26% 52% at 82% 38%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 68%),radial-gradient(24% 46% at 14% 72%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 66%);animation:leak-in 1.8s .3s var(--ease-out) both,leak-drift 30s 2.1s var(--ease-in-out) infinite alternate}[data-theme=light] .light-leak:not(.always):after{display:none}@keyframes leak-in{0%{opacity:0}}@keyframes leak-drift{to{transform:translate3d(-2.5%,3%,0) scale(1.04);opacity:.78}}@media(prefers-reduced-motion:reduce){body:before{animation:none}.page img:not(.qr):not(.developed){filter:none;opacity:1}.page-head h1{animation:none}.tilt,.magnetic{transform:none!important;translate:none!important}.page>*{animation:fade var(--dur-ui) ease both!important}.toast{transition:opacity var(--dur-ui) ease!important}dialog.modal[open]{animation:fade var(--dur-ui) ease!important}.btn:active,.btn-lg:active,.btn-block:active,.segmented button:active,.hold.holding{transform:none}.hold.holding:before{transition-duration:var(--hold-ms, 1.2s)!important}.light-leak:after{animation:none}}@media(pointer:coarse){.input,.select,.textarea,.input.lg,.textarea.code{font-size:var(--fs-body-lg)}.btn{min-height:44px}.btn-icon{min-width:44px}.btn-sm{height:40px;min-height:40px;position:relative}.btn-sm.btn-icon{min-width:40px}.btn-sm:not(.hold):before{content:"";position:absolute;inset:-3px}.btn-sm.hold{height:44px;min-height:44px}.btn-primary:not(.hold){overflow:visible}.btn-primary:after{display:none}.segmented button{height:40px}.check,.switch,.back-link{min-height:44px}}
