:root{--paper:#f6eeea;--paper-2:#f7f2ef;--blush:#e4cec6;--chip:#ebdcd5;--field:#fff;--line:#d8c3ba;--rule:#dcc8c0;--ink:#231f20;--ink-2:#3e3431;--mute:#6b5752;--soft:#5e4e4a;--red:#9d2a17;--red-hi:#b23520;--ok:#1f6b35;--ok-bg:#e3f2e6;--warn-ink:#5a3d12;--warn-bg:#fff4e5;--warn-line:#ebcb9c;--bad:#a3271b;--bad-bg:#fbe7e3;--f-body:"Roboto Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--f-han:"Noto Sans SC", "PingFang SC", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}a{color:var(--red)}img{max-width:100%;display:block}h1,h2,h3{text-wrap:balance;margin:0;font-weight:700}p{margin:0}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--red);outline-offset:2px}.col{width:100%;max-width:560px;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));margin:0 auto}.wrap{width:100%;max-width:1160px;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));margin:0 auto}.label{letter-spacing:1px;text-transform:uppercase;font-size:15px;font-weight:700}.eyebrow{letter-spacing:2px;text-transform:uppercase;font-size:13px}.muted{color:var(--mute)}.small{font-size:14px}.center{text-align:center}.mono{letter-spacing:2px;font-weight:700}.num{font-variant-numeric:tabular-nums}.stack{flex-direction:column;gap:10px;display:flex}.top{padding-block:calc(22px + env(safe-area-inset-top,0px)) 0}.top .col,.top .wrap{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.brand{color:var(--mute);flex-direction:column;gap:4px;text-decoration:none;display:flex}.brand img{width:auto;height:44px}.brand span{letter-spacing:1px;font-size:14px}.top nav{gap:18px;padding-bottom:2px;font-size:14px;display:flex}.top nav a{color:var(--mute);white-space:nowrap;text-decoration:none}.top nav a:hover{color:var(--red)}.btn{height:52px;font:700 17px var(--f-body);cursor:pointer;background:var(--red);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;transition:background .15s;display:flex}.btn:hover:not(:disabled){background:var(--red-hi)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.outline{border:1px solid var(--red);color:var(--red);background:0 0}.btn.outline:hover:not(:disabled){background:#9d2a170f}.btn.dark{background:var(--ink)}.btn.ghost{color:var(--ink);background:0 0;border:1px solid #c9b6ac;height:48px;font-weight:500}.btn.sm{border-radius:10px;height:40px;padding:0 14px;font-size:15px}label.f{color:var(--mute);flex-direction:column;gap:6px;min-width:0;font-size:14px;display:flex}.in,.f input,.f textarea,.f select{border:1px solid var(--line);background:var(--field);height:46px;color:var(--ink);font:400 16px var(--f-body);border-radius:10px;width:100%;padding:0 14px}.f textarea{resize:vertical;height:auto;min-height:92px;padding:12px 14px;line-height:1.45}.in:focus,.f input:focus,.f textarea:focus,.f select:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px #9d2a171f}.seg{background:var(--chip);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;display:grid}.seg button{height:44px;color:var(--mute);font:500 15px var(--f-body);cursor:pointer;background:0 0;border:0;border-radius:9px}.seg button.on{background:var(--red);color:#fff;font-weight:700}.err{color:var(--bad);font-size:15px}.note{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.55}.pill{letter-spacing:.5px;white-space:nowrap;border-radius:20px;align-items:center;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}.pill.ok{color:var(--ok);background:var(--ok-bg)}.pill.bad{color:var(--bad);background:var(--bad-bg)}.pill.mute{color:var(--mute);background:var(--chip)}.pill.warn{color:var(--warn-ink);background:var(--warn-bg)}.panel{background:#fff;border:1px solid #e2d6cf;border-radius:16px;padding:20px}.gcard{background:var(--blush);border-radius:16px;flex-direction:column;justify-content:space-between;gap:16px;min-height:214px;padding:22px;display:flex;position:relative;overflow:hidden}.gcard .flower{pointer-events:none;width:auto;max-width:none;height:280px;position:absolute;top:-30px;right:-46px}.gcard>*{position:relative}.gcard .gc-logo{width:auto;height:34px;margin-bottom:6px}.gcard .gc-tag{letter-spacing:1px;font-size:12px}.gcard .gc-amt{font-size:44px;font-weight:700;line-height:1.05}.gcard .gc-for{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;max-width:62%;font-size:14px;overflow:hidden}.gcard.dim{filter:grayscale(.8);opacity:.75}.rows>div{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.rows>div:last-child{border-bottom:1px solid var(--rule)}.rows .t{flex-direction:column;gap:2px;min-width:0;display:flex}.rows .t span:last-child{color:var(--mute);font-size:14px}.rows b{font-variant-numeric:tabular-nums;white-space:nowrap}table.t{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:15px}table.t th{text-align:left;letter-spacing:1px;text-transform:uppercase;color:var(--mute);border-bottom:1px solid var(--rule);padding:10px;font-size:12px;font-weight:700}table.t td{border-bottom:1px solid var(--rule);vertical-align:top;padding:11px 10px}table.t .r{text-align:right}.scroll-x{overflow-x:auto}footer.foot{padding-block:28px calc(36px + env(safe-area-inset-bottom,0px));color:var(--mute);text-align:center;font-size:13px;line-height:1.6}.keys{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.keys button{height:64px;font:500 26px var(--f-body);color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #e2d6cf;border-radius:12px}.keys button:active{background:var(--chip)}.dots{justify-content:center;gap:14px;min-height:18px;display:flex}.dots span{border:1.5px solid var(--mute);border-radius:50%;width:16px;height:16px}.dots span.on{background:var(--ink);border-color:var(--ink)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
