@import"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;600;700&family=Noto+Serif+TC:wght@500;600;700;900&display=swap";:root{--bs-surface: var(--paper-50);--bs-fg: var(--ink-900);--bs-handle: var(--paper-300);--bs-shadow: var(--shadow-sheet, 0 -16px 40px -10px rgba(70,50,30,.25));--bs-radius: var(--r-sheet, 22px);--ink: var(--ink-900);--shadow-card: 0 1px 2px rgba(70,50,30,.06), 0 4px 12px rgba(70,50,30,.08);--shadow-sheet: 0 -16px 40px -10px rgba(70,50,30,.25);--r-card: var(--r-md, 12px);--r-input: var(--r-sm, 8px);--r-chip: var(--r-pill, 999px);--r-sheet: var(--r-xl, 22px);--safe-bot: env(safe-area-inset-bottom, 0px)}.tool-fill .mono{font-family:var(--font-sans);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1;letter-spacing:.01em}.tool-fill .ds-press{transition:transform .12s cubic-bezier(.2,.7,.2,1),background .16s ease,border-color .16s ease,color .16s ease}.tool-fill .ds-press:active{transform:scale(.92)}.tool-fill .ds-icon-btn:active{transform:scale(.9)}@media(hover:hover){.tool-fill .ds-icon-btn:hover{background:var(--paper-200)}}.tool-fill .ds-seg-item{transition:color .16s ease,font-weight 0s}@media(hover:hover){.tool-fill .ds-seg-item:not(.is-active):hover{color:var(--ink-700)}}.proc-shape{position:absolute;width:48px;height:48px;top:46px;left:46px;background:var(--terracotta-500)}.proc-shape-a{background:var(--terracotta-500);animation:procOrbit 2.4s cubic-bezier(.65,0,.35,1) infinite,procMorph 2.4s ease-in-out infinite;animation-delay:0s}.proc-shape-b{background:var(--sage-500);animation:procOrbit 2.4s cubic-bezier(.65,0,.35,1) infinite,procMorph 2.4s ease-in-out infinite;animation-delay:-.8s}.proc-shape-c{background:var(--terracotta-600);animation:procOrbit 2.4s cubic-bezier(.65,0,.35,1) infinite,procMorph 2.4s ease-in-out infinite;animation-delay:-1.6s}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes processingTextPulse{0%,to{opacity:.55;letter-spacing:.06em}50%{opacity:1;letter-spacing:.12em}}@keyframes submitBounce{0%{transform:scale(1)}30%{transform:scale(.93)}55%{transform:scale(1.06)}80%{transform:scale(.98)}to{transform:scale(1)}}@keyframes submittedPop{0%{opacity:0;transform:scale(.6) translateY(-4px)}60%{opacity:1;transform:scale(1.15) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes guideGlow{0%,to{box-shadow:0 0 0 9999px #2b21178c,0 0 18px #3e7d5c66}50%{box-shadow:0 0 0 9999px #2b21178c,0 0 34px #3e7d5cbf}}:root{--surface: var(--bg-elev);--surface-2: var(--bg-sunk);--ink: var(--fg);--ink-2: var(--fg-2);--muted: var(--fg-muted);--muted-2: var(--fg-faint);--primary-hi: var(--terracotta-400);--accent-ink: var(--sage-600);--accent-soft: var(--sage-100);--accent-faint: #F2F8F1;--amber: #E8A33B;--amber-soft: #FAEBC8;--warning-soft: #FAEBC8;--font-mono: var(--font-sans);--safe-bot: env(safe-area-inset-bottom, 0px);--sp-2: 8px;--sp-4: 16px;--sp-5: 20px}.tool-update{width:100%;height:100dvh;position:relative;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.tool-update *{-webkit-tap-highlight-color:transparent}.tool-update button,.tool-update a,.tool-update [role=button],.tool-update label{touch-action:manipulation;-webkit-user-select:none;user-select:none}.tool-update *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tool-update input,.tool-update textarea,.tool-update select{font-size:16px;-webkit-user-select:text;user-select:text}.tool-update>div{width:100%;height:100%}.tool-update .tw-screen{width:100%;height:100%;background:var(--bg);font-family:var(--font-sans);color:var(--ink);letter-spacing:0;display:flex;flex-direction:column;position:relative;overflow:hidden;padding-top:var(--screen-safe-top-override, calc(env(safe-area-inset-top, 24px) + 36px) )}.tool-update .tw-screen.dark{background:#2b2117;color:#fff8ee;--screen-safe-top-override: 0}.tool-update .tw-safe-top{height:calc(env(safe-area-inset-top,24px) + 36px);flex-shrink:0}.tool-update .tw-safe-bot{height:var(--safe-bot);flex-shrink:0}.tool-update .tw-cam-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#2b2117}.tool-update .tw-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;font-family:var(--font-sans);font-size:17px;font-weight:600;padding:18px 24px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:transform .14s cubic-bezier(.32,.72,0,1),background-color .14s cubic-bezier(.32,.72,0,1),box-shadow .14s cubic-bezier(.32,.72,0,1);min-height:56px;letter-spacing:.01em}.tool-update .tw-btn:active{transform:scale(.96);transition-duration:.1s}.tool-update .tw-btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px #46321e14,0 8px 24px -10px #b04f2f73}@media(hover:hover){.tool-update .tw-btn-primary:hover{background:var(--primary-ink)}}.tool-update .tw-btn-accent{background:var(--accent);color:#fff;box-shadow:0 1px #46321e14,0 8px 24px -10px #2d5e4480}.tool-update .tw-btn-secondary{background:var(--surface);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--border)}.tool-update .tw-btn-ghost{background:transparent;color:var(--muted)}.tool-update .tw-btn-block{width:100%}.tool-update .tw-appbar{display:flex;align-items:center;padding:14px 18px;gap:14px;font-size:17px;font-weight:600;color:var(--ink);flex-shrink:0}.tool-update .tw-appbar .tw-back{width:36px;height:36px;border-radius:999px;background:#46321e0f;display:flex;align-items:center;justify-content:center}.tool-update .tw-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:0 1px #46321e0a,0 1px 2px #46321e0d}.tool-update .tw-mono{font-family:var(--font-sans);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1;letter-spacing:.01em}.tool-update .tw-label-sm{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.tool-update .tw-headline{font-family:var(--font-serif);font-weight:700;letter-spacing:.01em;line-height:1.3}.tool-update .tw-cam{flex:1;position:relative;background:radial-gradient(ellipse at 50% 30%,#fff8ee0d,#0000 60%),linear-gradient(180deg,#352a1d,#211912);overflow:hidden}.tool-update .tw-cam-noise{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 10% 20%,rgba(255,255,255,.04) 0,transparent 30%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.03) 0,transparent 30%);opacity:1;pointer-events:none}.tool-update .tw-cam-grain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.18;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.7'/></svg>")}.tool-update .tw-cam-bg-doc{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;filter:blur(1.5px) brightness(.85)}@keyframes tw-pulse{0%,to{opacity:1}50%{opacity:.55}}.tool-update .tw-pulse{animation:tw-pulse 1.6s ease-in-out infinite}@keyframes tw-spin{to{transform:rotate(360deg)}}.tool-update .tw-spin{animation:tw-spin 1s linear infinite}.proc-shape{position:absolute;width:48px;height:48px;top:46px;left:46px;background:var(--primary)}.proc-shape-a{background:var(--primary);animation:procOrbit 2.4s cubic-bezier(.65,0,.35,1) infinite,procMorph 2.4s ease-in-out infinite;animation-delay:0s}.proc-shape-b{background:var(--accent);animation:procOrbit 2.4s cubic-bezier(.65,0,.35,1) infinite,procMorph 2.4s ease-in-out infinite;animation-delay:-.8s}.proc-shape-c{background:var(--primary-ink);animation:procOrbit 2.4s cubic-bezier(.65,0,.35,1) infinite,procMorph 2.4s ease-in-out infinite;animation-delay:-1.6s}@keyframes procOrbit{0%{transform:translateY(-34px) scale(.85)}33%{transform:translate(30px,17px) scale(1.05)}66%{transform:translate(-30px,17px) scale(.95)}to{transform:translateY(-34px) scale(.85)}}@keyframes procMorph{0%{border-radius:50%}25%{border-radius:22% 50% 50% 22%}50%{border-radius:22%}75%{border-radius:50% 22%}to{border-radius:50%}}@keyframes processingTextPulse{0%,to{opacity:.6;letter-spacing:.06em}50%{opacity:1;letter-spacing:.12em}}.field-morph{display:inline-block;animation:fieldMorph 1.5s ease-in-out infinite}@keyframes fieldMorph{0%,to{border-radius:45% 55% 52% 48%;transform:rotate(0) scale(.86)}50%{border-radius:58% 42% 47% 53%;transform:rotate(180deg) scale(1)}}@keyframes fillReveal{0%{opacity:0;transform:translateY(8px) scale(.96);filter:blur(6px) saturate(1.4) hue-rotate(8deg)}50%{opacity:1;transform:translateY(-2px) scale(1.015);filter:blur(.5px) saturate(1.15) hue-rotate(4deg)}to{opacity:1;transform:translateY(0) scale(1);filter:none}}.tool-update .tw-diff-card{background:#fff;border-radius:14px;padding:16px 16px 18px;position:relative;box-shadow:0 1px #46321e0a,0 1px 2px #46321e0a}.tool-update .tw-diff-card-tappable{cursor:pointer;transition:box-shadow .14s,transform .14s}@media(hover:hover){.tool-update .tw-diff-card-tappable:hover{box-shadow:0 2px #46321e0f,0 6px 14px -4px #46321e1f}}.tool-update .tw-diff-card-tappable:active{transform:scale(.97);transition-duration:.1s}.tool-update .tw-card-trash{position:absolute;top:8px;right:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);transition:background-color .12s,color .12s;z-index:2}@media(hover:hover){.tool-update .tw-card-trash:hover{background:var(--danger-soft);color:var(--danger)}.tool-update .tw-card-trash:hover svg path{stroke:var(--danger)}}.tool-update .tw-card-trash:active{background:var(--danger-soft);color:var(--danger);transform:scale(.92);transition-duration:.1s}@keyframes tw-shutter{0%{box-shadow:0 0 #ffffff59}60%,to{box-shadow:0 0 0 22px #fff0}}.tool-update .tw-shutter:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;animation:tw-shutter 2.4s ease-out infinite;pointer-events:none}@keyframes tw-rise{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.tool-update .tw-rise{animation:tw-rise .35s cubic-bezier(.2,.7,.2,1) both}.tool-update .sf-circle{stroke-dasharray:264;stroke-dashoffset:264;transform-origin:50% 50%;transform:rotate(-90deg);transition:stroke-dashoffset .6s cubic-bezier(.65,0,.45,1),stroke .4s ease}.tool-update .sf-circle.is-animating{animation:sf-spin .85s linear infinite}.tool-update .sf-check{stroke-dasharray:70;stroke-dashoffset:70}.tool-update .sf-x-line{stroke-dasharray:45;stroke-dashoffset:45}.tool-update .sf-wrapper{transform:scale(1)}.tool-update .sf-phase-submitting .sf-circle{stroke-dashoffset:60}.tool-update .sf-phase-success .sf-circle{stroke-dashoffset:0}.tool-update .sf-phase-success .sf-check{animation:sf-draw .4s cubic-bezier(.65,0,.45,1) .3s forwards}.tool-update .sf-phase-success .sf-wrapper{animation:sf-bump .4s cubic-bezier(.34,1.56,.64,1) .5s forwards}.tool-update .sf-phase-failed .sf-circle{stroke-dashoffset:0}.tool-update .sf-phase-failed .sf-x-line-1{animation:sf-draw .25s cubic-bezier(.65,0,.45,1) .3s forwards}.tool-update .sf-phase-failed .sf-x-line-2{animation:sf-draw .25s cubic-bezier(.65,0,.45,1) .45s forwards}.tool-update .sf-phase-failed .sf-wrapper{animation:sf-shake .5s cubic-bezier(.36,.07,.19,.97) .5s both}@keyframes sf-spin{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes sf-draw{to{stroke-dashoffset:0}}@keyframes sf-bump{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes sf-shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.tool-update .sf-status-label{opacity:0;transform:translateY(10px);transition:opacity .4s cubic-bezier(.175,.885,.32,1.275),transform .4s cubic-bezier(.175,.885,.32,1.275)}.tool-update .sf-status-label.is-visible{opacity:1;transform:translateY(0);transition-delay:.5s}@keyframes tw-check-draw{0%{stroke-dashoffset:60}to{stroke-dashoffset:0}}.tool-update .tw-check path{stroke-dasharray:60;stroke-dashoffset:0;animation:tw-check-draw .55s .15s ease-out both}@keyframes tw-ring-grow{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.tool-update .tw-ring{animation:tw-ring-grow .45s cubic-bezier(.2,1.1,.3,1) both}@keyframes tw-burst{0%{transform:translate(0) scale(.6);opacity:0}35%{opacity:1}to{transform:translate(var(--dx,0),var(--dy,0)) scale(1);opacity:0}}.tool-update .tw-confetti span{position:absolute;width:6px;height:6px;border-radius:2px;animation:tw-burst 1.3s ease-out forwards}.tool-update .tw-rail-left{position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:2px}.tool-update .redpen-row{display:flex;align-items:flex-end;justify-content:center;flex-wrap:nowrap;padding:4px 6px 6px;position:relative}.tool-update .redpen-stack{display:inline-flex;flex-direction:column;align-items:center;line-height:1;position:relative}.tool-update .redpen-annot{display:flex;flex-direction:column;align-items:center;line-height:1;margin-bottom:2px;pointer-events:none;height:32px;justify-content:flex-end}.tool-update .redpen-annot-empty{visibility:hidden}.tool-update .redpen-annot-text{font-family:var(--font-sans);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1;font-size:18px;font-weight:700;color:var(--danger);transform:rotate(-4deg);letter-spacing:.02em;text-shadow:0 .5px 0 rgba(176,40,35,.2)}.tool-update .redpen-annot-arrow{font-size:13px;line-height:1;color:var(--danger);font-weight:700;margin-top:1px}.tool-update .redpen-char{font-family:var(--font-sans);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1;font-size:20px;font-weight:500;color:var(--ink);padding:2px;position:relative;letter-spacing:0;z-index:0}.tool-update .redpen-char.space{padding:0 3px}.tool-update .redpen-char.wrong{font-weight:600}.tool-update .redpen-char.wrong:before{content:"";position:absolute;top:0;right:-3px;bottom:0;left:-3px;background:linear-gradient(96deg,#e6503700 2%,#dc3c2d8c 12%,#c8281eb8,#dc3c2d8c 88%,#e6503700 98%);border-radius:3px;transform:skew(-4deg);mix-blend-mode:multiply;z-index:-1;box-shadow:inset 0 -2px #b028232e}.tool-update .redpen-char.wrong:after{content:"";position:absolute;left:-2px;right:-1px;top:5px;height:60%;background:#dc3c2d2e;border-radius:1px;transform:skew(-6deg) rotate(-1deg);mix-blend-mode:multiply;z-index:-1}.tool-update .redpen-char.struck{color:#46321e8c}.tool-update .redpen-char.struck:before{content:"";position:absolute;left:-3px;right:-3px;top:52%;height:2.5px;background:linear-gradient(90deg,#c8332ab3,#b02823f2,#c8332ab3);transform:rotate(-3deg);border-radius:2px;box-shadow:0 .5px #b0282340;z-index:1;pointer-events:none}.tool-update .redpen-char.struck:after{content:"";position:absolute;left:-1px;right:0;top:46%;height:1px;background:#c8332a59;transform:rotate(-4deg);border-radius:2px;z-index:1;pointer-events:none}.tool-update .redpen-char.is-insert{padding:0 1px 3px;min-width:10px;display:inline-flex;align-items:flex-end;justify-content:center;font-size:20px;line-height:1}.tool-update .redpen-char.is-insert svg{display:block}.tool-update .redpen-confirm{margin-top:14px;display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--success-soft);border-radius:10px}.tool-update .acard{width:250px;background:var(--surface);border-radius:12px;border:1px solid rgba(70,50,30,.08);overflow:hidden;box-shadow:0 6px 18px -6px #46321e2e,0 1px 2px #46321e0d;position:relative;font-family:var(--font-sans)}.tool-update .acard-header{padding:9px 14px 8px;background:linear-gradient(135deg,#c7522c,#e8743b);color:#fff;position:relative}.tool-update .acard-title{font-size:10px;font-weight:700;letter-spacing:.18em;font-family:var(--font-mono)}.tool-update .acard-subtitle{font-size:9px;opacity:.65;margin-top:1px;letter-spacing:.04em}.tool-update .acard-stamp{position:absolute;top:8px;right:12px;font-family:var(--font-mono);font-size:7px;font-weight:700;letter-spacing:.12em;color:#ffffffd9;padding:2px 6px;border:1px solid rgba(255,255,255,.4);border-radius:3px;transform:rotate(2deg)}.tool-update .acard-body{padding:6px 14px 12px}.tool-update .acard-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;border-bottom:1px dotted rgba(70,50,30,.07);min-height:26px}.tool-update .acard-row:last-child{border-bottom:none}.tool-update .acard-label{font-size:8px;font-weight:600;color:#46321e8c;letter-spacing:.05em;text-transform:uppercase;flex-shrink:0}.tool-update .acard-value{font-family:var(--font-sans);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1;font-size:11px;color:var(--ink);font-weight:600;display:flex;align-items:center;gap:5px;letter-spacing:.02em}.tool-update .acard-ok{display:inline-flex;width:8px;height:8px;border-radius:999px;background:var(--success);flex-shrink:0}.tool-update .acard-value-shimmer{height:10px;border-radius:3px;background:linear-gradient(90deg,#46321e12,#46321e24,#46321e12);background-size:220% 100%;animation:tw-shimmer-bar 1.6s ease-in-out infinite}@keyframes tw-shimmer-bar{0%{background-position:100% 0}to{background-position:-120% 0}}.tool-update .lens-wrap{position:absolute;left:0;top:0;pointer-events:none;will-change:transform;filter:drop-shadow(0 6px 14px rgba(70,50,30,.22))}.tool-update .lens-glass{position:absolute;border-radius:50%;overflow:hidden;background:var(--surface)}.tool-update .lens-content{position:absolute;transform-origin:0 0;will-change:left,top}.tool-update .lens-shine{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse 60% 35% at 32% 25%,rgba(255,252,244,.55),transparent 70%),radial-gradient(circle at 50% 50%,transparent 55%,rgba(160,140,110,.12) 100%);box-shadow:inset 0 0 0 1px #c9bca473,inset 0 2px 6px #fffcf480}.tool-update .lens-frame{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.tool-update .shimmer-stage{height:26px;display:flex;align-items:center;justify-content:center;position:relative}.tool-update .shimmer-text{font-size:17px;font-weight:600;letter-spacing:.02em;background:linear-gradient(100deg,#46321e52,#46321e52 38%,#d4633f,#46321e52 62%,#46321e52);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:tw-shimmer-sweep 2.6s linear infinite;white-space:nowrap}@keyframes tw-shimmer-sweep{0%{background-position:220% 0}to{background-position:-120% 0}}@keyframes tw-fade-swap{0%,to{opacity:0;transform:translateY(4px)}15%,85%{opacity:1;transform:none}}.tool-update .shimmer-text.swap{animation:tw-shimmer-sweep 2.6s linear infinite,tw-fade-swap 2.6s ease-in-out forwards}.tool-update .tw-action-bar{padding:12px 18px calc(var(--safe-bot) + 24px);background:linear-gradient(180deg,#faf5eb00,#faf5eb 30%);display:flex;flex-direction:column;gap:10px;flex-shrink:0}.tool-update .tw-btn-addfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1.5px dashed var(--border-strong);border-radius:12px;padding:14px 16px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}@media(hover:hover){.tool-update .tw-btn-addfield:hover{border-color:var(--primary);color:var(--primary-ink);background:var(--primary-faint)}}.tool-update .tw-btn-addfield:active{border-color:var(--primary);color:var(--primary-ink);background:var(--primary-faint);transform:scale(.97);transition-duration:.1s}.tool-update .tw-addfield-plus{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:var(--primary-soft);color:var(--primary-ink);font-size:16px;line-height:1;font-weight:700;padding-bottom:2px}.tool-update .tw-fieldrow{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:transparent;cursor:pointer;border:1px solid transparent;transition:background-color .12s,border-color .12s}@media(hover:hover){.tool-update .tw-fieldrow:hover{background:var(--surface)}}.tool-update .tw-fieldrow:active{background:var(--surface-2);transition-duration:80ms}.tool-update .tw-fieldrow.selected{background:var(--primary-faint);border-color:var(--primary-soft)}.tool-update .tw-fieldrow+.tw-fieldrow{border-top:1px solid var(--border);border-radius:0}.tool-update .tw-fieldrow-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tool-update .tw-fieldrow-label{font-size:14px;color:var(--ink);font-weight:600}.tool-update .tw-fieldrow-value{font-family:var(--font-sans);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1;font-size:12px;color:var(--muted);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-update .tw-fieldrow-chevron{color:var(--muted-2);flex-shrink:0}.tool-update .tw-input{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:14px;font-family:var(--font-sans);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1;font-size:16px;color:var(--ink);letter-spacing:.02em;outline:none;transition:border-color .12s,box-shadow .12s}.tool-update .tw-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.tool-update .tw-input-caret{display:inline-block;width:1.5px;height:18px;background:var(--primary);vertical-align:-3px;margin-left:1px;animation:tw-caret-blink 1s steps(2,end) infinite}@keyframes tw-caret-blink{50%{opacity:0}}.tool-update .tw-manual-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--amber-soft);color:#8a5a12;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.tool-update .tw-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.tool-update .tw-tag-primary{background:var(--primary-soft);color:var(--primary-ink)}.tool-update .tw-tag-accent{background:var(--accent-soft);color:var(--accent-ink)}.tool-update .tw-tag-success{background:var(--success-soft);color:var(--success)}.tool-update .tw-tag-warn{background:var(--warning-soft);color:var(--warning)}.tool-update .tw-tag-muted{background:#46321e0d;color:var(--muted)}.tool-update .tw-copy-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:600;letter-spacing:.04em;border-radius:999px;background:#46321e0f;color:var(--muted-2);transition:background-color .22s ease,color .22s ease,transform .18s cubic-bezier(.34,1.56,.64,1);line-height:1}.tool-update .tw-copy-pill svg{display:block;flex-shrink:0}.tool-update .tw-copy-pill.copied{background:var(--success-soft);color:var(--success);transform:scale(1.08);animation:tw-copy-bounce 1.4s ease-out forwards}.tool-update .tw-copy-pill.copied svg path{stroke-dasharray:24;stroke-dashoffset:24;animation:tw-copy-check .32s ease-out 60ms forwards}.tool-update .tw-copy-pill.error{background:var(--danger-soft);color:var(--danger)}@keyframes tw-copy-bounce{0%{transform:scale(.92)}18%{transform:scale(1.12)}40%{transform:scale(1)}to{transform:scale(1)}}@keyframes tw-copy-check{to{stroke-dashoffset:0}}.tool-update button:has(.tw-copy-pill):active{opacity:.7;transition:opacity 60ms}.tool-update .pt-page.idle{transform:translate(0);opacity:1}@keyframes pt-enter-fwd{0%{transform:translate(100%);opacity:1}to{transform:translate(0);opacity:1}}@keyframes pt-exit-bk{0%{transform:translate(0);opacity:1}to{transform:translate(-30%);opacity:.7}}.tool-update .pt-page.pt-enter-forward{animation:pt-enter-fwd .35s cubic-bezier(.32,.72,0,1) both}.tool-update .pt-page.pt-exit-back{animation:pt-exit-bk .35s cubic-bezier(.32,.72,0,1) both}@keyframes pt-enter-bk{0%{transform:translate(-30%);opacity:.7}to{transform:translate(0);opacity:1}}@keyframes pt-exit-fwd{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:1}}.tool-update .pt-page.pt-enter-back{animation:pt-enter-bk .35s cubic-bezier(.32,.72,0,1) both}.tool-update .pt-page.pt-exit-forward{animation:pt-exit-fwd .35s cubic-bezier(.32,.72,0,1) both}:root{--paper-50: #FFFCF4;--paper-100: #FAF5EB;--paper-200: #F3EDDE;--paper-300: #E8DFCC;--paper-400: #D8CCB4;--paper-500: #C9BCA4;--ink-900: #2B2117;--ink-700: #4A3C2E;--ink-500: #6B5D4C;--ink-400: #8A7F70;--ink-300: #B5A99A;--terracotta-600: #9A3F22;--terracotta-500: #B04F2F;--terracotta-400: #D4633F;--terracotta-100: #FBE7DE;--terracotta-50: #FDF3ED;--sage-600: #2D5E44;--sage-500: #3E7D5C;--sage-100: #E0EDDF;--amber-500: #B07A12;--rouge-600: #B23A30;--rouge-500: #C8332A;--rouge-100: #FCE5E1;--bg: var(--paper-100);--bg-elev: var(--paper-50);--bg-sunk: var(--paper-200);--fg: var(--ink-900);--fg-2: var(--ink-700);--fg-3: var(--ink-500);--fg-muted: var(--ink-400);--fg-faint: var(--ink-300);--fg-on-primary: #FFF8F2;--border: var(--paper-300);--border-strong: var(--paper-500);--rule: var(--paper-400);--primary: var(--terracotta-500);--primary-ink: var(--terracotta-600);--primary-soft: var(--terracotta-100);--primary-faint: var(--terracotta-50);--accent: var(--sage-500);--success: var(--sage-500);--success-soft: var(--sage-100);--warning: var(--amber-500);--danger: var(--rouge-500);--danger-soft: var(--rouge-100);--font-serif: "Noto Serif TC", "Songti TC", "STSong", Georgia, serif;--font-sans: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--num-feat: "tnum" 1;--fz-2xs: 11px;--fz-xs: 12px;--fz-sm: 14px;--fz-md: 16px;--fz-lg: 18px;--fz-xl: 22px;--fz-2xl: 28px;--fz-3xl: 36px;--fz-4xl: 48px;--lh-tight: 1.15;--lh-snug: 1.3;--lh-base: 1.5;--lh-loose: 1.7;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--r-xs: 6px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--r-2xl: 28px;--r-pill: 999px;--sh-sm: 0 1px 0 rgba(70,50,30,.04), 0 2px 6px -3px rgba(70,50,30,.14);--sh-md: 0 2px 0 rgba(70,50,30,.04), 0 6px 16px -6px rgba(70,50,30,.18);--sh-primary: 0 8px 24px -10px rgba(176,79,47,.55);--sh-dialog: 0 18px 50px -12px rgba(43,33,23,.3);--ease-ios: cubic-bezier(.32, .72, 0, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.2, .7, .2, 1);--dur-fast: .12s;--dur-base: .22s;--dur-slow: .38s;--tap-min: 44px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}.num{font-family:var(--font-sans);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:var(--num-feat);letter-spacing:.01em}.serif{font-family:var(--font-serif)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:16px;line-height:var(--lh-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}#root{min-height:100dvh}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}a{color:var(--primary);text-decoration:none}.login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(var(--safe-top) + 24px) 20px calc(var(--safe-bottom) + 24px);background:var(--bg)}.login-card{width:100%;max-width:380px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px 24px;box-shadow:0 8px 30px #2b21171a}.login-title{font-family:var(--font-serif);font-size:var(--fz-xl);font-weight:700;letter-spacing:.01em;color:var(--fg);margin:0 0 8px;line-height:var(--lh-snug)}.login-sub{font-size:var(--fz-sm);color:var(--fg-3);margin:0 0 20px;line-height:var(--lh-base)}.login-sub strong{color:var(--fg-2);font-weight:600}.login-label{display:block;font-size:var(--fz-xs);color:var(--fg-3);margin:0 0 6px;letter-spacing:.02em}.login-input{width:100%;box-sizing:border-box;padding:12px 14px;font-size:var(--fz-md);font-family:var(--font-sans);border:1px solid var(--border);border-radius:var(--r-md);background:#fff;color:var(--fg);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--dur-fast) var(--ease-out)}.login-input::placeholder{color:var(--ink-300)}.login-input:focus{border-color:var(--primary)}.login-code{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:var(--num-feat);letter-spacing:.55em;text-indent:.55em;text-align:center;font-size:var(--fz-2xl);font-weight:600;padding:14px}.login-turnstile{margin-top:16px;min-height:65px;display:flex;justify-content:center}.login-btn{width:100%;margin-top:16px;padding:14px;font-size:var(--fz-md);font-weight:600;font-family:var(--font-sans);color:var(--fg-on-primary);background:var(--primary);border:none;border-radius:var(--r-md);cursor:pointer;box-shadow:var(--sh-primary);transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}.login-btn:hover{background:var(--primary-ink)}.login-btn:active{transform:scale(.985);background:var(--primary-ink)}.login-btn:disabled{opacity:.6;cursor:default;box-shadow:none}.login-err{min-height:1.25em;margin:12px 0 0;font-size:var(--fz-xs);line-height:1.4;color:var(--danger)}.login-err.is-hint{color:var(--fg-muted)}.login-links{margin-top:18px;display:flex;justify-content:space-between;font-size:var(--fz-sm)}.login-links a{color:var(--primary);cursor:pointer;padding:4px 2px;-webkit-tap-highlight-color:transparent}.login-links a:active{color:var(--primary-ink)}.home{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:calc(var(--safe-top) + 16px) 16px calc(var(--safe-bottom) + 32px)}.home-inner{width:100%;max-width:480px}.home-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.home-email{font-size:var(--fz-xs);color:var(--fg-muted)}.home-logout{font-size:var(--fz-xs);color:var(--fg-muted);border:1px solid var(--border);border-radius:var(--r-pill);padding:5px 13px;background:transparent;transition:color var(--dur-fast),border-color var(--dur-fast)}.home-logout:hover{color:var(--fg-2);border-color:var(--border-strong)}.home-logout:disabled{opacity:.5}.home-brand{text-align:center;font-family:var(--font-serif);font-size:var(--fz-3xl);font-weight:900;letter-spacing:.01em;color:var(--fg);margin:6px 0 22px}.lb-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);padding:15px 15px 16px;margin-bottom:24px}.lb-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.lb-title{font-family:var(--font-serif);font-size:var(--fz-lg);font-weight:700;color:var(--fg)}.lb-scope{display:flex;background:var(--bg-sunk);border-radius:var(--r-sm);padding:2px;gap:2px}.lb-scope button{font-size:var(--fz-2xs);padding:4px 11px;border-radius:6px;border:none;background:transparent;color:var(--fg-muted);transition:background var(--dur-fast),color var(--dur-fast)}.lb-scope button.is-active{background:var(--bg-elev);color:var(--fg-2);font-weight:600;border:1px solid var(--border)}.lb-scale{display:flex;background:var(--bg-sunk);border-radius:var(--r-sm);padding:3px;gap:2px;margin-bottom:18px}.lb-scale button{flex:1;text-align:center;font-size:var(--fz-xs);padding:7px 0;border-radius:8px;border:none;background:transparent;color:var(--fg-3);transition:background var(--dur-fast),color var(--dur-fast)}.lb-scale button.is-active{background:var(--primary);color:var(--fg-on-primary);font-weight:600}.lb-podium{display:flex;align-items:flex-end;justify-content:center;gap:9px;margin-bottom:4px}.lb-col{flex:1;max-width:90px;display:flex;flex-direction:column;align-items:center}.lb-trophy{font-size:18px;color:var(--amber-500);margin-bottom:2px}.lb-nm{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fz-xs);color:var(--fg-2);font-weight:500}.lb-nm.is-first{font-size:var(--fz-sm);color:var(--fg);font-weight:600}.lb-score{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:var(--num-feat);font-size:var(--fz-sm);color:var(--fg-3);margin:1px 0 6px}.lb-score.is-first{font-size:var(--fz-md);color:var(--primary-ink);font-weight:600}.lb-bar{width:100%;border-radius:10px 10px 0 0;display:flex;justify-content:center;padding-top:7px}.lb-bar span{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:var(--num-feat);font-weight:700;color:var(--fg-on-primary)}.lb-bar-1{background:var(--terracotta-500);height:90px}.lb-bar-1 span{font-size:var(--fz-md)}.lb-bar-2{background:var(--terracotta-400);height:66px}.lb-bar-2 span{font-size:var(--fz-sm)}.lb-bar-3{background:var(--paper-400);height:50px}.lb-bar-3 span{color:var(--ink-700);font-size:var(--fz-sm)}.lb-empty{text-align:center;color:var(--fg-muted);font-size:var(--fz-sm);padding:24px 8px}.lb-me{border-top:1px solid var(--border);margin-top:14px;padding-top:13px}.lb-me-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.lb-me-label{font-size:var(--fz-sm);color:var(--fg-2);font-weight:500}.lb-me-lv{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:var(--num-feat);font-size:var(--fz-sm);color:var(--primary-ink);font-weight:600}.lb-prog{height:6px;border-radius:var(--r-pill);background:var(--bg-sunk);overflow:hidden;margin-bottom:9px}.lb-prog-fill{height:100%;background:var(--primary);border-radius:var(--r-pill)}.lb-me-stat{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:var(--num-feat);font-size:var(--fz-xs);color:var(--fg-3);margin:0}.home-sec{font-size:var(--fz-xs);font-weight:600;letter-spacing:.06em;color:var(--fg-muted);margin:0 0 10px 2px}.tool-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;color:var(--fg);margin-bottom:12px;transition:border-color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);-webkit-tap-highlight-color:transparent}.tool-card:hover{border-color:var(--primary);box-shadow:var(--sh-md)}.tool-card:active{transform:scale(.99)}.tool-ic{flex-shrink:0;width:46px;height:46px;border-radius:var(--r-md);background:var(--primary-faint);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:23px}.tool-body{flex:1;min-width:0}.tool-title-row{display:flex;align-items:center;gap:8px}.tool-title{font-family:var(--font-serif);font-size:var(--fz-lg);font-weight:700;line-height:1.25}.tool-chip{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:var(--num-feat);font-size:var(--fz-2xs);font-weight:600;padding:3px 8px;border-radius:var(--r-pill);background:var(--sage-100);color:var(--sage-600);flex-shrink:0}.tool-desc{display:block;font-size:var(--fz-sm);color:var(--fg-3);margin-top:3px}.tool-arrow{flex-shrink:0;color:var(--ink-300);font-size:20px;transition:color var(--dur-base),transform var(--dur-base) var(--ease-out)}.tool-card:hover .tool-arrow{color:var(--primary);transform:translate(3px)}.home-parked{border:1.5px dashed var(--rule);border-radius:var(--r-lg);padding:17px 16px;display:flex;align-items:center;gap:13px}.home-parked .ic{font-size:22px;color:var(--ink-300);flex-shrink:0}.home-parked .t1{display:block;font-size:var(--fz-sm);color:var(--fg-3)}.home-parked .t2{display:block;font-size:var(--fz-2xs);color:var(--fg-muted);margin-top:3px}@media(prefers-reduced-motion:reduce){.tool-card:hover .tool-arrow{transform:none}}
