*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden}body{background:#080b09;color:#eeeede;font-family:Inter,Noto Sans CJK TC,Microsoft JhengHei,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #d7dd73;outline-offset:2px}.kiosk{height:100dvh;min-height:500px;display:flex;flex-direction:column;background:#080b09}.kioskHeader{height:10%;min-height:70px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #354034;padding:0 2.2vw;flex:none}.identity{display:flex;align-items:center;gap:14px;letter-spacing:.18em;font-weight:750;font-size:clamp(20px,1.8vw,33px);white-space:nowrap}.squareMark{display:grid;place-items:center;width:38px;height:38px;border:2px solid #bbc970;color:#bbc970;letter-spacing:0}.headerRight{display:flex;align-items:center;gap:clamp(10px,1.3vw,24px);color:#a7ad9d;font-size:clamp(12px,.96vw,18px)}.syncState{color:#a7bd91}.syncState.stale{color:#d5aa69}.settingsButton,.pageHeading button,.settingsBlock button{background:transparent;border:1px solid #6f7d64;color:#dfe5cf;padding:9px 15px;border-radius:4px}.pageBody{flex:1;min-height:0;overflow:hidden;animation:enter .38s ease-out}.displayPage{height:100%;display:flex;flex-direction:column;padding:2.1vh 2.2vw 1vh}.pageHeading{height:10%;min-height:54px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #343d34;font-size:clamp(23px,2.2vw,40px);font-weight:780;letter-spacing:.09em}.pageHeading em{font-style:normal;color:#bac97b;font-size:.78em;margin-left:.25em}.pageHeading>span:last-child,.pageControls>span{color:#849080;font-size:clamp(13px,1vw,17px);font-weight:500}.pageControls{display:flex;align-items:center;gap:20px}.pageControls select,.settingsBlock select{background:#141a15;color:#ecefe2;border:1px solid #657160;padding:8px 12px;max-width:260px}.displayMetric{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:1.2vh 1vw;border-left:3px solid #697b57}.displayMetric>span{font-size:clamp(15px,1.1vw,21px);letter-spacing:.04em;color:#aeb5a8}.displayMetric strong{font-size:clamp(32px,3vw,56px);line-height:1.2;font-weight:660;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f2f0e3}.displayMetric.large strong{font-size:clamp(42px,4vw,72px)}.displayMetric small{font-size:clamp(13px,1vw,19px);color:#929d91;min-height:1.3em}.displayMetric small.positive{color:#9bd0aa}.displayMetric small.negative{color:#db9a95}.displayMetric small.muted{color:#929d91}.overviewGrid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr 1fr;gap:1.5vh 2vw;padding:2vh 0 1vh}.overviewGrid .displayMetric{background:#111712;padding-left:1.5vw}.youtubeLayout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,2.1fr) minmax(310px,.9fr);gap:1.5vw;padding-top:2vh}.youtubeMain,.youtubeSide{min-height:0;display:flex;flex-direction:column;gap:1.2vh}.rowMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1vw;min-height:0}.youtubeMain>.rowMetrics:first-child{height:25%}.rowMetrics.secondary{grid-template-columns:repeat(4,minmax(0,1fr));height:21%}.rowMetrics.secondary .displayMetric strong{font-size:clamp(25px,2.45vw,45px)}.chartPanel{background:#111712;border:1px solid #273127;flex:1;min-height:0;padding:1.5vh 1.2vw;display:flex;flex-direction:column}.chartPanel>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.chartPanel b,.topList>b{font-size:clamp(18px,1.35vw,25px);color:#d7dec6}.chartPanel small{color:#909c8e;font-size:clamp(12px,.9vw,16px)}.trendChart{flex:1;min-height:90px}.chartEmpty{height:100%;display:grid;place-items:center;color:#7c897b}.youtubeSide{background:#111712;padding:1.3vh 1vw;border:1px solid #273127}.youtubeSide>.displayMetric:first-child{height:21%}.youtubeSide .sidePair{display:grid;grid-template-columns:1fr 1fr;height:20%}.sidePair .displayMetric strong{font-size:clamp(25px,2.4vw,45px)}.youtubeSide>.displayMetric:last-child{height:16%}.topList{min-height:0;flex:1;display:flex;flex-direction:column;gap:.5vh;overflow:hidden}.topList>div{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:.7vw;align-items:center;border-bottom:1px solid #354035;padding:.5vh 0;font-size:clamp(14px,1.1vw,19px)}.topList>div span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topList>div span:first-child{color:#bcca7d}.topList>div strong{font-size:.95em;font-variant-numeric:tabular-nums}.topList p{color:#7f8d7e}.websiteLayout{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:1.5vw;padding-top:2vh}.websiteSection{min-height:0;background:#111712;border:1px solid #273127;padding:1.4vh 1.2vw;display:flex;flex-direction:column;gap:1vh}.websiteSection h2{margin:0;font-size:clamp(19px,1.35vw,27px);letter-spacing:.06em;color:#bdcb85;display:flex;justify-content:space-between;align-items:center}.websiteSection h2 small{color:#a3aea0;font-size:.62em;letter-spacing:0;font-weight:400}.websiteSection>.rowMetrics{height:24%}.websiteSection>.rowMetrics .displayMetric.large strong{font-size:clamp(35px,3vw,58px)}.websiteSection>.chartPanel{flex:1}.websiteSection .rowMetrics.secondary{height:18%;grid-template-columns:1fr 1fr}.compactList{color:#9aa59b;font-size:clamp(13px,1vw,18px);display:flex;gap:1vw;white-space:nowrap;overflow:hidden}.compactList span{overflow:hidden;text-overflow:ellipsis}.websiteSection>.topList{background:#0e130f;padding:1vh 1vw}.pageDots{height:3.4%;min-height:22px;display:flex;align-items:center;justify-content:center;gap:12px;flex:none}.pageDots button{border:0;border-radius:50%;width:7px;height:7px;background:#59645a;padding:0}.pageDots button.active{background:#d2dc8c;width:20px;border-radius:5px}.ticker{height:10%;min-height:58px;background:#090d08;border-top:3px solid #bac76e;display:flex;align-items:center;flex:none;overflow:hidden}.tickerOff{display:none}.tickerLabel{height:100%;width:clamp(86px,8vw,150px);flex:none;display:grid;place-items:center;background:#c5cc79;color:#0a1008;font-weight:850;font-size:clamp(16px,1.2vw,23px);letter-spacing:.09em}.tickerViewport{overflow:hidden;min-width:0;flex:1}.tickerTrack{display:flex;width:max-content;animation:marquee 190s linear infinite;will-change:transform}.tickerTrack.medium{animation-duration:130s}.tickerTrack.fast{animation-duration:90s}.tickerGroup{display:flex;flex:none;align-items:center;gap:2.8vw;padding-right:2.8vw}.pixelText{height:46px;image-rendering:pixelated;flex:none}.inlineError{position:absolute;right:2vw;top:11vh;z-index:5;background:#34211d;color:#f0c3b6;padding:10px 15px;border:1px solid #ad7469}.inlineError button{background:none;border:0;color:inherit;margin-left:10px}.settingsPage{height:100%;overflow:auto;padding:2vh 2.2vw}.settingsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1vw;margin-top:2vh}.settingsBlock{background:#111712;padding:1.5vw;border:1px solid #354035;display:flex;flex-direction:column;gap:1vh}.settingsBlock h2{color:#cbd691;margin:0 0 1vh;font-size:clamp(18px,1.4vw,26px)}.settingsBlock label{font-size:clamp(13px,1vw,18px);display:flex;align-items:center;gap:8px}.settingsBlock input[type=number]{width:58px;background:#0c110c;color:#fff;border:1px solid #657160;padding:5px}.settingsBlock input[type=checkbox]{accent-color:#bdcb85}.settingsBlock select{max-width:100%;min-width:0}.settingsBlock p{font-size:clamp(12px,.95vw,17px);color:#9ba99b;line-height:1.45}.actionLink{color:#d7df9e}.loginScreen,.loading{min-height:100dvh;display:grid;place-items:center;background:#080b09}.loginPanel{width:min(92vw,460px);padding:40px;background:#111712;border:1px solid #748267}.loginPanel .kicker{color:#c2ce88;letter-spacing:.25em}.loginPanel h1{font-size:clamp(38px,5vw,60px);line-height:1.05;letter-spacing:.09em;margin:14px 0 30px}.loginPanel p{color:#a9b4a7;line-height:1.5}.loginPanel form{display:flex;flex-direction:column;gap:16px;margin-top:25px}.loginPanel label{display:flex;flex-direction:column;gap:9px;color:#d7dfce}.loginPanel input{background:#070b08;color:#f5f4e8;border:1px solid #899b7c;padding:12px 16px;font-size:32px;letter-spacing:.26em;width:100%}.loginPanel form button{background:#c9d48d;border:0;color:#0b120b;padding:14px;font-weight:800}.textButton{background:none;border:0;color:#afbfa0;padding:15px 0}.loginPanel .error{color:#e5a7a1}.loading{color:#d4dfaa;letter-spacing:.25em}@keyframes marquee{to{transform:translate(-50%)}}@keyframes enter{0%{opacity:.3;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@media(max-width:900px){.headerRight>span:first-child{display:none}.settingsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.youtubeLayout{grid-template-columns:minmax(0,1.7fr) minmax(250px,.9fr)}.websiteLayout{gap:1vw}.displayPage{padding-left:1vw;padding-right:1vw}.overviewGrid{gap:1vw}.displayMetric.large strong{font-size:clamp(36px,4vw,58px)}}@media(max-width:650px){html,body,#root{overflow:auto}.kiosk{min-height:100dvh;height:auto}.kioskHeader{min-height:68px}.identity{font-size:17px}.headerRight .syncState{display:none}.displayPage{min-height:calc(100dvh - 160px)}.overviewGrid{grid-template-columns:1fr 1fr}.youtubeLayout,.websiteLayout{grid-template-columns:1fr}.youtubeLayout{overflow:auto}.youtubeMain>.rowMetrics:first-child{height:auto}.rowMetrics.secondary{height:auto}.chartPanel{height:180px;min-height:180px}.youtubeSide{min-height:400px}.websiteSection{min-height:430px}.ticker{position:sticky;bottom:0}.settingsGrid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.tickerTrack,.pageBody{animation:none}}.loginPanel h1{font-size:clamp(38px,4vw,52px);letter-spacing:.06em}.singleDataPage{flex:1;min-height:0;display:flex;flex-direction:column;gap:2vh;padding-top:2vh}.singleDataPage>.rowMetrics:first-child{height:26%}.singleDataPage>.rowMetrics.secondary{height:18%;grid-template-columns:1fr 1fr}.singleDataPage>.topList{background:#111712;padding:2vh 2vw}.opportunityPage{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3vw;padding-top:2vh}.opportunityCard{min-width:0;min-height:0;background:#111712;border:1px solid #3a4936;border-top:4px solid #b9ca79;padding:clamp(16px,1.5vw,30px);display:flex;flex-direction:column;gap:1.3vh;overflow:hidden}.opportunityTop{display:flex;align-items:center;gap:10px;color:#c3d29a;font-size:clamp(13px,1vw,18px);font-weight:700}.opportunityTop .score{margin-left:auto;color:#929e8c;font-weight:500}.newTag{background:#d2dd7e;color:#111a0f;padding:2px 6px}.opportunityCard h2{font-size:clamp(27px,2.1vw,42px);line-height:1.15;margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.opportunityCard p{font-size:clamp(17px,1.35vw,26px);line-height:1.4;color:#e3e7d8;margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}.opportunityFacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;font-size:clamp(13px,1vw,18px)}.opportunityFacts span{border:1px solid #57684b;color:#cddaac;padding:5px 8px}.opportunityCard footer{border-top:1px solid #3a4739;padding-top:1vh;display:flex;flex-direction:column;gap:6px;color:#a7b09e;font-size:clamp(12px,.95vw,17px)}.opportunityCard a{color:#cbdc89;text-decoration:none}.opportunityEmpty{grid-column:1/-1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1vh;text-align:center;color:#a5b19c}.opportunityEmpty strong{font-size:clamp(30px,3vw,55px);color:#e7e9d8}.opportunityEmpty p{font-size:clamp(17px,1.3vw,25px)}.preferenceItem{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid #354035;padding:6px 0;font-size:13px}.preferenceItem span{width:100%}.preferenceItem button{padding:3px 6px;font-size:12px}.settingsGrid{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1300px){.opportunityPage{grid-template-columns:repeat(2,minmax(0,1fr))}.opportunityCard:nth-child(3){display:none}}@media(max-width:900px){.settingsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.opportunityCard p{-webkit-line-clamp:4}}@media(max-width:650px){.opportunityPage{grid-template-columns:1fr}.opportunityCard{min-height:360px}.opportunityPage{overflow:auto}.settingsGrid{grid-template-columns:1fr}}
