/* 正式版外觀整合；不改動會員權限、資料来源、策略或輪詢。 */
:root{--text:#f5f5f2;--muted:#ededE8;--gold-bright:#ffe08a;--cyan:#ffe08a;--layout-gold:#ffe08a}
body{background:#0b0c0d}html{scroll-padding-top:96px}
.layout-header{display:flex;align-items:center;justify-content:space-between;gap:20px;position:fixed;inset:0 0 auto;height:78px;background:#0e1010;border-bottom:1px solid #282b28;padding:10px 28px;z-index:90}
.layout-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;font-weight:750;font-size:22px;letter-spacing:1px}.layout-brand img{width:48px;height:48px;object-fit:contain}.layout-brand small{display:block;font-size:10px;font-weight:400;letter-spacing:2px}.layout-header-note{font-size:16px;color:#fff}#layoutMenu{display:none}
body:not(.membership-entry-mode) .hero-banner{display:none}
body:not(.membership-entry-mode) .app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);padding-top:78px}
body:not(.membership-entry-mode) .sidebar{position:sticky;top:78px;height:calc(100vh - 78px);background:#0e1010;padding:25px 14px;border-right:1px solid #282b28}
body:not(.membership-entry-mode) .sidebar .brand{display:none}
body:not(.membership-entry-mode) .dashboard{padding:26px 30px;min-width:0}
body:not(.membership-entry-mode) .topbar{position:static;margin:0 0 24px;padding:0;background:none;border:none}
body:not(.membership-entry-mode) .view-tab-bar{display:none}
/* 舊版決策頁會隱藏側欄，導致主內容落入新版格線的 240px 第一欄。 */
body.decision-cockpit-mode:not(.membership-entry-mode) .sidebar{display:block}
body.decision-cockpit-mode:not(.membership-entry-mode) .topbar{display:flex}
body.decision-cockpit-mode:not(.membership-entry-mode) .dashboard{width:100%;margin:0;min-width:0}
.workspace-nav{display:flex;flex-direction:column;gap:7px;overflow:visible}.workspace-nav a{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px 14px;min-height:48px;font-size:18px;font-weight:600;color:var(--layout-gold);border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;white-space:normal}.workspace-nav a::before{display:none}.workspace-nav a.active,.workspace-nav a:hover{background:#d7b56d10;border-color:#d7b56d35;color:var(--layout-gold)}.layout-nav-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sidebar .data-status{margin-top:30px;background:#151716;border-color:#30352e}.sidebar .data-status p,.sidebar .data-status span{font-size:14px;line-height:1.7;font-weight:400;color:#fff}
.topbar h2,.layout-analysis h2{font-size:32px;font-weight:750;color:#fff}.eyebrow,.card-kicker,.status-label,.market-focus-card-heading>div>span,.market-focus-overview-copy>span,.intelligence-card h3,.summary-tile>span{color:var(--layout-gold)}
.intelligence-card,.market-focus-chart-card,.market-focus-overview-card,.summary-tile{background:linear-gradient(145deg,#191c1b,#111414);border:1px solid #2a302a;border-radius:14px;box-shadow:none}
.intelligence-heading{margin-bottom:24px}.intelligence-heading h2{color:#fff;font-weight:700}.intelligence-heading p,.architecture-notice,.risk-note{font-size:16px;color:#fff;font-weight:400;line-height:1.8}
.intelligence-card p,.market-focus-overview-copy p{color:#fff;line-height:1.85;font-size:18px}.intelligence-card strong,.market-focus-price-row>strong,.market-focus-card-heading strong{font-weight:700}
.intelligence-asset-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.intelligence-asset-tab{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#141817;border:1px solid #30362e;padding:18px;border-radius:12px;width:auto;min-width:0;color:#fff}.intelligence-asset-tab strong{font-size:22px;font-weight:700}.intelligence-asset-tab>span:not(.layout-asset-icon){width:100%;font-size:16px;font-weight:400;color:#fff}
.layout-asset-icon{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;background:#d7b56d18;border:1px solid #d7b56d50;color:var(--layout-gold)}.layout-asset-icon svg{width:72%;height:72%}.layout-asset-icon.gold{background:#d5a514;color:#fff7df;border-color:#d5a514}
#marketFocusSymbol{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#fff;font-size:24px}#marketFocusSymbol .layout-asset-icon{width:50px;height:50px}.market-focus-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:22px}.market-focus-chart-card,.market-focus-overview-card{padding:24px}.market-focus-chart{min-height:210px}
.layout-analysis>header{margin-bottom:26px}.layout-analysis>header>p{font-size:18px;line-height:1.8}.layout-analysis>header .eyebrow{font-size:16px;color:var(--layout-gold)}
.layout-analysis .watchlist-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;overflow:visible;align-items:start;margin:0 0 28px}
.layout-analysis .watchlist-card{width:auto;min-width:0;text-align:left;position:relative;isolation:isolate;overflow:hidden;border-radius:15px;border:1px solid #30362e;background:linear-gradient(145deg,#191d1a,#111414);padding:24px;display:flex;flex-direction:column;gap:18px;cursor:default}
.watchlist-card-header{display:block}.layout-asset-select{display:flex;align-items:center;gap:12px;min-width:0;width:100%;background:none;border:0;padding:0;text-align:left;color:#fff;cursor:pointer}.layout-asset-select strong{font-size:25px;font-weight:700;display:block}.layout-asset-select small{font-size:16px;font-weight:400;display:block;color:#fff;margin-top:4px}
.watchlist-card-signal{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.watchlist-card-signal strong{font-size:26px}.watchlist-confidence{margin:0;height:5px}.watchlist-confidence i{background:var(--layout-gold)}
.layout-analysis-copy{border:1px solid #d7b56d25;border-radius:9px;padding:18px;background:#0d100f70}.layout-analysis-copy>b{font-size:16px;color:var(--layout-gold);display:block;margin-bottom:10px}.layout-analysis-copy h3{font-size:18px;font-weight:700;color:#fff;margin:0 0 10px}.layout-analysis .layout-analysis-copy p{font-size:18px;color:#fff;font-weight:700;line-height:1.8;margin:0;display:block;overflow:visible;-webkit-line-clamp:unset;max-height:none}
.watchlist-card-metrics{display:flex;flex-direction:column;gap:8px}.watchlist-card-metrics strong{font-size:16px;color:var(--layout-gold);font-weight:600}.watchlist-card-metrics span{font-size:16px;color:#fff;font-weight:400}
.layout-card-actions{display:grid;grid-template-columns:1fr;gap:12px}.layout-card-actions summary{padding:12px;border:1px solid #41453b;border-radius:7px;cursor:pointer;font-size:18px;font-weight:700;min-height:48px;color:#fff}.layout-card-actions button{min-height:48px;font-size:18px;font-weight:700}.layout-quick{font-size:16px;color:#fff;line-height:1.8;padding:12px 0}.layout-quick h4{color:var(--layout-gold);font-size:16px;margin:12px 0 8px}.layout-quick ul{padding-left:20px}.layout-analysis .layout-quick p{font-size:16px;font-weight:400;display:block;-webkit-line-clamp:unset;overflow:visible;max-height:none;margin:8px 0}.layout-quick li,.layout-quick p{overflow-wrap:anywhere}
@property --layout-ring-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.watchlist-card.active,.intelligence-asset-tab.active{border-color:#d7b56d60;box-shadow:0 0 16px #d7b56d15}
.watchlist-card.active::before{content:'';position:absolute;inset:0;padding:1.4px;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--layout-ring-angle),transparent 0deg 225deg,#d7b56d22 265deg,#ffe08add 330deg,transparent 360deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:layout-orbit 5.5s linear infinite}
@keyframes layout-orbit{to{--layout-ring-angle:360deg}}
body[data-layout-view=deep-dive] .watchlist-cards{display:none}
body[data-layout-view=deep-dive] .deep-dive-grid>div{background:#151a17;border:1px solid #31382c;border-radius:12px;padding:22px}
.layout-analysis [hidden]{display:none!important}.layout-analysis button:focus-visible,.layout-analysis summary:focus-visible,#layoutMenu:focus-visible{outline:2px solid var(--layout-gold);outline-offset:3px}
body.membership-entry-mode .layout-header{display:none}
@media(max-width:1200px){.layout-analysis .watchlist-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.market-focus-grid{grid-template-columns:1fr}.intelligence-asset-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
 .layout-header{height:68px;padding:10px 14px;justify-content:flex-start;gap:10px}.layout-brand{font-size:19px;gap:8px}.layout-brand img{width:38px;height:38px}.layout-brand small{font-size:9px;letter-spacing:1px}.layout-header-note{display:none}#layoutMenu{display:block;background:none;color:var(--layout-gold);border:1px solid #d7b56d40;border-radius:6px;min-width:44px;min-height:44px;font-size:23px}
 body:not(.membership-entry-mode) .app-shell{display:block;padding-top:68px}body:not(.membership-entry-mode) .dashboard{padding:20px 14px}body:not(.membership-entry-mode) .topbar{margin-bottom:22px}
 body:not(.membership-entry-mode) .sidebar{position:fixed;top:68px;bottom:0;left:0;width:285px;max-width:calc(100vw - 24px);height:calc(100dvh - 68px);z-index:80;visibility:hidden;transform:translateX(-100%);transition:transform .2s ease,visibility .2s}
 body.layout-menu-open:not(.membership-entry-mode) .sidebar{visibility:visible;transform:translateX(0);box-shadow:15px 0 50px #000a}.workspace-nav{display:flex}.workspace-nav a{display:flex;min-height:48px;font-size:18px;padding:12px 14px}
 .layout-analysis .watchlist-cards{grid-template-columns:1fr;gap:18px}.layout-analysis .watchlist-card{padding:22px}.layout-card-actions{grid-template-columns:1fr}.market-focus-card-heading,.market-focus-price-row,.market-focus-source{flex-wrap:wrap;gap:12px}.market-focus-card-heading small{max-width:100%;overflow-wrap:anywhere}.market-focus-card-heading>div{min-width:0}.market-focus-chart-card,.market-focus-overview-card{padding:20px}
 .topbar h2,.layout-analysis h2{font-size:28px}.intelligence-heading{flex-wrap:wrap}.intelligence-heading>div{min-width:0}.intelligence-actions{flex-wrap:wrap}.layout-asset-select strong{font-size:25px}.layout-analysis header .eyebrow{letter-spacing:1px}.architecture-notice{overflow-wrap:anywhere}.intelligence-asset-tab{padding:14px}.intelligence-asset-tab strong{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.watchlist-card.active::before{animation:none;--layout-ring-angle:35deg}body .sidebar{transition:none}}
@supports not (mask-composite:exclude){.watchlist-card.active::before{display:none}}

/* 可操作項目共用微光；原生欄位以標籤為邊框，裝飾不攔截點擊。 */
body :is(button,a,summary,[role=tab]){position:relative}
body :is(button,a,summary,[role=tab]):is(.active,[aria-selected=true],[aria-pressed=true],[aria-current=page],:focus),body details[open]>summary{box-shadow:0 0 14px #ffe08a24;border-color:#ffe08a70}
body label:has(>select:focus,>input:focus,>input:checked){position:relative;box-shadow:0 0 14px #ffe08a24;border-radius:8px}
body :is(button,a,summary,[role=tab]):is(.active,[aria-selected=true],[aria-pressed=true],[aria-current=page],:focus)::after,
body details[open]>summary::after,
body label:has(>select:focus,>input:focus,>input:checked)::after{
 content:'';position:absolute;inset:0;padding:1.5px;border-radius:inherit;pointer-events:none;z-index:2;
 background:conic-gradient(from var(--layout-ring-angle),transparent 0deg 225deg,#ffe08a22 265deg,#ffe08add 330deg,transparent 360deg);
 mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:layout-orbit 5.5s linear infinite;
}
@media(hover:hover){body :is(button,a,summary,[role=tab]):not(:disabled):hover::after{content:'';position:absolute;inset:0;padding:1.5px;border-radius:inherit;pointer-events:none;z-index:2;background:conic-gradient(from var(--layout-ring-angle),transparent 0deg 225deg,#ffe08a22 265deg,#ffe08add 330deg,transparent 360deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:layout-orbit 5.5s linear infinite}}
@media(prefers-reduced-motion:reduce){body :is(button,a,summary,[role=tab],label)::after{animation:none!important;--layout-ring-angle:35deg}}
@supports not (mask-composite:exclude){body :is(button,a,summary,[role=tab],label)::after{display:none!important}}
