@font-face{font-family:'Fraunces';src:url(fonts/Fraunces-600.ttf) format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url(fonts/PlusJakartaSans-400.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url(fonts/PlusJakartaSans-500.ttf) format('truetype');font-weight:500 600;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url(fonts/PlusJakartaSans-700.ttf) format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url(fonts/PlusJakartaSans-800.ttf) format('truetype');font-weight:800;font-display:swap}
/* Ark A+B design tokens v1.0.0 (Kepp, 2026-10-19). Shelter mark, Indigo and Gold palette (Direction B's colours only).
   Fonts (OFL): @import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
   Rules: white text on Indigo only. Gold (--ark-gold / --color-accent) is a fill or a glow; gold-coloured words on light use --color-accent-text.
   --color-lamp is the light in the mark. Body text never below --text-body. Tap targets at least --size-tap-min.
   Dark mode follows the system unless <html data-theme="light|dark"> forces one. */
:root {
  --ark-indigo: #262D6B;
  --ark-indigo-deep: #1E2459;
  --ark-indigo-night: #171B45;
  --ark-gold: #F2B544;
  --ark-gold-deep: #C47E10;
  --ark-gold-text: #8F5300;
  --ark-gold-light: #F6C66B;
  --ark-cream: #FAF7F2;
  --ark-ink: #1C1E2E;
  --ark-periwinkle: #A9B0F5;
  --ark-icon-from: #343C8A;
  --ark-icon-to: #161A42;
  --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-ui: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-display: 600;
  --text-label: 0.75rem;
  --text-caption: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-body: 1rem;
  --text-button: 1.0625rem;
  --text-lg: 1.125rem;
  --text-title-s: 1.1875rem;
  --text-title: 1.5625rem;
  --text-title-l: 1.6875rem;
  --text-display: 2.75rem;
  --text-display-xl: 4.375rem;
  --leading-tight: 1.12;
  --leading-snug: 1.25;
  --leading-body: 1.45;
  --leading-relaxed: 1.5;
  --tracking-display: -0.01em;
  --tracking-display-xl: -0.02em;
  --tracking-label: 0.12em;
  --radius-xs: 6px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 32px;
  --radius-pill: 999px;
  --radius-icon: 22.37%;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 40px;
  --space-9: 56px;
  --space-10: 80px;
  --size-tap-min: 44px;
  --size-button-h: 54px;
  --size-button-h-site: 62px;
  --size-gutter: 16px;
  --size-tab-bar: 60px;
  --color-bg: #FAF7F2;
  --color-surface: #FFFFFF;
  --color-surface-2: #F1EEF7;
  --color-line: #E8E3DA;
  --color-text: #1C1E2E;
  --color-text-muted: #5A5D70;
  --color-primary: #262D6B;
  --color-primary-pressed: #1E2459;
  --color-on-primary: #FFFFFF;
  --color-link: #262D6B;
  --color-accent: #F2B544;
  --color-accent-text: #8F5300;
  --color-on-accent: #1C1E2E;
  --color-lamp: #C47E10;
  --color-chip-bg: #FCEBD9;
  --color-chip-text: #94450F;
  --color-avatar-bg: #ECEDF7;
  --color-avatar-text: #262D6B;
  --color-card-feature-from: #323A85;
  --color-card-feature-to: #1A1F4E;
  --color-card-feature-label: #F6C66B;
  --color-card-feature-meta: #DADDF3;
  --color-success: #1D7A4F;
  --color-success-bg: #E3F3EA;
  --color-warning: #A35700;
  --color-warning-bg: #FBEEDC;
  --color-error: #B3261E;
  --color-error-bg: #FBE6E4;
  --color-tab: #4C4F63;
  --color-focus: #4B53B8;
  --color-memorial: #C9A24D;
  --shadow-card: 0 0 0 1px #E8E3DA, 0 1px 2px rgba(28,30,46,.04), 0 10px 24px rgba(28,30,46,.06);
  --shadow-raised: 0 14px 30px rgba(26,31,78,.26);
  --shadow-button: 0 2px 0 rgba(0,0,0,.14), 0 8px 18px rgba(0,0,0,.14);
  --shadow-photo: 0 30px 60px rgba(0,0,0,.22);
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --color-bg: #10112A;
    --color-surface: #1A1C3D;
    --color-surface-2: #24275A;
    --color-line: #30336A;
    --color-text: #F1F0F8;
    --color-text-muted: #B2B4CF;
    --color-primary: #4B53B8;
    --color-primary-pressed: #5A63C9;
    --color-on-primary: #FFFFFF;
    --color-link: #A9B0F5;
    --color-accent: #F2B544;
    --color-accent-text: #F6C66B;
    --color-on-accent: #1C1E2E;
    --color-lamp: #F2B544;
    --color-chip-bg: #3A2A12;
    --color-chip-text: #F6C66B;
    --color-avatar-bg: #262A5C;
    --color-avatar-text: #C9CCF5;
    --color-card-feature-from: #323A85;
    --color-card-feature-to: #1A1F4E;
    --color-card-feature-label: #F6C66B;
    --color-card-feature-meta: #DADDF3;
    --color-success: #5CCB94;
    --color-success-bg: #12301F;
    --color-warning: #F2B061;
    --color-warning-bg: #33240F;
    --color-error: #F59187;
    --color-error-bg: #3A1714;
    --color-tab: #B2B4CF;
    --color-focus: #A9B0F5;
    --color-memorial: #C9A24D;
    --shadow-card: 0 0 0 1px #30336A, 0 10px 24px rgba(0,0,0,.4);
    --shadow-raised: 0 14px 30px rgba(0,0,0,.5);
    --shadow-button: 0 2px 0 rgba(0,0,0,.3), 0 8px 18px rgba(0,0,0,.35);
    --shadow-photo: 0 30px 60px rgba(0,0,0,.5);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --color-bg: #10112A;
  --color-surface: #1A1C3D;
  --color-surface-2: #24275A;
  --color-line: #30336A;
  --color-text: #F1F0F8;
  --color-text-muted: #B2B4CF;
  --color-primary: #4B53B8;
  --color-primary-pressed: #5A63C9;
  --color-on-primary: #FFFFFF;
  --color-link: #A9B0F5;
  --color-accent: #F2B544;
  --color-accent-text: #F6C66B;
  --color-on-accent: #1C1E2E;
  --color-lamp: #F2B544;
  --color-chip-bg: #3A2A12;
  --color-chip-text: #F6C66B;
  --color-avatar-bg: #262A5C;
  --color-avatar-text: #C9CCF5;
  --color-card-feature-from: #323A85;
  --color-card-feature-to: #1A1F4E;
  --color-card-feature-label: #F6C66B;
  --color-card-feature-meta: #DADDF3;
  --color-success: #5CCB94;
  --color-success-bg: #12301F;
  --color-warning: #F2B061;
  --color-warning-bg: #33240F;
  --color-error: #F59187;
  --color-error-bg: #3A1714;
  --color-tab: #B2B4CF;
  --color-focus: #A9B0F5;
  --color-memorial: #C9A24D;
  --shadow-card: 0 0 0 1px #30336A, 0 10px 24px rgba(0,0,0,.4);
  --shadow-raised: 0 14px 30px rgba(0,0,0,.5);
  --shadow-button: 0 2px 0 rgba(0,0,0,.3), 0 8px 18px rgba(0,0,0,.35);
  --shadow-photo: 0 30px 60px rgba(0,0,0,.5);
  color-scheme: dark;
}
body { background: var(--color-bg); color: var(--color-text); font: var(--font-weight-regular) var(--text-body)/var(--leading-body) var(--font-ui); }


:root{--color-input-line:#BDBACB;--color-tint:#F4F2FA}
:root[data-theme="dark"]{--color-input-line:#4A4E8A;--color-tint:#20234F}
*{box-sizing:border-box}
html{background:var(--color-bg)}
body{margin:0;background:var(--color-bg);color:var(--color-text);font:400 var(--text-body)/var(--leading-body) var(--font-ui);-webkit-font-smoothing:antialiased}
.phone{width:390px;max-width:100%;margin:0 auto;background:var(--color-bg)}
a{color:inherit}
.hdr{display:flex;align-items:center;gap:12px;padding:14px 16px 16px;color:#fff;background:linear-gradient(160deg,#2D3580,#1E2459 72%);box-shadow:0 2px 14px rgba(23,27,69,.28)}
.mk{width:46px;height:46px;border-radius:22.37%;background:linear-gradient(160deg,var(--ark-icon-from),var(--ark-icon-to));display:grid;place-items:center;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 4px 10px rgba(0,0,0,.25)}
.mk svg{width:32px;height:32px}
.hdr .t{min-width:0;flex:1}
.wm{font:600 18px/1 var(--font-display);letter-spacing:-.01em;color:#fff}
.ctx{font:600 13px/1.25 var(--font-ui);color:var(--color-card-feature-meta);margin-top:4px}
.hdr h1{font:600 23px/1.15 var(--font-display);letter-spacing:-.01em;margin:3px 0 0;color:#fff}
.gear{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.42);display:grid;place-items:center;flex:none;color:#fff;margin-left:auto}
main{padding:14px 16px 6px}
.greet{font:600 22px/1.2 var(--font-display);margin:6px 0 14px;letter-spacing:-.005em}
.back{display:inline-flex;align-items:center;min-height:44px;color:var(--color-link);font-weight:700;text-decoration:none;margin:-4px 0 4px}
.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:18px;margin:0 0 16px;box-shadow:var(--shadow-card)}
.card.tint{background:var(--color-tint);box-shadow:none}
.card.attn{background:var(--color-warning-bg);box-shadow:0 0 0 1px #EBD3AC}
.feat{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--color-card-feature-from),var(--color-card-feature-to));color:#fff;border-radius:var(--radius-lg);padding:20px 18px 18px;margin:0 0 16px;box-shadow:var(--shadow-raised)}
.feat:after{content:"";position:absolute;right:-60px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(242,181,68,.30),rgba(242,181,68,0) 68%);pointer-events:none}
.feat>*{position:relative;z-index:1}
.lab{font:700 12px/1.1 var(--font-ui);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-card-feature-label);margin:0 0 8px}
.lab2{font:700 12px/1.1 var(--font-ui);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-muted);margin:0 0 10px}
h2{font:600 25px/1.15 var(--font-display);letter-spacing:-.01em;margin:0 0 4px}
h3{font:600 19px/1.2 var(--font-display);margin:0}
p{margin:0 0 10px}
.meta{font-size:var(--text-sm);color:var(--color-text-muted)}
.feat .meta{color:var(--color-card-feature-meta)}
.sm{font-size:var(--text-sm)}
.b{font-weight:800}
.center{text-align:center}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:var(--size-button-h);width:100%;border-radius:var(--radius-md);font:700 var(--text-button) var(--font-ui);border:0;text-decoration:none;margin-top:14px;text-align:center;padding:0 16px;letter-spacing:.005em}
.btn.primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-button)}
.btn.gold{background:var(--color-accent);color:var(--color-on-accent);box-shadow:0 2px 0 rgba(0,0,0,.16),0 8px 18px rgba(0,0,0,.2)}
.btn.ghost{background:transparent;border:2px solid var(--color-primary);color:var(--color-link)}
.btn.small{min-height:var(--size-tap-min);font-size:15px;margin-top:10px;padding:0 12px}
.flink{display:inline-flex;align-items:center;min-height:44px;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px;margin-top:4px}
.link{display:inline-flex;align-items:center;min-height:44px;color:var(--color-link);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.row{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 0;border-top:1px solid var(--color-line);color:inherit;text-decoration:none}
.row.first{border-top:0}
.chev{margin-left:auto;color:var(--color-text-muted);font-size:26px;line-height:1;flex:none}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--color-avatar-bg);color:var(--color-avatar-text);display:grid;place-items:center;font-weight:800;flex:none}
.ic{width:38px;height:38px;border-radius:12px;background:var(--color-avatar-bg);color:var(--color-avatar-text);display:grid;place-items:center;flex:none}
svg.i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.chip{display:inline-flex;align-items:center;min-height:28px;padding:2px 11px;border-radius:999px;font-size:13px;font-weight:700;background:var(--color-chip-bg);color:var(--color-chip-text);white-space:nowrap}
.chip.ok{background:var(--color-success-bg);color:var(--color-success)}
.chip.warn{background:var(--color-error-bg);color:var(--color-error)}
.chip.amb{background:var(--color-warning-bg);color:var(--color-warning)}
.chip.info{background:var(--color-avatar-bg);color:var(--color-avatar-text)}
.chip.tall{min-height:44px;padding:0 14px;font-size:14px}
.tile{background:rgba(255,255,255,.12);border-radius:var(--radius-md);padding:10px 6px;text-align:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.tile b{display:block;font:600 28px/1.1 var(--font-display)}.tile span{font-size:12.5px;color:var(--color-card-feature-meta);line-height:1.2;display:block;margin-top:2px}
.tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px}
.tool{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 12px;border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);text-decoration:none;color:var(--color-text);font:700 14.5px/1.2 var(--font-ui)}
.tool .ic{width:36px;height:36px;border-radius:11px}
.tool small{display:block;font-weight:500;font-size:12.5px;color:var(--color-text-muted)}
.sec{font:600 19px/1.2 var(--font-display);margin:18px 0 10px}
.stat{display:flex;align-items:center;gap:14px}
.stat b{font:600 34px/1 var(--font-display);color:var(--color-primary)}
.noteb{border-radius:var(--radius-md);padding:12px 14px;margin:0 0 16px;background:var(--color-avatar-bg);color:var(--color-text);font-size:var(--text-sm)}
.notice{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 14px;border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-primary);text-decoration:none;margin:0 0 16px;font-size:var(--text-sm)}
.f{display:block;font:700 12px var(--font-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);margin:14px 0 6px}
.in{display:flex;align-items:center;width:100%;min-height:50px;border:1.5px solid var(--color-input-line);border-radius:var(--radius-sm);padding:0 14px;font:400 var(--text-body) var(--font-ui);background:var(--color-surface);color:var(--color-text)}
.in.ph{color:#80839A}
.hint{font-size:13px;color:var(--color-text-muted);margin:6px 0 0}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--color-input-line);font-weight:700;background:var(--color-surface);font-size:15px}
.pill.on{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.box{width:30px;height:30px;border-radius:9px;border:2px solid var(--color-input-line);flex:none;display:grid;place-items:center;color:#fff;font-weight:900;background:var(--color-surface)}
.box.on{background:var(--color-primary);border-color:var(--color-primary)}
.sel{display:flex;align-items:center;gap:12px;min-height:64px;padding:8px 12px;border-radius:var(--radius-md);border:2px solid var(--color-line);background:var(--color-surface);margin-bottom:10px}
.sel.on{border-color:var(--color-primary);background:var(--color-tint)}
.fold{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px;border-radius:var(--radius-md);border:1.5px dashed var(--color-input-line);margin-bottom:10px;font-weight:700;color:var(--color-link)}
.fold .chev{font-size:24px}
.sum{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-top:1px solid var(--color-line)}
.sum.first{border-top:0}.sum.total{font-weight:800;font-size:19px;border-top:2px solid var(--color-text)}
.sum.total b{font:600 26px/1 var(--font-display)}
.donecheck{width:64px;height:64px;border-radius:50%;background:var(--color-success);color:#fff;display:grid;place-items:center;font-size:34px;margin:2px auto 10px}
.step{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--color-line);text-decoration:none;color:inherit;min-height:60px}
.step.first{border-top:0}
.sd{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:800;font-size:15px;margin-top:2px;border:2px solid var(--color-input-line);color:var(--color-text-muted);background:var(--color-surface)}
.sd.done{background:var(--color-success);border-color:var(--color-success);color:#fff}
.sd.now{border-color:var(--color-primary);color:var(--color-primary)}
.code5{font:600 36px/1 var(--font-display);letter-spacing:.14em;color:var(--color-primary);background:var(--color-tint);border-radius:var(--radius-md);padding:16px;text-align:center;margin:2px 0 10px}
.danger{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:var(--radius-md);color:var(--color-error);font-weight:700;text-decoration:none;border:1.5px solid #E5B7B2;background:var(--color-surface)}
.fact{display:flex;gap:12px;align-items:center;min-height:52px;padding:6px 0;border-top:1px solid var(--color-line)}
.fact.first{border-top:0}
.seg{display:flex;background:var(--color-surface);border-radius:var(--radius-md);padding:4px;box-shadow:var(--shadow-card);margin-bottom:14px}
.seg a{flex:1;min-height:44px;display:grid;place-items:center;border-radius:11px;font-weight:700;color:var(--color-link);text-decoration:none;font-size:15px}
.seg a.on{background:var(--color-primary);color:#fff}
.kid{background:var(--color-surface);border-radius:var(--radius-md);padding:12px;margin-bottom:10px;box-shadow:var(--shadow-card)}
.kid.blocked{background:var(--color-error-bg);box-shadow:0 0 0 1px #EBC2BD}
.kid.done{background:var(--color-success-bg);box-shadow:0 0 0 1px #BFE0CE}
.kid .top{display:flex;align-items:center;gap:10px}
.kid .nm{font-weight:800;font-size:17px}
.more{width:44px;height:44px;border-radius:12px;border:1.5px solid var(--color-input-line);background:var(--color-surface);display:grid;place-items:center;font-size:22px;font-weight:800;flex:none;margin-left:auto;color:var(--color-text)}
.acts{display:flex;gap:8px;align-items:center;margin-top:10px}.acts .btn{margin-top:0}
.pop{margin-top:10px;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:0 10px 28px rgba(28,30,46,.22),0 0 0 1px var(--color-line);overflow:hidden}
.pop a{display:flex;flex-direction:column;justify-content:center;min-height:52px;padding:6px 14px;border-top:1px solid var(--color-line);color:var(--color-text);text-decoration:none;font-weight:700;font-size:15px}
.pop a:first-child{border-top:0}.pop small{font-weight:500;color:var(--color-text-muted);font-size:12.5px}
.legal{text-align:center;font-size:13px;color:var(--color-text-muted);padding:2px 0 6px}
.legal a{color:var(--color-text-muted);display:inline-block;line-height:44px;padding:0 8px}
nav.tabs{position:sticky;bottom:0;display:flex;background:var(--color-surface);border-top:1px solid var(--color-line);margin-top:6px;box-shadow:0 -6px 18px rgba(28,30,46,.05)}
nav.tabs a{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:var(--size-tab-bar);font-size:12.5px;color:var(--color-tab);text-decoration:none;gap:3px}
nav.tabs a.on{color:var(--color-primary);font-weight:800}
nav.tabs a.on:before{content:"";position:absolute;top:0;width:30px;height:3px;border-radius:0 0 4px 4px;background:var(--color-accent)}
nav.tabs svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.badge{position:absolute;top:7px;left:calc(50% + 4px);min-width:18px;height:18px;border-radius:9px;background:var(--color-error);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;padding:0 4px}
body.desk .deskpage{width:1280px;margin:0 auto;background:var(--color-bg)}
.hdr.dk{display:block;padding:0}
.hdr.dk .hrow{max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:16px 24px 8px}
.hdr.dk .hh{max-width:1120px;margin:0 auto;padding:4px 24px 22px}
.hdr.dk h1{font-size:30px}
nav.top{display:flex;gap:4px;margin-left:36px}
nav.top a{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;color:#fff;text-decoration:none;font-weight:700;font-size:15px;opacity:.86;position:relative}
nav.top a.on{background:rgba(255,255,255,.14);opacity:1}
nav.top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
nav.top .bdg{background:var(--color-error);color:#fff;border-radius:9px;font-size:11px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.grid{display:grid;grid-template-columns:1.45fr 1fr;gap:24px;padding-top:24px;align-items:start}
.groups2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gbox{display:block;border-radius:var(--radius-md);background:var(--color-tint);padding:14px 16px;text-decoration:none;color:inherit;min-height:64px}
.gbox b{font:600 19px var(--font-display)}
body.desk .memorial{max-width:640px;margin:24px auto 0}
.desk .feat .btnrow{display:flex;gap:12px;align-items:center;margin-top:14px}.desk .feat .btnrow .btn{width:auto;min-width:240px;margin-top:0}

.photo{border-radius:50%;flex:none;display:block;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--color-line)}
.kid .photo{margin:0 auto}
.photo.sq{border-radius:var(--radius-md)}
.hdr.dark2 .ctx b{color:var(--color-card-feature-label)}
.kp{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1.5px solid rgba(255,255,255,.45);color:#fff;font-weight:700;font-size:15px}
.kp.on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}
.btn.big{min-height:64px;font-size:19px;border-radius:var(--radius-lg)}
.btn.red{background:var(--color-error);color:#fff}
.kidrow{display:flex;align-items:center;gap:12px;min-height:88px;padding:10px 12px;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:10px;border:2px solid transparent}
.kidrow.on{border-color:var(--color-primary);background:var(--color-tint)}
.kidrow .nm{font-weight:800;font-size:18px;line-height:1.2}
.kidrow .grow{min-width:0;flex:1}
.tick{width:44px;height:44px;border-radius:12px;border:2.5px solid var(--color-input-line);background:var(--color-surface);display:grid;place-items:center;flex:none;color:#fff;font-weight:900;font-size:26px}
.tick.on{background:var(--color-primary);border-color:var(--color-primary)}
.room{display:inline-flex;align-items:center;min-height:30px;padding:2px 12px;border-radius:999px;font-size:14px;font-weight:800;background:var(--color-avatar-bg);color:var(--color-avatar-text)}
.state{border-radius:var(--radius-lg);padding:18px 16px;margin:0 0 14px;text-align:center}
.state.ok{background:var(--color-success-bg);box-shadow:inset 0 0 0 3px var(--color-success)}
.state.no{background:var(--color-error-bg);box-shadow:inset 0 0 0 4px var(--color-error)}
.state.gold{background:var(--color-warning-bg);box-shadow:inset 0 0 0 4px var(--color-accent)}
.state .big{font:800 34px/1.05 var(--font-ui);letter-spacing:.01em;margin:8px 0 2px}
.state.ok .big{color:var(--color-success)}.state.no .big{color:var(--color-error)}.state.gold .big{color:var(--color-warning)}
.pname{font:600 26px/1.15 var(--font-display);margin:8px 0 2px}
.stopic{width:64px;height:64px;border-radius:50%;background:var(--color-error);color:#fff;display:grid;place-items:center;margin:0 auto}
.stopic svg{width:36px;height:36px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round}
.cam{position:relative;height:430px;margin:0 -16px 14px;background:radial-gradient(circle at 50% 45%,#2a2f66,#0e1030 75%);overflow:hidden}
.cam .fr{position:absolute;left:50%;top:50%;width:250px;height:250px;margin:-135px 0 0 -125px}
.cam .fr i{position:absolute;width:52px;height:52px;border:6px solid var(--color-accent)}
.cam .fr i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0;border-radius:18px 0 0 0}
.cam .fr i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0;border-radius:0 18px 0 0}
.cam .fr i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0;border-radius:0 0 0 18px}
.cam .fr i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0;border-radius:0 0 18px 0}
.cam .fr b{position:absolute;left:12px;right:12px;top:48%;height:3px;background:var(--color-accent);box-shadow:0 0 14px var(--color-accent);border-radius:2px}
.cam .cap{position:absolute;left:0;right:0;bottom:22px;text-align:center;color:#fff;font:600 21px/1.2 var(--font-display)}
.cam .ghost{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-85px 0 0 -75px;opacity:.16}
.ticket{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin:0 0 16px;position:relative}
.ticket .tp{padding:16px 18px}
.ticket .cut{position:relative;border-top:2px dashed var(--color-input-line);margin:0 14px}
.ticket .cut:before,.ticket .cut:after{content:"";position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-line)}
.ticket .cut:before{left:-27px}.ticket .cut:after{right:-27px}
.stp{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--color-line)}
.stp.first{border-top:0}
.stp .sd{margin-top:0}
.live{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;color:var(--color-success)}
.live:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--color-success);box-shadow:0 0 0 4px var(--color-success-bg)}
.bar{height:12px;border-radius:6px;background:var(--color-line);overflow:hidden}.bar i{display:block;height:100%;background:var(--color-primary);border-radius:6px}
.btn.ghost.sm2{min-height:44px;font-size:14.5px;margin:0;width:auto;padding:0 14px;background:var(--color-surface)}
.paged{font-size:13.5px;font-weight:700;color:var(--color-warning)}
.camdot{width:44px;height:44px;border-radius:50%;border:2px dashed var(--color-input-line);display:grid;place-items:center;color:var(--color-text-muted);flex:none}
.poster{width:390px;margin:0 auto;background:#fff;color:#171B45;padding:26px 24px 22px;text-align:center;min-height:505px}
.poster .kc{font:700 13px var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:#1C1E2E}
.poster h1{font:600 46px/1.02 var(--font-display);letter-spacing:-.02em;margin:8px 0 10px;color:#262D6B}
.poster .qrbox{border:6px solid #262D6B;border-radius:22px;padding:14px;display:inline-block;background:#fff}
.poster .sm3{font:600 17px/1.3 var(--font-ui);margin:12px 0 0;color:#1C1E2E}
.poster .row2{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px}
.poster .foot{margin-top:14px;padding-top:10px;border-top:2px solid #E8E3DA;font:600 14px var(--font-ui);color:#5A5D70}
@page{size:letter;margin:0}

.view{display:none}.view.on{display:block}
.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%,20px);background:#171B45;color:#fff;font:700 15px/1.2 var(--font-ui);padding:14px 20px;border-radius:999px;box-shadow:0 10px 28px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:.25s;z-index:50;max-width:92vw;text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}
.ringarc{animation:ring 30s linear infinite}
@keyframes ring{from{stroke-dashoffset:0}to{stroke-dashoffset:892.2}}
.homewrap{padding:28px 20px 10px;text-align:center}
.homewrap img.logo{width:236px;max-width:70%;display:block;margin:6px auto 14px}
.homewrap h1{font:600 30px/1.1 var(--font-display);margin:6px 0 8px;letter-spacing:-.01em}
input.in{outline:none}input.in:focus{border-color:var(--color-focus)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pcell{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:10px 6px;text-align:center;min-width:0}
.pcell .photo{margin:0 auto}.pcell .nm{font:800 14px/1.15 var(--font-ui);margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcell .meta{font-size:12px}
.pcell .chip{min-height:22px;font-size:11px;padding:1px 8px;margin-top:4px}
.btn.done2{background:var(--color-success-bg);color:var(--color-success);border-color:transparent}
a.btn,button.btn{cursor:pointer}
.kidrow,.sel,.kp{cursor:pointer}
.srch{position:sticky;top:0;z-index:5;background:var(--color-bg);padding:2px 0 10px}
.legal{padding-bottom:12px}
