:root{--ink:#1b1f3b;--yellow:#ffd23f;--pink:#ff4d6d;--red-text:#e0264a;--blue:#2f6bff;--green:#35c98e;--color-primary:var(--yellow);--color-primary-dark:var(--ink);--color-on-primary:var(--ink);--color-celebrate:var(--pink);--color-bg:#e9f3ff;--color-surface:#fff;--color-text:var(--ink);--color-muted:#4a5170;--color-border:#c3cbe0;--color-error-bg:#fff0f3;--color-error:#b3123a;--color-success-bg:#dff5e8;--color-success:#0c6b3f;--line:3px solid var(--ink);--lift:0 5px 0 var(--ink);--lift-sm:0 3px 0 var(--ink);--radius:20px;--tap:52px;--tap-big:64px;--focus-color:var(--blue);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-text);background:var(--color-bg);-webkit-text-size-adjust:100%;font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,Hiragino Sans,Noto Sans JP,system-ui,sans-serif;font-weight:500;line-height:1.6}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}body{background:var(--color-bg);margin:0}body:has(.page-tone-get){background:var(--yellow)}body:has(.page-tone-complete){background:var(--pink)}body:has(.page-tone-scan){background:var(--ink)}:is(body:has(.page-tone-staff),body:has(.admin-shell)){background:#f5f8fc}p,h1,h2,h3{margin:0}[hidden]{display:none!important}.page{flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;display:flex;overflow-x:clip}.page-header{z-index:2;min-height:64px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:var(--color-surface);color:var(--ink);border-bottom:var(--line);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.page-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:900;overflow:hidden}.page-kicker{font-size:.75rem;font-weight:700;line-height:1.3;display:block}.header-link{border:var(--line);background:var(--color-surface);min-height:44px;box-shadow:var(--lift-sm);color:inherit;font:inherit;cursor:pointer;border-radius:14px;flex:none;align-items:center;padding:4px 16px;font-weight:900;text-decoration:none;display:inline-flex}.header-link:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.page-body{flex:1;padding:20px 16px 32px}.page-footer{z-index:2;padding:12px 16px calc(16px + env(safe-area-inset-bottom));background:var(--color-surface);border-top:var(--line);flex-direction:column;gap:12px;display:flex;position:sticky;bottom:0}.page-footer-inline{margin:8px -16px -32px}.page-kid .page-footer-inline{margin-bottom:-32px}.page-kid .page-body{font-size:1.08rem}.page-kid{--tap:60px}ruby{ruby-position:over}rt{letter-spacing:.02em;font-size:.55em;font-weight:500}.page-kid .page-body,.page-kid .page-title{line-height:1.9}.page-title ruby{line-height:1.2}.page-tone-get{background:var(--yellow)}.page-tone-complete{background:var(--pink)}.page-tone-scan{background:var(--ink);color:#fff}.page-tone-scan .muted{color:#d5d9ee}.page-tone-scan .page-header{color:var(--ink)}.stack{flex-direction:column;gap:16px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.list-reset{margin:0;padding:0;list-style:none}.center{text-align:center}.muted{color:var(--color-muted)}.small{font-size:.85rem}.lead{font-size:1.2rem;font-weight:900}.heading{font-size:1.5rem;font-weight:900;line-height:1.45}.nickname{text-align:center;margin:0;font-size:1.3rem}.section-title{margin:0;font-size:1.1rem;font-weight:900}.card-box{background:var(--color-surface);border:var(--line);border-radius:var(--radius);padding:16px}.pop-box{background:var(--color-surface);border:var(--line);box-shadow:var(--lift);border-radius:22px;padding:14px 16px}.pill{border:var(--line);background:var(--color-surface);border-radius:999px;align-self:center;padding:2px 16px;font-size:.92rem;font-weight:900;display:inline-block}.pill-yellow{background:var(--yellow)}.button{min-height:var(--tap);border:var(--line);background:var(--yellow);box-shadow:var(--lift);color:var(--ink);font:inherit;text-align:center;cursor:pointer;border-radius:18px;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:1.1rem;font-weight:900;line-height:1.4;text-decoration:none;transition:transform 60ms,box-shadow 60ms;display:flex}.button:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.button:disabled{opacity:.5;cursor:default}.button-big{min-height:var(--tap-big);font-size:1.25rem}.button-secondary{background:var(--color-surface);color:var(--ink);box-shadow:var(--lift-sm)}.button-celebrate{background:var(--pink);color:var(--ink)}.button-dark{background:var(--ink);color:#fff}.button-yellow{background:var(--yellow);color:var(--ink)}.text-link{color:#1b3fae;font-weight:700}.field{flex-direction:column;gap:8px;display:flex}.field-label{font-weight:900}.field-hint{color:var(--color-muted);font-size:.88rem}.input{min-height:var(--tap-big);border:var(--line);box-shadow:0 4px 0 var(--ink);color:inherit;font:inherit;background:#fff;border-radius:18px;padding:10px 16px;font-size:1.3rem;font-weight:700}.input:focus{border-color:var(--blue)}.input::placeholder{color:#8a91ad;font-weight:500}:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px}.input:focus-visible{outline:3px solid var(--focus-color);outline-offset:2px}label.button:focus-within{outline:3px solid var(--focus-color);outline-offset:3px}.input-code{text-align:center;letter-spacing:.05em}.error-text{color:var(--color-error);font-weight:700}.notice{background:var(--color-surface);border:var(--line);color:var(--ink);border-radius:16px;padding:12px 16px}.notice-error{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error);flex-direction:column;gap:12px;display:flex}.notice-success{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.hero-mark{border:4px solid var(--ink);background:var(--pink);width:128px;height:128px;box-shadow:6px 6px 0 var(--ink);color:var(--yellow);border-radius:34px;place-items:center;margin:8px auto 4px;font-size:76px;line-height:1;display:grid;transform:rotate(-6deg)}.steps{flex-direction:column;gap:12px;display:flex}.step{background:var(--color-surface);border:var(--line);box-shadow:0 4px 0 var(--ink);text-align:left;border-radius:18px;align-items:center;gap:14px;padding:12px 16px;font-size:1.05rem;font-weight:900;display:flex}.step-num{width:28px;color:var(--blue);text-align:center;flex:none;font-size:1.75rem;line-height:1}.step-goal{background:var(--yellow)}.step-goal .step-num{color:var(--ink)}.progress{flex-direction:column;gap:8px;display:flex}.progress-remain{font-size:1.75rem;font-weight:900;line-height:1.3}.progress-remain strong{color:var(--red-text);font-size:2.75rem}.progress-remain-done{color:var(--red-text)}.progress-text{font-size:.95rem;font-weight:700}.progress-text .muted{font-weight:500}.progress-bar,.mini-segs{gap:5px;display:flex}.progress-seg{border:var(--line);background:var(--color-surface);border-radius:8px;flex:1;height:22px;transition:background-color .3s}.progress-seg-on{background:var(--pink)}.mini-segs .progress-seg{border-radius:7px;height:18px}.stamp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;margin:0;padding:0;list-style:none;display:grid}.stamp-cell{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.stamp-tile{aspect-ratio:1;background:var(--color-surface);border:3px dashed #7d86ab;border-radius:20px;place-items:center;width:100%;display:grid}.stamp-tile-on{border:var(--line);background:var(--yellow);box-shadow:0 4px 0 var(--ink)}.stamp-num{color:#5a6388;font-size:2rem;font-weight:900;line-height:1}.stamp{aspect-ratio:1;border:var(--line);background:var(--pink);color:#fff;border-radius:50%;place-items:center;width:70%;font-size:2rem;line-height:1;display:grid;transform:rotate(-8deg)}.stamp-pending{opacity:.6;border-style:dashed}.stamp-new{animation:.6s ease-out both stamp-press}.stamp-has-image{background:var(--color-surface);overflow:hidden}.stamp-tile-image{place-items:stretch stretch;overflow:hidden}.stamp-tile-image .stamp{border:0;border-radius:0;width:100%;height:100%;transform:none}.stamp-tile-image .stamp-new{animation-name:stamp-press-flat}@keyframes stamp-press-flat{0%{opacity:0;transform:scale(2.6)}55%{opacity:1;transform:scale(.88)}75%{transform:scale(1.06)}to{transform:scale(1)}}.stamp-image{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.page-banner{aspect-ratio:3;background:var(--color-surface);border-bottom:var(--line);overflow:hidden}.page-banner img{object-fit:cover;width:100%;height:100%;display:block}.stamp-name{word-break:break-all;font-size:.95rem;font-weight:700;line-height:1.6}.stamp-name:has(ruby){line-height:2}.big-stamp-wrap{width:150px;height:150px;margin:8px auto 12px;position:relative}.big-stamp{border:4px solid var(--ink);background:var(--pink);box-shadow:6px 6px 0 var(--ink);color:var(--yellow);border-radius:38px;place-items:center;font-size:86px;line-height:1;display:grid;position:absolute;inset:0;overflow:hidden;transform:rotate(-8deg)}.big-stamp.stamp-has-image{background:var(--color-surface)}.big-stamp-new{animation:.65s ease-out both stamp-press}.big-stamp-ring{border:6px solid var(--ink);opacity:0;border-radius:50%;animation:.9s ease-out .3s backwards stamp-ring;position:absolute;inset:0}.big-stamp-ring-late{animation-delay:.55s}@keyframes stamp-press{0%{opacity:0;transform:scale(2.6)rotate(-30deg)}55%{opacity:1;transform:scale(.88)rotate(-4deg)}75%{transform:scale(1.06)rotate(-10deg)}to{transform:scale(1)rotate(-8deg)}}@keyframes stamp-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.4)}}.get-title{color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink);margin:4px 0 8px;font-size:clamp(2.5rem,15vw,3.75rem);font-weight:900;line-height:1.1;transform:rotate(-4deg)}.card-summary{flex-direction:column;gap:8px;display:flex}.card-summary-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.card-summary-name{color:var(--color-muted);margin:0;font-size:.92rem;font-weight:700}.card-summary-head .button-small{flex:none}.card-link{background:var(--color-surface);border:var(--line);box-shadow:var(--lift);color:inherit;border-radius:22px;gap:6px;padding:16px;text-decoration:none;display:grid}.card-link:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.card-link-revoked{box-shadow:none;opacity:.6;border-style:dashed}.card-link-event{color:var(--color-muted);font-size:.85rem;font-weight:700}.card-link-name{font-size:1.5rem;font-weight:900;line-height:1.3}.card-link-status{font-weight:900}.card-tabs{gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.card-tab{border:var(--line);background:var(--color-surface);min-height:48px;color:var(--ink);border-radius:14px;flex:none;align-items:center;padding:4px 20px;font-weight:900;text-decoration:none;display:inline-flex}.card-tab[aria-current=page]{background:var(--ink);color:#fff}.many-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.many-name{color:inherit;font-size:1.25rem;font-weight:900}.recovery-code{border:var(--line);background:var(--yellow);text-align:center;letter-spacing:.05em;-webkit-user-select:all;user-select:all;border-radius:14px;padding:10px;font-size:1.5rem;font-weight:900}.sheet{border:none;border-top:var(--line);background:var(--color-bg);width:100%;max-width:560px;max-height:92dvh;color:var(--ink);border-radius:26px 26px 0 0;margin:auto auto 0;padding:0}.sheet[open]{animation:.22s ease-out sheet-up}.sheet::backdrop{background:#1b1f3b99}.sheet-body{padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.sheet-title{font-size:1.25rem;font-weight:900}@keyframes sheet-up{0%{transform:translateY(40%)}to{transform:translateY(0)}}.sound-toggle{background:var(--color-surface);border:var(--line);min-height:60px;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:20px;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;font-weight:900;display:flex}.sound-toggle-state{background:var(--ink);color:#fff;border-radius:999px;flex:none;padding:2px 14px}.sound-toggle[aria-pressed=false] .sound-toggle-state{color:var(--ink);background:#c3cbe0}.complete-banner{padding:4px 0}.complete-title{color:var(--yellow);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:5px 5px 0 var(--ink);font-size:clamp(2.75rem,16vw,4rem);font-weight:900;line-height:1.15;transform:rotate(-3deg)}.complete-banner .lead{margin-top:6px}.confirm-box{background:var(--color-surface);border:var(--line);box-shadow:0 6px 0 var(--ink);border-radius:24px;flex-direction:column;align-items:center;gap:6px;padding:18px 16px;display:flex}.confirm-label{color:var(--color-muted);margin-top:6px;font-size:.9rem;font-weight:700}.confirm-code{letter-spacing:.14em;font-variant-numeric:tabular-nums;font-size:clamp(3rem,18vw,4.25rem);font-weight:900;line-height:1}.live-clock{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:1.4rem;font-weight:900;display:inline-flex}.live-dot{background:var(--red-text);border-radius:50%;width:12px;height:12px;animation:1s steps(2,start) infinite blink}@keyframes blink{to{visibility:hidden}}.confetti{z-index:10;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti-piece{opacity:0;border-radius:2px;width:10px;height:16px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.25,.6,.5,1);animation-fill-mode:both;position:absolute;top:-20px}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}85%{opacity:1}to{transform:translate(var(--drift), 105vh) rotate(calc(var(--rotate) + 540deg));opacity:0}}.scanner{aspect-ratio:1;border:4px solid var(--yellow);background:#000;border-radius:22px;position:relative;overflow:hidden}.scanner-video{object-fit:cover;width:100%;height:100%;display:block}.scanner-frame{border:5px dashed var(--yellow);pointer-events:none;border-radius:18px;position:absolute;inset:14%;box-shadow:0 0 0 100vmax #0006}.page-tone-scan .page-body>.stack>.center:not(.muted){font-size:1.2rem;font-weight:900}.qr-code{border:var(--line);border-radius:12px;width:min(200px,56vw);height:auto;margin-top:10px;display:block}:is(.page-tone-staff,.admin-shell,.print-root){--radius:12px;--tap-big:52px;font-size:15px}:is(.page-tone-staff,.admin-shell,.print-root) .card-box{border:1px solid #d5dbea;border-radius:12px;padding:18px}:is(.page-tone-staff,.admin-shell,.print-root) .button{background:var(--ink);min-height:48px;box-shadow:none;color:#fff;border:none;border-radius:10px;font-size:1rem}:is(.page-tone-staff,.admin-shell,.print-root) .button:active:not(:disabled){box-shadow:none;opacity:.85;transform:none}:is(.page-tone-staff,.admin-shell,.print-root) .button-secondary{border:1.5px solid var(--ink);color:var(--ink);background:#fff}:is(.page-tone-staff,.admin-shell,.print-root) .button-celebrate{color:#fff;background:#b3261e}:is(.page-tone-staff,.admin-shell,.print-root) .button-yellow{background:var(--yellow);color:var(--ink)}:is(.page-tone-staff,.admin-shell,.print-root) .button-small{width:auto;min-height:40px;padding:6px 14px;font-size:.93rem;font-weight:700}:is(.page-tone-staff,.admin-shell,.print-root) .input{border:1.5px solid var(--color-border);min-height:44px;box-shadow:none;border-radius:8px;padding:8px 12px;font-size:16px;font-weight:500}:is(.page-tone-staff,.admin-shell,.print-root) .input:focus{border-color:var(--ink)}:is(.page-tone-staff,.admin-shell,.print-root) .field{gap:4px}:is(.page-tone-staff,.admin-shell,.print-root) .field-label{font-weight:700}:is(.page-tone-staff,.admin-shell,.print-root) .field-hint{font-size:.85rem}:is(.page-tone-staff,.admin-shell,.print-root) .notice{border:1px solid #d5dbea;border-radius:10px;padding:12px 14px}:is(.page-tone-staff,.admin-shell,.print-root) .notice-error{color:#b3261e;background:#fdf1f0;border-color:#e3b5b0}:is(.page-tone-staff,.admin-shell,.print-root) .notice-success{border-color:#b5e2c8}:is(.page-tone-staff,.admin-shell,.print-root) .error-text{color:#b3261e}.page-tone-staff .page-header{background:var(--ink);color:#fff;border-bottom:none}.page-tone-staff .page-kicker{color:#b8bedb}.page-tone-staff .header-link{min-height:44px;box-shadow:none;background:0 0;border:1.5px solid #ffffffb3;border-radius:10px;padding:4px 12px;font-size:.93rem;font-weight:700}.page-tone-staff .page-footer{border-top:1px solid #d5dbea}.page-tone-staff .button-dark{min-height:56px;font-size:1.1rem;font-weight:900}.staff-code-input{letter-spacing:.45em;font-variant-numeric:tabular-nums;min-height:72px;padding-left:.45em;font-size:2.4rem;font-weight:900}.page-tone-staff .staff-code-input{border:2px solid var(--ink);border-radius:12px;font-size:2.4rem;font-weight:900}.staff-match{border:2px solid var(--ink)!important;border-radius:14px!important}.staff-match-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.staff-match-name{font-size:1.6rem;font-weight:900;line-height:1.3}.page-tone-staff .staff-match .button-celebrate{border:var(--line);background:var(--pink);min-height:64px;box-shadow:0 4px 0 var(--ink);color:var(--ink);border-radius:14px;font-size:1.15rem;font-weight:900}.page-tone-staff .staff-match .button-celebrate:active:not(:disabled){box-shadow:0 1px 0 var(--ink);opacity:1;transform:translateY(3px)}.page-tone-staff .notice-success.lead{font-size:1.25rem;font-weight:900}.notice-check{background:#fff7d6!important;border:none!important}.staff-checklist{margin:4px 0 0;padding-left:1.2em}.page-tone-staff .scanner{border-color:var(--ink)}.admin-shell{min-height:100dvh;color:var(--ink);display:flex}a.button{text-decoration:none}.button-small{width:auto;min-height:44px;padding:6px 14px;font-size:.95rem}.admin-sidebar{display:none}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-topbar{z-index:3;min-height:60px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:var(--ink);color:#fff;align-items:center;gap:10px;display:flex;position:sticky;top:0}.admin-back{color:#fff;place-items:center;min-width:44px;min-height:44px;margin-left:-10px;font-size:1.6rem;font-weight:900;text-decoration:none;display:grid}.admin-topbar-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:900;overflow:hidden}.admin-content{flex:1;width:100%;max-width:1200px;padding:16px 16px 40px}.admin-h1{margin:0;font-size:1.5rem;font-weight:900;line-height:1.4}.admin-h1 .badge{vertical-align:middle}.admin-h3{margin:0;font-size:1rem;font-weight:900}.admin-desktop-only{display:none}.admin-page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-after-form{margin-top:12px}.badge{color:#7a5200;white-space:nowrap;background:#fff0c2;border-radius:999px;padding:2px 10px;font-size:.82rem;font-weight:700;line-height:1.5;display:inline-block}.badge-live{background:var(--color-success-bg);color:var(--color-success)}.badge-muted{color:var(--color-muted);background:#e3e8f2}.admin-dot{background:#9aa79f;border-radius:50%;flex:none;width:9px;height:9px}.admin-dot-live{background:#6fe3a5}.admin-dot-before{background:var(--yellow)}.admin-event-table{background:#fff;border:1px solid #d5dbea;border-radius:12px;overflow:hidden}.admin-event-thead{display:none}.admin-event-row{color:inherit;border-top:1px solid #e3e8f2;gap:4px;padding:14px 16px;text-decoration:none;display:grid}.admin-event-table li:first-child .admin-event-row{border-top:none}.admin-event-row:hover{background:#f5f8fc}.admin-event-name{flex-direction:column;line-height:1.4;display:flex}.admin-warn{color:#b3261e;font-weight:700}.admin-fieldset{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.admin-radio{align-items:center;gap:8px;min-height:44px;display:flex}.admin-radio input{width:20px;height:20px;accent-color:var(--ink);margin:0}.admin-choice{border:1.5px solid var(--color-border);cursor:pointer;background:#fff;border-radius:10px;padding:8px 12px}.admin-choice:has(input:checked){border:2px solid var(--ink);background:#e9f3ff;font-weight:700}.admin-choice-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.admin-two-col{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.admin-input-narrow{max-width:12em}.admin-form-cols{align-items:start;gap:16px;display:grid}.admin-submit{align-self:flex-start;padding-inline:28px}.admin-url{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.admin-url .field-label{color:var(--color-muted);flex-basis:100%;font-size:.85rem}.admin-url-text{overflow-wrap:anywhere;flex:200px;min-width:0;font-size:.88rem;line-height:1.4}.admin-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-detail-head{flex-wrap:wrap;align-items:flex-start;gap:12px 16px;margin-bottom:12px;display:flex}.admin-detail-title{flex:320px;min-width:0}.admin-detail-actions{z-index:3;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #d5dbea;grid-template-columns:1fr 1fr;gap:8px;display:grid;position:fixed;inset:auto 0 0}.admin-detail-actions .button{min-height:48px}.admin-shell:has(.admin-detail-actions) .admin-content{padding-bottom:100px}.admin-tabs{background:#fff;border-bottom:1px solid #d5dbea;grid-auto-columns:1fr;grid-auto-flow:column;margin:0 -16px 16px;display:grid}.admin-tab{min-height:48px;color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:0 12px;font-weight:700}.admin-tab[aria-selected=true]{border-bottom-color:var(--ink);color:var(--ink);font-weight:900}.admin-tab:hover{color:var(--ink)}.admin-stats-layout{align-items:start;gap:16px;display:grid}.admin-stats{text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.admin-stat{border:1px solid #d5dbea;border-radius:12px;flex-direction:column;padding:10px 4px;display:flex}.admin-stat-value{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:900;line-height:1.2}.admin-table{border-collapse:collapse;width:100%}.admin-table caption{text-align:left;padding-bottom:6px}.admin-table th,.admin-table td{padding:6px 0}.admin-table th{text-align:left;overflow-wrap:anywhere;width:36%;padding-right:8px;font-weight:500}.admin-bar-cell{background:linear-gradient(#e3e8f2,#e3e8f2) 50%/100% 14px no-repeat;width:54%}.admin-bar{background:var(--ink);border-radius:7px;min-width:2px;height:14px;display:block}.admin-num{text-align:right;font-variant-numeric:tabular-nums;width:10%;padding-left:8px;font-weight:700}.admin-cp-list{background:#fff;border:1px solid #d5dbea;border-radius:12px;margin-bottom:14px;overflow:hidden}.admin-cp-list:empty{display:none}.admin-cp{border-top:1px solid #e3e8f2;flex-direction:column;gap:10px;padding:12px 16px;display:flex}.admin-cp:first-child{border-top:none}.admin-cp-head{align-items:flex-start;gap:12px;display:flex}.admin-cp-num{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:.85rem;font-weight:900;display:grid}.admin-cp-text{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;display:flex}.admin-move,.admin-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-move .button{border-color:var(--color-border);min-width:40px;padding-inline:10px}.admin-add-cp{flex-direction:column;gap:8px;display:flex}.admin-image{gap:6px;display:grid}.admin-image-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-image-preview{border:2px dashed var(--color-border);background:#fff;flex:none;place-items:center;display:grid;overflow:hidden}.admin-image-preview img{object-fit:cover;width:100%;height:100%}.admin-image-stamp{border-radius:50%;width:44px;height:44px}.admin-image-banner{aspect-ratio:3;border-radius:8px;width:180px}.is-disabled{opacity:.5;pointer-events:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-danger-text{color:#b3261e!important;border-color:#b3261e!important}.admin-danger-zone{border-color:#e3b5b0!important}.admin-danger-title{color:#b3261e}.admin-danger-zone .admin-section-head{flex-wrap:wrap}@media (width>=960px){.admin-sidebar{background:var(--ink);color:#fff;flex-direction:column;flex:none;gap:14px;width:248px;height:100dvh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.admin-side-title{color:#fff;padding:0 8px;font-size:1.1rem;font-weight:900;text-decoration:none}.admin-sidebar .button-yellow{min-height:44px;font-weight:900}.admin-side-link,.admin-side-event{color:#fff;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:4px 10px;line-height:1.3;text-decoration:none;display:flex}.admin-side-link{font-weight:700}.admin-side-event{min-height:44px}.admin-side-link:hover,.admin-side-event:hover{background:#ffffff1f}.admin-side-event[aria-current=page]{background:#ffffff29;font-weight:700}.admin-side-group{flex-direction:column;gap:4px;display:flex}.admin-side-caption{color:#b8bedb;padding:0 10px;font-size:.8rem}.admin-sidebar :focus-visible{outline-color:var(--yellow)}.admin-topbar{display:none}.admin-content{padding:28px 32px 48px}.admin-desktop-only{margin-bottom:16px;display:block}.admin-event-cols{grid-template-columns:90px minmax(0,1fr) 260px 90px 100px;align-items:center;gap:12px;display:grid}.admin-event-thead{color:var(--color-muted);background:#edf1f8;padding:10px 18px;font-size:.85rem;font-weight:700}.admin-event-row{padding:14px 18px}.admin-event-table li:first-child .admin-event-row{border-top:1px solid #e3e8f2}.admin-cell-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.admin-detail-actions{background:0 0;border:none;padding:0;display:flex;position:static}.admin-shell:has(.admin-detail-actions) .admin-content{padding-bottom:48px}.admin-tabs{background:0 0;gap:4px;margin:0 0 24px;display:flex}.admin-tab{padding:0 18px}.admin-stats-layout{grid-template-columns:minmax(0,1fr) 340px;gap:20px}.admin-stat{text-align:left;padding:16px 18px}.admin-stat-value{font-size:2.4rem}.admin-form-cols{grid-template-columns:1fr 1fr;gap:20px}.admin-cp:not(.admin-cp-editing){grid-template-columns:92px 32px auto minmax(0,1fr) auto;grid-template-areas:"move num img text actions";align-items:center;gap:10px 12px;display:grid}.admin-cp:not(.admin-cp-editing)>.admin-cp-head{display:contents}.admin-cp-head>.admin-cp-num{grid-area:num}.admin-cp-head>.admin-cp-text{grid-area:text}.admin-cp-head>.admin-move{flex-wrap:nowrap;grid-area:move}.admin-cp>.admin-image{grid-area:img}.admin-cp>.admin-actions{grid-area:actions;justify-content:flex-end}.admin-cp>.notice{grid-column:1/-1}.admin-add-cp{grid-template-columns:1fr 1fr 1.4fr auto;align-items:end;gap:10px;display:grid}.admin-add-cp>.admin-add-cp-title,.admin-add-cp>.error-text{grid-column:1/-1}}.print-root{min-height:100dvh;color:var(--ink);background:#e3e8f2;padding-bottom:24px}.print-toolbar{z-index:1;background:#fff;border-bottom:1px solid #d5dbea;padding:12px 16px;position:sticky;top:0}.print-toolbar>.stack-sm{max-width:760px;margin:0 auto}.print-picks{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 12px;padding-top:4px;display:grid}.poster{background:var(--yellow);width:210mm;max-width:calc(100% - 32px);height:297mm;color:var(--ink);text-align:center;border:3mm solid var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:6mm;margin:16px auto 0;padding:14mm;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000026}.poster-event{font-size:16pt;font-weight:900}.poster-kicker{border:1.2mm solid var(--ink);background:var(--pink);box-shadow:1.2mm 1.2mm 0 var(--ink);color:var(--ink);border-radius:4mm;padding:1mm 7mm;font-size:18pt;font-weight:900;transform:rotate(-3deg)}.poster-heading{overflow-wrap:anywhere;margin:0;font-size:44pt;font-weight:900;line-height:1.4}.poster-description{overflow-wrap:anywhere;font-size:16pt;font-weight:700}.poster-qr{border:1.5mm solid var(--ink);width:120mm;max-width:100%;height:auto;box-shadow:2.5mm 2.5mm 0 var(--ink);background:#fff;border-radius:6mm;display:block}.poster-howto{font-size:20pt;font-weight:900}.poster-url{color:var(--color-muted);overflow-wrap:anywhere;font-size:8pt}@page{size:A4;margin:0}@media print{.no-print{display:none!important}body,.print-root{background:#fff}.poster{max-width:none;box-shadow:none;break-after:page;-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:0}.poster:last-child{break-after:auto}}.mountain-map{--map-sky:#dcebf2;--map-ground:#d3e4b6;--map-trail:#a89a6c;--map-trail-bed:#f6f1e4;--map-walked:#e2472f;--map-label-bg:#f6f1e4;--map-green:#1f6b4a;--map-goal:#ffc93c;border:var(--line);background:var(--map-sky);width:100%;box-shadow:var(--lift);border-radius:22px;position:relative;overflow:hidden}.mountain-svg{width:100%;height:100%;position:absolute;inset:0}.mountain-ground{fill:var(--map-ground)}.mountain-snow{fill:#fff}.mountain-trail-bed,.mountain-trail,.mountain-walked{fill:none;stroke-linecap:round}.mountain-trail-bed{stroke:var(--map-trail-bed);stroke-width:18px}.mountain-trail{stroke:var(--map-trail);stroke-width:5px;stroke-dasharray:2 12}.mountain-walked{stroke:var(--map-walked);stroke-width:7px}.mountain-stations{margin:0;padding:0;list-style:none}.mountain-station,.mountain-summit{text-align:center;flex-direction:column;align-items:center;gap:4px;width:33%;display:flex;position:absolute;transform:translate(-50%)}.mountain-mark{aspect-ratio:1;box-sizing:border-box;border:3px dashed var(--map-trail);color:#6b6240;background:#fff;border-radius:50%;place-items:center;width:76px;max-width:100%;font-weight:900;line-height:1;display:grid}.mountain-mark-num{font-size:.8rem}.mountain-mark-n{font-size:1.75rem}.mountain-mark-on{border:var(--line);background:var(--pink);color:#fff;box-shadow:0 0 0 4px var(--map-trail-bed);font-size:2.25rem;transform:rotate(-8deg)}.mountain-mark-on.stamp-has-image{background:var(--color-surface);overflow:hidden}.mountain-mark-on.stamp-pending{border-style:dashed}.mountain-label{background:var(--map-label-bg);border-radius:12px;flex-direction:column;align-items:center;max-width:100%;padding:2px 10px;line-height:1.5;display:flex}.mountain-label-step{color:var(--map-green);font-size:.75rem;font-weight:900}.mountain-label-name{overflow-wrap:anywhere;font-size:.9rem;font-weight:700}.mountain-summit-badge{aspect-ratio:1;background:var(--map-green);color:#fff;width:76px;box-shadow:0 0 0 4px var(--map-trail-bed);border-radius:50%;place-items:center;font-size:1.15rem;font-weight:900;display:grid}.mountain-summit-done{background:var(--map-goal);color:var(--ink);box-shadow:0 0 0 4px var(--map-trail-bed), 0 0 0 7px var(--map-goal);font-size:.95rem}
