:root{--ground:#ededed;--paper:#fff;--ink:#202020;--ink-soft:#565656;--rule:#b9b9b9;--red:#d4202a;--font-text:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Heiti TC", system-ui, sans-serif;--font-num:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, "Courier New", monospace;--measure:34rem;--ease:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font:400 1rem/1.6 var(--font-text);flex-direction:column;min-height:100dvh;margin:0;display:flex}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:3px solid var(--red);outline-offset:2px}a{color:inherit}h1,h2,p{margin:0}[hidden]{display:none!important}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.topbar{background:var(--ink);color:var(--paper)}.topbar__in{max-width:var(--measure);justify-content:space-between;align-items:baseline;margin:0 auto;padding:.875rem 1.25rem;display:flex}.topbar a{font-size:1.125rem;font-weight:900;text-decoration:none}.topbar span{color:#cfcfcf;font-size:.8125rem}.wrap{width:100%;max-width:var(--measure);flex:1;margin:0 auto;padding:1.5rem 1.25rem 2.5rem}.page-title{text-wrap:balance;font-size:1.75rem;font-weight:900;line-height:1.25}.page-sub{color:var(--ink-soft);margin-top:.375rem;font-size:.9375rem}.crumb{color:var(--ink-soft);margin-bottom:.75rem;font-size:.8125rem}.crumb a{text-underline-offset:3px}.foot{max-width:var(--measure);width:100%;color:var(--ink-soft);margin:0 auto;padding:0 1.25rem 2rem;font-size:.8125rem}.foot p{border-top:2px dashed var(--rule);padding-top:.875rem}.search{margin-top:1.25rem;display:block}.field{border:2px solid var(--ink);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:0;min-height:3rem;padding:.75rem .875rem;font-size:1.0625rem}.field::placeholder{color:var(--ink-soft)}.tool-list{background:var(--paper);border:2px solid var(--ink);margin:1rem 0 0;padding:0;list-style:none}.tool-list li+li{border-top:2px dashed var(--rule)}.tool-row{align-items:center;gap:.75rem;min-height:4rem;padding:.875rem 1rem;text-decoration:none;display:flex}.tool-row__main{flex:1;min-width:0}.tool-row__name{font-size:1.0625rem;font-weight:700;display:block}.tool-row__sum{color:var(--ink-soft);font-size:.875rem;display:block}.tag{border:1.5px solid var(--ink);white-space:nowrap;padding:.125rem .5rem;font-size:.75rem;font-weight:700}.tag--new{background:var(--red);border-color:var(--red);color:var(--paper)}.tag--soon{color:var(--ink-soft);border-color:var(--rule)}a.tool-row:hover{background:var(--ground)}a.tool-row .go{font-family:var(--font-num);font-size:1.25rem}.tool-row--soon{color:var(--ink-soft)}.empty-note{border:2px dashed var(--rule);color:var(--ink-soft);margin-top:1rem;padding:1rem}.tabs{border-bottom:2px solid var(--ink);margin-top:1.25rem;display:flex}.tab{font:inherit;min-height:2.75rem;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:.625rem 1.5rem;font-size:.9375rem;font-weight:700}.tab[aria-selected=true]{background:var(--ink);color:var(--paper)}.panel{margin-top:1.25rem}.label{margin-bottom:.375rem;font-size:.9375rem;font-weight:700;display:block}.code-input{border:2px solid var(--ink);background:var(--paper);width:100%;color:var(--ink);font:700 1.75rem/1.2 var(--font-num);letter-spacing:.18em;font-variant-numeric:tabular-nums;border-radius:0;min-height:3.5rem;padding:.75rem .875rem}.code-input::placeholder{color:#8f8f8f;letter-spacing:.18em}.hint{color:var(--ink-soft);margin-top:.375rem;font-size:.8125rem}.btn{border:2px solid var(--ink);background:var(--ink);width:100%;min-height:3.25rem;color:var(--paper);font:inherit;cursor:pointer;transition:transform .16s var(--ease);margin-top:.875rem;font-size:1.0625rem;font-weight:700;display:block}.btn:active{transform:translateY(1px)}.btn--ghost{background:var(--paper);color:var(--ink);width:auto;min-height:2.5rem;margin-top:0;padding:0 1rem;font-size:.9375rem;display:inline-block}.count-row{align-items:end;gap:.75rem;display:flex}.count-row .count{width:6rem;font:700 1.5rem var(--font-num);text-align:center;letter-spacing:0;padding:.625rem .5rem}.count-row .btn{flex:1;min-height:3.5rem;margin-top:0}.slip-slot{margin-top:1.5rem}.slip-empty{border:2px dashed var(--rule);color:var(--ink-soft);text-align:center;padding:1.25rem 1rem;font-size:.9375rem}.slip{background:var(--paper);filter:drop-shadow(0 2px 2px #0000002e);animation:print .42s var(--ease);margin:0 .375rem;padding:1.25rem 1.25rem 1.75rem;position:relative}.slip:after{content:"";background:linear-gradient(135deg, var(--paper) 50%, transparent 50%) 0 0 / 12px 8px, linear-gradient(-135deg, var(--paper) 50%, transparent 50%) 0 0 / 12px 8px;height:8px;position:absolute;bottom:-8px;left:0;right:0}@keyframes print{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0 0 -12px)}}.slip__title{text-align:center;letter-spacing:.2em;font-size:.9375rem;font-weight:700}.slip hr{border:0;border-top:2px dashed var(--rule);margin:.875rem 0}.slip__code{text-align:center;font:700 2rem/1.2 var(--font-num);letter-spacing:.15em;overflow-wrap:anywhere}.slip__rows{margin:0}.slip__row{justify-content:space-between;gap:1rem;margin:.25rem 0;font-size:.9375rem;display:flex}.slip__row dt{color:var(--ink-soft)}.slip__row dd{font-family:var(--font-num);margin:0;font-weight:700}.slip__verdict{text-align:center;font-size:1.375rem;font-weight:900}.slip--fail .slip__verdict{color:var(--red)}.slip__reason{text-align:center;margin-top:.375rem;font-size:.9375rem}.slip__note{text-wrap:balance;color:var(--ink-soft);text-align:center;margin-top:.875rem;font-size:.8125rem}.slip details{margin-top:.875rem;font-size:.875rem}.slip summary{cursor:pointer;min-height:2rem;font-weight:700}.slip table{border-collapse:collapse;width:100%;font-family:var(--font-num);font-variant-numeric:tabular-nums;margin-top:.5rem}.slip th,.slip td{text-align:right;border-bottom:1px dashed var(--rule);padding:.25rem .375rem;font-weight:400}.slip th{color:var(--ink-soft)}.slip__actions{justify-content:center;margin-top:1rem;display:flex}.gen-list{background:var(--paper);border:2px solid var(--ink);margin:1.25rem 0 0;padding:0;list-style:none}.gen-list li{justify-content:space-between;align-items:center;padding:.625rem 1rem;display:flex}.gen-list li+li{border-top:2px dashed var(--rule)}.gen-list .num{letter-spacing:.15em;font-size:1.375rem;font-weight:700}.gen-foot{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;font-size:.8125rem;display:flex}.toast{background:var(--ink);color:var(--paper);padding:.625rem 1.25rem;font-size:.9375rem;font-weight:700;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}@media (width>=40rem){.wrap{padding-top:2.5rem}.page-title{font-size:2rem}}@media (prefers-reduced-motion:reduce){.slip{animation:none}.btn{transition:none}}
