:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#34334e;background:#171717;font-size:14px;line-height:1.6}
*{box-sizing:border-box}body{margin:0;padding:16px}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8b44be;outline-offset:3px}[hidden]{display:none!important}a{color:#873492;text-decoration:none}a:hover{text-decoration:underline}
.stage{position:relative;min-height:max(790px,calc(100vh - 32px));min-height:max(790px,calc(100dvh - 32px));overflow:hidden;border-radius:24px;background:radial-gradient(ellipse at 70% 20%,#d6e5ff 0,transparent 47%),radial-gradient(ellipse at 22% 65%,#e8d4f5 0,transparent 48%),linear-gradient(140deg,#c8c9df,#e0ddf4 57%,#cdc8e3);isolation:isolate}
.stage:before{content:"";position:absolute;width:380px;height:380px;left:calc(50% - 190px);bottom:60px;border-radius:50%;background:#e1eaff;filter:blur(50px);opacity:.7;z-index:-1}
.brandbar{position:absolute;top:23px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;gap:15px;z-index:7}.brand{display:flex;align-items:center;gap:10px;color:#2f2d47}.brand strong{font-size:20px;letter-spacing:-1px}.brand span{font-size:11px;letter-spacing:1px;border-left:1px solid #a9a6c0;padding-left:10px}.brand-actions{display:flex;align-items:center;gap:18px}.brand-actions>span{font-size:11px;letter-spacing:1.5px;color:#655d7f}.top-action{border:0;background:transparent;color:#655d7f;font-size:11px;padding:6px}.top-action:hover{color:#962fa1}
.intro{position:absolute;left:25%;width:50%;top:70px;text-align:center;z-index:2}.intro h1{font-size:clamp(30px,4.6vw,47px);line-height:1.25;font-weight:700;letter-spacing:-1.5px;margin:0 0 10px;color:#b729ae;background:linear-gradient(100deg,#b729ae,#e51699 54%,#9b62bd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.intro p{margin:0;color:#47445d;font-size:14px;letter-spacing:1px}
.figure{position:absolute;left:50%;bottom:-20px;transform:translateX(-50%);width:min(560px,max(440px,calc(65vh - 93px)));width:min(560px,max(440px,calc(65dvh - 93px)));max-width:48%;margin:0;z-index:1;pointer-events:none}.figure img{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 35px #9a75c12a);transform-origin:50% 75%;animation:breathe 4.8s ease-in-out infinite}.figure[data-state="listening"] img{animation:listen 2.2s ease-in-out infinite;filter:drop-shadow(0 0 18px #62d6ff88)}.figure[data-state="thinking"] img{animation:think 1.2s ease-in-out infinite;filter:drop-shadow(0 0 22px #b984ff99)}.figure[data-state="explaining"] img{animation:explain 2.6s ease-in-out infinite;filter:drop-shadow(0 0 17px #ee86d899)}@keyframes breathe{50%{transform:translateY(-5px) scale(1.008)}}@keyframes listen{50%{transform:translateY(-7px) scale(1.012)}}@keyframes think{50%{transform:translateY(-3px);opacity:.92}}@keyframes explain{50%{transform:translateY(-5px)}}
.window{border:1px solid #fff;border-radius:23px;background:#e9e7f6;box-shadow:0 8px 24px #7162811c,inset 0 0 16px #f7efff;overflow:hidden}.window-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;background:linear-gradient(115deg,#c4dbfa,#e5cff8);border-bottom:1px solid #c9bedf;padding:11px 14px;min-height:47px}.window-bar h2{display:flex;gap:8px;align-items:center;margin:0;font-size:14px;font-weight:500}.pink-dot{display:inline-block;width:7px;height:7px;background:#ec83a7;border-radius:50%}.icon-button{display:grid;place-items:center;background:transparent;border:0;border-radius:6px;color:#9770ba;width:28px;height:28px;font-size:19px;line-height:1}.icon-button:hover{background:#ffffff70}
.left{position:absolute;left:2.7%;top:106px;width:25%;z-index:3;transform:perspective(850px) rotateY(16deg);transform-origin:left center;box-shadow:18px 18px 36px #63537930,0 0 0 1px #ffffff70}.left-body{padding:13px;max-height:calc(100dvh - 240px);overflow:auto;min-height:200px}.muted{color:#676481;font-size:12px}.calendar{background:#f2f0fb;border-radius:15px;padding:13px 11px 11px;margin-bottom:12px}.calendar-title{display:flex;justify-content:space-between;color:#a02a9e;font-size:12px;margin-bottom:10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center;font-size:11px}.calendar-grid span{min-height:24px;display:grid;place-items:center}.calendar-grid .today{color:white;background:#a877cf;border-radius:50%}.news-card,.content-card,.detail-card,.search-card,.empty-card,.lead-card{background:#f7f5ff;border-radius:15px;padding:12px;margin:0 0 12px}.news-art{border-radius:9px;min-height:94px;display:grid;place-content:center;text-align:center;background:radial-gradient(ellipse at 80% 20%,#bae8fb,transparent 70%),linear-gradient(130deg,#a080d2,#dba3dc);color:#fff}.news-art strong{font-size:24px;letter-spacing:3px}.news-art span{font-size:10px;letter-spacing:3px}.kicker{display:block;margin:10px 0 4px;color:#956b9d;font-size:11px}.news-card h3,.content-card h3,.detail-card h3{font-size:14px;line-height:1.5;margin:0 0 5px}.news-card p,.content-card p,.detail-card p,.recommend-body p{color:#676481;font-size:12px;margin:0}.content-card{border:1px solid #ffffffbb}.content-card:hover{box-shadow:0 5px 14px #8c72aa1e}.text-link{border:0;background:transparent;color:#923785;font-size:12px;padding:0;margin-top:10px;text-align:left}.text-link:hover{text-decoration:underline}.card-cover{width:100%;height:115px;border-radius:10px;object-fit:cover;margin-bottom:9px}.search-input{width:100%;border:1px solid #d4c9e6;border-radius:10px;background:#fff;padding:10px 12px;margin-bottom:12px}.body-text{white-space:pre-wrap;overflow-wrap:anywhere;color:#47445d;font-size:12px;line-height:1.7;margin:8px 0}.detail-card{max-height:500px;overflow:auto}.asset-list{display:grid;gap:8px;margin-top:14px}.asset-row{padding:8px;background:#fff;border-radius:8px;font-size:12px}.asset-row a{display:block}.asset-row video{width:100%;max-height:220px;margin-top:7px;border-radius:8px}.asset-row iframe{width:100%;height:250px;border:0;margin-top:8px}.lead-form{display:grid;gap:9px}.lead-form input,.lead-form textarea{width:100%;border:1px solid #d4c9e6;border-radius:9px;padding:9px;background:#fff}.lead-form textarea{min-height:90px;resize:vertical}.lead-form label{display:flex;align-items:center;gap:8px;font-size:11px}.lead-form label input{width:auto}.primary{background:linear-gradient(120deg,#aa4deb,#da299d);color:white;border:0;border-radius:10px;padding:9px 14px}.feedback{color:#7d387e;font-size:12px}
.video-card{background:#f7f5ff;border:1px solid #d9cce8;border-radius:15px;padding:12px;margin:0 0 12px}.video-card h3{font-size:14px;line-height:1.5;margin:0 0 5px}.video-card p{color:#676481;font-size:12px;margin:0}.video-card .text-link{display:inline-block}
.right{position:absolute;right:2.7%;top:218px;width:26.5%;z-index:3;display:grid;gap:18px;transform:perspective(850px) rotateY(-16deg);transform-origin:right center}.right .window{box-shadow:-18px 18px 36px #63537930,0 0 0 1px #ffffff70}.chat-body{padding:17px 16px}.dialogue-label{display:flex;gap:7px;align-items:center;color:#8c629b;font-size:11px;margin-bottom:8px}.dialogue-label:before{content:"";width:6px;height:6px;border-radius:50%;background:#bb82c9}.chat-messages{font-size:13px;line-height:1.8;margin:0 0 13px;min-height:67px;max-height:240px;overflow:auto}.chat-messages p{margin:0 0 8px;white-space:pre-wrap}.chat-messages .question{color:#93439e;font-weight:600}.citation-list{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.citation-list a{display:inline-block;background:#f9f7ff;border:1px solid #d9cce8;border-radius:20px;padding:3px 9px;font-size:11px}.chat-form{display:flex;align-items:center;gap:6px;border:1px solid #d4c9e6;background:#f8f6fd;border-radius:11px;padding:5px 5px 5px 11px}.chat-form input{width:100%;min-width:0;border:0;background:transparent;color:#34334e;font-size:12px;padding:6px 0}.chat-form button{border:0;border-radius:8px;background:linear-gradient(140deg,#b55edd,#d347b5);color:#fff;width:31px;height:31px;flex-shrink:0}.hints{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.hints button{border:1px solid #d7cce6;background:#f2edf9;color:#716079;border-radius:15px;padding:5px 9px;font-size:11px}.small-bar{padding-top:7px;padding-bottom:7px;min-height:39px}.small-bar h2{font-size:12px}.recommend-body{padding:15px 16px}.recommend-body strong{font-size:14px;font-weight:500;display:block;margin-bottom:5px}
.dock{position:absolute;z-index:5;left:50%;transform:translateX(-50%);bottom:37px;display:flex;justify-content:center;gap:9px;width:max-content;max-width:94%;padding:10px 18px;border:1px solid #fff;border-radius:19px;background:#f4f1fc;box-shadow:0 7px 30px #80699020}.dock button{border:0;border-radius:11px;background:transparent;color:#4e4862;padding:12px 17px;display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:14px}.dock button[aria-pressed="true"]{background:linear-gradient(120deg,#aa4deb,#da299d);color:#fff;box-shadow:0 5px 14px #c055c129}.dock button span{font-size:18px;line-height:1}.status{position:absolute;left:0;right:0;bottom:10px;text-align:center;font-size:10px;color:#777087;z-index:4}.restore{position:absolute;right:2.7%;bottom:155px;z-index:5;border:1px solid #fff;border-radius:20px;background:#ece5f8;color:#6f4f86;padding:10px 14px;font-size:12px}
@media(max-width:1100px) and (min-width:801px){.left{width:28%;left:2%}.right{width:29%;right:2%}.intro{left:28%;width:44%}.left-body{max-height:500px}}
@media(max-width:800px){body{padding:0;background:#dad7ef}.stage{display:flex;flex-direction:column;min-height:100dvh;padding:20px 18px 16px;border-radius:0;overflow:visible}.brandbar{position:static;order:0;gap:10px}.brand strong{font-size:19px}.brand span{font-size:10px}.brand-actions{gap:8px}.brand-actions>span{display:none}.top-action{font-size:11px}.intro{position:static;order:1;width:100%;padding-top:25px}.intro h1{font-size:34px}.intro p{font-size:12px}.figure{position:relative;left:auto;bottom:auto;transform:none;order:2;width:100%;max-width:none;height:350px;overflow:hidden;display:flex;justify-content:center;margin:15px 0 -5px}.figure img{width:310px;height:465px;object-fit:contain;max-width:none}.dock{position:relative;left:auto;bottom:auto;transform:none;order:3;width:100%;max-width:none;gap:3px;padding:7px 4px;margin-bottom:18px;border-radius:15px}.dock button{flex:1;justify-content:center;gap:5px;padding:10px 3px;font-size:12px}.dock button span{font-size:16px}.left{position:relative;left:auto;top:auto;width:100%;order:5;margin-top:18px;transform:none;box-shadow:0 8px 24px #7162811c}.left-body{max-height:none}.right{position:relative;right:auto;top:auto;width:100%;order:4;gap:15px;transform:none}.right .window{box-shadow:0 8px 24px #7162811c}.chat-messages{max-height:270px}.chat-form input{font-size:16px}.status{position:static;order:7;margin-top:16px;font-size:11px}.restore{position:static;order:4;margin-bottom:15px}.calendar-grid span{min-height:29px;font-size:12px}.news-art{min-height:110px}.icon-button,.chat-form button{min-width:36px;min-height:36px}}
@media(max-width:370px){.stage{padding-left:12px;padding-right:12px}.dock button{flex-direction:column;gap:4px;padding:8px 3px}.intro h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){.figure img{animation:none!important}}

/* The dock is the single place to enter a chat message. */
.dock{width:min(620px,94%);max-width:none;align-items:center;justify-content:stretch;gap:8px;padding:8px}
.dock-content{display:grid;flex:1;min-width:0;align-items:center;overflow:visible;perspective:1000px;perspective-origin:50% 50%}
.dock-rotor{display:grid;min-width:0;align-items:center;transform-style:preserve-3d;transform:rotateX(0deg);transition:transform .9s cubic-bezier(.45,0,.25,1)}
.dock-menu,.dock-chat{grid-area:1/1;min-width:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:none}
.dock-menu{display:flex;justify-content:space-between;gap:2px;opacity:1;transform:rotateX(0deg) translateZ(1px);visibility:visible;border-radius:12px;background:#f4f1fc}
.dock-menu button{justify-content:center;flex:1;padding:12px 8px}
.dock-chat{display:flex;align-items:center;gap:8px;padding:5px 6px 5px 16px;border:1px solid #d6c8e8;border-radius:12px;background:#fffafd;opacity:1;transform:rotateX(180deg) translateZ(1px);visibility:visible;pointer-events:none}
.dock-chat input{flex:1;width:100%;min-width:0;border:0;outline:none;background:transparent;color:#34334e;padding:7px 0;font-size:14px}
.dock-chat input:focus-visible{outline:none}
.dock .dock-send{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;border-radius:9px;background:linear-gradient(120deg,#aa4deb,#da299d);color:#fff;font-size:20px}
.dock .dock-toggle{display:flex;align-items:center;justify-content:center;flex:none;gap:5px;min-width:67px;padding:11px 9px;border:1px solid #d9cbe9;border-radius:11px;background:#fff9ff;color:#8e388f;font-size:12px;transition:background .25s,color .25s,transform .35s}
.dock-toggle:hover{background:#f1def6;transform:translateY(-2px)}
.dock-toggle span[aria-hidden]{font-size:17px;line-height:1}
.dock.is-chat .dock-menu{pointer-events:none}
.dock.is-chat .dock-chat{pointer-events:auto}
.dock.is-chat .dock-toggle{background:linear-gradient(120deg,#aa4deb,#da299d);border-color:transparent;color:#fff}
.dock.is-chat .dock-rotor{transform:rotateX(180deg)}
.dock.is-switching{animation:dock-flip-glow .9s ease both}
.dock.is-switching .dock-toggle span[aria-hidden]{animation:dock-flip-icon .9s cubic-bezier(.45,0,.25,1) both}
.dock-chat:focus-within{border-color:#b16bcd;box-shadow:0 0 0 2px #b16bcd18}
@keyframes dock-flip-glow{
  0%,100%{border-color:#fff;box-shadow:0 7px 30px #80699020}
  45%{border-color:#d29aeb;box-shadow:0 10px 36px #a654d245,0 0 18px #d69cf35c,inset 0 0 12px #ffffffb0}
}
@keyframes dock-flip-icon{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.stage.chat-active .right{left:50%;right:auto;top:auto;bottom:114px;width:min(620px,94%);transform:translateX(-50%);z-index:6;animation:chat-near-dock .42s ease-out both}
.stage.chat-active .chat-window{box-shadow:0 16px 40px #63537936,0 0 0 1px #ffffff90}
.stage.chat-active .recommend-window{display:none}
.stage.chat-active .chat-messages{max-height:min(240px,34dvh)}
@keyframes chat-near-dock{from{opacity:.45;translate:0 18px}to{opacity:1;translate:0 0}}
@media(max-width:800px){.dock{width:100%;gap:4px;padding:6px;margin-bottom:18px}.dock-menu button{padding:10px 2px;gap:3px}.dock .dock-toggle{min-width:53px;padding:9px 5px;font-size:11px}.dock-toggle span[aria-hidden]{font-size:15px}.dock-chat input{font-size:16px}}
@media(max-width:800px){.stage.chat-active .right{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;order:3;transform:none;margin-top:0;margin-bottom:12px}.stage.chat-active .dock{order:4}.stage.chat-active .chat-messages{max-height:270px}}
@media(max-width:370px){.dock-menu button{padding:8px 1px}.dock .dock-toggle{min-width:43px;flex-direction:column;gap:0;padding:6px 3px;font-size:10px}}
.stage:not(.dock-motion-enabled) .dock-rotor,.stage:not(.dock-motion-enabled) .dock .dock-toggle{transition:none}
.stage:not(.dock-motion-enabled) .dock.is-switching,.stage:not(.dock-motion-enabled) .dock.is-switching .dock-toggle span[aria-hidden]{animation:none}
@media(prefers-reduced-motion:reduce){.stage.chat-active .right{animation:none}}

/* Shared panel controls and the news selection/detail layout. */
.panel-controls{position:fixed;top:92px;right:calc(2.7% + 16px);z-index:8;display:flex;gap:7px}.panel-controls button{border:1px solid #ffffffc9;background:#f5f1fbc9;color:#705487;border-radius:18px;padding:6px 12px;font-size:11px}.panel-controls button:hover{background:#fff8ff}.panels-hidden .panel-controls{top:40px}.panels-hidden #panels-toggle{background:#f5f1fb99}.window-caption{font-size:10px;color:#877299;white-space:nowrap}.left{top:124px;width:24%}.left-body{max-height:calc(100dvh - 246px);min-height:400px}.right,.stage.chat-active .right{position:absolute;left:auto;right:2.7%;top:155px;bottom:auto;width:27%;transform:perspective(850px) rotateY(-16deg);transform-origin:right center;z-index:3;gap:14px;animation:none}.stage.perspective-off .left,.stage.perspective-off .right{transform:none}.stage.chat-active .recommend-window{display:block}.detail-body{padding:15px;min-height:280px;max-height:calc(100dvh - 460px);overflow:auto;scrollbar-width:thin;scrollbar-color:#c5b5dc transparent}.detail-card{padding:5px 3px;margin:0;background:transparent;max-height:none;overflow:visible}.detail-card h3{font-size:21px;font-weight:600;line-height:1.55;margin:8px 0 12px;color:#42334f;overflow-wrap:anywhere}.detail-card .body-text{font-size:13px;line-height:1.95;color:#524861;margin-top:18px}.detail-card .detail-summary{font-size:12px;line-height:1.8;border-left:2px solid #bc87cf;padding-left:10px;margin:12px 0 16px;color:#7b6886}.detail-cover{width:100%;height:auto;border-radius:10px;display:block;margin:12px 0}.detail-placeholder{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#81728f;padding:20px 6px}.detail-symbol{font-size:35px;color:#b298ca}.detail-placeholder h3{font-size:16px;font-weight:500;margin:12px 0 7px}.detail-placeholder p{font-size:12px;line-height:1.9;margin:0}.recommend-body{max-height:135px;overflow:auto}.recommend-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.chat-history{position:absolute;left:50%;transform:translateX(-50%);bottom:114px;width:min(620px,94%);z-index:4;background:#f5f1fbe8;border:1px solid #ffffffdb;border-radius:15px;padding:9px 14px;box-shadow:0 7px 24px #80699012}.chat-history .dialogue-label{margin-bottom:3px;font-size:10px}.chat-history .chat-messages,.stage.chat-active .chat-messages{font-size:12px;line-height:1.7;min-height:0;max-height:min(104px,13dvh);overflow:auto;margin:0}.chat-messages p:last-child{margin-bottom:0}.chat-history .citation-list{margin:3px 0}.calendar{padding:12px;margin-bottom:12px}.calendar-title{align-items:center;margin-bottom:9px}.calendar-title strong{font-size:13px;letter-spacing:.5px}.calendar-controls{display:flex;align-items:center;gap:5px}.calendar-controls .text-link{margin:0;font-size:12px;padding:2px 6px;line-height:1.6}.calendar-controls .text-link:first-child,.calendar-controls .text-link:nth-child(2){font-size:21px;line-height:1}.calendar-grid{gap:3px}.calendar-grid .weekday{font-size:11px;color:#8e829c;margin-bottom:3px}.calendar-day{position:relative;border:0;border-radius:9px;color:#635873;background:transparent;min-height:31px;display:flex;align-items:center;justify-content:center;font-size:11px}.calendar-day:hover{background:#e3d7f2}.calendar-day.is-today{box-shadow:inset 0 0 0 1px #c2a1dc}.calendar-day.selected{background:linear-gradient(125deg,#ac72d2,#c784d4);color:#fff;box-shadow:0 3px 9px #a983c52e}.calendar-grid .calendar-day span{min-height:0}.news-dot{position:absolute;bottom:3px;width:3px;height:3px;border-radius:50%;background:#bb5cad}.calendar-day.selected .news-dot{background:#fff}.calendar-legend{font-size:10px;color:#9a75aa;margin:9px 0 0}.column-banner-slot{margin-bottom:14px}.column-banner-slot:empty{display:none}.news-art{min-height:100px;border-radius:12px}.news-art strong{font-size:22px}.news-art span{letter-spacing:2px;font-size:10px;margin-top:5px}.banner-carousel{overflow:hidden;border-radius:12px;background:#f6f1fc}.banner-slide{display:block;width:100%;padding:0;border:0;background:transparent}.banner-slide img{display:block;width:100%;aspect-ratio:3/1;object-fit:cover}.banner-bar{display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 7px}.banner-bar .text-link{margin:0;padding:2px 4px;font-size:11px}.banner-bar .text-link:first-child,.banner-bar .text-link:nth-last-child(2){font-size:19px}.banner-dots{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.banner-dot{width:6px;height:6px;border:0;border-radius:50%;background:#d4c3e1;padding:0}.banner-dot[aria-pressed=true]{background:#a459b7}.news-list-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:4px 1px 9px}.news-list-heading h3{font-size:12px;font-weight:500;letter-spacing:.5px;margin:0;color:#7c658d}.news-list-heading>span{font-size:10px;color:#a590b1}.news-list-item{display:flex;align-items:flex-start;gap:10px;text-align:left;width:100%;border:1px solid #ffffffc9;background:#f7f5ff;border-radius:12px;padding:11px;margin-bottom:8px;color:#4d405e}.news-list-item:hover,.news-list-item.active{background:#fff8ff;border-color:#c897d6;box-shadow:0 3px 13px #ac83c522}.news-number{color:#bba0cf;font-size:18px;font-weight:300;padding-top:11px}.news-copy{flex:1;min-width:0}.news-copy .kicker{font-size:10px;margin:0 0 3px}.news-copy strong{font-size:13px;line-height:1.6;font-weight:500;display:block;overflow-wrap:anywhere}.news-copy p{color:#8c7e99;font-size:11px;line-height:1.7;margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-arrow{color:#b28bc5;margin-top:13px;font-size:13px}.news-empty{text-align:center;padding:22px 13px;margin:0}.news-empty strong{font-size:13px;font-weight:500;color:#8f729f}.news-empty p{font-size:11px;line-height:1.8;margin:8px 0 0}.news-pager{display:flex;align-items:center;justify-content:space-between;margin:10px 3px;font-size:11px;color:#887298}.news-pager .text-link{margin:0}.news-pager button:disabled{opacity:.35;cursor:default}
@media(min-width:801px) and (max-width:1100px){.left{left:2%;width:27%}.right,.stage.chat-active .right{right:2%;width:28%}.left-body{max-height:calc(100dvh - 246px)}.intro{left:29%;width:42%}.intro h1{font-size:32px}.chat-history{width:min(550px,65%)}.detail-card h3{font-size:18px}}
@media(max-width:800px){.stage{padding:550px 18px 20px;min-height:100dvh;overflow:hidden}.brandbar{position:absolute;top:20px;left:18px;right:18px}.intro{position:absolute;left:0;top:103px;width:100%;padding-top:0}.intro h1{font-size:32px}.figure{position:absolute;left:50%;top:178px;bottom:auto;transform:translateX(-50%);width:310px;max-width:100%;height:350px;margin:0}.figure img{width:310px;height:465px}.panel-controls{top:62px;right:18px;gap:6px}.panel-controls button{font-size:11px;padding:5px 10px}.panels-hidden .panel-controls{top:62px}.chat-history{position:relative;left:auto;bottom:auto;transform:none;order:1;width:100%;margin:0 0 10px}.chat-history .chat-messages,.stage.chat-active .chat-messages{max-height:110px}.dock,.stage.chat-active .dock{order:2;margin:0 0 18px;width:100%}.left{position:relative;left:auto;top:auto;transform:none;width:100%;order:3;margin:0 0 18px}.left-body{min-height:0;max-height:none}.right,.stage.chat-active .right{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;width:100%;order:4;gap:14px;margin:0}.detail-body{min-height:260px;max-height:580px}.detail-placeholder{min-height:230px}.status{order:5}.calendar-day{min-height:35px;font-size:12px}.banner-slide img{aspect-ratio:3/1}.news-list-item{padding:13px}.news-copy strong{font-size:14px}.news-copy p{font-size:12px}.window-caption{font-size:11px}.panels-hidden .stage{min-height:100dvh}}
@media(max-width:370px){.stage{padding-left:12px;padding-right:12px}.brandbar{left:12px;right:12px}.intro h1{font-size:29px}.figure{width:290px}.dock-menu button{flex-direction:column}.chat-history{padding:9px 11px}}
@media(max-width:800px){.panel-controls{position:fixed}}

/* Case selection stays in the left panel; full introductions stay on the right. */
.case-list-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:2px 1px 5px}.case-list-heading>strong{font-size:14px;font-weight:500;color:#725581}.case-count{font-size:10px;color:#9c85ac;white-space:nowrap}.case-list-hint{margin:0 1px 13px;font-size:11px;color:#9b88a7}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}.case-tile{position:relative;display:flex;flex-direction:column;min-width:0;width:100%;padding:0;overflow:hidden;text-align:left;color:#51405f;background:#f9f6ff;border:1px solid #ffffffdf;border-radius:13px;box-shadow:0 3px 10px #76539009;transition:border-color .18s,box-shadow .18s,background .18s}.case-tile:hover{border-color:#c19cdb;background:#fffaff;box-shadow:0 5px 16px #9972b521}.case-tile.active{border-color:#b57bd0;background:#fff8ff;box-shadow:0 0 0 1px #c9a6dc65,0 4px 15px #a278bd24}.case-thumb{position:relative;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 78% 18%,#eee5fe 0,transparent 62%),linear-gradient(135deg,#d9c8eb,#d7e3f5);color:#9567b1}.case-thumb:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff20 1px,transparent 1px),linear-gradient(90deg,#ffffff20 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(120deg,#0008,transparent)}.case-thumb[data-icon=education],.case-thumb[data-icon=science]{background:linear-gradient(135deg,#c9dcee,#ddd5f4);color:#7688b2}.case-thumb[data-icon=interactive],.case-thumb[data-icon=enterprise]{background:linear-gradient(135deg,#e5cfec,#d5d6f0);color:#a477b7}.case-icon{width:47px;height:47px;position:relative;opacity:.9}.case-thumb.has-image>.case-icon{visibility:hidden}.case-thumbnail{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.case-tile-copy{position:relative;padding:10px 19px 12px 10px;flex:1;min-width:0}.case-tile-copy .kicker{font-size:9px;line-height:1.5;margin:0 0 4px;color:#a08bab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-tile-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:12px;line-height:1.65;font-weight:500;min-height:3.3em}.case-tile-arrow{position:absolute;right:7px;bottom:13px;font-size:11px;color:#b28ac6}.case-tile.active .case-tile-arrow{color:#9850b2}.case-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:35px 18px;border:1px solid #fff;border-radius:15px;background:#f8f4fc;color:#9b83ab}.case-empty .case-icon{width:48px;height:48px;margin-bottom:14px}.case-empty strong{font-size:13px;font-weight:500}.case-empty p{font-size:11px;line-height:1.8;margin:9px 0 0;color:#a18bab}.case-load-more{display:block;width:100%;border:1px solid #d9c7e7;border-radius:10px;background:#f7f2fc;text-align:center;padding:8px 12px;margin:14px 0 2px;font-size:11px}.case-load-more:disabled{opacity:.6;cursor:default}.case-browser>.feedback:empty{display:none}.detail-placeholder>.case-icon{width:44px;height:44px;color:#b096c9}.stage[data-tab=case] .detail-card>h3:first-of-type{font-size:21px;line-height:1.6}
@media(max-width:800px){.case-grid{gap:12px}.case-tile-title{font-size:13px}.case-tile-copy{padding:11px 22px 13px 11px}.case-tile-copy .kicker{font-size:10px}.case-count{font-size:11px}.case-list-hint{font-size:12px}.case-icon{width:51px;height:51px}}
@media(min-width:540px) and (max-width:800px){.case-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.case-tile{transition:none}}

.html-publication-frame{display:block;width:100%;height:430px;border:1px solid #e1d8ee;border-radius:10px;background:#f6f4ef;margin-top:12px}.article-list{margin-top:12px}.dock-menu button{gap:5px;font-size:13px}@media(max-width:800px){.dock-menu button{flex-direction:column;font-size:11px;padding:8px 2px;gap:4px}.html-publication-frame{height:460px}}

.article-list .content-card.active{outline:2px solid #b65ac9;background:#fcf7ff}

/* Services use a compact list and keep website actions in the detail panel. */
.service-list-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#705283;font-size:13px;margin:4px 0 8px}.service-count{font-size:11px;color:#947b9f;white-space:nowrap}.service-list-hint{font-size:11px;line-height:1.7;color:#947b9f;margin:0 0 13px}.service-list{display:grid;gap:10px;min-width:0}.service-item{display:flex;align-items:flex-start;gap:11px;width:100%;min-width:0;border:1px solid #ffffffdc;border-radius:13px;padding:13px 11px;background:#f7f5ff;text-align:left;color:#705283;transition:background .18s,border-color .18s}.service-item:hover{background:#fff9ff;border-color:#c1a0d9}.service-item.active{background:#f9effc;border-color:#bd85d3;box-shadow:0 0 0 1px #c9a6dc55}.service-thumb{width:44px;height:44px;flex:none;position:relative;display:grid;place-items:center;border-radius:10px;background:#eee8f7;overflow:hidden}.service-thumb .case-icon{width:30px;height:30px}.service-thumb img{position:absolute;width:100%;height:100%;object-fit:cover}.service-thumb.service-thumb-portrait img{width:300%;height:300%;max-width:none;max-height:none;left:50%;top:62%;transform:translate(-50%,-50%);object-fit:cover}.service-item-copy{display:grid;gap:7px;min-width:0;flex:1}.service-type{display:inline-block;width:fit-content;border:1px solid #d9c8e5;background:#f4edf9;border-radius:14px;padding:2px 8px;font-size:10px;line-height:1.6;color:#8c649c}.service-item-copy>strong{font-size:13px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:3.2em;overflow-wrap:anywhere}.service-item-summary{font-size:11px;line-height:1.75;color:#9a85a5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:3.5em;overflow-wrap:anywhere}.service-item-arrow{font-size:21px;color:#ae8cbe;align-self:center;flex:none}.service-item:focus-visible{outline:3px solid #8b44be;outline-offset:2px}.service-load-more{margin-top:15px}.service-empty{display:grid;justify-items:center;gap:10px;text-align:center;padding:50px 12px;color:#947b9f}.service-empty .case-icon{width:44px;height:44px}.service-empty strong{font-size:15px;color:#78558b}.service-empty p{font-size:12px;line-height:1.85;margin:0}.service-website{margin:16px 0 20px;border:1px solid #ddcfe8;background:#f7f1fc;border-radius:13px;padding:15px;display:grid;justify-items:start;gap:9px;min-width:0}.service-website>strong{font-size:13px;font-weight:600;color:#78558b}.detail-card .service-website>p{font-size:11px;color:#9a85a5;overflow-wrap:anywhere}.service-website-link{font-size:12px;line-height:1.7;white-space:normal;overflow-wrap:anywhere;max-width:100%;text-decoration:none}.service-website-link:hover{filter:brightness(1.06)}.service-website>small{font-size:10px;line-height:1.7;color:#947b9f}.service-detail>.service-type{margin-bottom:3px}
@media(max-width:800px){.service-item{padding:15px 13px}.service-item-copy>strong{font-size:14px}.service-item-summary,.service-list-hint{font-size:12px}.service-website-link{font-size:14px}.service-website>small{font-size:12px}}
@media(prefers-reduced-motion:reduce){.service-item{transition:none}}

/* About directory: whole-row selection, with all reading in the detail panel. */
.about-directory{min-width:0}.about-brand{padding:17px 14px;border:1px solid #ffffffd9;border-radius:14px;background:linear-gradient(125deg,#e1dcf3,#eef0fb);margin-bottom:15px}.about-eyebrow{display:block;font-size:10px;letter-spacing:2px;color:#9c70b3;margin-bottom:7px}.about-brand strong{font-size:22px;color:#5d4676;display:block;font-weight:600}.about-brand p{font-size:11px;letter-spacing:2px;margin:5px 0 0;color:#8c749c}.about-directory-hint{font-size:11px;color:#947b9f;margin:0 2px 12px}.about-navigation{display:grid;gap:9px}.about-nav-item{display:flex;align-items:center;gap:11px;width:100%;min-width:0;padding:14px 11px;text-align:left;border:1px solid #ffffffdc;border-radius:12px;background:#f7f5ff;color:#705283;transition:background .18s,border-color .18s}.about-nav-item:hover{background:#fff9ff;border-color:#c1a0d9}.about-nav-item.active{background:#f9effc;border-color:#bd85d3;box-shadow:0 0 0 1px #c9a6dc55}.about-nav-item .case-icon{width:32px;height:32px;flex:none}.about-nav-copy{flex:1;min-width:0;display:grid;gap:4px}.about-nav-copy strong{font-size:13px;font-weight:600}.about-nav-copy small{font-size:10px;line-height:1.7;color:#9a85a5;overflow-wrap:anywhere}.about-nav-arrow{font-size:21px;color:#ae8cbe;flex:none}.about-detail{min-width:0}.about-fact{padding:14px 0;border-bottom:1px solid #ded4e8;min-width:0}.about-fact h4,.about-related h4{font-size:14px;font-weight:600;color:#78558b;margin:0 0 7px}.about-empty{border:1px solid #ddd1e8;border-radius:13px;padding:25px 15px;margin:18px 0;background:#f6f2fc;text-align:center;color:#987eaa}.about-empty .case-icon{width:44px;height:44px}.about-empty h4{font-size:15px;font-weight:500;color:#7d5d91;margin:12px 0 8px}.detail-card .about-empty p{font-size:12px;line-height:1.85;color:#937c9f}.about-contact-link{display:inline-block;font-size:13px;line-height:1.8;color:#8e418d;overflow-wrap:anywhere}.about-map-link{display:block;margin:15px 0;font-size:12px}.about-inquiry{display:block;margin:20px 0 10px;cursor:pointer}.about-actions{display:flex;flex-wrap:wrap;gap:7px 13px;margin:20px 0 6px}.about-related{margin-top:22px;padding-top:16px;border-top:1px solid #ded4e8}.about-related-item{display:grid;gap:5px;width:100%;min-width:0;padding:12px;border:1px solid #dfd3e9;border-radius:10px;background:#f8f3fc;margin:9px 0;text-align:left;color:#735083}.about-related-item strong{font-size:12px}.about-related-item small{font-size:11px;line-height:1.7;color:#9982a6;overflow-wrap:anywhere}.about-related-item.active{border-color:#bc89d0;background:#f4eaf9}.about-navigation button:focus-visible,.about-related-item:focus-visible{outline:3px solid #8b44be;outline-offset:2px}
@media(max-width:800px){.about-nav-item{padding:15px 13px}.about-nav-copy strong{font-size:14px}.about-nav-copy small{font-size:12px}.about-directory-hint{font-size:12px}.about-brand{padding:19px 16px}}
@media(prefers-reduced-motion:reduce){.about-nav-item{transition:none}}

/* The toolbar stays available while panels are hidden. */
@media(max-width:800px){.stage.panels-hidden .dock{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(620px,calc(100% - 36px));margin:0;z-index:8}}

/* HTML expands to its document height; the detail panel owns the scrollbar. */
.detail-body{position:relative}
.html-publication-preview{position:relative;margin-top:12px;min-width:0}
.html-publication-preview>.html-publication-frame{margin-top:0}
.html-publication-frame[data-layout-state="loading"]{height:280px;visibility:hidden;pointer-events:none}
.html-publication-loading{position:absolute;inset:0;display:grid;place-items:center;margin:0;border:1px solid #e1d8ee;border-radius:10px;background:#f7f5ff;color:#81728f;font-size:12px}

/* Match the embedded article's fallback scrollbar and the host panel. */
@supports selector(::-webkit-scrollbar){
  .detail-body{scrollbar-width:auto;scrollbar-color:auto}
  .detail-body::-webkit-scrollbar{width:8px;height:8px}
  .detail-body::-webkit-scrollbar-track{background:transparent}
  .detail-body::-webkit-scrollbar-thumb{background:#c5b5dc;border-radius:8px}
  .detail-body::-webkit-scrollbar-thumb:hover{background:#ab8ec7}
  .detail-body::-webkit-scrollbar-thumb:active{background:#9770ba}
  .detail-body::-webkit-scrollbar-button{display:none;width:0;height:0}
  .detail-body::-webkit-scrollbar-corner{background:transparent}
}
@media(forced-colors:active){
  .detail-body{scrollbar-color:auto}
  .detail-body::-webkit-scrollbar-thumb{background:ButtonText}
  .detail-body::-webkit-scrollbar-track{background:Canvas}
}

/* A failed startup uses the original iframe reading area. Older cached hosts
   also retain this fallback; normal startup only displays the placeholder. */
.detail-body:has(.html-publication-frame:not([data-auto-height="true"]):not([data-layout-state="loading"])){height:max(280px,calc(100dvh - 460px));overflow:hidden}
.detail-body:has(.html-publication-frame:not([data-auto-height="true"]):not([data-layout-state="loading"]))>.detail-card{display:flex;flex-direction:column;height:100%;min-height:0}
.detail-body:has(.html-publication-frame:not([data-auto-height="true"]):not([data-layout-state="loading"])) .detail-card>:not(.html-publication-frame):not(.html-publication-preview):not(.text-link):not(h3:first-of-type){display:none}
.detail-body:has(.html-publication-frame:not([data-auto-height="true"]):not([data-layout-state="loading"])) .detail-card>h3:first-of-type{flex:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 4px}
.detail-body:has(.html-publication-frame:not([data-auto-height="true"]):not([data-layout-state="loading"])) .detail-card>.text-link{flex:none}
.detail-body:has(.html-publication-frame:not([data-auto-height="true"]):not([data-layout-state="loading"])) .html-publication-preview{display:flex;flex-direction:column;flex:1 1 0;min-height:0}
.detail-body:has(.html-publication-frame:not([data-auto-height="true"]):not([data-layout-state="loading"])) .html-publication-frame{flex:1 1 0;min-height:0;height:0}
@media(max-width:800px){.detail-body:has(.html-publication-frame:not([data-auto-height="true"]):not([data-layout-state="loading"])){height:580px}}

/* Content updates stay inside stable panel frames, including while loading. */
.detail-card .product-source-note{padding:9px 11px;border-left:2px solid #b993cb;background:#f6eff9cc;border-radius:0 7px 7px 0;font-size:11px;line-height:1.8;color:#8c6997;margin:10px 0}
.detail-card .product-subtitle{font-size:12px;line-height:1.7;color:#9274a3;margin:5px 0 16px;letter-spacing:.5px;overflow-wrap:anywhere}.product-directory{margin:12px 0}.product-directory summary{cursor:pointer;color:#8c709f;font-size:12px}.product-composition-icons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;gap:10px;margin:0;padding:0}.product-composition-icons li{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;background:#fbf7fc99;border:1px solid #e0d3e9;border-radius:11px;padding:15px 9px;font-size:12px;line-height:1.7;overflow-wrap:anywhere;min-width:0}.product-icon{width:44px;height:44px;color:#9872b1;flex:none}.product-feature-list{display:grid;gap:14px}.product-feature{display:flex;align-items:flex-start;gap:12px;padding:13px;border:1px solid #dfd2e9;border-radius:11px;background:#fcf9fcb3}.product-feature>div{min-width:0}.product-feature h5,.product-content-item h5{margin:0;font-size:14px;color:#6c4c80}.product-feature .product-prose{margin:5px 0 0;font-size:12px}.product-content-list{display:grid;gap:15px}.product-content-item{display:grid;gap:10px}.product-content-item .product-prose{margin:5px 0}.product-spec-table th,.product-spec-table td{white-space:pre-wrap}.product-section[data-section=main_video] .product-media{aspect-ratio:16/9;background:#eee7f4}
/* Product photographs and sections share the existing fixed selection/detail panels. */
.product-thumb{background:linear-gradient(145deg,#f7f4fc,#ebe8f5)}.product-thumbnail{object-fit:contain;padding:9px}.product-detail{min-width:0}.product-toc{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 8px;padding-bottom:14px;border-bottom:1px solid #d7cbe4}.product-toc button{border:1px solid #d6c8e1;background:#f9f6fbbd;color:#785c89;border-radius:14px;padding:5px 9px;font-size:11px}.product-toc button:hover{background:#eee3f6;border-color:#b68bcf}.product-section{padding:17px 0 4px;min-width:0}.product-section+.product-section{border-top:1px solid #dacee5;margin-top:16px}.product-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:16px;font-weight:600;color:#554061;margin:0 0 12px;overflow-wrap:anywhere}.product-section-heading small{font-size:10px;font-weight:400;letter-spacing:.5px;color:#9b83ab}.detail-card .product-prose{font-size:13px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;color:#574b66;margin:10px 0}.product-gallery{display:grid;gap:12px;margin:14px 0 0}.product-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-image{margin:0;min-width:0;background:#fcfaffb5;border:1px solid #e0d6e9;border-radius:11px;padding:8px;overflow:hidden}.product-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;display:block;border-radius:6px}.product-gallery-grid .product-image img{aspect-ratio:4/3;object-fit:contain}.product-image figcaption{font-size:11px;color:#85708e;line-height:1.6;margin:7px 2px 2px;overflow-wrap:anywhere}.product-image.image-unavailable{min-height:90px;display:grid;place-content:center;text-align:center}.product-scenarios{display:flex;flex-wrap:wrap;gap:8px}.product-scenarios span{padding:6px 10px;font-size:12px;border:1px solid #d9c8e5;border-radius:8px;color:#7c5b8b;background:#f4ecf9b3;overflow-wrap:anywhere}.product-spec-table{margin:14px 0;border:1px solid #dcd0e7;border-radius:10px;overflow:hidden}.product-spec-table table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:12px;line-height:1.8}.product-spec-table th,.product-spec-table td{padding:9px 10px;text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #e2d8ea}.product-spec-table th{width:34%;font-weight:500;color:#796285;background:#f1eaf7}.product-spec-table td{color:#584b63;background:#faf7fcb5}.product-spec-table tr:last-child>*{border-bottom:0}.product-spec-cards{display:grid;gap:10px;margin:14px 0}.product-spec-card{margin:0;padding:12px;border:1px solid #dfd3e9;border-radius:10px;background:#faf7fbbd;display:grid;grid-template-columns:75px minmax(0,1fr);gap:7px 10px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.product-spec-card strong{grid-column:1/-1;font-size:13px;color:#60466e;padding-bottom:7px;border-bottom:1px solid #e2d7ea}.product-spec-card dt{color:#8d789b}.product-spec-card dd{margin:0;color:#5e5069}.product-media{display:block;width:100%;max-height:260px;margin-top:15px;border-radius:10px}.product-original{display:inline-block;margin:22px 0 5px;font-size:12px}
@media(max-width:1100px) and (min-width:801px){.product-gallery-grid{grid-template-columns:minmax(0,1fr)}.product-section-heading small{display:none}.product-spec-card{grid-template-columns:minmax(0,1fr);gap:3px}.product-spec-card dd{margin-bottom:8px}}
.left-body{height:max(560px,calc(100dvh - 246px));min-height:0;max-height:none;scrollbar-gutter:stable}
.detail-body{height:max(280px,calc(100dvh - 460px));min-height:0;max-height:none;scrollbar-gutter:stable}
.detail-body:has(.html-publication-frame:not([data-auto-height="true"]):not([data-layout-state="loading"])){scrollbar-gutter:auto}
.recommend-body{height:135px;max-height:none;display:flex;flex-direction:column;gap:5px;overflow:hidden;scrollbar-gutter:auto}
.recommend-body strong{flex:none;min-width:0;line-height:1.45;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.recommend-body p{flex:1;min-height:0;max-height:4.5em;line-height:1.5;margin:0;-webkit-line-clamp:3;overflow-wrap:anywhere}
.recommend-body>.text-link{flex:none;align-self:flex-start;max-width:100%;line-height:1.6;margin-top:0}
.stage[data-tab=news] .left-body{display:flex;flex-direction:column;overflow:hidden;scrollbar-gutter:auto}
.stage[data-tab=news] .calendar,.stage[data-tab=news] .column-banner-slot{flex:none}
.stage[data-tab=news] .calendar-grid{grid-template-rows:repeat(7,31px)}
.stage[data-tab=news] .calendar-grid .weekday{margin-bottom:0}
.stage[data-tab=news] .calendar-legend{height:16px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stage[data-tab=news] .column-banner-slot{display:block}
.stage[data-tab=news] .banner-carousel{display:grid;grid-template-rows:auto 32px}
.stage[data-tab=news] .banner-slides{aspect-ratio:3/1;overflow:hidden}
.stage[data-tab=news] .banner-slide{height:100%}
.stage[data-tab=news] .banner-slide img{height:100%}
.stage[data-tab=news] .news-art{height:100%;min-height:0}
.stage[data-tab=news] .banner-bar{min-width:0;height:32px}
.stage[data-tab=news] .banner-dots{flex:1;min-width:0;max-height:24px;overflow:auto}
#news-list{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;display:flex;flex-direction:column}
#news-list>.news-list-heading,#news-list>.news-list-item,#news-list>.news-pager{flex:none}
#news-list>.news-list-heading{position:sticky;top:0;z-index:1;background:#e9e7f6}
#news-list>.news-empty{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:110px}
@media(max-width:800px){
  .left-body{height:clamp(700px,85dvh,820px)}
  .detail-body{height:580px}
  .stage[data-tab=news] .calendar-grid{grid-template-rows:repeat(7,35px)}
}

/* Use the official artwork in a high-contrast purple ink on the pale theme. */
.brand-logo,.about-brand-logo{filter:url("#vrfab-brand-ink")}
.brand-logo{display:block;width:72px;height:72px;object-fit:contain;flex:none}
.brand>.brand-fallback{display:flex;align-items:center;gap:10px;border:0;padding:0;color:#59306e}
.about-brand{display:flex;align-items:center;gap:12px;min-height:128px}
.about-brand-logo{display:block;width:78px;height:78px;object-fit:contain;flex:none}
.about-brand-copy{flex:1;min-width:0}
.about-brand-copy strong{overflow-wrap:anywhere}
.about-brand-copy p{letter-spacing:.7px}
.about-intro-banner{margin:16px 0}
.about-intro-banner .banner-slide img{object-fit:contain}
.partner-tabs{display:grid;grid-template-columns:repeat(var(--partner-categories),minmax(0,1fr));gap:6px;margin:12px 0 18px}
.partner-tab{min-width:0;padding:8px 3px;border:1px solid #ddd0e8;border-radius:9px;background:#f6f2fc;color:#7a5b91;font-size:12px;cursor:pointer}
.partner-tab[aria-selected=true]{background:#eadbf4;border-color:#bd86d3;color:#7d348f}
.partner-tab:focus-visible{outline:3px solid #8b44be;outline-offset:2px}
.partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px}
.partner-logo{position:relative;display:grid;place-items:center;aspect-ratio:4/3;min-width:0;margin:0;padding:12px;border:1px solid #e6daee;border-radius:12px;background:#fff;overflow:hidden}
.partner-logo img{position:absolute;inset:12px;display:block;width:calc(100% - 24px);height:calc(100% - 24px);object-fit:contain}
.partner-fallback{max-width:100%;font-size:12px;line-height:1.6;text-align:center;color:#786089;overflow-wrap:anywhere}
.about-contact-resource{display:block;width:100%;cursor:pointer}
.about-contact-resource .detail-cover{aspect-ratio:2/1;object-fit:contain;background:#f7f5ff}
@media(min-width:801px) and (max-width:1100px){
  .about-brand-logo{width:60px;height:60px}
  .about-brand{gap:10px}
  .about-brand-copy strong{font-size:20px}
}
@media(max-width:800px){.brand-logo{width:64px;height:64px}}

/* Open the selected published content in a separate browser tab. */
.detail-open-link{flex:none;white-space:nowrap;font-size:11px;line-height:20px;color:#873492;border-radius:6px;padding:2px 4px}
.detail-open-link:hover{background:#ffffff70;text-decoration:underline}
.content-reader body{height:100dvh;overflow:hidden}
.content-reader .stage{height:calc(100dvh - 32px);min-height:0;display:flex;flex-direction:column;gap:18px;padding:22px}
.content-reader :is(.intro,.figure,.panel-controls,#content-window,.recommend-window,#chat-history,#dock,.status){display:none!important}
.content-reader .brandbar{position:static;flex:none}
.content-reader .stage .right{position:static;align-self:center;width:min(100%,1040px);flex:1;min-height:0;transform:none;gap:0}
.content-reader .detail-window{display:flex;flex-direction:column;height:100%;min-height:0}
.content-reader .detail-body{flex:1;height:auto;min-height:0;max-height:none;padding:24px}
.content-reader .detail-card h3{font-size:26px}
.content-reader .product-media{max-height:560px}
@media(max-width:800px){
  .content-reader body{padding:8px}
  .content-reader .stage{height:calc(100dvh - 16px);padding:16px 10px;gap:14px;border-radius:18px}
  .content-reader .detail-body{padding:16px}
  .content-reader .detail-card h3{font-size:22px}
}

/* Expand history above the fixed desktop dock, below the host's face. */
.chat-history{display:flex;flex-direction:column}
.chat-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;margin-bottom:3px}
.chat-history .chat-header .dialogue-label{margin:0}
.chat-size-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:none;min-height:28px;padding:3px 8px;border:1px solid #d9cbe9;border-radius:8px;background:#fff9ff;color:#873492;font-size:11px;line-height:1.4}
.chat-size-toggle:hover{background:#f1e5f8;border-color:#bc92d1}
.chat-size-toggle[aria-expanded=true]{background:#eee3f6;border-color:#bc92d1}
.chat-size-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#chat-history.is-expanded{height:min(310px,32dvh)}
#chat-history.is-expanded .chat-messages{flex:1;min-height:0;max-height:none}
.chat-history .chat-messages{overflow-wrap:anywhere;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#c5b5dc transparent}
@supports selector(::-webkit-scrollbar){
  .chat-history .chat-messages::-webkit-scrollbar{width:8px;height:8px}
  .chat-history .chat-messages::-webkit-scrollbar-track{background:transparent}
  .chat-history .chat-messages::-webkit-scrollbar-thumb{background:#c5b5dc;border:2px solid transparent;border-radius:8px;background-clip:padding-box}
  .chat-history .chat-messages::-webkit-scrollbar-thumb:hover{background-color:#ab8ec7}
  .chat-history .chat-messages::-webkit-scrollbar-thumb:active{background-color:#9770ba}
  .chat-history .chat-messages::-webkit-scrollbar-button{display:none;width:0;height:0}
  .chat-history .chat-messages::-webkit-scrollbar-corner{background:transparent}
}
@media(max-width:800px){
  #chat-history.is-expanded{height:min(310px,40dvh)}
  .chat-size-toggle{min-height:36px;padding:5px 10px;font-size:12px}
}
@media(forced-colors:active){
  .chat-history .chat-messages{scrollbar-color:auto}
  .chat-history .chat-messages::-webkit-scrollbar-thumb{background:ButtonText}
  .chat-size-toggle{border-color:ButtonText}
}

.news-article{line-height:1.95;overflow-wrap:anywhere}.news-article p{white-space:pre-wrap;margin:0 0 1.15em}.news-article h2{font-size:1.28em;line-height:1.55;margin:1.8em 0 .8em;color:#65427b}.news-article figure{margin:1.5em 0;padding:0}.news-article img{display:block;width:100%;height:auto;object-fit:contain;border-radius:12px;background:#f1edf6}.news-article figcaption{font-size:.8em;line-height:1.65;color:#83748f;margin-top:8px}
