/* 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}}
