:root{--bg:#f4f5f7;--bg-2:#eceef2;--surface:#fff;--surface-2:#f7f8fa;--surface-3:#eef0f4;--ink:#1a1d23;--ink-2:#555c67;--ink-3:#696f78;--line:#161a211c;--line-2:#161a210d;--accent:#295ed2;--accent-ink:#fff;--accent-deep:#1f56d6;--accent-soft:color-mix(in srgb, var(--accent) 11%, transparent);--accent-line:color-mix(in srgb, var(--accent) 40%, var(--line));--indigo:#7158e0;--indigo-soft:color-mix(in srgb, var(--indigo) 12%, transparent);--indigo-line:color-mix(in srgb, var(--indigo) 42%, var(--line));--gold:#b0852a;--ok:#1f9d57;--warn:#d08a16;--danger:#e2453a;--warn-soft:color-mix(in srgb, var(--warn) 15%, transparent);--danger-soft:color-mix(in srgb, var(--danger) 12%, transparent);--ok-soft:color-mix(in srgb, var(--ok) 14%, transparent);--radius:16px;--radius-sm:11px;--maxw:760px;--font:"IBM Plex Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--serif:var(--font);--shadow-1:0 1px 2px #1418210f;--shadow-2:0 16px 40px -24px #1418214d}[data-theme=dark]{--bg:#14161b;--bg-2:#1a1d24;--surface:#1e2128;--surface-2:#242832;--surface-3:#2c313c;--ink:#eef1f6;--ink-2:#a8b0bd;--ink-3:#949cab;--line:#e8eef821;--line-2:#e8eef80f;--accent:#5b8cf5;--accent-ink:#0b1220;--accent-deep:#2f6df0;--indigo:#9a86ee;--gold:#d6b250;--warn:#e0a13a;--danger:#ef6258;--ok:#44b873;--shadow-1:0 1px 2px #0006;--shadow-2:0 18px 48px -22px #000000b3}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}html,body{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100dvh;line-height:1.55}body:before{content:"";z-index:0;pointer-events:none;opacity:1;background-image:radial-gradient(130% 80% at 50% -20%, var(--bg-2) 0%, transparent 62%);position:fixed;inset:0}a{color:inherit;text-decoration:none}button{font-family:inherit}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.app{z-index:1;max-width:var(--maxw);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex;position:relative}.topbar{z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 84%, transparent);backdrop-filter:blur(12px);align-items:center;gap:12px;padding:11px clamp(14px,4vw,22px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;min-width:0;display:flex}.brand__mark{background:var(--surface);border:1px solid var(--line);width:38px;height:38px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}.brand__mark svg{width:22px;height:22px}.brand__txt{min-width:0}.brand__name{white-space:nowrap;text-overflow:ellipsis;font-size:15.5px;font-weight:600;line-height:1.15;display:block;overflow:hidden}.brand__sub{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:10px}.topspring{flex:1}.store-badge{max-width:40vw;color:var(--accent);border:1px solid var(--accent-line);background:var(--accent-soft);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:11.5px;font-weight:600;display:inline-flex;overflow:hidden}.store-badge:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.actions{align-items:center;gap:7px;display:flex}.iconbtn{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink-2);cursor:pointer;border-radius:10px;place-items:center;transition:color .16s,border-color .16s,background .16s,transform .12s;display:grid;position:relative}.iconbtn:hover{color:var(--ink);border-color:var(--ink-3)}.iconbtn:active{transform:translateY(1px)}.iconbtn svg{width:19px;height:19px}.iconbtn .tip{top:46px;font-family:var(--mono);white-space:nowrap;background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;z-index:40;border-radius:6px;padding:4px 8px;font-size:10px;transition:opacity .15s;position:absolute;inset-inline-end:0}.iconbtn:hover .tip{opacity:.95}.main{flex:1;min-height:0;position:relative}.screen{flex-direction:column;gap:16px;padding:clamp(14px,4vw,20px) clamp(14px,4vw,22px) 112px;display:none}.screen.is-active{animation:.26s both scrIn;display:flex}@keyframes scrIn{0%{opacity:0;transform:translateY(6px)}}.section-lab{color:var(--ink-2);letter-spacing:.01em;align-items:center;gap:9px;padding:0 2px;font-size:12px;font-weight:700;display:flex}.section-lab .en{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:9px;font-weight:500}.section-lab__line{background:var(--line-2);flex:1;height:1px}.section-lab__count{font-family:var(--mono);color:var(--ink-3);font-size:11px}.section-lab__btn{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:5px 11px;font-size:11.5px;font-weight:600;display:inline-flex}.section-lab__btn svg{width:14px;height:14px}.section-lab__btn:hover{border-color:var(--accent-line);color:var(--accent)}.hero-scan{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.scan-cta{text-align:center;border-radius:var(--radius);cursor:pointer;background:var(--accent);min-width:0;min-height:96px;color:var(--accent-ink);letter-spacing:.02em;box-shadow:0 14px 30px -12px color-mix(in srgb, var(--accent) 64%, transparent);border:none;justify-content:center;align-items:center;gap:12px;font-size:21px;font-weight:700;line-height:1.15;transition:background .16s,transform .1s;display:flex;overflow:hidden}.scan-cta:hover{background:var(--accent-deep)}.scan-cta:active{transform:scale(.99)}.scan-cta svg{flex:none;width:34px;height:34px}.scan-side{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-2);width:96px;color:var(--ink-2);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:600;transition:border-color .15s,color .15s;display:flex}.scan-side:hover{border-color:var(--accent-line);color:var(--accent)}.scan-side svg{width:24px;height:24px}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.stat-card{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);min-width:0;padding:14px 14px 13px}.stat-card__k{color:var(--ink-3);letter-spacing:.03em;font-size:11px}.stat-card__v{font-family:var(--mono);letter-spacing:-.02em;margin-top:3px;font-size:26px;font-weight:700}.stat-card__u{color:var(--ink-3);font-size:12px;font-weight:600}.stat-card--stamp .stat-card__v{color:var(--accent)}.stat-card--ticket .stat-card__v{color:var(--indigo)}.cust-list{flex-direction:column;gap:8px;display:flex}.cust{text-align:start;cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:border-color .14s,background .14s,transform 80ms;display:grid}.cust:hover{border-color:var(--accent-line);background:var(--surface-2)}.cust:active{transform:scale(.995)}.cust__ava{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);font-family:var(--serif);border:1px solid var(--accent-line);border-radius:12px;flex:none;place-items:center;font-size:18px;font-weight:700;display:grid}.cust__main{min-width:0}.cust__name{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;line-height:1.3;overflow:hidden}.cust__meta{color:var(--ink-3);flex-wrap:wrap;gap:8px;margin-top:2px;font-size:11.5px;display:flex}.cust__meta .mono{font-size:11px}.cust__badges{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.cust__pill{font-family:var(--mono);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.cust__pill--stamp{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line)}.cust__pill--ticket{color:var(--indigo);background:var(--indigo-soft);border:1px solid var(--indigo-line)}.card-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:13px;padding:16px 17px;display:flex}.card-box__lead{color:var(--ink-2);text-wrap:pretty;font-size:12.5px;line-height:1.7}.card-box__lead b{color:var(--ink)}.qty-pick{align-items:center;gap:8px;display:flex}.qty-pick .seg{flex:1}.print-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.qrcard{border:1px dashed var(--line);color:#1a1208;text-align:center;background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:7px;padding:12px 10px 10px;display:flex;position:relative}.qrcard__store{color:#333a45;font-size:11px;font-weight:700}.qrcard__qr{aspect-ratio:1;place-items:center;width:100%;max-width:130px;display:grid}.qrcard__qr svg{width:100%;height:100%;display:block}.qrcard__label{letter-spacing:.08em;color:#8a909b;font-size:10px;font-weight:700}.qrcard__id{font-family:var(--mono);color:#1a1d23;letter-spacing:.04em;font-size:13px;font-weight:700;line-height:1.3}.qrcard__dl{top:7px;cursor:pointer;background:var(--surface-2);width:30px;height:30px;color:var(--ink-2);border:1px solid var(--line);border-radius:9px;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid;position:absolute;inset-inline-end:7px}.qrcard__dl svg{width:16px;height:16px}.qrcard__dl:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.qrcard__dl:disabled{opacity:.5;cursor:default}@media print{.qrcard__dl{display:none!important}}.card-preview-empty{text-align:center;color:var(--ink-3);grid-column:1/-1;padding:26px;font-size:13px}.sheet__lead{color:var(--ink-2);margin:0 0 14px;font-size:12.5px;line-height:1.6}.reissue-card-host{justify-content:center;margin-bottom:18px;display:flex}.reissue-card-host .qrcard{width:220px}.reissue-actions{flex-direction:column;gap:10px;display:flex}.cfg-list{flex-direction:column;gap:8px;display:flex}.cfg-row{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:11px 13px;display:grid}.cfg-row__main{min-width:0}.cfg-row__t{font-size:13.5px;font-weight:600}.cfg-row__s{color:var(--ink-3);margin-top:1px;font-size:11px}.cfg-row__tag{font-family:var(--mono);color:var(--indigo);border:1px solid var(--indigo-line);background:var(--indigo-soft);border-radius:999px;padding:1px 7px;font-size:10px}.cfg-del{border:1px solid var(--line);width:32px;height:32px;color:var(--ink-3);cursor:pointer;background:0 0;border-radius:8px;place-items:center;display:grid}.cfg-del:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--line));background:var(--danger-soft)}.cfg-del svg{width:15px;height:15px}.cfg-del:disabled{opacity:.3;cursor:default}.cfg-add{grid-template-columns:1fr auto auto;align-items:stretch;gap:8px;display:grid}.cfg-add .tin{height:42px}.set-block{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:10px;padding:13px 14px;display:flex}.set-block__row{align-items:center;gap:10px;display:flex}.set-block__t{font-size:13px;font-weight:700}.set-block__s{color:var(--ink-3);flex:1;font-size:11.5px}.storage-bar{background:var(--surface-3);border-radius:5px;height:7px;overflow:hidden}.storage-bar i{background:var(--indigo);border-radius:5px;height:100%;transition:width .4s;display:block}.detail{z-index:45;background:var(--bg);flex-direction:column;transition:transform .3s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;inset:0;overflow:hidden;transform:translate(100%)}.detail.show{transform:translate(0)}.detail__bar{z-index:2;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 86%, transparent);backdrop-filter:blur(12px);align-items:center;gap:10px;padding:11px clamp(14px,4vw,22px);display:flex;position:sticky;top:0}.detail__back{border:1px solid var(--line);background:var(--surface);height:44px;color:var(--ink-2);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 12px 0 8px;font-size:13px;font-weight:600;display:inline-flex}.detail__back:hover{color:var(--ink);border-color:var(--ink-3)}.detail__back svg{width:18px;height:18px}.detail__bartitle{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:700;overflow:hidden}.detail__scroll{flex-direction:column;flex:1;gap:16px;padding:clamp(14px,4vw,20px) clamp(14px,4vw,22px) 40px;display:flex;overflow-y:auto}.detail__scroll>*{flex-shrink:0}.detail__note{color:var(--ink-3);margin:0;font-size:12px;line-height:1.6}.detail__note b{color:var(--ink-2);font-weight:600}.cust-head{border:1px solid var(--accent-line);border-radius:var(--radius);background:radial-gradient(140% 130% at 0% 0%, var(--accent-soft) 0%, transparent 55%), var(--surface);align-items:flex-start;gap:14px;padding:18px;display:flex}.cust-head__ava{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);font-family:var(--serif);border:1px solid var(--accent-line);border-radius:16px;flex:none;place-items:center;font-size:26px;font-weight:700;display:grid}.cust-head__main{flex:1;min-width:0}.cust-head__name{font-size:21px;font-weight:700;line-height:1.2}.cust-head__id{font-family:var(--mono);color:var(--ink-3);word-break:break-all;margin-top:4px;font-size:10.5px}.cust-head__edit{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink-3);cursor:pointer;border-radius:10px;flex:none;place-items:center;display:grid}.cust-head__edit:hover{color:var(--accent);border-color:var(--accent-line)}.cust-head__edit svg{width:17px;height:17px}.attr-rows{flex-direction:column;gap:6px;margin-top:12px;display:flex}.attr-row{gap:10px;font-size:13px;line-height:1.5;display:flex}.attr-row__k{width:84px;color:var(--ink-3);flex:none;font-size:12px}.attr-row__v{color:var(--ink);word-break:break-word;flex:1;font-weight:500}.stamp-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:14px;padding:16px 17px;display:flex}.stamp-panel__top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.stamp-panel__title{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.stamp-panel__title .en{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:9px}.stamp-panel__count{font-family:var(--mono);color:var(--ink-2);font-size:13px}.stamp-panel__count b{color:var(--accent);font-size:17px}.stamp-grid{grid-template-columns:repeat(5,1fr);gap:10px;width:100%;max-width:360px;margin:0 auto;display:grid}.stamp-cell{aspect-ratio:1;border:1.5px dashed var(--line);color:var(--ink-3);font-family:var(--mono);border-radius:50%;place-items:center;font-size:12px;display:grid;position:relative}.stamp-cell.filled{border:2px solid var(--accent);color:var(--accent);background:radial-gradient(120% 120% at 32% 26%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%);font-family:var(--serif);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent);font-size:clamp(14px,4.4vw,22px);font-weight:700;animation:.34s cubic-bezier(.3,1.4,.5,1) both stampPop}.stamp-cell.goal{border-style:solid;border-color:var(--gold);color:var(--gold)}@keyframes stampPop{0%{opacity:0;transform:scale(1.7)rotate(-12deg)}60%{opacity:1}to{transform:scale(1)rotate(0)}}.stamp-reward{color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font-size:12px;line-height:1.6}.stamp-reward b{color:var(--gold)}.stamp-reward.ready{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, transparent);color:var(--ink)}.big-action{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;height:58px;font-size:16px;font-weight:700;transition:background .16s,transform .1s,filter .16s;display:flex}.big-action:active{transform:scale(.99)}.big-action svg{width:22px;height:22px}.big-action--stamp{background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 24px -12px color-mix(in srgb, var(--accent) 60%, transparent)}.big-action--stamp:hover{background:var(--accent-deep)}.big-action--reward{background:var(--gold);color:#1a1208}.big-action--reward:hover{filter:brightness(1.06)}.big-action--ticket{background:var(--indigo);color:#fff}.big-action--ticket:hover{filter:brightness(1.07)}.big-action--ghost{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.big-action--ghost:hover{border-color:var(--ink-3);color:var(--ink)}.stamp-undo{cursor:pointer;border:1px solid var(--line);min-height:44px;color:var(--ink-3);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:7px;margin:8px auto 0;padding:7px 14px;font-size:12.5px;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:flex}.stamp-undo svg{width:15px;height:15px}.stamp-undo:hover{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.ticket-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:12px;padding:16px 17px;display:flex}.ticket-list{flex-direction:column;gap:10px;display:flex}.ticket{border:1px solid var(--indigo-line);border-radius:var(--radius-sm);background:radial-gradient(140% 130% at 100% 0%, var(--indigo-soft) 0%, transparent 55%), var(--surface);overflow:hidden}.ticket__top{align-items:center;gap:10px;padding:12px 14px 10px;display:flex}.ticket__name{flex:1;font-size:14px;font-weight:700}.ticket__rem{font-family:var(--mono);color:var(--indigo);font-size:13px;font-weight:700}.ticket__rem b{font-size:20px}.ticket__punches{flex-wrap:wrap;gap:5px;padding:0 14px 12px;display:flex}.punch{border:1.5px solid var(--indigo-line);border-radius:50%;width:16px;height:16px}.punch.used{background:var(--indigo);border-color:var(--indigo);opacity:.35}.ticket__foot{border-top:1px solid var(--line-2);background:var(--surface-2);gap:8px;padding:10px 12px;display:flex}.ticket__usebtn{cursor:pointer;background:var(--indigo);color:#fff;border:none;border-radius:9px;flex:1;height:42px;font-size:14px;font-weight:700}.ticket__usebtn:hover{filter:brightness(1.07)}.ticket__usebtn:disabled{opacity:.4;cursor:default}.ticket__del{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--ink-3);cursor:pointer;border-radius:9px;place-items:center;display:grid}.ticket__del:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--line))}.ticket__del svg{width:16px;height:16px}.ticket--empty{opacity:.6}.ticket--empty .ticket__rem{color:var(--ink-3)}.timeline{flex-direction:column;gap:0;display:flex}.tl{border-top:1px solid var(--line-2);grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:11px 0;display:grid;position:relative}.tl:first-child{border-top:none}.tl__dot{border-radius:9px;flex:none;place-items:center;width:28px;height:28px;margin-top:1px;display:grid}.tl__dot svg{width:15px;height:15px}.tl__dot--stamp{background:var(--accent-soft);color:var(--accent)}.tl__dot--stamp_undo{background:var(--warn-soft);color:var(--warn)}.tl__dot--reward{background:color-mix(in srgb, var(--gold) 15%, transparent);color:var(--gold)}.tl__dot--ticket_buy,.tl__dot--ticket_use{background:var(--indigo-soft);color:var(--indigo)}.tl__dot--register{background:var(--surface-3);color:var(--ink-3)}.tl__main{flex-direction:column;min-width:0;display:flex}.tl__t{font-size:13.5px;font-weight:600;line-height:1.4}.tl__s{color:var(--ink-3);margin-top:1px;font-size:11.5px}.tl__time{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;text-align:end;font-size:10.5px}.intro-card{border:1px solid var(--accent-line);border-radius:var(--radius);background:radial-gradient(140% 130% at 0% 0%, var(--accent-soft) 0%, transparent 55%), var(--surface);padding:18px 18px 16px}.intro-card h2{font-size:18px;font-weight:700}.intro-card p{color:var(--ink-2);text-wrap:pretty;margin-top:6px;font-size:13px;line-height:1.75}.feat-row{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.feat{font-family:var(--mono);color:var(--ink-2);border:1px solid var(--line);background:var(--surface-2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:inline-flex}.feat:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px}.man-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px 17px}.man-card__head{align-items:flex-start;gap:12px;display:flex}.man-card__ic{background:var(--surface-3);width:40px;height:40px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}.man-card__ic svg{width:21px;height:21px}.man-card__t{font-size:15.5px;font-weight:700}.man-card__lead{color:var(--ink-3);margin-top:2px;font-size:12.5px;line-height:1.55}.man-steps{counter-reset:step;flex-direction:column;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.man-steps li{color:var(--ink-2);text-wrap:pretty;counter-increment:step;padding-inline-start:34px;font-size:13.5px;line-height:1.7;position:relative}.man-steps li:before{content:counter(step);inset-inline-start:0;width:23px;height:23px;font-family:var(--mono);color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:7px;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;top:1px}.man-steps li b{color:var(--ink);font-weight:700}.man-steps code,.intro-card code,.faq-a code{font-family:var(--mono);background:var(--surface-3);color:var(--accent);border-radius:5px;padding:1px 6px;font-size:11.5px}.faq-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.faq-item+.faq-item{margin-top:8px}.faq-q{text-align:start;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:14px 15px;font-size:14px;font-weight:600;line-height:1.4;display:flex}.faq-q span{flex:1}.faq-chev{width:18px;height:18px;color:var(--ink-3);flex:none;transition:transform .2s}.faq-item.is-open .faq-chev{transform:rotate(180deg)}.faq-a{max-height:0;transition:max-height .28s;overflow:hidden}.faq-item.is-open .faq-a{max-height:360px}.faq-a p{color:var(--ink-2);text-wrap:pretty;padding:0 15px 15px;font-size:13px;line-height:1.8}.links-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.link-row{border-top:1px solid var(--line-2);cursor:pointer;align-items:center;gap:12px;padding:14px 15px;transition:background .14s;display:flex}.link-row:first-child{border-top:none}.link-row:hover{background:var(--surface-2)}.link-row__ic{background:var(--surface-3);width:34px;height:34px;color:var(--ink-2);border-radius:9px;flex:none;place-items:center;display:grid}.link-row__ic svg{width:18px;height:18px}.link-row__t{flex:1;font-size:13.5px;font-weight:600}.link-row__arr{color:var(--ink-3)}.link-row__arr svg{width:16px;height:16px}.tabbar{z-index:35;width:min(var(--maxw), 100vw);background:color-mix(in srgb, var(--surface) 94%, transparent);border-top:1px solid var(--line);backdrop-filter:blur(14px);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{color:var(--ink-3);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 8px;transition:color .15s;display:flex}.tab svg{width:22px;height:22px}.tab span{font-size:10.5px;font-weight:600}.tab.is-on{color:var(--accent)}.tab:active{transform:scale(.95)}.scrim{z-index:50;backdrop-filter:blur(3px);opacity:0;pointer-events:none;background:#00000080;transition:opacity .22s;position:fixed;inset:0}.scrim.show{opacity:1;pointer-events:auto}.sheet{z-index:51;width:min(var(--maxw), 100vw);background:var(--surface);border:1px solid var(--line);max-height:92dvh;box-shadow:var(--shadow-2);padding-bottom:env(safe-area-inset-bottom);border-radius:22px 22px 0 0;transition:transform .3s cubic-bezier(.32,.72,0,1);position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%,100%)}.sheet.show{transform:translate(-50%)}.sheet__grip{background:var(--line);border-radius:4px;width:40px;height:4px;margin:10px auto 0}.sheet__head{justify-content:space-between;align-items:center;gap:10px;padding:12px 18px 10px;display:flex}.sheet__title{font-size:17px;font-weight:700}.sheet__title .en{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-inline-start:8px;font-size:9.5px;font-weight:500}.sheet__body{flex-direction:column;gap:16px;padding:6px 18px 22px;display:flex}#regFields{flex-direction:column;gap:16px;margin-top:16px;display:flex}.fgroup{flex-direction:column;gap:7px;display:flex}.flabel{color:var(--ink-2);align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.flabel .req{color:var(--accent);font-size:11px}.flabel .hint{color:var(--ink-3);font-size:11px;font-weight:500}.tin{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;height:46px;color:var(--ink);outline:none;padding:0 14px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s,background .15s}.tin:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.tin::placeholder{color:var(--ink-3)}select.tin{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238c8472' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-inline-end:34px}[dir=rtl] select.tin{background-position:12px}textarea.tin{resize:vertical;height:auto;min-height:80px;padding:11px 14px;line-height:1.6}.tin--num{font-family:var(--mono);font-variant-numeric:tabular-nums;-moz-appearance:textfield}.tin--num::-webkit-outer-spin-button,.tin--num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.frow2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.btn{border-radius:var(--radius-sm);height:48px;color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14.5px;font-weight:700;transition:background .16s,border-color .16s,color .16s,transform .1s;display:inline-flex}.btn svg{width:18px;height:18px}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:hover{background:var(--accent-deep)}.btn--primary:active{transform:translateY(1px)}.btn--indigo{background:var(--indigo);color:#fff}.btn--indigo:hover{filter:brightness(1.07)}.btn--ghost{border-color:var(--line);background:var(--surface-2);color:var(--ink-2)}.btn--ghost:hover{border-color:var(--ink-3);color:var(--ink)}.btn--danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--line));background:var(--danger-soft)}.btn--danger:hover{background:var(--danger);color:#fff}.btn--block{width:100%}.btn:disabled{opacity:.45;cursor:default}.form-actions{gap:10px;display:flex}.form-actions .btn{flex:1}.seg-row{gap:8px;width:100%;display:flex}.seg{border:1px solid var(--line);background:var(--surface-2);height:42px;color:var(--ink-2);cursor:pointer;border-radius:10px;flex:1;font-size:13px;font-weight:600}.seg.is-on{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.menu-pick{flex-direction:column;gap:9px;display:flex}.menu-opt{text-align:start;cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--indigo-line);background:var(--surface);align-items:center;gap:12px;padding:13px 15px;display:flex}.menu-opt:hover{background:var(--indigo-soft)}.menu-opt__main{flex:1}.menu-opt__t{font-size:14.5px;font-weight:700}.menu-opt__s{color:var(--ink-3);margin-top:1px;font-size:11.5px}.menu-opt__c{font-family:var(--mono);color:var(--indigo);font-size:13px;font-weight:700}.scan-stage{border-radius:var(--radius-sm);aspect-ratio:4/3;background:#000;width:100%;position:relative;overflow:hidden}.scan-stage video{object-fit:cover;width:100%;height:100%;display:block}.scan-frame{border:2px solid #ffffffb3;border-radius:12px;position:absolute;inset:14% 16%;box-shadow:0 0 0 9999px #00000047}.scan-frame:after{content:"";background:var(--accent);height:2px;box-shadow:0 0 8px var(--accent);animation:2s ease-in-out infinite scanline;position:absolute;top:50%;left:6%;right:6%}@keyframes scanline{0%,to{top:16%}50%{top:84%}}.scan-status{color:var(--ink-2);text-align:center;min-height:18px;font-size:12.5px;line-height:1.6}.imp-help{color:var(--ink-3);font-size:11.5px;line-height:1.7}.imp-help code{font-family:var(--mono);background:var(--surface-3);color:var(--accent);border-radius:5px;padding:1px 6px;font-size:11px}.imp-or{color:var(--ink-3);align-items:center;gap:10px;font-size:11px;display:flex}.imp-or:before,.imp-or:after{content:"";background:var(--line-2);flex:1;height:1px}.empty{text-align:center;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:44px 24px;display:flex}.empty__ic{border:1px solid var(--line);background:var(--surface);width:54px;height:54px;color:var(--accent);border-radius:16px;place-items:center;display:grid}.empty__ic svg{width:26px;height:26px}.empty__t{color:var(--ink-2);font-size:14px;font-weight:600}.empty__s{text-wrap:pretty;max-width:280px;font-size:12.5px;line-height:1.7}.toast{z-index:80;background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:9px;max-width:calc(100vw - 32px);padding:11px 18px;font-size:13px;font-weight:600;transition:opacity .24s,transform .24s;display:flex;position:fixed;bottom:92px;left:50%;transform:translate(-50%,16px);box-shadow:0 16px 36px -14px #00000080}.toast.show{opacity:1;transform:translate(-50%)}.toast svg{width:16px;height:16px;color:var(--accent);flex:none}.foot{text-align:center;color:var(--ink-3);padding:4px 0 2px;font-size:11px}.foot a{color:var(--ink-2)}.foot a:hover{color:var(--accent)}#reissuePrintWrap{display:none}@media print{body{background:#fff}body:before,.topbar,.tabbar,.toast,.scrim,.sheet,.detail,#tweaks-root,.screen:not(#scr-issue),#scr-issue>:not(#cardPrintWrap){display:none!important}.app{max-width:none}#scr-issue{padding:0;display:flex!important}#cardPrintWrap{display:block!important}.print-grid{gap:8px}.qrcard{break-inside:avoid;border:1px dashed #999}body.reissue-print .app>:not(#reissuePrintWrap),body.reissue-print #scr-issue{display:none!important}body.reissue-print #reissuePrintWrap{display:block!important}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
