*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Noto Sans TC,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}progress{vertical-align:initial}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Noto Sans TC,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:Poppins,ui-monospace,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}*{-webkit-tap-highlight-color:transparent}html{height:100%}body{background:radial-gradient(ellipse at top left,#e7eadd 0,transparent 60%),radial-gradient(ellipse at bottom right,#ede5d8 0,transparent 55%),#e9ece1;color:var(--ink);min-height:100%}.btn,body{font-family:var(--sans)}.btn{align-items:center;border-radius:16px;border-style:none;cursor:pointer;display:inline-flex;font-size:15px;font-weight:700;gap:.5rem;justify-content:center;letter-spacing:.15em;padding:16px;transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.btn.is-pressing,.btn:active{transform:scale(.97)}.btn-primary{background:var(--gold);box-shadow:0 8px 20px -6px #dda15e99;color:var(--ink)}.btn-dark{background:var(--ink);box-shadow:0 8px 20px -6px #3a492d80;color:var(--paper)}.btn-ghost{background:transparent;border:1.5px solid rgba(58,73,45,.2);color:var(--ink)}.btn-danger{background:var(--danger);box-shadow:0 8px 20px -6px #b84a3c80;color:var(--paper)}.btn-sm{font-size:13px;padding:10px 16px}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.4}.back-btn{align-items:center;background-color:transparent;border-style:none;color:var(--ink);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:.375rem;letter-spacing:.1em;padding:6px 4px;transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.back-btn.is-pressing,.back-btn:active{opacity:.6;transform:scale(.92)}.back-btn svg{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:18px}.card{background:var(--paper);border:1px solid rgba(58,73,45,.1);border-radius:18px;box-shadow:none;margin:0 20px 14px;padding:18px}.card-leaf{background:#5e764914;border-color:#5e764933}.card-ink{background:var(--ink);border:none;color:var(--paper)}.card-hd{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.card-hd .t{color:var(--ink);font-family:var(--serif);font-size:14px;font-weight:700;letter-spacing:.12em}.card-ink .card-hd .t{color:var(--paper)}.card-hd .meta{font-family:var(--mono);font-size:10px;letter-spacing:.15em}.card-hd .meta,.lbl{color:var(--leaf)}.lbl{display:block;font-size:11px;font-weight:700;letter-spacing:.18em;margin-bottom:8px}.lbl-req{color:var(--danger);margin-left:4px}.input{background:var(--paper-warm);border:1.5px solid transparent;border-radius:14px;color:var(--ink);font-family:var(--sans);font-size:15px;padding:14px 16px;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.input:focus{background:var(--paper);border-color:var(--leaf);outline:none}.input::-moz-placeholder{color:#3a492d59}.input::placeholder{color:#3a492d59}.input-mono{font-family:var(--mono);letter-spacing:.12em}.radios{flex-direction:column;gap:.5rem}.radio,.radios{display:flex}.radio{align-items:center;background:var(--paper-warm);border:1.5px solid transparent;border-radius:12px;cursor:pointer;gap:.75rem;padding:12px 14px;transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.radio.is-pressing,.radio:active{transform:scale(.99)}.radio.active{background:#5e76491a;border-color:var(--leaf)}.radio .dot{background:var(--paper);border:1.5px solid rgba(58,73,45,.25);border-radius:50%;display:grid;flex-shrink:0;height:18px;place-items:center;width:18px}.radio.active .dot{border-color:var(--leaf)}.radio.active .dot:after{background:var(--leaf);border-radius:50%;content:"";height:8px;width:8px}.radio .t{color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.06em}.clock{background:linear-gradient(155deg,#3a492d,#2a3620 55%,#5e7649);border-radius:28px;box-shadow:0 14px 30px -12px #3a492d80;color:var(--paper);margin:0 20px 20px;overflow:hidden;padding:22px 24px 24px;position:relative}.clock:before{background:radial-gradient(300px 160px at 120% -20%,rgba(221,161,94,.35),transparent 60%),radial-gradient(260px 160px at -20% 120%,rgba(247,248,245,.12),transparent 60%)}.clock:after,.clock:before{content:"";inset:0;pointer-events:none;position:absolute}.clock:after{background-image:radial-gradient(1px 1px at 40px 30px,#fff,transparent 50%),radial-gradient(1px 1px at 200px 80px,#fff,transparent 50%),radial-gradient(1px 1px at 300px 140px,#fff,transparent 50%),radial-gradient(1px 1px at 60px 180px,#fff,transparent 50%);opacity:.1}.clock>*{position:relative;z-index:1}.clock .top{align-items:center;display:flex;font-size:12px;font-weight:500;justify-content:center;letter-spacing:.25em;opacity:.85}.clock .\!date,.clock .date{align-items:center;display:flex;gap:.75rem;justify-content:center}.clock .date{font-family:var(--serif);letter-spacing:.06em;margin-top:14px}.clock .\!date{font-family:var(--serif)!important;letter-spacing:.06em!important;margin-top:14px!important}.clock .date .md{font-size:22px;font-weight:600}.clock .\!date .md{font-size:22px!important;font-weight:600!important}.clock .date .wk{border:1px solid rgba(247,248,245,.3);border-radius:4px;font-size:12px;letter-spacing:.15em;opacity:.75;padding:3px 10px}.clock .\!date .wk{border:1px solid rgba(247,248,245,.3)!important;border-radius:4px!important;font-size:12px!important;letter-spacing:.15em!important;opacity:.75!important;padding:3px 10px!important}.clock .time{align-items:baseline;display:flex;font-family:var(--mono);font-size:68px;font-weight:500;justify-content:center;letter-spacing:-.02em;line-height:1;margin-top:16px;text-shadow:0 4px 20px rgba(0,0,0,.2)}.clock .time .colon{animation:blink 1s step-end infinite;color:var(--amber)}.big-actions{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:20px;padding:0 20px}.big{border:none;border-radius:24px;cursor:pointer;display:flex;flex-direction:column;font-family:var(--sans);justify-content:space-between;min-height:140px;overflow:hidden;padding:24px 20px;position:relative;text-align:left;transition:transform .2s ease}.big.is-pressing,.big:active{transform:scale(.97)}.big.in{background:linear-gradient(135deg,var(--gold),#e8b56e);box-shadow:0 12px 26px -8px #dda15eb3,inset 0 1px #fff6;color:var(--ink)}.big.out{background:var(--ink);box-shadow:0 12px 26px -8px #3a492d99,inset 0 1px #ffffff14;color:var(--paper)}.big:disabled{cursor:not-allowed;opacity:.4}.big .icn{display:grid;height:36px;place-items:center;width:36px}.big.in .icn svg{stroke:var(--ink)}.big.out .icn svg{stroke:var(--gold)}.big .icn svg{fill:none;height:32px;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4;width:32px}.big .lbl-big .cn{font-size:32px;font-weight:900;letter-spacing:.18em;line-height:1}.big .lbl-big .hint{font-size:11px;font-weight:500;letter-spacing:.15em;margin-top:8px;opacity:.7}.big .arrow{bottom:20px;font-size:24px;font-weight:700;opacity:.85;position:absolute;right:22px}.loc-row{align-items:center;background:var(--paper-warm);border:1.5px solid transparent;border-radius:14px;cursor:pointer;display:flex;gap:.875rem;margin-bottom:8px;padding:16px 18px;transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.loc-row.is-pressing,.loc-row:active{transform:scale(.98)}.loc-row.active,.loc-row:hover{background:#5e76491a;border-color:var(--leaf)}.loc-row .pin{background:var(--ink);border-radius:12px;color:var(--gold);display:grid;flex-shrink:0;height:36px;place-items:center;width:36px}.loc-row .pin svg{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:18px}.loc-row .info{flex:1;min-width:0}.loc-row .info .nm{color:var(--ink);font-size:14px;font-weight:700;letter-spacing:.06em}.loc-row .info .dist{color:var(--leaf);font-family:var(--mono);font-size:11px;letter-spacing:.1em;margin-top:3px}.loc-row .chk{background:var(--paper);border:1.5px solid rgba(58,73,45,.2);border-radius:50%;display:grid;flex-shrink:0;height:22px;place-items:center;width:22px}.loc-row.active .chk{background:var(--leaf);border-color:var(--leaf)}.loc-row.active .chk svg{height:12px;stroke:var(--paper);width:12px}.confirm-list{display:flex;flex-direction:column;gap:.625rem}.confirm-row{align-items:center;border-bottom:1px dashed rgba(58,73,45,.12);display:flex;justify-content:space-between;padding:12px 0}.confirm-row:last-child{border-bottom:none}.card-ink .confirm-row{border-color:#f7f8f526}.confirm-row .k{color:var(--leaf);font-size:12px;font-weight:600;letter-spacing:.15em}.card-ink .confirm-row .k{color:#f7f8f599}.confirm-row .v{color:var(--ink);font-size:14px;font-weight:700;letter-spacing:.08em}.confirm-row .\!v{color:var(--ink)!important;font-size:14px!important;font-weight:700!important;letter-spacing:.08em!important}.card-ink .confirm-row .v{color:var(--paper)}.card-ink .confirm-row .\!v{color:var(--paper)!important}.confirm-row .v.mono{font-family:var(--mono);font-size:16px;font-weight:500}.confirm-row .\!v.mono{font-family:var(--mono)!important;font-size:16px!important;font-weight:500!important}.confirm-row .v.ok{color:var(--ok)}.confirm-row .\!v.ok{color:var(--ok)!important}.confirm-row .v.err{color:var(--danger)}.confirm-row .\!v.err{color:var(--danger)!important}.flow-hero{padding:40px 20px 20px;text-align:center}.flow-hero .icn{background:#5e76491a;border-radius:50%;color:var(--leaf);display:grid;height:88px;margin:0 auto 18px;place-items:center;position:relative;width:88px}.flow-hero .icn.ok{background:#06c7551f;color:var(--ok)}.flow-hero .icn.warn{background:#dda15e26;color:var(--gold)}.flow-hero .icn.err{background:#b84a3c1f;color:var(--danger)}.flow-hero .icn svg{fill:none;height:44px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:44px}.flow-hero .icn.pulse:before{animation:pulse 1.6s ease-out infinite;border:2px solid;border-radius:50%;content:"";inset:-8px;opacity:.3;position:absolute}.flow-hero h2{color:var(--ink);font-family:var(--serif);font-size:22px;font-weight:700;letter-spacing:.1em;margin-bottom:6px}.flow-hero p{color:var(--leaf);font-size:13px;letter-spacing:.05em}.stepline{font-family:var(--mono);font-size:10px;letter-spacing:.2em;padding:4px 20px 16px}.stepline,.stepline .s{align-items:center;display:flex;gap:.375rem}.stepline .s{color:#3a492d59}.stepline .s.done{color:var(--leaf)}.stepline .s.now{color:var(--ink);font-weight:700}.stepline .s .n{background:var(--paper-warm);border-radius:50%;display:grid;font-size:10px;font-weight:700;height:18px;place-items:center;width:18px}.stepline .s.done .n{background:var(--leaf);color:var(--paper)}.stepline .s.now .n{background:var(--ink);color:var(--paper)}.stepline .bar{background:#3a492d26;flex:1;height:1px}.stepline .s.done+.bar{background:var(--leaf)}.warning-box{align-items:flex-start;background:#dda15e1f;border-left:3px solid var(--gold);border-radius:14px;display:flex;gap:.625rem;margin:0 20px 14px;padding:14px}.warning-box .wi{color:var(--gold);flex-shrink:0}.warning-box .wt{color:var(--ink);font-size:12px;letter-spacing:.05em;line-height:1.7}.warning-box .wt strong{color:var(--ink);font-weight:700}.danger-box{background:#b84a3c14;border-left:3px solid var(--danger);border-radius:14px;color:var(--ink);font-size:12px;letter-spacing:.05em;line-height:1.7;margin:0 20px 14px;padding:14px}.modal-scrim{align-items:center;background:#1a1a1a80;inset:0;justify-content:center;padding:16px;position:fixed;z-index:100}.modal,.modal-scrim{display:flex}.modal{background:var(--paper);border-radius:24px;box-shadow:0 20px 60px #0000004d;flex-direction:column;max-height:calc(100% - 40px);overflow:hidden;width:100%}.modal-hd{align-items:center;border-bottom:1px solid rgba(58,73,45,.1);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.modal-hd .t{color:var(--ink);font-family:var(--serif);font-size:17px;font-weight:700;letter-spacing:.1em}.modal-hd .x{background:none;border:none;color:var(--leaf);cursor:pointer;font-size:22px}.modal-bd{flex:1;overflow-y:auto;padding:16px 20px}.modal-bd::-webkit-scrollbar{display:none}.modal-ft{border-top:1px solid rgba(58,73,45,.1);display:flex;flex-shrink:0;gap:.625rem;padding:12px 20px}.modal-ft .btn{flex:1;width:auto}.rec{background:var(--paper);border:1px solid rgba(58,73,45,.1);border-radius:16px;margin:0 20px 10px;padding:16px}.rec-hd{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.rec-hd .dt{color:var(--ink);font-family:var(--serif);font-size:15px;font-weight:700;letter-spacing:.08em}.rec-hd .wk{color:var(--leaf);font-family:var(--mono);font-size:10px;letter-spacing:.2em;margin-top:2px}.rec-hd .tag{border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.15em;padding:4px 10px}.rec-hd .tag.ok{background:#06c7551f;color:#0a8845}.rec-hd .tag.warn{background:#dda15e2e;color:#8a5a20}.rec-hd .tag.err{background:#b84a3c1f;color:var(--danger)}.rec-body{display:flex;gap:.625rem}.rec-body .cell{background:var(--paper-warm);border-radius:10px;flex:1;padding:8px 10px}.rec-body .cell .k{color:var(--leaf);font-size:9px;font-weight:600;letter-spacing:.25em}.rec-body .cell .v{color:var(--ink);font-family:var(--mono);font-size:15px;font-weight:500;margin-top:2px}.rec-body .cell .\!v{color:var(--ink)!important;font-family:var(--mono)!important;font-size:15px!important;font-weight:500!important;margin-top:2px!important}.rec-loc{align-items:center;background:#5e764914;border-radius:10px;color:var(--ink);display:flex;font-size:11px;gap:.375rem;letter-spacing:.06em;margin-top:10px;padding:8px 10px}.rec-loc svg{fill:none;height:12px;stroke:var(--leaf);stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:12px}.rec-stats .s{background:var(--paper);border:1px solid rgba(58,73,45,.1);border-radius:14px;padding:12px 8px;text-align:center}.rec-stats .s.ink{background:var(--ink);border:none;color:var(--paper)}.rec-stats .s .n{color:var(--ink);font-family:var(--mono);font-size:24px;font-weight:500;line-height:1}.rec-stats .s.ink .n{color:var(--paper)}.rec-stats .s .n .u{color:var(--leaf);font-size:12px;letter-spacing:.08em;margin-left:2px}.rec-stats .s.ink .n .u{color:var(--amber)}.rec-stats .s .l{color:var(--leaf);font-size:10px;font-weight:600;letter-spacing:.2em;margin-top:4px}.rec-stats .s.ink .l{color:#f7f8f5b3}.period-tabs{background:var(--paper-warm);border-radius:12px;display:grid;gap:4px;grid-template-columns:1fr 1fr;margin:0 20px 14px;padding:4px}.period-tabs button{background:transparent;border:none;border-radius:9px;color:var(--ink);cursor:pointer;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.15em;padding:10px;transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.period-tabs button.active{background:var(--ink);box-shadow:0 2px 6px -2px #3a492d66;color:var(--paper)}.period-tabs button.is-pressing,.period-tabs button:active{transform:scale(.97)}.time-picker{background:var(--paper-warm);border-radius:14px;cursor:pointer;font-family:var(--mono);gap:.625rem;padding:14px;position:relative;touch-action:manipulation}.time-picker,.time-picker .spin{align-items:center;display:flex}.time-picker .spin{flex:1;justify-content:center}.time-picker .val{background:var(--paper);border-radius:10px;color:var(--ink);font-size:36px;font-weight:500;letter-spacing:.02em;min-width:70px;padding:4px 18px;text-align:center}.time-picker .sep{color:var(--leaf);font-size:28px;font-weight:300}.time-picker-native{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;cursor:pointer;font-size:16px;height:100%;inset:0;opacity:0;position:absolute;width:100%}.time-picker.is-pressing,.time-picker:active{background:#5e76491f}.appbar{align-items:center;display:flex;gap:.75rem;justify-content:space-between;padding:14px 20px 10px}.appbar .title{color:var(--ink);font-family:var(--serif);font-size:17px;font-weight:700;letter-spacing:.12em}.appbar .side{align-items:center;display:flex;justify-content:flex-end;min-width:42px}.appbar .side-left{justify-content:flex-start}.appbar .reset{align-items:center;background:none;border:none;color:var(--leaf);cursor:pointer;display:flex;font-family:var(--mono);font-size:11px;gap:.25rem;letter-spacing:.15em}.appbar .reset svg{fill:none;height:14px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:14px}.brandbar-mini{align-items:center;display:flex;gap:.625rem;padding:0 20px 14px}.brandbar-mini .mark{background:var(--ink);border-radius:8px;color:var(--paper);display:grid;font-size:16px;height:28px;place-items:center;width:28px}.brandbar-mini .mark,.brandbar-mini .n{font-family:var(--serif);font-weight:700}.brandbar-mini .n{color:var(--ink);font-size:13px;letter-spacing:.08em}.brandbar-mini .e{color:var(--leaf);font-family:var(--mono);font-size:8px;letter-spacing:.3em;margin-top:1px}.brand{justify-content:space-between;padding:14px 24px 16px}.brand,.brand .l{align-items:center;display:flex}.brand .l{gap:.625rem}.brand .mark{background:var(--ink);border-radius:10px;color:var(--paper);display:grid;font-size:20px;height:36px;place-items:center;width:36px}.brand .mark,.brand .txt .n{font-family:var(--serif);font-weight:700}.brand .txt .n{color:var(--ink);font-size:16px;letter-spacing:.08em;line-height:1}.brand .txt .e{color:var(--leaf);font-size:9px;letter-spacing:.3em;margin-top:3px}.brand .gps,.brand .txt .e{font-family:var(--mono)}.brand .gps{align-items:center;background:#06c7551a;border-radius:999px;color:#2e8c4d;display:flex;font-size:10px;font-weight:600;gap:.375rem;letter-spacing:.25em;padding:8px 12px}.brand .gps svg{fill:none;height:14px;stroke:#2e8c4d;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:14px}.hero{align-items:flex-end;justify-content:space-between;padding:6px 24px 16px}.hero,.hero h1{display:flex;gap:.75rem}.hero h1{align-items:center;color:var(--ink);font-family:var(--serif);font-size:32px;font-weight:700;letter-spacing:.1em;line-height:1}.hero h1:before{background:var(--gold);content:"";display:block;height:3px;width:28px}.hero .who{line-height:1.1;text-align:right}.hero .who .nm{align-items:center;color:var(--ink);display:flex;font-size:14px;font-weight:700;gap:.375rem;justify-content:flex-end;letter-spacing:.08em}.hero .who .nm .tag{background:var(--leaf);border-radius:3px;color:var(--paper);font-size:9px;font-weight:600;letter-spacing:.2em;padding:2px 5px}.hero .who .id{color:var(--leaf);font-family:var(--mono);font-size:10px;letter-spacing:.15em;margin-top:3px}.log{background:var(--paper);border:1px solid rgba(58,73,45,.1);border-radius:20px;margin:0 20px 18px;padding:16px 18px}.log .h{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.log .h .t{font-size:13px;font-weight:700;letter-spacing:.15em}.log .hr{align-items:center;display:flex;gap:.625rem}.log .h .d{color:var(--leaf);letter-spacing:.25em}.log .h .d,.log .pager{font-family:var(--mono);font-size:10px}.log .pager{background:#5e76491f;border-radius:6px;color:var(--ink);font-weight:600;letter-spacing:.1em;padding:3px 8px}.carousel{border-radius:14px;overflow:hidden;position:relative;touch-action:pan-y}.track{display:flex;transition:transform .35s cubic-bezier(.4,0,.2,1)}.carousel-page{flex-direction:column;flex-shrink:0;gap:.625rem;width:100%}.carousel-page,.locbar{display:flex}.locbar{align-items:center;background:#5e76491a;border-radius:12px;color:var(--ink);font-size:12px;font-weight:700;gap:.5rem;letter-spacing:.08em;padding:10px 12px}.locbar .pin{background:var(--gold);border-radius:50%;box-shadow:0 0 0 3px #dda15e33;flex-shrink:0;height:6px;width:6px}.locbar.summary{background:#dda15e1f}.slots{display:grid;gap:8px;grid-template-columns:1fr 1fr}.slot{align-items:center;background:var(--paper-warm);border:1px dashed rgba(94,118,73,.3);border-radius:12px;display:flex;justify-content:space-between;padding:12px 10px}.slot.filled{background:#5e76491a;border:1px solid var(--leaf)}.slot.filled.out{background:var(--ink);border-color:var(--ink)}.slot.filled.out .k{color:#f7f8f599}.slot.filled.out .v{color:var(--paper)}.slot.filled.out .\!v{color:var(--paper)!important}.slot .k{color:var(--leaf);font-size:10px;font-weight:600;letter-spacing:.25em}.slot .v{color:var(--ink);font-family:var(--mono);font-size:18px;font-weight:500}.slot .\!v{color:var(--ink)!important;font-family:var(--mono)!important;font-size:18px!important;font-weight:500!important}.slot.empty .v{color:#3a492d40;font-weight:300}.slot.empty .\!v{color:#3a492d40!important;font-weight:300!important}.tabswrap{margin-top:12px;position:relative}.tabswrap:after,.tabswrap:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;transition:opacity .2s;width:20px;z-index:2}.tabswrap:before{background:linear-gradient(to right,var(--paper),transparent);left:0;opacity:0}.tabswrap:after{background:linear-gradient(to left,var(--paper),transparent);right:0}.tabswrap.scrolled:before{opacity:1}.tabswrap.at-end:after{opacity:0}.tabs-strip{background:var(--paper-warm);border:1px solid rgba(58,73,45,.08);border-radius:14px;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:4px;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs-strip::-webkit-scrollbar{display:none}.tab-chip{background:transparent;border:none;border-radius:10px;color:var(--ink);cursor:pointer;flex-direction:column;flex-shrink:0;font-family:var(--sans);gap:2px;justify-content:center;min-height:40px;min-width:96px;padding:6px 14px;transition:background .2s ease,color .2s ease}.tab-chip,.tab-chip .tk{align-items:center;display:flex}.tab-chip .tk{font-size:12px;font-weight:700;gap:.375rem;letter-spacing:.05em;line-height:1.1;max-width:100%;white-space:nowrap}.tab-chip .tkdot{border-radius:50%;flex-shrink:0;height:5px;width:5px}.tab-chip .tkdot,.tab-chip.done .tkdot{background:var(--leaf)}.tab-chip.active .tkdot,.tab-chip.live .tkdot{background:var(--gold)}.tab-chip.live .tkdot{animation:blink 1.3s step-end infinite}.tab-chip.sum .tkdot{background:var(--ink);opacity:.4}.tab-chip .ts{color:var(--leaf);font-family:var(--mono);font-size:9px;letter-spacing:.15em;opacity:.8;white-space:nowrap}.tab-chip.active{background:var(--ink);box-shadow:0 2px 6px -2px #3a492d66;color:var(--paper)}.tab-chip.active .ts{color:var(--gold);opacity:1}.tab-chip.is-pressing,.tab-chip:active{transform:scale(.97)}.fns-label{color:var(--leaf);font-family:var(--mono);font-size:10px;letter-spacing:.35em;padding:0 28px 8px;text-transform:uppercase}.fns{background:var(--paper);border:1px solid rgba(58,73,45,.1);border-radius:22px;margin:0 20px;overflow:hidden}.fn{align-items:center;background:transparent;border:none;cursor:pointer;display:flex;font-family:var(--sans);gap:.875rem;padding:16px 18px;position:relative;text-align:left;width:100%}.fn+.fn:before{background:#3a492d14;content:"";height:1px;left:64px;position:absolute;right:18px;top:0}.fn.is-pressing,.fn:active{background:var(--paper-warm)}.fn:disabled{cursor:not-allowed;opacity:.4}.fn .icn{background:#5e76491f;border-radius:12px;color:var(--leaf);display:grid;flex-shrink:0;height:38px;place-items:center;width:38px}.fn .icn svg{fill:none;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:20px}.fn .info{flex:1;min-width:0}.fn .info .cn{color:var(--ink);font-size:15px;font-weight:700;letter-spacing:.08em}.fn .info .desc{color:var(--ink);font-size:11px;letter-spacing:.05em;margin-top:2px;opacity:.55}.fn .chev{color:#3a492d4d;font-size:16px}.rules-box{background:var(--paper-warm);border:1px solid rgba(58,73,45,.1);border-radius:14px;color:var(--ink);font-size:12.5px;height:340px;letter-spacing:.04em;line-height:1.8;margin:0 20px 14px;overflow-y:auto;padding:16px}.rules-box::-webkit-scrollbar{width:4px}.rules-box::-webkit-scrollbar-thumb{background:#3a492d4d;border-radius:2px}.rules-box h3{color:var(--ink);font-family:var(--serif);font-size:14px;font-weight:700;letter-spacing:.1em;margin:16px 0 8px}.rules-box h3:first-child{margin-top:0}.rules-box p{margin-bottom:10px}.rules-box .rule-meta{border-bottom:1px dashed rgba(58,73,45,.2);color:var(--leaf);display:flex;font-family:var(--mono);font-size:10px;gap:.875rem;letter-spacing:.18em;margin-bottom:12px;padding-bottom:12px}.rules-hint{color:var(--leaf);font-size:12px;letter-spacing:.1em;margin:0 20px 12px;text-align:center}.rules-hint.ready{color:var(--ok)}.temp-brand{background:linear-gradient(180deg,rgba(94,118,73,.06),transparent);border-bottom:1px solid rgba(58,73,45,.08);padding:18px 20px 10px;text-align:center}.temp-brand .tt{color:var(--ink);font-family:var(--serif);font-size:17px;font-weight:700;letter-spacing:.1em}.temp-brand .en{color:var(--leaf);font-family:var(--mono);font-size:10px;letter-spacing:.3em;margin-top:4px}.temp-brand .loc{color:var(--ink);font-size:12px;font-weight:600;margin-top:6px}.sig-box{align-items:center;background:var(--paper);border:2px dashed rgba(58,73,45,.25);border-radius:12px;color:var(--leaf);cursor:pointer;display:flex;flex-direction:column;gap:.375rem;height:110px;justify-content:center;width:100%}.sig-box .ic{font-size:26px}.sig-box .tt{font-size:12px;letter-spacing:.1em}.sig-box.is-pressing,.sig-box:active{background:var(--paper-warm);transform:scale(.99)}.sig-box.filled{background:var(--paper);border-color:var(--leaf);border-style:solid;display:block;padding:10px;position:relative}.success-art{height:120px;margin:30px auto 18px;position:relative;width:120px}.success-art:before{background:radial-gradient(circle,rgba(6,199,85,.15),transparent 70%);content:""}.success-art .ring,.success-art:before{border-radius:50%;inset:0;position:absolute}.success-art .ring{animation:pulse 2s ease-out infinite;border:2px solid rgba(6,199,85,.25)}.success-art .center{background:var(--ok);border-radius:50%;box-shadow:0 10px 30px -8px #06c75599;color:var(--paper);display:grid;inset:18px;place-items:center;position:absolute}.success-art .center svg{fill:none;height:42px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4;width:42px}.list-plain{flex-direction:column;gap:.5rem;margin:0 20px 14px}.list-plain,.list-plain .row{display:flex}.list-plain .row{align-items:center;background:var(--paper);border:1px solid rgba(58,73,45,.1);border-radius:12px;cursor:pointer;gap:.625rem;justify-content:space-between;padding:12px 14px;transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.list-plain .row.is-pressing,.list-plain .row:active{background:var(--paper-warm);transform:scale(.98)}.list-plain .row .nm{color:var(--ink);font-size:13px;font-weight:700;letter-spacing:.06em}.list-plain .row .tm{color:var(--leaf);font-family:var(--mono);font-size:11px;letter-spacing:.08em;margin-top:2px}.usage-content h3{align-items:center;color:var(--ink);display:flex;font-family:var(--serif);font-size:15px;font-weight:700;gap:.5rem;letter-spacing:.1em;margin-bottom:8px}.usage-content h3:before{background:var(--gold);border-radius:2px;content:"";height:14px;width:4px}.usage-content p{color:var(--ink);font-size:12.5px;line-height:1.8;margin-bottom:10px}.usage-content ol{color:var(--ink);font-size:12.5px;line-height:1.9;margin-left:18px}.usage-content .step-chip{background:var(--paper-warm);border-radius:6px;color:var(--leaf);display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.15em;margin-right:6px;padding:2px 8px}.page-screen{display:flex;flex-direction:column;min-height:100vh}.page-body{flex:1 1 0%;padding-bottom:24px}.visible{visibility:visible}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.block{display:block}.flex{display:flex}.hidden{display:none}.h-6{height:1.5rem}.h-full{height:100%}.max-h-64{max-height:16rem}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-md{max-width:28rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border-b{border-bottom-width:1px}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.bg-opacity-90{--tw-bg-opacity:.9}.bg-opacity-95{--tw-bg-opacity:.95}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.font-mono{font-family:Poppins,ui-monospace,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.leading-relaxed{line-height:1.625}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}:root{--ink:#3a492d;--ink-deep:#2a3620;--leaf:#5e7649;--leaf-soft:rgba(94,118,73,.5);--paper:#f7f8f5;--paper-warm:#eef0e9;--gold:#dda15e;--amber:#fcc67a;--ok:#06c755;--danger:#b84a3c;--sans:"Noto Sans TC",system-ui,sans-serif;--serif:"Noto Serif TC",serif;--mono:"Poppins",ui-monospace,monospace}@keyframes blink{50%{opacity:.3}}@keyframes pulse{0%{opacity:.5;transform:scale(.8)}to{opacity:0;transform:scale(1.4)}}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.hover\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}
