/* V229 order-preserving bundle: v206.css,v212-footer-directory.css,v218-page.css,v220-toolkit.css,v222-repair.css,v223-lab.css,v218-boost.css */
/* v206.css */
/* V206 additive styles: routing widget only. */
.v206-route{border:1px solid #a98b5d;border-radius:7px;background:#102832;color:#f4f1e8;padding:clamp(18px,3vw,30px);max-width:940px;margin:26px auto}
.v206-route h2,.v206-route h3{color:#f5dfb2;line-height:1.35}
.v206-route p{line-height:1.8}
.v206-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.v206-route label{display:block;color:#f4f1e8;font-weight:700;line-height:1.5}
.v206-route select{display:block;width:100%;min-height:48px;margin-top:7px;padding:10px 12px;border:1px solid #a5b1ad;border-radius:4px;background:#0a1c25;color:#fff;font:inherit}
.v206-route button{min-height:44px;margin:16px 0;padding:9px 17px;border:1px solid #d8b875;border-radius:4px;background:transparent;color:#f2d9a5;font-family:inherit;font-size:15px;font-weight:700;line-height:1.4;cursor:pointer}
.v206-route :focus-visible{outline:3px solid #83d4e9;outline-offset:3px}
.v206-result{min-height:7em;margin-top:12px;padding:16px 18px;border-left:4px solid #d5b374;background:#17343c;line-height:1.75}
.v206-result h3{margin:0 0 7px}.v206-result p{margin:0}
.v206-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.v206-actions a{display:inline-flex;align-items:center;min-height:44px;padding:8px 15px;border:1px solid #d8b875;border-radius:4px;background:#d1ad71;color:#0c1c25;font-weight:800;text-decoration:none}
.v206-actions a:hover{background:#f0d398}
@media(max-width:720px){.v206-fields{grid-template-columns:1fr}.v206-route{margin:18px auto;padding:18px}.v206-actions a{width:100%;justify-content:center}}
@media print{.v206-route{color:#111!important;background:#fff!important}.v206-result{background:#fff!important;color:#111!important}.v206-route button{display:none}}
/* Lightweight public pages use one small local stylesheet and system fonts. */
.v206-page{margin:0;background:#071923;color:#eaf0ed;font:16px/1.7 system-ui,-apple-system,"Microsoft JhengHei","PingFang TC",sans-serif}
.v206-page *{box-sizing:border-box}.v206-page a{color:#edce95}.v206-page a:hover{color:#fff1cc}.v206-page :focus-visible{outline:3px solid #87d5e6;outline-offset:3px}
.v206-skip{position:absolute;left:-9999px;top:8px;padding:10px;background:#fff;color:#111}.v206-skip:focus{left:8px;z-index:10}
.v206-shell{width:min(1120px,calc(100% - 36px));margin-inline:auto}
.v206-top{background:#0a222e;border-bottom:2px solid #b49464}.v206-top .v206-shell{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-block:15px}.v206-brand{display:inline-flex;align-items:center;gap:12px;color:#f4dfb6!important;text-decoration:none;font-size:19px;font-weight:800}.v206-brand img{width:42px;height:42px}.v206-nav{display:flex;flex-wrap:wrap;gap:12px}.v206-nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;padding:7px 3px}
.v206-main{padding:28px 0 70px}.v206-breadcrumb{font-size:14px;color:#bbc9c9;margin-bottom:20px}.v206-hero{padding:clamp(22px,5vw,48px);border:1px solid #ae9060;border-radius:8px;background:linear-gradient(120deg,#0c2e3b,#15383d 58%,#182d31)}.v206-eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;color:#e3c187}.v206-hero h1{font-size:clamp(28px,4.2vw,48px);line-height:1.23;color:#fff1d2;margin:12px 0}.v206-lede{font-size:17px;max-width:830px;color:#e7eae3}.v206-hero p:last-child{margin-bottom:0}
.v206-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.v206-card{padding:23px;border:1px solid #50696b;border-radius:6px;background:#102b34}.v206-card h2,.v206-card h3{color:#f2dbad;margin-top:0;line-height:1.36}.v206-card p,.v206-card li{line-height:1.75}.v206-card li{margin:8px 0}.v206-card ol,.v206-card ul{padding-left:24px}.v206-card details{padding:12px 0;border-bottom:1px solid #536b6c}.v206-card summary{cursor:pointer;font-weight:700;color:#f1d29e}.v206-card details p{margin-bottom:0}
.v206-callout{border-left:4px solid #f4bd62;background:#193139;padding:15px 20px;margin:22px 0}.v206-actions{display:flex;flex-wrap:wrap;gap:11px;margin:20px 0}.v206-actions a{display:inline-flex;align-items:center;min-height:46px;padding:9px 16px;border-radius:4px;border:1px solid #d9b77c;background:#d3ae73;color:#0b1e27;text-decoration:none;font-weight:800}.v206-actions a.secondary{background:transparent;color:#f4d8a7}.v206-actions a:hover{background:#f5d296;color:#10232a}
.v206-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:25px 0}.v206-guide-grid .v206-card h2{font-size:18px}.v206-footer{border-top:1px solid #58635d;background:#0a202a;padding:26px 0;color:#cbd4d1}.v206-footer p{margin:7px 0}.v206-muted{font-size:14px;color:#c8d2cf}
[data-v206-offline-progress]{margin:12px 0;padding:14px;border:1px solid #789595;border-radius:4px;background:#153740;color:#e8f1ed}
[data-v206-offline-start]{min-height:46px;border:1px solid #d0ad72;border-radius:4px;background:#d2ae71;color:#0b1c22;padding:9px 16px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer}
[data-v206-offline-start]:disabled{opacity:.65;cursor:wait}
@media(max-width:760px){.v206-shell{width:min(100% - 28px,1120px)}.v206-grid{grid-template-columns:1fr}.v206-nav{gap:8px;font-size:14px}.v206-actions a{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.v206-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.v206-page{color:#111;background:#fff}.v206-card,.v206-hero{background:#fff;color:#111;border-color:#777}.v206-top,.v206-footer,.v206-actions{display:none}}

/* v212-footer-directory.css */
.v212-footer-directory{max-width:1200px;margin:1.5rem auto 0;padding:1rem;border:1px solid rgba(218,185,120,.3);border-radius:12px;background:#0b1824;color:#f4e7ce}
.v212-footer-directory summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.v212-footer-directory summary:focus-visible,.v212-footer-directory a:focus-visible{outline:3px solid #f8c977;outline-offset:3px}
.v212-footer-directory a{color:#f8d88f;text-decoration:underline;text-underline-offset:3px}
.v212-footer-directory p{margin:.55rem 0;color:#eadcc6}
.v212-footer-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-top:1rem}
.v212-footer-directory-grid h3{font-size:1rem;color:#ffe1a0;margin:.3rem 0 .6rem}
.v212-footer-directory-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.v212-directory-page .v212-directory-group{margin:1.4rem 0;padding:1rem;border:1px solid rgba(218,185,120,.25);border-radius:12px;background:#101e2a}
.v212-directory-page .v212-directory-group ul{columns:3;column-gap:2rem;padding-left:1.2rem}
.v212-directory-page .v212-directory-group li{break-inside:avoid;margin:.4rem 0}
.v212-directory-page a{color:#f8d88f}
@media(max-width:720px){.v212-footer-directory{margin:1rem .75rem;padding:.85rem}.v212-directory-page .v212-directory-group ul{columns:1}.v212-footer-directory-grid{grid-template-columns:1fr}}

/* v218-page.css */
.v218-page{background:#0b171c}
.v218p-hero{padding:28px 0 22px}
.v218p-hero h1{font-size:clamp(28px,4.6vw,48px);line-height:1.25;margin:10px 0 14px}
.v218p-hero p{max-width:780px;font-size:clamp(15px,1.6vw,17.5px);line-height:1.8}
.v218p-badges{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;margin:20px 0 0;max-width:780px}
.v218p-badges li{border:1px solid rgba(213,172,116,.3);border-radius:12px;padding:12px;background:rgba(213,172,116,.05)}
.v218p-badges b{display:block;font:700 22px/1.1 "IBM Plex Mono",ui-monospace,monospace;color:#efc993}
.v218p-badges span{font-size:12.5px;opacity:.8}
.v218p-stage{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start;margin:8px 0 22px}
.v218p-side h2{font-size:19px;margin:6px 0 10px}.v218p-side h3{font-size:16px;margin:16px 0 6px}
.v218p-side ul{padding-left:1.2em;margin:10px 0}
.v218p-tels{display:flex;flex-wrap:wrap;gap:6px}
.v218p-tels a{padding:7px 10px;border-radius:9px;background:rgba(255,122,107,.14);border:1px solid rgba(255,122,107,.45);text-decoration:none;font-weight:700;font-size:14px}
.v218p-steps{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:12px}
.v218p-steps li{border-left:2px solid #d5ac74;padding:4px 0 4px 14px}
.v218p-steps b{font:600 13px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.06em;color:#efc993}
.v218p-steps p{margin:4px 0 0}
.v218p-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}
.v218p-grid ul{padding-left:1.2em}.v218p-grid li{margin:5px 0}
.v218p-faq details{border-top:1px solid rgba(255,255,255,.08);padding:12px 0}
.v218p-faq summary{cursor:pointer;font-weight:700}
.v218p-faq p{margin:8px 0 0}
.v218p-more{display:flex;flex-wrap:wrap;gap:8px}
.v218p-more a{padding:7px 12px;border-radius:9px;border:1px solid rgba(213,172,116,.35);text-decoration:none}
.v218-page .v206-card{margin-top:18px}
@media (max-width:900px){.v218p-stage{grid-template-columns:1fr}.v218p-grid{grid-template-columns:1fr}.v218p-badges{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v220-toolkit.css */
/* V220 本機鑑識工具箱 */
.tk-page{--tk-gold:#d5ac74;--tk-gold2:#efc993;--tk-line:#25404a;--tk-red:#ff7a6b;--tk-amber:#f0b44c;--tk-green:#6fd6a8;--tk-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace}
.tk-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tk-hero h1{background:linear-gradient(100deg,#fff 0 40%,var(--tk-gold2) 50%,#fff 60% 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:tk-sheen 3.2s ease-out .2s 1 both}
@keyframes tk-sheen{from{background-position:100% 0}to{background-position:0 0}}
.tk-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:8px 0 14px;padding-bottom:2px}
.tk-tabs::-webkit-scrollbar{display:none}
.tk-tabs button{flex:0 0 auto;padding:11px 16px;border-radius:12px;border:1px solid var(--tk-line);background:rgba(0,0,0,.2);color:inherit;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}
.tk-tabs button[aria-selected="true"]{border-color:var(--tk-gold);background:rgba(213,172,116,.14);color:var(--tk-gold2);box-shadow:inset 0 -2px 0 var(--tk-gold)}
.tk-pane{position:relative;overflow:hidden}
.tk-pane.tk-scanning::after{content:"";position:absolute;left:0;right:0;top:0;height:120px;background:linear-gradient(180deg,transparent,rgba(239,201,147,.18),transparent);border-bottom:1px solid rgba(239,201,147,.6);animation:tk-scan .5s linear infinite;pointer-events:none}
@keyframes tk-scan{from{transform:translateY(-120px)}to{transform:translateY(600px)}}
.tk-drop{position:relative;display:flex;align-items:center;justify-content:center;min-height:120px;margin:14px 0;border:1.5px dashed rgba(213,172,116,.5);border-radius:14px;background:repeating-linear-gradient(45deg,rgba(213,172,116,.03) 0 10px,transparent 10px 20px);cursor:pointer;text-align:center;transition:background .15s,border-color .15s}
.tk-drop:hover,.tk-drop.tk-over,.tk-drop:focus-within{border-color:var(--tk-gold2);background:rgba(213,172,116,.08)}
.tk-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.tk-drop span{display:flex;flex-direction:column;gap:4px;pointer-events:none}
.tk-drop b{font-size:17px;color:var(--tk-gold2)}.tk-drop small{opacity:.75}
.tk-verdict{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 16px;border-radius:12px;border:1px solid var(--tk-line);margin:14px 0}
.tk-verdict strong{flex:1 1 100%;font-size:16.5px;line-height:1.5}
.tk-code{font:600 11px/1 var(--tk-mono);letter-spacing:.14em;padding:6px 9px;border-radius:6px;border:1px solid currentColor}
.tk-high{border-color:rgba(255,122,107,.6);background:rgba(255,122,107,.08)}.tk-high .tk-code{color:var(--tk-red)}
.tk-mid{border-color:rgba(240,180,76,.6);background:rgba(240,180,76,.07)}.tk-mid .tk-code{color:var(--tk-amber)}
.tk-low{border-color:rgba(111,214,168,.5);background:rgba(111,214,168,.06)}.tk-low .tk-code{color:var(--tk-green)}
.tk-bar{flex:1 1 160px;height:8px;border-radius:9px;background:rgba(0,0,0,.35);overflow:hidden}
.tk-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--tk-green),var(--tk-amber),var(--tk-red));animation:tk-grow .8s ease-out both;transform-origin:left}
@keyframes tk-grow{from{transform:scaleX(0)}}
.tk-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}
.tk-dl dt{opacity:.75}.tk-dl dd{margin:0;word-break:break-all}
.tk-hot{color:var(--tk-red)!important;font-weight:700}
.tk-hex{font:12px/1.6 var(--tk-mono);background:#071116;border:1px solid var(--tk-line);border-radius:10px;padding:12px;overflow-x:auto;color:#8fb7c0}
.tk-out h4{margin:16px 0 8px;font:600 12px/1.3 var(--tk-mono);letter-spacing:.1em;color:var(--tk-gold)}
.tk-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tk-actions button,.tk-actions a,.tk-import{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border-radius:10px;border:1px solid var(--tk-line);background:transparent;color:inherit;font:inherit;font-size:14.5px;text-decoration:none;cursor:pointer;position:relative}
.tk-actions button:disabled{opacity:.45;cursor:not-allowed}
.tk-primary{background:linear-gradient(135deg,#efc993,#c99a5e)!important;color:#16110a!important;border-color:transparent!important;font-weight:700}
.tk-import input{position:absolute;inset:0;opacity:0;cursor:pointer}
.tk-fine{font-size:13px;opacity:.78;margin-top:12px}
.tk-tablewrap{overflow-x:auto;border:1px solid var(--tk-line);border-radius:12px}
.tk-table{width:100%;border-collapse:collapse;font-size:14px}
.tk-table th,.tk-table td{padding:9px 12px;border-bottom:1px solid var(--tk-line);text-align:left;vertical-align:top}
.tk-mono{font-family:var(--tk-mono);font-size:12.5px;word-break:break-all}
.tk-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin-top:14px;align-items:end}
.tk-form label{display:flex;flex-direction:column;gap:5px;font-size:13.5px;opacity:.95}
.tk-form .tk-wide{grid-column:span 2}
.tk-form input,.tk-form select,#tk-scam-text{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;border:1px solid var(--tk-line);background:#0a1519;color:inherit;font:inherit;font-size:16px}
.tk-form input:focus,.tk-form select:focus,#tk-scam-text:focus{outline:none;border-color:var(--tk-gold);box-shadow:0 0 0 3px rgba(213,172,116,.18)}
.tk-form button{min-height:44px;border-radius:10px;border:0;font:inherit;cursor:pointer}
.tk-note{color:var(--tk-gold2);font-size:13px;min-height:1em}
.tk-tl-head{display:flex;align-items:baseline;justify-content:space-between;margin-top:10px}
.tk-tl-head span{font:600 12px var(--tk-mono);color:var(--tk-gold)}
.tk-tl{list-style:none;margin:8px 0 0;padding:0 0 0 18px;border-left:2px solid rgba(213,172,116,.4)}
.tk-ev{position:relative;display:grid;grid-template-columns:110px 1fr auto;gap:10px;padding:10px 0 10px 8px;border-bottom:1px dashed var(--tk-line);animation:tk-in .25s ease-out both}
.tk-ev::before{content:"";position:absolute;left:-25px;top:16px;width:10px;height:10px;border-radius:50%;background:var(--tk-gold2);box-shadow:0 0 0 4px rgba(213,172,116,.18)}
@keyframes tk-in{from{opacity:0;transform:translateX(-6px)}}
.tk-when{display:flex;flex-direction:column;font-family:var(--tk-mono);font-size:12.5px}.tk-when b{color:var(--tk-gold2)}
.tk-what strong{display:block;font-weight:600}.tk-what small{opacity:.75}
.tk-x{align-self:start;border:1px solid var(--tk-line);background:transparent;color:inherit;border-radius:8px;padding:4px 8px;font-size:12px;cursor:pointer}
.tk-empty{opacity:.7;padding:12px 0}
#tk-scam-text{min-height:140px;resize:vertical;margin-top:12px}
.tk-samples{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px;font-size:13px}
.tk-samples button{padding:5px 10px;border-radius:999px;border:1px solid rgba(213,172,116,.4);background:transparent;color:var(--tk-gold2);cursor:pointer;font:inherit;font-size:13px}
.tk-hits{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tk-hits li{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:10px;background:rgba(0,0,0,.2);border:1px solid var(--tk-line)}
.tk-hits b{color:var(--tk-gold2)}
@media (max-width:760px){.tk-form{grid-template-columns:1fr 1fr}.tk-form .tk-wide{grid-column:1/-1}.tk-ev{grid-template-columns:1fr auto}.tk-when{grid-column:1/-1;flex-direction:row;gap:8px}}
@media (prefers-reduced-motion:reduce){.tk-page *{animation:none!important}.tk-hero h1{color:#fff;background:none}}
@media print{.v206-top,.v206-footer,.tk-tabs,.tk-hero,.tk-pane:not(#tk-timeline),.tk-form,.tk-actions,.v218-fab,.v206-card:not(#tk-timeline){display:none!important}#tk-timeline{display:block!important;border:0}.tk-x{display:none}}
.tk-page .tk-out .tk-hits{padding-left:0!important;margin-left:0}
/* V221 延伸工具 */
.tk-quote-form fieldset{border:1px solid var(--tk-line);border-radius:12px;padding:10px 12px;margin:0;display:flex;flex-wrap:wrap;gap:6px 16px}
.tk-quote-form legend{padding:0 6px;font-size:13px;color:var(--tk-gold2)}
.tk-wide3{grid-column:1/-1}
.tk-chk{flex-direction:row!important;align-items:center;gap:7px!important;font-size:14px!important}
.tk-chk input{width:18px!important;height:18px;accent-color:#d5ac74}
.tk-hits.tk-red li{border-color:rgba(255,122,107,.45)}.tk-hits.tk-amber li{border-color:rgba(240,180,76,.45)}.tk-hits.tk-green li{border-color:rgba(111,214,168,.4)}
.tk-log{max-height:220px;overflow:auto;color:#9fe0c0;white-space:pre-wrap}
.tk-seal{font-size:14px!important;padding:10px 12px;border:1px dashed var(--tk-green);border-radius:10px;color:var(--tk-green)}
.tk-packlist{margin:6px 0 10px;padding-left:1.4em;font-size:14px;max-height:180px;overflow:auto}
.tk-notefield{display:flex;flex-direction:column;gap:6px;font-size:13.5px;margin-top:6px}
.tk-notefield textarea{padding:10px 12px;border-radius:10px;border:1px solid var(--tk-line);background:#0a1519;color:inherit;font:inherit;font-size:16px;resize:vertical}

/* v222-repair.css */
/* V222 本機修復工具箱 */
.tk-rd-bar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:12px 0}
.tk-rd-bar fieldset{border:0;margin:0;padding:0;display:flex;gap:6px 16px;flex-wrap:wrap}
.tk-rd-bar label{display:flex;align-items:center;gap:6px;font-size:14.5px}
.tk-rd-bar input[type=range]{accent-color:#d5ac74;width:120px}
.tk-rd-canvas{display:block;width:100%;max-width:100%;height:auto;border:1px solid var(--tk-line);border-radius:10px;background:#071116;cursor:crosshair;touch-action:none}
.tk-num summary{cursor:pointer;color:var(--tk-gold2);margin:12px 0 4px}
.tk-num .tk-form{grid-template-columns:repeat(4,minmax(0,1fr))}
.tk-stlist{list-style:none;margin:10px 0;padding:0}
.tk-stitem{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--tk-line)}
.tk-stname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-x{min-width:40px;min-height:36px}
.tk-stprev{display:block;max-width:100%;max-height:520px;object-fit:contain;margin:12px auto;border:1px solid var(--tk-line);border-radius:8px;background:#fff}
.tk-clean{margin-top:18px;padding-top:6px;border-top:1px dashed var(--tk-line)}
.tk-checks{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.tk-checks.tk-inline{flex-direction:row;flex-wrap:wrap;gap:8px 20px;margin:12px 0}
.tk-diffgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 6px}
.tk-diffgrid label[for]{display:block;margin-bottom:6px}
.tk-ta{width:100%;box-sizing:border-box;min-height:180px;padding:10px 12px;border-radius:10px;border:1px solid var(--tk-line);background:#0a1519;color:inherit;font:inherit;font-size:16px;resize:vertical}
.tk-ta:focus{outline:none;border-color:var(--tk-gold);box-shadow:0 0 0 3px rgba(213,172,116,.18)}
.tk-diffgrid .tk-import{margin-top:8px}
.tk-diff{font-family:var(--tk-mono);font-size:13px}
.tk-diff td{padding:2px 8px;border-bottom:1px solid rgba(37,64,74,.6);vertical-align:top}
.tk-diff .tk-ln{width:42px;text-align:right;opacity:.5;user-select:none}
.tk-diff .tk-mk{width:18px;text-align:center;font-weight:700}
.tk-diff .tk-tx{white-space:pre-wrap;word-break:break-word}
.tk-dd{background:rgba(255,122,107,.11)}.tk-di{background:rgba(111,214,168,.11)}
.tk-dd .tk-mk{color:var(--tk-red)}.tk-di .tk-mk{color:var(--tk-green)}
.tk-dd del{background:rgba(255,122,107,.38);text-decoration:none;border-radius:3px}
.tk-di ins{background:rgba(111,214,168,.38);text-decoration:none;border-radius:3px}
.tk-skip td{text-align:center;opacity:.6;font-size:12.5px;padding:6px}
.tk-hours{display:flex;gap:3px;height:96px;margin:8px 0 14px;align-items:stretch}
.tk-hc{position:relative;flex:1;min-width:0}
.tk-hc i{position:absolute;left:0;right:0;bottom:14px;background:linear-gradient(180deg,var(--tk-gold2),var(--tk-gold));border-radius:3px 3px 0 0;min-height:2px;transform-origin:bottom;animation:tk-rise .6s ease-out both}
.tk-hc small{position:absolute;left:0;right:0;bottom:0;text-align:center;font:10px/12px var(--tk-mono);opacity:.7}
@keyframes tk-rise{from{transform:scaleY(0)}}
.tk-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;margin:14px 0 6px;align-items:end}
.tk-filter label{display:flex;flex-direction:column;gap:5px;font-size:13.5px;min-width:0}
.tk-filter input[type=text],.tk-filter input[type=date],.tk-filter select{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;border:1px solid var(--tk-line);background:#0a1519;color:inherit;font:inherit;font-size:16px}
.tk-types{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 18px}
.tk-filter .tk-chk{flex-direction:row}
.tk-ctx{white-space:pre-wrap;word-break:break-word}
.tk-ctx mark{background:rgba(239,201,147,.38);color:inherit;border-radius:3px;padding:0 2px}
.tk-vplayer{display:block;width:100%;max-height:58vh;background:#000;border-radius:10px;margin:12px 0}
.tk-frames{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.tk-frame{border:1px solid var(--tk-line);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px;background:rgba(0,0,0,.2);animation:tk-in .25s ease-out both}
.tk-fthumb{width:100%;height:auto;border-radius:6px;display:block}
.tk-fcap{display:flex;flex-direction:column;gap:2px}.tk-fcap small{opacity:.65}
.tk-frow{display:flex;gap:6px}.tk-frow .tk-x{flex:1}
.tk-clean .tk-chk{font-size:14px!important}
@media (max-width:760px){
  .tk-diffgrid{grid-template-columns:1fr}
  .tk-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tk-filter input[type=date]{min-width:0}
  .tk-num .tk-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tk-stitem{grid-template-columns:auto minmax(0,1fr) auto auto auto}
  .tk-frames{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print{.tk-repair .tk-pane:not(#tk-chat){display:none!important}}
/* 對話表：窄螢幕改成橫向捲動，不要把時間與傳送者擠成直排 */
#tk-chat .tk-table{min-width:540px}
#tk-chat .tk-table th,#tk-chat .tk-table td:nth-child(1),#tk-chat .tk-table td:nth-child(2),#tk-chat .tk-table td:nth-child(4){white-space:nowrap}

/* v223-lab.css */
/* V223 本機判讀工具箱 */
.tk-lab .tk-seal{word-break:break-all;white-space:pre-wrap;overflow-wrap:anywhere}
.tk-brk{word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap}
.tk-sub{font-size:17px;margin:24px 0 2px}
.tk-off{opacity:.45}
/* 文件拉正 */
.tk-scanwrap{position:relative;display:block;width:100%;margin:10px 0;touch-action:none}
.tk-scancv{display:block;width:100%;height:auto;border:1px solid var(--tk-line);border-radius:10px;background:#071116}
.tk-hd{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;border-radius:50%;border:2px solid var(--tk-gold2);background:rgba(7,25,35,.8);color:var(--tk-gold2);font:700 15px/1 var(--tk-mono);cursor:grab;touch-action:none;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px rgba(213,172,116,.2)}
.tk-hd:focus-visible{outline:3px solid #56d6e8;outline-offset:2px}
.tk-hd.tk-on{cursor:grabbing;background:rgba(213,172,116,.32);transform:scale(1.1)}
.tk-scanout{display:block;max-width:100%;height:auto;border:1px solid var(--tk-line);border-radius:8px;margin:12px 0;background:#fff}
/* ELA、相似圖片 */
.tk-elagrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:12px 0}
.tk-elagrid figure{margin:0;min-width:0}
.tk-elagrid canvas{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--tk-line);background:#071116}
.tk-elagrid figcaption{font-size:13px;opacity:.78;margin-top:5px;word-break:break-word}
.tk-simgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.tk-simgrid .tk-drop{margin:0;min-height:96px}
.tk-simgrid .tk-drop small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-blinkbox{margin:12px 0}
.tk-blinkbox canvas{display:block;width:100%;max-width:480px;height:auto;margin:0 auto;border-radius:8px;border:1px solid var(--tk-line)}
/* 文字去識別化 */
.tk-cats{border:1px solid var(--tk-line);border-radius:12px;padding:10px 14px 12px;margin:14px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 12px}
.tk-cats legend{padding:0 6px;font-size:14px;color:var(--tk-gold2)}
.tk-cats .tk-chk{display:flex;align-items:center;gap:7px;font-size:14px;min-width:0}
.tk-chips{display:flex;flex-wrap:wrap;gap:6px 8px;margin:10px 0}
.tk-chip{display:inline-block;padding:3px 11px;border-radius:999px;border:1px solid var(--tk-line);font-size:13px;background:rgba(213,172,116,.08)}
.tk-au-ok{border-color:rgba(111,214,168,.7);color:#6fd6a8}
.tk-au-bad{border-color:rgba(255,122,107,.8);color:#ff7a6b}
.tk-au-mid{border-color:rgba(239,201,147,.8);color:#efc993}
.tk-au-na{opacity:.65}
.tk-pitable{min-width:560px}
.tk-pitable th,.tk-pitable td{vertical-align:top}
.tk-pitable td:first-child{width:44px}
.tk-pitable input[type=checkbox]{width:20px;height:20px;accent-color:#d5ac74}
.tk-pires h4{margin:18px 0 8px}
.tk-hl-wrap summary{cursor:pointer;color:var(--tk-gold2);margin:14px 0 6px}
.tk-hl{white-space:pre-wrap;word-break:break-word;background:#0a1519;border:1px solid var(--tk-line);border-radius:10px;padding:10px 12px;max-height:340px;overflow:auto;font-size:14.5px;line-height:1.75}
.tk-m{background:rgba(239,201,147,.38);color:inherit;border-radius:3px;padding:0 2px}
.tk-m-off{background:transparent;text-decoration:underline dotted;opacity:.8}
/* 電子郵件標頭 */
.tk-finds{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.tk-f{padding:9px 12px;border-radius:10px;border:1px solid var(--tk-line);background:rgba(0,0,0,.18);font-size:14.5px;line-height:1.65}
.tk-f-high{border-color:rgba(255,122,107,.7)}.tk-f-high b{color:#ff7a6b}
.tk-f-warn{border-color:rgba(239,201,147,.7)}.tk-f-warn b{color:#efc993}
.tk-f-ok{border-color:rgba(111,214,168,.6)}.tk-f-ok b{color:#6fd6a8}
.tk-f-info b{opacity:.7}
.tk-warn{color:#efc993}
/* 錄音 */
.tk-wavewrap{margin:12px 0}
.tk-wave{display:block;width:100%;height:auto;aspect-ratio:1200/220;border:1px solid var(--tk-line);border-radius:10px;background:#071116;cursor:crosshair;touch-action:none}
.tk-segs .tk-stitem{grid-template-columns:auto minmax(0,1fr) auto}
/* 時間 */
#tk-time .tk-table td:nth-child(2){white-space:nowrap}

/* 結果清單與表格：長內容換行、窄螢幕改成「標籤在上、內容在下」，表格寬度固定並由外框橫向捲動，避免欄位被擠成一字一行 */
.tk-lab .tk-dl dd{word-break:normal;overflow-wrap:anywhere}
.tk-hoptable{min-width:720px}
.tk-hoptable td:nth-child(2),.tk-hoptable td:nth-child(3){min-width:170px}
.tk-hoptable td:nth-child(5),.tk-hoptable td:nth-child(6){white-space:nowrap}
.tk-zonetable th,.tk-zonetable td{white-space:nowrap}
.tk-zonetable .tk-mono{font-size:13px}
.tk-tablewrap{-webkit-overflow-scrolling:touch}
@media (max-width:760px){
  .tk-lab .tk-dl{grid-template-columns:1fr;gap:0}
  .tk-lab .tk-dl dt{margin-top:11px;font-size:13px}
  .tk-lab .tk-dl dt:first-child{margin-top:0}
  .tk-zonetable th,.tk-zonetable td{padding:8px 6px}
  .tk-simgrid{grid-template-columns:1fr}
  .tk-elagrid{grid-template-columns:1fr}
  .tk-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tk-hd{width:48px;height:48px;margin:-24px 0 0 -24px}
  .tk-form .tk-wide3{grid-column:1/-1}
}
@media print{.tk-lab .tk-pane{display:none!important}}

/* 判讀結果出現時的「蓋章」動畫與工具切換淡入：只在允許動態時啟用，且縮放幅度很小，不會造成橫向捲動 */
@keyframes v223-stamp{0%{opacity:0;transform:scale(1.05) rotate(-.6deg)}60%{opacity:1;transform:scale(.99)}100%{opacity:1;transform:none}}
@keyframes v223-pane{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  .tk-lab .tk-verdict{animation:v223-stamp .42s cubic-bezier(.2,.9,.25,1.1) backwards}
  .tk-lab .tk-pane:not([hidden]){animation:v223-pane .26s ease-out backwards}
}

/* v218-boost.css */
/* V218 全站：AI 偵探浮動入口、電影感換頁轉場、手機排版修正 */
@view-transition{navigation:auto}
::view-transition-old(root){animation:v218-vt-out .22s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:v218-vt-in .34s cubic-bezier(0,0,.2,1) both}
@keyframes v218-vt-out{to{opacity:0;filter:brightness(.6) blur(2px);transform:scale(.985)}}
@keyframes v218-vt-in{from{opacity:0;clip-path:inset(0 0 100% 0);filter:brightness(1.4)}to{opacity:1;clip-path:inset(0 0 0 0);filter:none}}
@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}

.v218-fab{position:fixed;z-index:96;right:max(14px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;padding:9px 16px 9px 9px;border-radius:999px;border:1px solid rgba(239,201,147,.55);background:linear-gradient(135deg,rgba(18,34,41,.94),rgba(10,20,25,.96));color:#f3e6d2;font:inherit;cursor:pointer;box-shadow:0 12px 34px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.04);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .18s ease,box-shadow .18s ease}
.v218-fab:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.5),0 0 0 4px rgba(213,172,116,.12)}
.v218-fab:focus-visible{outline:2px solid #efc993;outline-offset:3px}
.v218-fab-ring{position:relative;width:34px;height:34px;border-radius:50%;border:1px solid rgba(239,201,147,.7);background:radial-gradient(circle,#efc993 0 3px,transparent 4px),repeating-radial-gradient(circle,transparent 0 6px,rgba(239,201,147,.2) 6px 7px);overflow:hidden;flex:0 0 auto}
.v218-fab-ring::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(239,201,147,.8),transparent 75deg);animation:v218-fab-spin 2.6s linear infinite}
.v218-fab::before{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid rgba(239,201,147,.6);animation:v218-fab-pulse 2.8s ease-out infinite;pointer-events:none}
@keyframes v218-fab-spin{to{transform:rotate(360deg)}}
@keyframes v218-fab-pulse{0%{opacity:.7;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.18)}}
.v218-fab-t{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.v218-fab-t b{font-size:15px;letter-spacing:.06em;color:#fff}
.v218-fab-t small{font-size:11px;color:#d5ac74;letter-spacing:.04em}
html.v218-on .ai-consultant .ai-launch{display:none!important}
html.v218-open .v218-fab{visibility:hidden}
.v218-boot{height:100%;display:grid;place-items:center;align-content:center;gap:14px;background:#0d1a20;color:#d5ac74;font:500 12px/1.6 ui-monospace,Menlo,monospace;letter-spacing:.12em;padding:24px;text-align:center}
.v218-boot a{color:#efc993}
.v218-boot i{width:46px;height:46px;border-radius:50%;border:2px solid rgba(213,172,116,.25);border-top-color:#efc993;animation:v218-fab-spin .8s linear infinite}
.v218-panel{position:fixed;z-index:2147483000;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:min(440px,calc(100vw - 28px));height:min(720px,calc(100dvh - 28px));border-radius:18px;overflow:hidden;background:#0d1a20}
.v218-panel[hidden]{display:none}
@media (max-width:720px){
  .v218-fab{bottom:calc(var(--v214-mobile-dock,64px) + 12px + env(safe-area-inset-bottom));right:12px;padding:7px 13px 7px 7px}
  .v218-fab-ring{width:30px;height:30px}
  .v218-fab-t small{display:none}
  .v218-panel{inset:0;width:100%;height:100%;height:100dvh;border-radius:0}
  html.v218-open,html.v218-open body{overflow:hidden}
  /* 原有工具連結列：手機改為單列橫向捲動，連結全部保留 */
  .v201-utility .v201-links{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .v201-utility .v201-links::-webkit-scrollbar{display:none}
  .v201-utility .v201-links a{flex:0 0 auto;white-space:nowrap}
  /* 回饋音效開關縮小，避免遮住內文 */
  .apex-feedback-control{transform:scale(.82);transform-origin:left bottom;opacity:.85}
}
@media (prefers-reduced-motion:reduce){.v218-fab::before,.v218-fab-ring::after{animation:none}}
@media print{.v218-fab,.v218-panel{display:none!important}}
/* V220 電影感：閱讀進度掃描線＋標題掃描顯影 */
.v220-progress{position:fixed;left:0;top:0;width:100%;height:2px;z-index:97;pointer-events:none;background:linear-gradient(90deg,rgba(213,172,116,0),#efc993 70%,#fff);box-shadow:0 0 8px rgba(239,201,147,.7);transform-origin:0 50%;transform:scaleX(0);display:none}
@supports (animation-timeline:scroll()){.v220-progress{display:block;animation:v220-prog linear both;animation-timeline:scroll(root)}}
@keyframes v220-prog{to{transform:scaleX(1)}}
html.v220-fx .v220-reveal{clip-path:inset(0 100% 0 0);position:relative}
html.v220-fx .v220-reveal.v220-in{animation:v220-decode .7s cubic-bezier(.2,.7,.2,1) both}
html.v220-fx .v220-reveal.v220-in::after{content:"";position:absolute;top:-4px;bottom:-4px;width:2px;left:0;background:#efc993;box-shadow:0 0 12px #efc993;animation:v220-beam .7s cubic-bezier(.2,.7,.2,1) both;pointer-events:none}
@keyframes v220-decode{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes v220-beam{from{left:0;opacity:1}90%{opacity:1}to{left:100%;opacity:0}}
.v218-ai-hero h2{background:linear-gradient(100deg,#fff 0 42%,#efc993 50%,#fff 58% 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:v220-sheen 2.8s ease-out .3s 1 both}
@keyframes v220-sheen{from{background-position:100% 0}to{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.v220-progress{display:none!important}html.v220-fx .v220-reveal{clip-path:none!important;animation:none!important}.v218-ai-hero h2{color:#fff;background:none;animation:none}}
html.v215-lite .v220-reveal{clip-path:none!important}
@media print{.v220-progress{display:none}html.v220-fx .v220-reveal{clip-path:none!important}}

/* V222 電影感互動 */
.v222-glow{position:fixed;left:0;top:0;width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;pointer-events:none;z-index:4;background:radial-gradient(circle,rgba(239,201,147,.11),rgba(239,201,147,.04) 38%,transparent 66%);opacity:0;transition:opacity .35s;will-change:transform}
.v222-glow.on{opacity:1}
.v222-rv{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .6s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.v222-rv.v222-in{opacity:1;transform:none}
.v215-lite .v222-glow{display:none}.v215-lite .v222-rv{opacity:1;transform:none;transition:none}
@media (prefers-reduced-motion:reduce){.v222-glow{display:none}.v222-rv{opacity:1;transform:none;transition:none}}
@media print{.v222-glow{display:none}.v222-rv{opacity:1!important;transform:none!important}}

/* V226 版面修正（只加不改）
   1) 步驟清單 .steps：標題與說明都排在數字右邊那一欄。原本說明文字會掉進數字欄，電腦版只剩約 74px 寬、手機只剩約 46px 寬，變成一字一行的窄條。
   2) 手機窄版的表格：指南內帶 data-label 的表格改成「一列一張卡」，每一格前面顯示欄位名稱，不必橫向捲動就能讀完所有欄位；電腦版不變。 */
.steps > li{row-gap:0}
.steps > li > *{grid-column:2}
@media (max-width:720px){
  .table-wrap.v226-stack{overflow:visible;border:0;border-radius:0;margin:18px 0;background:none}
  .v226-stack table{display:block;min-width:0;width:100%}
  .v226-stack thead{display:none}
  .v226-stack tbody{display:grid;gap:12px}
  .v226-stack tbody tr{display:block;border:1px solid var(--line);border-radius:var(--radius-lg,14px);overflow:hidden;background:rgba(10,24,30,.55)}
  .v226-stack tbody td{display:block;padding:10px 15px;border-bottom:1px solid var(--line);line-height:1.7}
  .v226-stack tbody tr:last-child td{border-bottom:1px solid var(--line)}
  .v226-stack tbody tr td:last-child{border-bottom:0}
  .v226-stack tbody td::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--accent)}
  .v226-stack tbody td:first-child{background:var(--surface-2);color:var(--text);padding:12px 15px}
  .v226-stack tbody td:first-child::before{display:none}
}

/* V229 additive interface. Original CSS and tool modules remain available. */
.v229-root{--v229-ink:#eaf1f4;--v229-muted:#aebec8;--v229-gold:#e5bf82;--v229-line:#ffffff20;--v229-surface:#0d1823;--v229-blue:#96d8dc;color:var(--v229-ink);font-family:system-ui,-apple-system,"Noto Sans TC",sans-serif;line-height:1.7;color-scheme:dark}
.v229-root *{box-sizing:border-box}
.v229-root [hidden]{display:none!important}
.v229-root a{color:inherit;text-decoration:none}
.v229-root button,.v229-root input,.v229-root select,.v229-root textarea{font:inherit}
.v229-root a:focus-visible,.v229-root button:focus-visible,.v229-root input:focus-visible,.v229-root select:focus-visible,.v229-root textarea:focus-visible{outline:3px solid var(--v229-blue);outline-offset:4px}
.v229-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.v229-kicker{color:var(--v229-gold);font:600 11px/1.6 ui-monospace,SFMono-Regular,monospace;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}
.v229-muted{color:var(--v229-muted)}
.v229-note{color:var(--v229-muted);font-size:13px;max-width:78ch}
.v229-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px}
.v229-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 19px;border:1px solid #e5bf826b;background:transparent;color:var(--v229-gold);border-radius:7px;cursor:pointer;text-align:center;font-weight:650;transition:transform .18s,background .18s}
.v229-btn:hover{background:#e5bf8214;transform:translateY(-2px)}
.v229-btn.primary{background:var(--v229-gold);color:#111b24;border-color:var(--v229-gold)}
.v229-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.v229-rail{border-block:1px solid var(--v229-line);background:#09131c;position:relative;z-index:3}
.v229-rail .v229-shell{display:flex;gap:18px;align-items:center;justify-content:space-between;min-height:52px;padding-block:7px}
.v229-rail strong{font:600 11px ui-monospace,monospace;color:var(--v229-gold);letter-spacing:.1em;white-space:nowrap}
.v229-rail nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:13px}
.v229-rail button{font-size:13px;border:1px solid #ffffff35;background:#ffffff08;color:var(--v229-ink);padding:6px 12px;border-radius:6px;min-height:38px;cursor:pointer}
.v229-hero{position:relative;isolation:isolate;overflow:clip;padding:0;background:#071019;background-image:radial-gradient(ellipse at 78% 20%,#38515f35,transparent 65%);border-bottom:1px solid #ffffff20}
.v229-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071019 5%,#071019ed 42%,#07101955),url('original-detective-hero.webp') center right/cover no-repeat;opacity:.75}
.v229-hero.v36-reveal{opacity:1!important;transform:none!important;transition:none!important}
.v229-hero .v229-shell{display:grid;grid-template-columns:1.05fr 1fr;gap:62px;align-items:center;padding-block:70px 58px}
.v229-hero h2{font-family:"Noto Serif TC",ui-serif,serif;font-size:clamp(35px,4.1vw,59px);line-height:1.4;font-weight:600;letter-spacing:.04em;margin:0 0 23px;color:#f4efe7}
.v229-hero h2 em{font-style:normal;color:var(--v229-gold)}
.v229-hero .v229-lede{color:#b8c7cf;font-size:16px;max-width:42ch;margin:0}
.v229-hero .v229-actions{margin-top:30px}
.v229-hero-footer{display:flex;gap:22px;flex-wrap:wrap;margin-top:35px;border-top:1px solid #ffffff25;padding-top:18px;color:#a9bdc8;font:11px/1.7 ui-monospace,monospace}
.v229-hero-footer b{display:block;font-size:13px;color:var(--v229-gold);font-weight:500}
.v229-caseboard{border:1px solid #dfbf865c;border-radius:12px;background:linear-gradient(130deg,#15222dd4,#071019ee);padding:23px;box-shadow:0 20px 80px #0004;position:relative}
.v229-board-top{display:flex;justify-content:space-between;gap:16px;font:10px/1.6 ui-monospace,monospace;color:#94b7c9;letter-spacing:.15em;border-bottom:1px solid #ffffff20;padding-bottom:18px}
.v229-led{width:7px;height:7px;background:#95dbb9;display:inline-block;border-radius:50%;margin-right:7px;box-shadow:0 0 10px #95dbb955}
.v229-radar{width:100%;height:185px;display:block;margin:12px auto;color:#d3b17b}
.v229-radar .scan{transform-origin:210px 94px}
.v229-board-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0;padding:0;list-style:none}
.v229-board-steps li{padding:12px;background:#ffffff04;border:1px solid #ffffff18;border-radius:6px}
.v229-board-steps b{display:block;color:#e3c48f;font:11px/1.5 ui-monospace,monospace;margin-bottom:7px}
.v229-board-steps span{font-size:13px;color:#d5e1e5}
.v229-board-status{font-size:12px;color:#a9c0cd;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}
.v229-board-status button{font:11px/1.6 ui-monospace,monospace;color:#e7c696;background:transparent;border:1px solid #dfbf865c;border-radius:4px;min-height:38px;padding:6px 10px;cursor:pointer}
.v229-cinema .v229-radar .scan{animation:v229-scan 12s linear infinite}
.v229-cinema .v229-led{animation:v229-led 2.8s ease-in-out infinite}
@keyframes v229-scan{to{transform:rotate(360deg)}}
@keyframes v229-led{50%{opacity:.4}}
.v229-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ffffff20;border-top:1px solid #ffffff20}
.v229-shortcuts a{display:flex;gap:15px;padding:18px 24px;background:#0b151f;align-items:center}
.v229-shortcuts a:hover{background:#152433}
.v229-shortcuts span{color:#d8b680;font:13px ui-monospace,monospace}
.v229-shortcuts b{font-size:14px;display:block;color:#e8edf0}
.v229-shortcuts small{color:#a3b6c4;font-size:11px}
.v229-page{background:#071019;color:#eaf1f4;margin:0;min-height:100svh}
.v229-top{border-bottom:1px solid #ffffff20;background:#0a1520}
.v229-top .v229-shell{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:18px}
.v229-brand{display:flex;gap:12px;align-items:center;font-size:15px;font-weight:650}
.v229-brand small{display:block;font:9px ui-monospace,monospace;letter-spacing:.14em;color:#b2c3cf}
.v229-top nav{display:flex;gap:22px;font-size:13px;align-items:center}
.v229-top a[aria-current=page]{color:var(--v229-gold)}
.v229-main{padding-block:38px 70px}
.v229-breadcrumb{font-size:12px;color:var(--v229-muted);margin-bottom:28px}
.v229-intro{max-width:80ch;margin-bottom:34px}
.v229-intro h1{font-family:ui-serif,"Noto Serif TC",serif;font-size:clamp(29px,3.6vw,45px);line-height:1.45;letter-spacing:.035em;margin:0 0 18px;font-weight:550;color:#f5efe5}
.v229-intro p{color:#b3c3cf;font-size:15px}
.v229-badges{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}
.v229-badges span{border:1px solid #dfbf863c;padding:6px 12px;border-radius:30px;font:12px/1.5 ui-monospace,monospace;color:#d7c197;background:#e5bf8205}
.v229-split{display:grid;grid-template-columns:235px 1fr;gap:24px;align-items:start}
.v229-tabs{display:flex;flex-direction:column;gap:6px;position:sticky;top:18px;align-self:start}
.v229-tabs button{display:flex;align-items:center;gap:13px;text-align:left;color:#afc0cb;background:#0b1722;border:1px solid #ffffff15;padding:13px 14px;border-radius:6px;cursor:pointer;min-height:48px;font-size:13px}
.v229-tabs button[aria-selected=true]{color:#f0d19d;background:#302820;border-color:#dbb7817d}
.v229-tabs button span{font:11px ui-monospace,monospace;color:#bd985e}
.v229-card{background:#0d1924;border:1px solid #ffffff20;padding:26px;border-radius:10px;margin-bottom:20px;min-width:0}
.v229-card h2{margin:0 0 14px;color:#efe9df;font-size:23px;line-height:1.45;font-weight:600}
.v229-card h3{color:#e6c796;font-size:16px;margin:0 0 8px}
.v229-card p{font-size:14px;color:#b0c2ce}
.v229-card label{display:block;font-size:13px;color:#d3e0e6;margin:14px 0}
.v229-card input:not([type=checkbox]),.v229-card select,.v229-card textarea,.v229-search{display:block;width:100%;background:#060f18;color:#e6eef2;border:1px solid #53626f;border-radius:6px;padding:11px 13px;margin-top:7px;min-height:45px;max-width:100%}
.v229-card input[type=file]{border:1px dashed #8b9b9f;background:#121f2b;padding:20px}
.v229-card textarea{resize:vertical;min-height:140px;line-height:1.7}
.v229-card input[type=checkbox]{accent-color:#dfbd85;width:17px;height:17px;vertical-align:middle;margin-right:8px}
.v229-formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.v229-formgrid label{margin-bottom:0}
.v229-out{margin-top:22px;padding:17px;background:#06121d;border-left:2px solid #dfbf86;color:#d1e0e7;min-height:60px;border-radius:4px;font-size:13px;overflow-wrap:anywhere}
.v229-out:empty{display:none}
.v229-out pre{font:12px/1.8 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.v229-out .v229-actions{margin-top:16px}
.v229-tablewrap{overflow-x:auto;max-width:100%;margin:14px 0}
.v229-root table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;line-height:1.6}
.v229-root td,.v229-root th{border-bottom:1px solid #ffffff18;padding:9px;vertical-align:top;overflow-wrap:anywhere}
.v229-root th{color:#e2c189;background:#132536;white-space:nowrap}
.v229-good{color:#9fdec1!important}
.v229-warn{color:#edc080!important}
.v229-error{color:#ffb8ac!important}
.v229-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.v229-toolcard{background:#0d1924;border:1px solid #ffffff20;border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:8px;min-width:0;transition:border-color .2s,transform .2s}
.v229-toolcard:hover{border-color:#dfbf86a6;transform:translateY(-3px)}
.v229-toolcard small{font:10px ui-monospace,monospace;color:#bd9f70;letter-spacing:.06em}
.v229-toolcard h2{font-size:17px;color:#edece8;margin:0;font-weight:600;line-height:1.55}
.v229-toolcard p{font-size:13px;color:#a5b9c6;margin:0;flex:1}
.v229-toolcard .v229-tool-link{color:#e5bf82;font-size:12px;margin-top:12px}
.v229-filter{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.v229-filter button{color:#afc1cc;border:1px solid #ffffff30;border-radius:5px;padding:8px 14px;min-height:40px;font-size:13px;background:#101b27;cursor:pointer}
.v229-filter button[aria-pressed=true]{border-color:#dfbf86;color:#ebd2a5;background:#302820}
.v229-filter-count{font-size:13px;color:#aec2ce;margin:15px 0}
.v229-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.v229-studio-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:24px;align-items:start}
.v229-step{display:flex;gap:14px;align-items:flex-start;border-bottom:1px solid #ffffff20;padding-block:15px}
.v229-step:last-child{border-bottom:0}
.v229-step b{color:#dbbb84;font:12px ui-monospace,monospace;margin-top:4px}
.v229-step h3{font-size:15px;margin:0 0 5px;color:#e4e9e9}
.v229-step p{margin:0;font-size:13px;color:#a5bdcd}
.v229-disclosure{border:1px solid #ffffff28;border-radius:7px;padding:17px;margin-top:18px}
.v229-disclosure summary{cursor:pointer;color:#e0c38e;font-size:14px;min-height:34px}
.v229-disclosure p{font-size:13px;color:#aac0cb}
.v229-disclosure textarea{margin:10px 0;min-height:100px}
.v229-privacy{color:#acc9cb;font-size:12px;border:1px solid #9bd5c635;border-radius:7px;padding:12px 16px;background:#0e302730;margin-block:18px}
.v229-footer{border-top:1px solid #ffffff20;color:#9aafbd;background:#08121b;font-size:12px;padding-block:28px}
.v229-footer .v229-shell{display:flex;gap:26px;justify-content:space-between;flex-wrap:wrap}
.v229-footer nav{display:flex;gap:18px;flex-wrap:wrap}
.v229-skip{position:fixed;left:15px;top:-100px;z-index:2147483600;color:#111;background:#e5bf82;padding:12px 18px;border-radius:4px}
.v229-skip:focus{top:15px}
.v229-dialog{padding:0;width:min(730px,calc(100vw - 30px));max-height:85svh;border:1px solid #ba9b6a;border-radius:12px;background:#0d1924;color:#eaf1f4;box-shadow:0 30px 100px #000c}
.v229-dialog::backdrop{background:#020810d9}
.v229-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #ffffff20}
.v229-dialog-head strong{font:12px ui-monospace,monospace;color:#e5bf82}
.v229-dialog-head button{color:#eaf1f4;border:1px solid #ffffff30;border-radius:4px;background:transparent;min-width:42px;min-height:38px;cursor:pointer}
.v229-dialog-body{padding:20px}
.v229-dialog-results{max-height:52svh;overflow:auto;padding:0;list-style:none}
.v229-dialog-results a{display:block;border-bottom:1px solid #ffffff20;padding:13px 6px;color:#e4e7e5;font-size:14px}
.v229-dialog-results a small{display:block;color:#a3b7c5;font-size:12px;margin-top:4px}
.v229-command-error{color:#ffc8b6;padding:15px 0;font-size:14px}
.v229-paused .v229-root *{animation-play-state:paused!important}
html.v229-upgraded body>section:not(.v229-hero):nth-of-type(n+4){content-visibility:auto;contain-intrinsic-size:auto 950px}
html.v229-upgraded .v229-hero{content-visibility:visible}
html.v229-upgraded :target{scroll-margin-top:90px}
@media(max-width:900px){.v229-hero .v229-shell{grid-template-columns:1fr 1fr;gap:28px;padding-block:48px}.v229-shell{width:calc(100% - 36px)}.v229-hero h2{font-size:36px}.v229-shortcuts a{padding:15px}.v229-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v229-studio-grid{grid-template-columns:1fr}.v229-rail strong{display:none}.v229-rail .v229-shell{justify-content:center}.v229-top nav{gap:13px}.v229-brand small{display:none}}
@media(max-width:640px){.v229-shell{width:calc(100% - 28px)}.v229-hero .v229-shell{grid-template-columns:1fr;padding-block:36px;gap:30px}.v229-hero h2{font-size:33px}.v229-hero .v229-lede{font-size:14px}.v229-caseboard{padding:18px}.v229-radar{height:145px}.v229-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.v229-shortcuts a{padding:14px;gap:10px}.v229-shortcuts b{font-size:12px}.v229-shortcuts small{font-size:10px}.v229-rail nav{gap:12px;font-size:12px}.v229-rail .v229-shell{gap:10px}.v229-rail button{font-size:12px}.v229-rail .v229-rail-extra{display:none}.v229-top .v229-shell{flex-direction:column;align-items:flex-start;gap:13px;padding-block:15px}.v229-top nav{width:100%;justify-content:space-between;font-size:12px;gap:8px}.v229-main{padding-block:25px 45px}.v229-split{grid-template-columns:1fr;gap:20px}.v229-tabs{position:static;flex-direction:row;flex-wrap:wrap;gap:6px}.v229-tabs button{font-size:12px;padding:9px 12px;gap:8px;min-height:40px}.v229-card{padding:19px}.v229-card h2{font-size:20px}.v229-formgrid,.v229-grid2{grid-template-columns:1fr;gap:0}.v229-catalog-grid{grid-template-columns:1fr}.v229-intro h1{font-size:28px}.v229-btn{font-size:13px;padding:9px 14px}.v229-dialog-body{padding:15px}.v229-badges{gap:6px}.v229-badges span{font-size:10px}.v229-hero-footer{gap:18px}.v229-board-steps li{padding:10px}.v229-board-steps span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.v229-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.v229-top,.v229-rail,.v229-tabs,.v229-footer,.v229-dialog,.v229-actions,.v229-skip{display:none!important}.v229-page,.v229-card,.v229-out{background:white!important;color:#111!important;border-color:#999!important}.v229-root p,.v229-root h1,.v229-root h2,.v229-root h3,.v229-root th,.v229-root td,.v229-root pre{color:#111!important}.v229-shell{width:100%}.v229-studio-grid,.v229-grid2,.v229-split{display:block}.v229-out,.v229-card{break-inside:avoid}html.v229-upgraded body>section{content-visibility:visible!important}}
