/* RESEARCH DESSERT V1.3 - reference-measured, real HTML/CSS interface.
   Target reference: 1672x941 editorial render; desktop viewport QA 1536x1024.
   Existing Worker / AI / paid-API freeze are untouched. */
:root{--peach:#ffb196;--peach-strong:#ffac84;--ink:#040b18;--glass:#08192e;--blue-line:#263f66;--pearl:#fff8f3}
html{scrollbar-color:#42527c #070e1b}
body{background-color:#050915;background-image:linear-gradient(90deg,#030714ef 0%,#070e20cb 55%,#050712d2 100%),url('luxury-office-haze.webp');background-size:cover;background-position:center;background-attachment:fixed}
body:before{background:linear-gradient(180deg,#070b1638 0%,transparent 17%,transparent 88%,#ffb18328 100%)}
.app-shell{width:min(99.2vw,1710px);grid-template-columns:212px minmax(0,1fr);border-radius:17px;padding:7px;margin:7px auto 0;box-shadow:0 28px 90px #000b,inset 0 0 0 1px #8a8db136}
.app-shell:before{content:'RESEARCH DESSERT';font-size:19px;letter-spacing:.19em;left:33px;top:29px;font-weight:680;text-transform:uppercase;max-width:174px;white-space:normal;line-height:1.15;text-shadow:0 0 20px #6775cb4d}
.app-shell:after{left:178px;top:41px;height:33px;width:33px;border-color:#ffb09593;box-shadow:0 0 13px #ff996b55}
.sidebar{background:linear-gradient(155deg,#071327fc,#081325ef 55%,#090f20ff);padding:102px 12px 17px;min-height:1007px;box-shadow:inset -4px 0 18px #030e20a1;border-color:#35456675;border-radius:13px 0 0 13px}
.sidebar-brand{visibility:hidden;max-height:37px;margin:0}
.sidebar-separator{opacity:.35}
.side-nav{gap:7px}.side-nav button{min-height:59px;border-radius:9px}.side-nav button.active{border-color:#f7a37e9e;box-shadow:inset 3px 0 0 #ffb192,0 0 12px #ffab7b45,0 0 19px #6b71fa34;background:linear-gradient(100deg,#ff9d7252 0%,#151c3b 65%,#353a9263 100%)}
.side-nav button b{font-size:13px}.side-nav button small{font-size:9px;letter-spacing:.03em}.side-globe{padding-top:50px}.side-globe .mini-orbit{width:136px;height:136px;box-shadow:0 0 25px #5b6dc263,inset 0 0 28px #617ef057}.side-orb-label{font-size:8px;line-height:2.15;letter-spacing:.17em}
.side-legacy{margin-top:auto;font-size:10px}
.shell-main{min-height:1007px;border-color:#35466680;border-radius:0 13px 13px 0;box-shadow:inset 0 0 52px #16346122;background:linear-gradient(135deg,#050c1bfc,#081629fb 54%,#050e1eff)}
.topbar{height:83px;padding:0 19px 0 130px;background:linear-gradient(90deg,#071021f9,#040a18f8);border-bottom:1px solid #263f60}
.top-nav button{padding:10px 12px;font-size:11px;white-space:nowrap}
.top-nav button.active{box-shadow:inset 0 -2px #ffb089,0 0 14px #ffb18e34;background:linear-gradient(120deg,#5b39435d,#08192d85)}
.topbar-right{gap:7px}.global-search{height:35px;max-width:272px;min-width:192px;background:#071328e0;border:1px solid #284166}.global-search input{font-size:10px}
.top-status{font-size:8px;color:#eab69a}.top-status .status-dot{background:#ffb39b;box-shadow:0 0 10px #ffb197}
.profile-orb{width:35px;height:35px}
.screen[data-screen="home"].active{padding:16px 14px 7px 14px;overflow:visible;display:grid!important;grid-template-columns:minmax(0,1fr) 302px;gap:14px;align-items:start;min-height:748px}
.screen[data-screen="home"] .home-main{grid-column:1;grid-row:1;box-sizing:border-box;width:auto!important;min-width:0;padding:0!important;margin:0!important}
.home-topline{min-height:108px;margin:0 0 7px;padding:0 9px;display:flex;align-items:start}
.home-topline .eyebrow{display:none}.home-topline #greeting{font-size:15px;margin-top:3px}
.home-topline h1{font-size:clamp(22px,2.2vw,31px);white-space:normal;line-height:1.14;letter-spacing:-.055em;font-weight:730}
.home-topline .subtitle{font-size:10px;letter-spacing:.025em;color:#bcc9df}
.date-block{padding:8px 0 0 15px;margin:0 5px 0 auto;min-width:145px;border-left:1px solid #2e4268}
.date-block span{font-size:8px}.date-block b{font-size:22px}.date-block small{font-size:8px;color:#9babc7}
.dashboard-grid{width:100%!important;display:grid;grid-template-columns:minmax(212px,.95fr) minmax(270px,1.3fr) minmax(212px,.95fr);grid-template-rows:295px 192px;gap:11px}
.intel-panel{height:295px;min-height:295px;position:relative;overflow:hidden;padding:10px 10px 9px;border-radius:11px;background:linear-gradient(148deg,#0d1b30ed,#061326ed)}
.intel-panel:after{content:'';position:absolute;inset:0;box-shadow:inset 0 1px #9bb2e831;pointer-events:none}
.panel-heading{font-size:11px;letter-spacing:.1em;font-weight:780;padding-bottom:7px}
.insight-avatar{height:100px;margin:0 0 9px;position:relative;overflow:hidden;border-radius:8px;border-color:#2b3f68}
.insight-avatar:before{display:none!important}.insight-avatar:after{display:none!important}
.insight-avatar.nba-avatar{background:linear-gradient(90deg,#060e1a00 0%,#08132e22 44%,#091426e6 88%),url('portrait-nba-concept.webp') center 29% /cover no-repeat,#122037}
.insight-avatar.nfl-avatar{background:linear-gradient(90deg,#060e1a00 0%,#13132822 43%,#091426db 91%),url('portrait-nfl-concept.webp') center 23%/cover no-repeat,#262239}
.insight-avatar .art-role{position:absolute;bottom:5px;right:6px;z-index:2;font-size:8px;letter-spacing:.14em;color:#ffe5db;min-width:0!important;width:auto!important;height:auto!important;border:1px solid #ffbf976d;padding:3px 5px;border-radius:6px;background:#071329ae}
.insight-avatar .art-caption{position:absolute;left:7px;bottom:8px;font-size:8px;color:#fce1d1;letter-spacing:.08em;background:#08162c99;padding:4px 7px;border-radius:5px}
.intel-panel h3{font-size:14px;line-height:1.25;margin:0 0 2px;max-height:36px;overflow:hidden;text-overflow:ellipsis}
.intel-panel .data-subtext{font-size:9px;line-height:1.3;min-height:25px;margin:0 0 7px;color:#95a8c8;max-height:29px;overflow:hidden}
.stat-row{margin-top:0;margin-bottom:7px;gap:1px;justify-content:space-between}
.stat-row>div{padding:3px 0 5px;min-width:0;flex:1;background:linear-gradient(#0a1b34d0,#08162ecb);border:1px solid #1d345653;border-radius:6px;text-align:center}
.stat-row strong{font-size:18px;font-weight:700;color:#f7f4ff}.stat-row span{font-size:7px;letter-spacing:.05em}
.mini-chart{height:30px;margin:3px 0;border:1px solid #203252;border-radius:6px;background:linear-gradient(180deg,#13244188,#08172fb8),repeating-linear-gradient(0deg,transparent 0 13px,#49639432 14px)}
.mini-chart svg{height:100%;width:100%}
.panel-foot{margin-top:5px;padding-top:5px;border-top:1px solid #2a3b5977;font-size:8px;gap:5px;white-space:nowrap;overflow:hidden}
.panel-foot span{overflow:hidden;text-overflow:ellipsis;min-width:0}.panel-foot button{font-size:8px;min-width:max-content}
.main-orb{height:295px!important;min-height:295px!important;transform:none!important;margin:-4px 0 0;position:relative;overflow:visible}
.main-orb:before{width:100%;max-width:350px;aspect-ratio:1;inset:0;margin:auto!important;background-position:center;background-size:contain;opacity:1;filter:drop-shadow(0 0 25px #5877ff80) saturate(1.20)}
.main-orb:after{content:'';position:absolute;left:50%;top:13%;width:70%;aspect-ratio:1;border-radius:50%;transform:translateX(-50%);pointer-events:none;background:radial-gradient(circle at 50% 50%,transparent 46%,#b7b5ff0c 60%,transparent 64%);filter:drop-shadow(0 0 15px #799aff)}
#researchOrb{opacity:.10;mix-blend-mode:screen}
.orb-side-label{font-size:8px;line-height:3.6;color:#afc4e6}.orb-side-left{left:0}.orb-side-right{right:0}
.orb-bottom{bottom:-6px;color:#86b9ff;font-size:9px;white-space:nowrap;letter-spacing:.14em}
.featured-matchup,.trends-panel{height:192px;min-height:192px;padding:11px 11px 12px;border-radius:11px;overflow:hidden}
.featured-inner{height:137px}.featured-match{height:100%;gap:10px;align-items:center}.match-team .team-initial{width:55px;height:55px;border-radius:50%;background:linear-gradient(120deg,#1b3157,#2d2450);box-shadow:0 0 18px #5666b342;border:1px solid #bba0f4}
.match-team b{font-size:10px;max-width:110px}.match-team small{font-size:12px}
.match-team .team-initial img{max-width:100%;width:100%;height:100%;object-fit:contain;padding:4px}
.versus b{font-size:14px;color:#ffb293}.versus span{font-size:9px}
.chart-title{font-size:10px;margin-bottom:7px;display:flex;align-items:center;justify-content:space-between;gap:6px;color:#aabbd9}
.chart-evidence-pill{font-size:7px;letter-spacing:.07em;color:#ffbea7;border:1px solid #b985775a;background:#46303436;padding:3px 6px;border-radius:20px}
.trend-plot{height:132px;background:repeating-linear-gradient(0deg,transparent 0 26px,#35517f26 27px),linear-gradient(#0c1b30,#07152d)}
.chart-empty{font-size:10px;line-height:1.5}
/* Remove the floating phone's obstruction of the scoreboard and information cards. */
.screen[data-screen="home"] .home-concierge{grid-column:2;grid-row:1;position:relative!important;top:60px!important;right:auto!important;left:auto!important;transform:perspective(1100px) rotateY(-3deg) rotateZ(1deg)!important;width:294px!important;min-width:0;margin:0!important;z-index:6;filter:drop-shadow(-12px 12px 20px #000a)}
.concierge-frame{min-height:678px;height:678px;padding:31px 13px 11px;gap:9px;border-width:6px;border-color:#080d1a;outline:1px solid #9fa3bcac;border-radius:43px;box-shadow:0 24px 50px #0009,inset 0 0 0 1px #e3ded9;background:linear-gradient(160deg,#fffdfb,#fff6f0 47%,#ffebe5 100%)}
.phone-speaker{position:absolute;top:6px;left:50%;transform:translateX(-50%);width:92px;height:20px;background:#060c17;border-radius:0 0 13px 13px;z-index:4;box-shadow:inset 0 -1px #35415e}
.concierge-frame:before{display:none}.concierge-head{padding-top:8px}
.concierge-logo{font-size:12px;letter-spacing:.11em}.concierge-kicker{font-size:7px}.concierge-message{padding:14px 11px;border-radius:17px;margin-top:7px;background:linear-gradient(150deg,#fffdfa,#fffbf8);border-color:#f3d4c7}.concierge-message h2{font-size:19px}.concierge-message strong{font-size:11px}.concierge-message p{font-size:10px;line-height:1.5}
.pearl-scene{height:170px;position:relative;background:radial-gradient(ellipse at 50% 56%,#fbdedb80,transparent 65%)}
.pearl-scene .pearl-sphere{width:134px;height:134px;box-shadow:inset -12px -13px 20px #af8ba988,inset 11px 7px 20px #fff,0 0 40px #ffd0ba,0 0 50px #baa5e844;background:radial-gradient(circle at 30% 20%,#fff9f2,#f9c6b4 31%,#dcb5cc 56%,#f9bdaf 77%,#fae7dc)}
.pearl-scene .pearl-ring{width:216px;height:63px;border-color:#ecc9be;box-shadow:0 0 16px #f5b9a6b5}
.pearl-scene .pearl-particle{box-shadow:0 0 11px #e3a58c}
.concierge-quick{gap:4px}.concierge-quick button{height:68px;min-height:68px;padding:6px 2px;font-size:8px;border-radius:9px;background:#fff8f5;border-color:#efd8cf}
.concierge-quick button svg{height:17px;width:17px;color:#ec9172}
.concierge-suggestions button{font-size:9px;padding:9px 10px;background:#fffaf8;border:1px solid #f1ded4;border-radius:11px}
.concierge-input{height:47px;border-color:#ecc4b4;background:#fff9f6}.concierge-input input{font-size:9px}
.concierge-input button{background:linear-gradient(120deg,#ffc5a4,#f39377);box-shadow:0 0 14px #ffa38783}
.concierge-footer{font-size:7px}
.home-quick{display:none}
.shell-main:has(.screen[data-screen="home"].active){min-height:1007px;height:1007px;position:relative}
.shell-main:has(.screen[data-screen="home"].active) .score-dock{position:absolute!important;left:14px!important;right:330px!important;bottom:19px!important;z-index:6!important;margin:0!important;min-height:159px!important;padding:10px 12px 6px;border-color:#bf8b8378;box-shadow:inset 0 1px #fff4de24,0 0 19px #f4a88022;background:linear-gradient(120deg,#0e182eed,#071124f3)}
.ticker-head{gap:11px}.ticker-head b{font-size:12px}.score-tabs{gap:5px}.score-tabs button{font-size:9px}.score-tabs button.active{border-color:#ffb18a;color:#ffe5d5;box-shadow:0 0 10px #f7ab8226}
.scores-scroller{height:88px;min-height:88px;padding:0;gap:8px;align-items:stretch;scrollbar-width:none}
.score-item{min-width:213px;max-width:245px;padding:8px 9px;border-color:#2c4568;border-radius:8px;background:#0a1a31f0;display:grid;gap:5px}
.score-top{font-size:9px}.score-team{font-size:10px;display:flex;align-items:center;justify-content:space-between;gap:6px}.score-team strong{font-size:15px}.score-item small{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-chip{box-shadow:0 0 7px #ff6c6c95}.ticker-foot{font-size:8px;padding-top:3px}
/* In non-home sections preserve underlying app behavior/layout. */
.screen[data-screen="research"],.screen[data-screen="builder"],.screen[data-screen="ai"],.screen[data-screen="vault"]{padding:28px 23px}
@media(min-width:1201px) and (max-width:1410px){
 .app-shell{grid-template-columns:182px minmax(0,1fr)}.topbar{padding-left:40px}
 .screen[data-screen="home"].active{grid-template-columns:minmax(0,1fr) 258px;gap:11px}
 .dashboard-grid{grid-template-columns:minmax(170px,.95fr) minmax(220px,1.25fr) minmax(170px,.95fr);gap:8px}
 .screen[data-screen="home"] .home-concierge{width:258px!important;top:61px!important}
 .shell-main:has(.screen[data-screen="home"].active) .score-dock{right:287px!important}
 .main-orb{height:280px!important;min-height:280px!important}.orb-side-label{display:none}
}
@media(max-width:1200px){
 .app-shell{width:100%;margin:0;padding:0;min-height:100dvh}
 .app-shell:before,.app-shell:after{display:none}
 .sidebar{padding:29px 10px}.sidebar-brand{visibility:visible;max-height:unset;font-size:11px}
 .screen[data-screen="home"].active{display:block!important;padding:18px 14px 28px;min-height:unset}
 .screen[data-screen="home"] .home-main{width:100%;padding:0!important}
 .screen[data-screen="home"] .home-concierge{display:none!important}
 .shell-main:has(.screen[data-screen="home"].active){height:auto;min-height:100dvh}
 .shell-main:has(.screen[data-screen="home"].active) .score-dock{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin:14px!important}
 .dashboard-grid{grid-template-columns:minmax(175px,1fr) minmax(240px,1.4fr) minmax(175px,1fr);grid-template-rows:300px 210px}
 .main-orb{height:300px!important;min-height:300px!important}
 .home-quick{display:flex}
}
@media(max-width:790px){
 .app-shell{display:block}.shell-main{min-height:100dvh;overflow:visible}
 .topbar{padding:0 12px;height:62px}.brand-mobile{font-size:12px}.topbar-right .global-search{min-width:34px}
 .screen[data-screen="home"].active{padding:13px 12px 28px}
 .home-topline{min-height:0;padding:0 3px;margin-bottom:13px}.home-topline h1{font-size:24px}.home-topline .subtitle{font-size:10px}
 .dashboard-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto auto;gap:9px}
 .main-orb{grid-column:1/-1;grid-row:1;height:310px!important;min-height:310px!important;margin:0 0 3px}
 .left-insight{grid-column:1;grid-row:2}.right-insight{grid-column:2;grid-row:2}
 .intel-panel{min-height:276px;height:276px;padding:8px}
 .insight-avatar{height:78px;margin-bottom:7px}.intel-panel h3{font-size:12px}.intel-panel .data-subtext{font-size:8px;min-height:33px}
 .stat-row strong{font-size:15px}.stat-row span{font-size:6px}.mini-chart{height:25px}.panel-foot{font-size:7px}
 .featured-matchup{grid-column:1/-1;grid-row:3;min-height:190px;height:190px}
 .trends-panel{grid-column:1/-1;grid-row:4;min-height:190px;height:190px}.trend-plot{height:125px}
 .screen[data-screen="home"].active .home-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .home-quick button{font-size:9px;padding:9px 7px}
 .shell-main:has(.screen[data-screen="home"].active) .score-dock{position:sticky!important;bottom:72px!important;left:0!important;right:0!important;margin:0!important;z-index:27!important;min-height:0!important;padding:8px!important;border-radius:14px 14px 0 0;background:#0b1831f4}
 .scores-scroller{height:70px;min-height:70px}.score-item{min-width:174px;padding:5px 7px}.score-team{font-size:9px}.score-team strong{font-size:12px}
 .mobile-nav{height:72px}.screen[data-screen="ai"]{padding:0!important}
}
@media(max-width:420px){.main-orb{height:282px!important;min-height:282px!important}.intel-panel{height:266px;min-height:266px}.insight-avatar{height:69px}.panel-foot button{font-size:7px}.orb-side-label{display:none}.orb-bottom{font-size:7px}}
@media(prefers-reduced-motion:reduce){.main-orb:before,.pearl-scene *{animation:none!important}}
/* Reset V1.2 twelve-column placement. V1.3 uses three measured columns. */
@media(min-width:1201px){
.dashboard-grid>.left-insight{grid-column:1!important;grid-row:1!important}
.dashboard-grid>.main-orb{grid-column:2!important;grid-row:1!important}
.dashboard-grid>.right-insight{grid-column:3!important;grid-row:1!important}
.dashboard-grid>.featured-matchup{grid-column:1/3!important;grid-row:2!important}
.dashboard-grid>.trends-panel{grid-column:3!important;grid-row:2!important}
}
/* Broadcast-style featured game: actual scoreboard leaders only. */
.featured-match{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(155px,1fr);gap:12px;align-items:stretch;width:100%;height:100%}
.featured-teams{display:flex;align-items:center;justify-content:space-around;min-width:0;gap:6px;padding:2px 4px}
.featured-teams .match-team{flex:1;max-width:38%;min-width:0}.featured-teams .versus{max-width:25%;flex:0 0 26%}
.match-leaders{border-left:1px solid #2b3b5e;padding:6px 6px 4px 14px;overflow:hidden;min-width:0}
.match-leaders>strong{display:block;letter-spacing:.11em;color:#d8e6ff;font-size:9px;margin:0 0 8px}
.feature-leader{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:9px;color:#c3d0e7}.feature-leader>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
.feature-leader b{color:#ffe0ce;font-size:9px;white-space:nowrap;font-weight:600}.feature-leader-dot{border:1px solid #fbad90;width:7px;height:7px;border-radius:50%;box-shadow:0 0 7px #e7a28a6a;flex-shrink:0}
.leader-empty{font-size:10px;line-height:1.5;color:#a9b9d1;margin:0}.source-mark{font-size:8px;color:#8397b6;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:790px){.featured-match{grid-template-columns:minmax(0,1fr) minmax(120px,.8fr);gap:5px}.featured-teams .match-team b{font-size:9px}.featured-teams .team-initial{height:39px;width:39px;font-size:15px}.match-leaders{padding-left:8px}.feature-leader{font-size:8px}.source-mark{white-space:normal;font-size:7px}}
@media(max-width:420px){.featured-match{grid-template-columns:minmax(0,1fr)}.match-leaders{display:none}}

/* Exact visual assets sampled from the approved presentation artwork. Decoration only. */
.pearl-scene{background-image:linear-gradient(90deg,#fff8f500,transparent),url('pearl-reference.webp');background-size:cover;background-repeat:no-repeat;background-position:center;mask-image:linear-gradient(90deg,transparent,black 6%,black 94%,transparent)}
.pearl-scene .pearl-sphere,.pearl-scene .pearl-ring{visibility:hidden}
.pearl-scene .pearl-particle{background:#eab49f;box-shadow:0 0 6px #e8b49c;opacity:.8}
.side-globe .mini-orbit{background-image:url('side-orb-reference.webp');background-size:cover;background-position:center;border-radius:45%;box-shadow:0 0 22px #566bc67e}
.insight-avatar .art-caption{display:none}
.intel-panel .insight-avatar .art-role{right:6px;bottom:6px;top:auto;left:auto}
.mini-chart:empty:before{content:'SYNC RECORDS FOR TREND';font-size:8px;letter-spacing:.09em;display:grid;place-items:center;position:absolute;inset:0;border:0;color:#708bb0}
@media(prefers-reduced-motion:no-preference){.pearl-scene{animation:pearl-art-hover 5.4s ease-in-out infinite}@keyframes pearl-art-hover{50%{background-position:center 48%;filter:saturate(1.08)}}}
/* Tablet: reassign lower panels away from legacy twelve-column grid placement. */
@media (min-width:791px) and (max-width:1200px){
 .dashboard-grid>.left-insight{grid-column:1!important;grid-row:1!important}
 .dashboard-grid>.main-orb{grid-column:2!important;grid-row:1!important}
 .dashboard-grid>.right-insight{grid-column:3!important;grid-row:1!important}
 .dashboard-grid>.featured-matchup{grid-column:1/3!important;grid-row:2!important}
 .dashboard-grid>.trends-panel{grid-column:3!important;grid-row:2!important}
 .featured-match{grid-template-columns:minmax(0,1.2fr) minmax(130px,.9fr)}
 .match-leaders{padding-left:8px}.featured-teams .match-team b{font-size:9px}
}
