@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#172b45;--navy:#09182b;--muted:#566c86;--blue:#185bd4;--line:#d7e2ee;--paper:#f1f5fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 'Manrope','Noto Sans KR','Malgun Gothic',sans-serif;word-break:keep-all;overflow-wrap:break-word}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation;transition:background .18s,border-color .18s,box-shadow .18s}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #337de3;outline-offset:3px}svg{display:block}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;padding:12px 20px;border-radius:8px;z-index:60}.skip-link:focus{top:12px}
.site-header{height:88px;position:sticky;top:0;z-index:30;background:#09182bf5;backdrop-filter:blur(16px);border-bottom:1px solid #b6d4fb1f;color:#dce7f5}.header-inner{max-width:1384px;padding:0 40px;margin:auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.mark{width:42px;height:44px;display:grid;place-items:center;border-radius:12px;border:1px solid #75cfff45;background:linear-gradient(140deg,#225190,#133253)}.mark svg{width:38px;fill:none;stroke:#8be5ff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.brand-name{font-size:20px;font-weight:800;line-height:1.1;letter-spacing:-.8px;color:#fff}.brand-name>span{font-weight:400;margin-left:3px}.brand-name small{display:block;font-size:9px;letter-spacing:1.9px;color:#a7bacf;font-weight:500;margin-top:8px}#nav{display:flex;gap:5px}#nav button{min-height:46px;padding:10px 14px;font-size:15px;border:0;border-radius:8px;background:transparent;color:#b1c5db;white-space:nowrap}#nav button b{font-weight:500}#nav button>span{margin-right:8px;color:#7f9dbe;font-size:19px}#nav button.active{background:#203d604f;color:#ecf7ff;box-shadow:inset 0 -2px 0 #6dd3ff}#nav button.active>span{color:#8adfff}#nav button:hover{background:#284a694f;color:#fff}.header-right{display:flex;align-items:center;gap:20px}.clock{font-size:12px;color:#a8bdd3;letter-spacing:1px;white-space:nowrap}.language{min-height:42px;border:1px solid #6689ae55;border-radius:8px;background:transparent;color:#e4effc;padding:8px 13px;font-size:14px;white-space:nowrap}.language:hover{background:#ffffff12}
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 55%,#133b655e,transparent 48%),linear-gradient(115deg,#09182b 40%,#0b2039);color:#f2f7ff}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#7cc5ff06 1px,transparent 1px),linear-gradient(90deg,#7cc5ff06 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(90deg,transparent 25%,#000)}.hero:after{content:'';position:absolute;height:1px;bottom:0;left:15%;right:15%;background:linear-gradient(90deg,transparent,#7fddff80,transparent)}.hero-inner{position:relative;max-width:1384px;margin:auto;padding:72px 40px 76px;display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}.eyebrow{font-size:11px;line-height:1.6;letter-spacing:1.7px;color:#547193;font-weight:800}.hero-eyebrow{display:flex;gap:9px;align-items:center;font-size:13px;color:#a4c7e3;letter-spacing:1px;margin-bottom:23px}.hero-eyebrow i{width:6px;height:6px;border-radius:50%;background:#8bdfff;box-shadow:0 0 14px #84dcff}h1{font-size:clamp(35px,3.65vw,54px);line-height:1.36;font-weight:700;letter-spacing:-2.3px}h1>span{display:block}.hero-emphasis{color:#94e4ff}.hero-description{font-size:18px;line-height:1.85;color:#afc2d6;max-width:470px;margin-top:23px}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:31px}.hero-primary{display:flex;align-items:center;justify-content:center;gap:34px;min-height:56px;padding:13px 24px;border:1px solid #c9efff;border-radius:9px;background:#e5f6ff;color:#092543;font-size:17px;font-weight:700;box-shadow:0 4px 30px #7ecfff15}.hero-primary:hover{background:#fff;box-shadow:0 4px 30px #7ecfff35}.hero-primary>span:last-child{font-size:24px;line-height:1}.hero-secondary{display:flex;gap:12px;align-items:center;min-height:48px;font-size:15px;color:#c8daed}.hero-secondary:hover{color:#fff}.hero-benefits{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px;color:#a4bad2;font-size:13px}.hero-benefits>span{display:flex;align-items:center;gap:6px}.hero-benefits i{font-style:normal;color:#8fd9f6;font-size:12px}.research-visual{height:374px;position:relative;min-width:0;isolation:isolate}.visual-topline,.visual-bottomline{position:absolute;left:0;right:0;display:flex;align-items:center;gap:13px;font-size:10px;color:#8daecf;letter-spacing:1.3px}.visual-topline{top:0;border-top:1px solid #7396b83d;padding-top:15px}.visual-topline>span:last-child{margin-left:auto;color:#81dcfa}.visual-bottomline{bottom:0;padding-top:12px;border-top:1px solid #7396b83d;font-size:12px;letter-spacing:0}.visual-caption{margin-left:auto;color:#7898b9;font-size:10px}.visual-connectors{position:absolute;top:8px;left:0;width:100%;height:350px;z-index:-1}.lens-core{position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);width:160px;height:152px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(140deg,#1c4a76ef,#10263ff5);border:1px solid #70d2ff66;border-radius:24px;box-shadow:0 0 65px #2d9ade1c,0 14px 35px #020e265c}.core-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;border:1px solid #7dd8ff22;background:#81dfff12;margin-bottom:13px}.core-icon svg{width:35px;fill:none;stroke:#b8eeff;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.lens-core strong{font-size:15px;letter-spacing:1px;font-weight:600}.lens-core>span{font-size:12px;color:#aacde5;margin-top:4px}.visual-node{position:absolute;display:flex;gap:10px;align-items:center;background:linear-gradient(120deg,#1b3650ee,#11263eed);border:1px solid #6689ac55;border-radius:10px;padding:12px 15px;box-shadow:0 12px 25px #040e1c33}.visual-node small{display:block;font-size:9px;letter-spacing:1.3px;color:#80a9cc}.visual-node strong{display:block;font-size:14px;font-weight:500;color:#d8ebfb;margin-top:3px}.node-symbol{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#9bdef6;background:#83d4ff0e;font-size:23px;flex-shrink:0}.node-source{left:1%;top:62px}.node-question{right:0;top:80px}.node-evidence{right:2%;bottom:64px}.signal-bars{display:flex;align-items:center;gap:3px;height:12px}.signal-bars i{width:2px;height:5px;background:#77cced}.signal-bars i:nth-child(2){height:9px}.signal-bars i:nth-child(3){height:12px}.signal-bars i:nth-child(4){height:7px}
.content-wrap{max-width:1384px;margin:auto;padding:0 40px}.workflow{display:flex;gap:38px;align-items:center;padding:31px 0 35px;border-bottom:1px solid var(--line)}.workflow-heading{flex:0 0 205px}.workflow-heading h2{font-size:20px;letter-spacing:-.6px;margin-top:7px}.indices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;gap:26px}.index{position:relative;padding-left:24px;border-left:1px solid #cedae7}.index-label{font-size:10px;font-weight:800;letter-spacing:1px;color:#3c76ae}.flow-title{font-size:17px;font-weight:700;letter-spacing:-.4px;margin-top:5px}.flow-desc{font-size:13px;color:var(--muted);margin-top:3px}.workspace-heading{margin-top:48px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.workspace-heading h2{font-size:28px;line-height:1.4;letter-spacing:-.8px;margin-top:7px}.workspace-badge{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px;color:#486586;padding-bottom:4px}.workspace-badge>span:first-child{font-size:20px;color:#3f84c0}.notice{position:relative;font-size:14px;color:#526b87;line-height:1.75;margin:15px 0 22px;padding-left:16px}.notice:before{content:'';position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:#8498b0}.notice[data-ready=true]:before{background:#25785e;box-shadow:0 0 0 3px #25785e10}.main-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:26px;align-items:start}.main-grid>*{min-width:0}.left-column{display:grid;gap:20px}.panel,.assistant-panel{border:1px solid var(--line);border-radius:18px;background:#fff;min-width:0}.panel{padding:28px}.assistant-panel{box-shadow:0 8px 30px #12335d07;border-color:#bfd0e5;overflow:hidden;scroll-margin-top:108px}.assistant-head{padding:25px 27px;display:flex;gap:13px;align-items:center;background:linear-gradient(110deg,#0d2747,#133b61);color:#fff;border-bottom:1px solid #244569}.ai-logo{display:grid;place-items:center;width:43px;height:45px;flex-shrink:0;background:#71c8ff17;color:#9ce6ff;border:1px solid #91dbfa3b;border-radius:12px;font-size:29px}.assistant-head h2{font-size:21px;line-height:1.4;letter-spacing:-.7px;font-weight:600;margin:0}.assistant-head>div>span{display:block;font-size:13px;color:#b9cce0;margin-top:5px}.icon-button{margin-left:auto;padding:8px 9px;min-height:42px;color:#c0d2e5;background:transparent;border:1px solid #7eadd033;border-radius:7px;font-size:12px;white-space:nowrap}.icon-button:hover{background:#ffffff10}.model-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 13px;align-items:center;padding:17px 27px 14px;background:#f4f7fc;border-bottom:1px solid #e0e7f0;font-size:13px}.model-status label{color:#56708e;font-weight:500}.model-status select{width:100%;min-width:0;padding:8px 12px;min-height:42px;font-size:14px;color:#234466;background:#fff;border:1px solid #cad9e9;border-radius:7px}.model-status p{grid-column:1/-1;color:#61718a;font-size:12px;line-height:1.7}.model-refresh{background:transparent;border:0;min-height:42px;padding:7px 0;color:#315f95;font-size:12px;text-decoration:underline;text-underline-offset:4px}.messages{padding:26px 28px 10px;min-height:225px;max-height:520px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b3c6db transparent}.message{margin-bottom:22px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:keep-all;font-size:18px;line-height:1.8}.message.bot{color:#344c69}.message-label{font-size:11px;color:#446c99;letter-spacing:.7px;font-weight:700;margin-bottom:12px}.message.bot strong{font-size:inherit;color:#193d69;font-weight:700}.message.bot>.message-label+strong{display:block;font-size:26px;letter-spacing:-1px;margin-bottom:14px;line-height:1.45}.message.user{margin-left:30px;padding:16px 20px;background:#eaf2fd;color:#1f426e;border:1px solid #d7e6f9;border-radius:13px 13px 3px 13px}.message.user .message-label{color:#47709c;font-size:12px;margin-bottom:6px}.answer-passage{font-size:18px;line-height:1.85;white-space:pre-wrap;word-break:keep-all}.response-meta,.retrieved-time,.citation-note{font-size:12px;line-height:1.75;color:#61718a;white-space:normal}.response-meta{margin-top:14px}.answer-sources{border-top:1px solid #dce6f0;padding-top:13px;margin-top:16px;display:flex;flex-direction:column;gap:9px;white-space:normal}.source-heading{font-size:13px;font-weight:700;color:#335980}.answer-source{display:grid;gap:2px}.answer-source a{font-size:14px;text-decoration:underline;text-underline-offset:3px;color:#275e9f;line-height:1.6}.inline-citation{color:#175bb3;background:#eaf3ff;border-radius:4px;font-size:.85em;padding:1px 3px}.citation-note{margin-top:12px}.speak,.retry-answer{min-height:40px;background:#fff;border:1px solid #c9d8e8;border-radius:7px;color:#315d8b;font-size:13px;padding:8px 12px;margin-top:12px}.speak:hover,.retry-answer:hover{background:#eef5ff}.suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:0 27px 22px}.suggestions button{background:#f7faff;border:1px solid #d6e1ef;border-radius:7px;padding:9px 12px;min-height:43px;font-size:13px;color:#365d88;text-align:left;line-height:1.6}.suggestions button:hover{background:#edf4ff;border-color:#a9c4e9}#chat-form{margin:0 24px;border:1px solid #9abce6;border-radius:12px;background:#fff;box-shadow:0 0 0 3px #4082cc06}#chat-form:focus-within{border-color:#387cdc;box-shadow:0 0 0 3px #387cdc12}textarea{display:block;resize:vertical;width:100%;min-height:112px;max-height:220px;padding:17px 18px 8px;border:0;border-radius:12px;background:transparent;outline:0;font-size:18px;line-height:1.7;color:#173855;word-break:keep-all}textarea::placeholder{color:#657f9c;opacity:1}.composer-bottom{display:flex;align-items:center;gap:10px;padding:9px 13px 13px}.mic{min-height:44px;padding:8px 12px;border:0;border-radius:7px;background:#f0f5fb;color:#305982;font-size:14px;white-space:nowrap}.mic:hover{background:#e6effa}.mic.listening{background:#fff0eb;color:#9a492e}#counter{margin-left:auto;font-size:12px;color:#667c94;white-space:nowrap}.send,.stop{min-height:46px;border:1px solid transparent;border-radius:8px;padding:10px 17px;background:#175cd3;color:#fff;font-size:15px;font-weight:600;white-space:nowrap}.send:hover{background:#124caf}.stop{background:#fff3ee;border-color:#e7b6a2;color:#8c442a}.voice-status{margin:0 27px;color:#956131;font-size:13px;line-height:1.7}.voice-status:not(:empty){padding-top:10px}.assistant-note{margin:15px 27px 23px;font-size:12px;line-height:1.85;color:#5d718b}.loading{font-size:15px;color:#3b6b9f}.model-warning{font-size:13px;color:#835f2b;background:#fff6e6;border-radius:6px;padding:10px;white-space:normal;margin-top:10px}.chat-error{border-top:1px solid #cddbea;margin-top:13px;padding-top:10px;white-space:normal}.chat-error p{font-size:14px;line-height:1.75;color:#92543d}.messages[aria-busy=true]{scroll-behavior:auto}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}.section-head h2{font-size:23px;line-height:1.4;letter-spacing:-.7px;margin-top:6px}.section-head>.quiet{display:none}.search{display:flex;gap:10px;align-items:center;border:1px solid #cfdbe8;border-radius:9px;background:#f7f9fd;padding:12px 13px;min-height:52px;margin-top:24px}.search>span{font-size:25px;line-height:1;color:#5a7a9b}.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#24405e;font-size:15px}.search input::placeholder{color:#657b94}.search kbd{font-size:10px;white-space:nowrap;border:1px solid #d8e1eb;padding:1px 5px;border-radius:4px;color:#677d94}.stock-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0 23px}.stock-choice{background:#fff;border:1px solid #e0e6ef;border-radius:9px;display:flex;gap:10px;align-items:center;text-align:left;padding:13px 11px;color:var(--ink);min-height:74px}.stock-choice:hover{background:#f5f9ff;border-color:#afc7e9}.stock-choice.selected{border-color:#82ade1;background:#eef5ff;box-shadow:inset 3px 0 0 #4080ca}.ticker-logo{display:grid;place-items:center;flex-shrink:0;width:33px;height:33px;background:#edf2fb;color:#385d97;border:1px solid #dce7f6;border-radius:10px;font-size:11px;font-weight:800}.stock-title{font-size:15px;font-weight:600;line-height:1.45}.stock-code{display:block;font-size:10px;color:#63768e;margin-top:5px;font-weight:500;letter-spacing:.1px}.research-detail{border-top:1px solid #e1e8f1;padding-top:22px}.research-detail .eyebrow{font-size:11px}.research-detail h2{font-size:25px;letter-spacing:-.8px;line-height:1.4;margin:9px 0}.research-detail p{font-size:14px;line-height:1.75;color:#5e7188}.source-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin:17px 0 20px}.source-shortcuts a{padding:8px 10px;border:1px solid #d6e2f0;border-radius:7px;background:#f8faff;color:#345f8f;font-size:12px;min-height:38px}.source-shortcuts a:hover{background:#eaf3ff;border-color:#a5c4e7}.stock-actions{display:flex;gap:9px;flex-wrap:wrap}.primary{flex:1;min-height:48px;padding:11px 14px;background:#123760;border:1px solid #123760;border-radius:8px;color:#fff;font-size:14px;font-weight:600}.primary:hover{background:#20517f}.secondary{min-height:44px;padding:9px 13px;background:#fff;border:1px solid #cddae8;border-radius:8px;color:#385a7f;font-size:13px;white-space:nowrap}.secondary:hover{background:#f2f7fd}.query-guide{padding-top:17px;margin-top:20px;border-top:1px solid #e3eaf3;color:#60738a;font-size:13px;line-height:1.8}.data-note{display:flex;gap:13px;padding:2px 8px;color:#57708e}.data-note>span{font-size:27px;line-height:1.4;color:#6183aa}.data-note strong{font-size:14px;font-weight:600;color:#365773}.data-note p{font-size:13px;line-height:1.9;margin-top:6px}.empty{padding:20px 0;font-size:15px;color:#62758f;grid-column:1/-1}
.band-hero{display:flex;align-items:center;gap:26px;padding:30px 34px;margin-top:32px;background:radial-gradient(ellipse at 90% 0%,#6bc6d814,transparent 55%),linear-gradient(110deg,#102c4a,#173d5b);border:1px solid #2a526d;border-radius:18px;color:#eff7ff}.band-hero-copy{flex:1;min-width:0}.band-eyebrow{display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:1.6px;color:#93b6cf;font-weight:600}.band-mark{display:grid;place-items:center;width:22px;height:22px;background:#b7e6cb18;border:1px solid #abd5c04d;border-radius:6px;color:#c8f1dc;font-size:12px;font-weight:800}.band-hero h2{font-size:25px;line-height:1.45;letter-spacing:-.8px;margin:11px 0 8px;color:#f4f9ff}.band-hero p{font-size:15px;color:#b7ccdf;line-height:1.8}.band-hint{font-size:12px;color:#9ebbd0}.band-hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:19px}.band-join{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:11px 18px;border:1px solid #b4e7d0;border-radius:8px;background:#d3f3e4;color:#134c39;font-size:15px;font-weight:700;line-height:1.5}.band-join:hover{background:#e9fcf2;border-color:#d9fbe9}.band-qr{display:flex;flex-direction:column;align-items:center;gap:9px;flex-shrink:0;font-size:11px;color:#b5cde0}.band-qr img{width:104px;height:104px;border:6px solid #fff;border-radius:9px;background:#fff;image-rendering:pixelated}.band-qr:hover span{text-decoration:underline}.band-chat-invite{margin:0 0 22px;padding:21px;border:1px solid #c8dfd8;background:#f1faf6;border-radius:12px;white-space:normal;color:#274f45}.band-chat-label{font-size:11px;color:#4f7768;letter-spacing:.2px}.band-chat-invite h3{font-size:18px;line-height:1.5;margin:8px 0}.band-chat-invite p{font-size:14px;line-height:1.8;color:#517469;margin-bottom:13px}.band-chat-invite .band-join{font-size:14px;min-height:45px;padding:10px 15px;background:#1e674f;color:#fff;border-color:#1e674f}.band-chat-invite small{display:block;font-size:11px;color:#5b796e;margin-top:10px}.band-mobile{display:none}
.news-panel{margin-top:32px;padding:30px}.news-explainer{font-size:14px;color:#5a708b;line-height:1.85;max-width:880px}.quiet{font-size:12px;color:#637990}.news-panel .quiet{margin-top:10px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:21px 0 7px}.filters button{min-height:40px;padding:7px 17px;border:1px solid #d5e0ed;background:#fff;border-radius:7px;color:#5c7390;font-size:13px}.filters button.active{background:#173d67;color:#fff;border-color:#173d67}#news{display:grid;grid-template-columns:1fr 1fr;column-gap:35px}.news-item{display:flex;gap:16px;padding:23px 0;border-bottom:1px solid #e3eaf3;min-width:0}.news-art{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;background:#ecf2fc;color:#4b72a3;font-size:15px;font-weight:800;flex-shrink:0;margin-top:3px}.news-item:nth-child(even) .news-art{background:#eaf4f5;color:#3c7b85}.news-content{min-width:0}.news-tag{font-size:11px;color:#587da4;line-height:1.7;margin-bottom:7px}.news-title{display:block;font-size:17px;line-height:1.7;font-weight:600;color:#213f62;word-break:keep-all}.news-title:hover{text-decoration:underline;text-underline-offset:4px}.news-desc{font-size:12px;color:#627890;margin-top:8px;line-height:1.7}.read-story{background:transparent;border:0;padding:9px 0 0;min-height:36px;font-size:13px;color:#2966a7;text-align:left}.read-story:hover{color:#164881;text-decoration:underline;text-underline-offset:4px}.feed-warning{grid-column:1/-1;font-size:14px;line-height:1.8;color:#94612d;margin:16px 0}.sources{display:flex;align-items:center;gap:21px;flex-wrap:wrap;margin-top:24px;font-size:13px;color:#3a618b}.sources span{margin-right:auto;color:#667b93}.sources a{min-height:34px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}footer{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:34px 0 40px;color:#647a93;font-size:12px}footer>div{display:flex;gap:18px;align-items:center;flex-wrap:wrap}footer strong{letter-spacing:1px;font-size:13px;color:#304e70}footer p{font-size:11px;line-height:1.8}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);display:none;z-index:80;background:#143557;color:#fff;border:1px solid #5a84ac;border-radius:10px;padding:13px 22px;font-size:14px;max-width:90vw;box-shadow:0 6px 28px #071f3840}
@media(min-width:1550px){.hero-inner{padding-top:85px;padding-bottom:85px}.hero-description{max-width:490px}.research-visual{height:400px}.visual-connectors{height:385px}}
@media(max-width:1200px){.header-inner,.content-wrap{padding-left:28px;padding-right:28px}.header-inner{gap:18px}#nav button{padding:10px;font-size:14px}#nav button>span{display:none}.clock{display:none}.hero-inner{padding:58px 28px 62px;gap:30px}.hero-description{font-size:17px}h1{font-size:43px}.research-visual{height:350px}.visual-node{padding:10px}.visual-node strong{font-size:12px}.node-question{top:67px}.node-source{top:54px}.node-evidence{bottom:57px}.lens-core{width:145px;height:140px}.visual-caption{display:none}.hero-benefits{font-size:12px;gap:12px}.main-grid{gap:20px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.panel{padding:24px}.workflow{gap:20px}.workflow-heading{flex-basis:190px}.indices{gap:17px}.index{padding-left:17px}.flow-title{font-size:15px}.flow-desc{font-size:12px}.stock-title{font-size:13px}.stock-choice{gap:7px;padding:12px 8px}.ticker-logo{width:29px;height:29px}.stock-actions{flex-direction:column}.assistant-head{padding:23px}.assistant-head h2{font-size:20px}.icon-button{font-size:11px}}
@media(max-width:980px){.site-header{height:80px}.brand-name{font-size:18px}#nav{gap:0}#nav button{font-size:13px;padding:9px}.header-right{gap:10px}.hero-inner{grid-template-columns:1.1fr .9fr;gap:20px}.hero h1{font-size:37px;letter-spacing:-1.8px}.hero-description{font-size:16px}.hero-actions{gap:17px}.hero-primary{padding:12px 18px;font-size:15px;gap:22px}.hero-secondary{font-size:13px}.hero-benefits{gap:9px;font-size:11px}.research-visual{height:325px}.visual-topline{font-size:8px}.node-symbol{display:none}.visual-node{padding:10px 12px}.node-question{right:-5px;top:66px}.node-source{left:0;top:51px}.node-evidence{right:0;bottom:51px}.lens-core{width:132px;height:126px}.lens-core strong{font-size:12px}.lens-core>span{font-size:11px}.core-icon{width:36px;height:36px;margin-bottom:8px}.core-icon svg{width:30px}.visual-bottomline{font-size:10px}.workflow-heading{flex-basis:160px}.workflow-heading h2{font-size:17px}.indices{gap:12px}.index{padding-left:12px}.flow-title{font-size:14px}.flow-desc{font-size:11px}.main-grid{grid-template-columns:minmax(0,1fr);gap:24px}.assistant-head h2{font-size:22px}.assistant-panel{scroll-margin-top:98px}.messages{min-height:200px}.stock-list{grid-template-columns:repeat(4,minmax(0,1fr))}.stock-title{font-size:14px}.stock-actions{flex-direction:row}.stock-actions .primary{flex:none}.band-hero h2{font-size:23px}.workspace-heading h2{font-size:26px}.news-panel .section-head h2{font-size:23px}}
@media(max-width:760px){html{scroll-padding-top:90px}.header-inner{padding:0 20px}.site-header{height:74px}#nav{display:none}.brand-name{font-size:19px}.hero-inner{grid-template-columns:1fr;padding:44px 24px 47px;gap:0}.hero h1{font-size:39px;letter-spacing:-1.8px;line-height:1.38}.hero-eyebrow{font-size:12px;margin-bottom:18px}.hero-description{font-size:17px;max-width:520px;margin-top:19px}.hero-actions{margin-top:26px;gap:23px}.hero-primary{font-size:16px;min-height:54px;padding:13px 22px}.hero-secondary{font-size:14px}.hero-benefits{font-size:12px;margin-top:23px;gap:15px}.research-visual{display:none}.hero-grid{mask-image:none;background-size:44px 44px}.hero{background:radial-gradient(ellipse at 100% 0%,#1a527570,transparent 70%),#091b30}.content-wrap{padding:0 22px}.workflow{padding:27px 0 29px;display:block}.workflow-heading{display:flex;align-items:baseline;gap:14px;margin-bottom:18px}.workflow-heading h2{font-size:18px;margin:0}.workflow-heading .eyebrow{font-size:9px}.indices{gap:14px}.index{padding:0;border:0}.index-label{font-size:9px;letter-spacing:.5px}.flow-title{font-size:14px;line-height:1.65;margin-top:6px}.flow-desc{display:none}.workspace-heading{margin-top:31px;align-items:start}.workspace-heading h2{font-size:24px;line-height:1.5}.workspace-badge{display:none}.notice{font-size:13px;margin:13px 0 19px;line-height:1.8}.assistant-head{padding:22px}.model-status{padding:15px 22px;gap:8px 10px}.messages{padding:24px 23px 10px;min-height:195px}.message,.answer-passage{font-size:17px}.message.bot>.message-label+strong{font-size:25px}.suggestions{padding:0 22px 20px}.assistant-note{margin:13px 23px 21px}#chat-form{margin:0 20px}.stock-list{grid-template-columns:1fr 1fr}.stock-title{font-size:16px}.stock-code{font-size:11px}.ticker-logo{width:34px;height:34px;font-size:12px}.stock-choice{padding:13px 12px;gap:11px}.stock-actions .primary{flex:1}.band-hero{padding:25px;margin-top:27px}.band-hero h2{font-size:24px}.band-hero p{font-size:15px}.band-qr{display:none}.band-join{font-size:15px;min-height:49px}.news-panel{margin-top:27px;padding:25px}.news-panel .section-head{align-items:flex-start;flex-direction:column;gap:14px}.news-panel .section-head h2{font-size:24px}.news-explainer{font-size:13px}.news-panel .quiet{font-size:11px}#news{grid-template-columns:1fr}.news-item{gap:13px}.sources{gap:19px}.sources>span{width:100%}footer{flex-direction:column;align-items:flex-start;gap:14px;padding:28px 0 32px}}
@media(max-width:560px){html{scroll-padding-top:88px;scroll-padding-bottom:95px}.header-inner{padding:0 18px}.mark{width:36px;height:38px;border-radius:10px}.mark svg{width:32px}.brand{gap:9px}.brand-name{font-size:17px}.brand-name small{font-size:8px;letter-spacing:1.3px;margin-top:6px}.language{font-size:13px;min-height:40px;padding:7px 11px}.hero-inner{padding:37px 20px 38px}.hero h1{font-size:clamp(27px,7.65vw,38px);letter-spacing:-1.5px}.hero-description{font-size:16px;line-height:1.9;margin-top:17px;max-width:400px}.hero-eyebrow{font-size:11px;margin-bottom:16px}.hero-actions{gap:20px;margin-top:24px}.hero-primary{font-size:15px;gap:25px;min-height:52px;padding:12px 18px}.hero-secondary{font-size:13px;gap:8px}.hero-benefits{font-size:11px;gap:12px;margin-top:23px}.content-wrap{padding:0 16px}.workflow{padding:23px 0 25px}.workflow-heading h2{font-size:16px}.indices{gap:10px}.index-label{font-size:8px;letter-spacing:.35px}.flow-title{font-size:12px;line-height:1.7;letter-spacing:-.5px}.workspace-heading{margin-top:29px}.workspace-heading .eyebrow{font-size:9px;letter-spacing:1.2px}.workspace-heading h2{font-size:22px;margin-top:8px;letter-spacing:-.8px}.notice{font-size:12px;margin-top:12px;margin-bottom:19px}.assistant-panel,.panel{border-radius:14px}.assistant-head{padding:20px 17px;gap:10px}.ai-logo{width:38px;height:40px;font-size:27px;border-radius:10px}.assistant-head h2{font-size:19px}.assistant-head>div>span{font-size:11px;margin-top:3px}.icon-button{font-size:10px;padding:7px;min-height:40px}.model-status{padding:14px 17px;gap:8px;font-size:12px;grid-template-columns:auto minmax(0,1fr) auto}.model-status select{font-size:13px;min-height:42px;padding:8px}.model-refresh{font-size:11px;max-width:70px}.model-status p{font-size:11px;line-height:1.8}.messages{padding:22px 19px 8px;min-height:185px;max-height:460px}.message,.answer-passage{font-size:17px;line-height:1.85}.message.bot>.message-label+strong{font-size:23px;line-height:1.55;letter-spacing:-.8px;margin-bottom:13px}.message-label{font-size:10px;margin-bottom:10px}.message.user{margin-left:12px;padding:14px 16px}.suggestions{padding:0 17px 19px;gap:7px}.suggestions button{font-size:12px;min-height:42px;padding:8px 10px}#chat-form{margin:0 14px;border-radius:10px}textarea{font-size:17px;line-height:1.8;min-height:118px;padding:14px 14px 8px}.composer-bottom{padding:8px 10px 10px;gap:6px}.mic{font-size:13px;padding:8px 10px;min-height:44px}#counter{font-size:10px}.send,.stop{min-height:44px;padding:9px 12px;font-size:13px}.assistant-note{font-size:11px;margin:13px 18px 20px;line-height:1.85}.voice-status{font-size:12px;margin:0 18px}.section-head h2{font-size:22px}.panel{padding:22px 19px}.search input{font-size:15px}.search kbd{display:none}.stock-choice{padding:12px 9px;gap:8px;min-height:72px}.stock-title{font-size:14px}.stock-code{font-size:10px}.ticker-logo{width:30px;height:30px;font-size:11px}.research-detail h2{font-size:24px}.stock-actions .primary{font-size:13px;padding:11px 10px;min-height:47px}.stock-actions .secondary{font-size:12px;padding:10px}.source-shortcuts{gap:6px}.source-shortcuts a{font-size:11px;min-height:39px}.query-guide{font-size:12px;line-height:1.9}.data-note{padding:0 5px;gap:10px}.data-note strong{font-size:13px}.data-note p{font-size:12px}.band-hero{padding:24px 21px;border-radius:14px}.band-hero h2{font-size:23px;line-height:1.5}.band-hero p{font-size:14px}.band-eyebrow{font-size:9px}.band-hint{font-size:11px}.band-chat-invite{padding:17px}.band-chat-invite h3{font-size:17px}.band-chat-invite p{font-size:13px}.band-chat-invite .band-join{font-size:13px}.news-panel .section-head h2{font-size:23px}.news-explainer{font-size:12px;line-height:1.9}.news-art{width:34px;height:36px;border-radius:9px;font-size:12px}.news-item{gap:10px;padding:22px 0}.news-title{font-size:16px}.news-desc{font-size:11px}.news-tag{font-size:10px}.read-story{font-size:13px;min-height:42px}.filters button{font-size:12px;min-height:41px;padding:8px 14px}.sources{font-size:12px;gap:16px}.band-mobile{display:grid;grid-template-columns:1fr 1fr;gap:9px;position:fixed;z-index:40;bottom:0;left:0;right:0;background:#f8fbfff5;border-top:1px solid #cbd9e9;box-shadow:0 -4px 22px #142e5010;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));backdrop-filter:blur(14px)}.band-mobile a{display:flex;gap:9px;align-items:center;justify-content:center;border-radius:8px;min-height:47px;font-size:14px;font-weight:600;padding:9px 8px}.mobile-ask{background:#185cd2;color:#fff;border:1px solid #185cd2}.mobile-ask>span:first-child{font-size:21px;line-height:1}.band-mobile .band-join{color:#205346;background:#e7f5ee;border-color:#c6e2d5}.band-mobile-mark{display:grid;place-items:center;width:21px;height:21px;border-radius:6px;background:#27684f;color:#fff;font-weight:800;font-size:12px}.band-mobile .band-join>span:last-child{font-size:17px}.band-input-active .band-mobile{display:none}footer{padding-bottom:calc(106px + env(safe-area-inset-bottom,0px));font-size:11px}footer>div{gap:12px}footer strong{font-size:12px}footer p{font-size:10px;line-height:1.9}.toast{bottom:calc(84px + env(safe-area-inset-bottom,0px));font-size:13px;padding:12px 17px}#assistant,#chat-form,#message{scroll-margin-bottom:100px}}
@media(max-width:360px){.hero h1{font-size:27px}.hero-benefits{gap:9px;font-size:10px}.hero-actions{gap:14px}.hero-primary{gap:15px;padding:12px 15px}.hero-secondary{font-size:12px}.assistant-head h2{font-size:17px}.assistant-head>div>span{font-size:10px}.icon-button{font-size:9px}.model-status{grid-template-columns:1fr auto}.model-status label{display:none}.stock-choice{gap:6px}.stock-title{font-size:13px}.stock-code{font-size:9px}.ticker-logo{width:25px;height:28px;font-size:10px}.stock-actions{flex-direction:column}.hero-benefits>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Retain every navigation destination on compact screens. */
@media(max-width:560px){.news-desc,.model-status p,.assistant-note,.response-meta,.retrieved-time,.data-note p{font-size:12px}}
@media(max-width:760px){
 html{scroll-padding-top:143px}
 .site-header{height:124px}
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:70px 54px;column-gap:14px;row-gap:0}
 .header-right{grid-column:2;grid-row:1;justify-self:end}
 .brand{grid-column:1;grid-row:1}
 #nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-column:1/-1;grid-row:2;gap:5px;align-self:start;min-width:0}
 #nav button{font-size:13px;padding:9px 3px;min-height:44px;line-height:1.5}
 #nav button>span{display:none}
 #assistant{scroll-margin-top:144px}
}

/* Korean community invitation and readable mobile actions. */
.band-cta-copy{display:flex;flex-direction:column;align-items:center;line-height:1.45;min-width:0;word-break:keep-all}
.hero-primary{gap:20px;padding:15px 24px}
.band-join>.band-cta-copy{flex:1}
.band-join>span[aria-hidden],.hero-primary>span[aria-hidden]{flex-shrink:0}
.question-privacy{margin:10px 22px 0;color:#64748b;font-size:12px;line-height:1.7;word-break:keep-all}
@media(max-width:560px){
  .band-mobile{grid-template-columns:minmax(0,.7fr) minmax(0,1.8fr);gap:8px;padding:9px 12px;padding-bottom:max(9px,env(safe-area-inset-bottom))}
  .band-mobile a{min-height:58px}
  .band-mobile .band-join{gap:6px;font-size:13px;letter-spacing:-.25px}
  .band-mobile .band-mobile-mark{display:none}
  .band-mobile .mobile-ask{font-size:13px;gap:5px}
  .hero-primary{gap:12px;font-size:16px;padding:14px 18px}
  .hero-actions{flex-direction:column;align-items:stretch;gap:8px}
  .hero-primary{justify-content:center}
  .hero-secondary{font-size:14px;justify-content:center;min-height:40px}
  .band-hero-actions .band-join{font-size:15px}
  .question-privacy{margin-right:16px;margin-left:16px}
  footer{padding-bottom:118px}
  html{scroll-padding-bottom:110px}
}

/* Seoul Lens: calm technology treatment. Append after the existing stylesheet.
   Decorative layers are static, non-interactive, and clipped to their section. */
body {
  background-color: #eef3f9;
  background-image:
    radial-gradient(ellipse 880px 580px at 100% 620px, rgba(90, 153, 206, .08), transparent 72%),
    radial-gradient(ellipse 760px 720px at 0 1580px, rgba(68, 119, 179, .05), transparent 75%),
    linear-gradient(rgba(77, 116, 158, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(77, 116, 158, .025) 1px, transparent 1px);
  background-size: auto, auto, 48px 48px, 48px 48px;
  background-repeat: no-repeat, no-repeat, repeat, repeat;
}

.site-header {
  background: linear-gradient(105deg, rgba(10, 27, 47, .98), rgba(14, 38, 63, .97));
  border-bottom-color: rgba(142, 197, 235, .19);
  box-shadow: 0 1px 0 rgba(3, 16, 32, .2);
}

.hero {
  isolation: isolate;
  background-color: #0c223c;
  background-image:
    radial-gradient(ellipse at 82% 41%, rgba(45, 132, 178, .2), transparent 43%),
    radial-gradient(ellipse at 56% 110%, rgba(58, 102, 168, .17), transparent 57%),
    linear-gradient(112deg, #0b2039 2%, #102f4d 58%, #102842 100%);
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 92% 4%, rgba(132, 214, 249, .12), transparent 35%),
    linear-gradient(122deg, transparent 52%, rgba(126, 202, 238, .04) 52.1%, transparent 64%);
}

.hero-grid {
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(133, 188, 222, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(133, 188, 222, .055) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, .24) 34%, #000 78%);
  mask-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, .24) 34%, #000 78%);
}

.hero::after {
  z-index: 1;
  left: 0;
  right: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 4%, rgba(113, 196, 235, .42) 35%, rgba(151, 228, 250, .66) 72%, transparent);
  box-shadow: 0 -8px 28px rgba(106, 188, 237, .05);
}

.hero-inner {
  z-index: 1;
}

.hero-description {
  color: #bfcede;
}

.hero-eyebrow,
.hero-benefits {
  color: #b4cbe0;
}

.hero-emphasis {
  color: #a2e7ff;
  text-shadow: 0 2px 24px rgba(59, 157, 206, .13);
}

.research-visual::before {
  content: '';
  position: absolute;
  width: min(80%, 350px);
  aspect-ratio: 1;
  top: 49%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(50, 145, 188, .14), rgba(40, 112, 168, .035) 62%, transparent 73%);
  pointer-events: none;
}

.visual-topline,
.visual-bottomline {
  border-color: rgba(144, 191, 225, .26);
  color: #a8c6df;
}

.visual-topline {
  box-shadow: 0 -1px 0 rgba(2, 15, 29, .13);
}

.visual-caption {
  color: #a1bed6;
}

.visual-connectors {
  filter: drop-shadow(0 0 4px rgba(93, 185, 219, .1));
  pointer-events: none;
}

.visual-connectors path:first-child {
  stroke: #9bdff5;
  stroke-opacity: .46;
}

.visual-node {
  background: linear-gradient(135deg, #1c405f, #14324f);
  border-color: rgba(129, 187, 224, .38);
  box-shadow:
    inset 0 1px 0 rgba(170, 222, 248, .09),
    0 12px 28px rgba(2, 15, 29, .21);
}

.visual-node small {
  color: #a9cbe3;
}

.visual-node strong {
  color: #e4f0fa;
}

.node-symbol {
  background: linear-gradient(145deg, rgba(115, 204, 244, .12), rgba(107, 182, 226, .04));
  box-shadow: inset 0 0 0 1px rgba(136, 209, 241, .1);
  color: #b0eaff;
}

.lens-core {
  background:
    radial-gradient(ellipse at 40% 0, rgba(133, 219, 248, .1), transparent 64%),
    linear-gradient(140deg, #225174, #14334f);
  border-color: rgba(142, 215, 246, .64);
  box-shadow:
    inset 0 1px 0 rgba(194, 237, 255, .14),
    0 0 0 7px rgba(94, 178, 225, .035),
    0 0 58px rgba(60, 163, 207, .14),
    0 16px 34px rgba(2, 14, 29, .3);
}

.core-icon {
  background: linear-gradient(135deg, rgba(144, 218, 249, .13), rgba(102, 177, 220, .05));
  border-color: rgba(162, 224, 248, .23);
}

.lens-core > span {
  color: #bed9eb;
}

.workflow {
  border-bottom-color: #cbd9e7;
}

.band-hero {
  background:
    radial-gradient(ellipse at 94% 5%, rgba(121, 207, 218, .1), transparent 50%),
    linear-gradient(115deg, #12304e, #19445f);
  border-color: #3b627c;
  box-shadow: inset 0 1px 0 rgba(181, 229, 250, .08), 0 8px 28px rgba(17, 47, 75, .06);
}

@media (max-width: 760px) {
  body {
    background-image:
      radial-gradient(ellipse 560px 540px at 100% 880px, rgba(90, 153, 206, .07), transparent 72%),
      linear-gradient(#f0f5fa, #edf3f8);
    background-size: auto;
    background-repeat: no-repeat;
  }

  .hero {
    background-image:
      radial-gradient(ellipse at 100% 0, rgba(66, 144, 180, .22), transparent 62%),
      linear-gradient(130deg, #0c233e, #133451);
  }

  .hero::before {
    background: radial-gradient(ellipse at 88% 12%, rgba(137, 212, 244, .075), transparent 54%);
  }

  .hero-grid {
    background-size: 44px 44px;
    opacity: .7;
    -webkit-mask-image: linear-gradient(110deg, transparent 8%, rgba(0, 0, 0, .55));
    mask-image: linear-gradient(110deg, transparent 8%, rgba(0, 0, 0, .55));
  }
}

@media (max-width: 360px) {
  .hero-grid {
    background-size: 40px 40px;
    opacity: .5;
  }

  .hero-emphasis {
    text-shadow: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero::before,
  .hero::after,
  .hero-grid,
  .research-visual::before,
  .visual-connectors,
  .lens-core,
  .visual-node {
    animation: none;
    transition: none;
  }
}

/* Append after the current stylesheet. All rules are scoped to the news section. */
#newsSection.newsroom-panel{margin-top:40px;padding:34px;background:#fff;border:1px solid #d7e0e8;border-top:4px solid #173956;border-radius:18px;box-shadow:0 12px 35px #17395606;color:#18344c}
#newsSection .newsroom-header{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:23px}
#newsSection .newsroom-intro{min-width:0}
#newsSection .newsroom-kicker{margin:0 0 9px;color:#54758d;font-size:15px;font-weight:700;letter-spacing:.04em}
#newsSection .newsroom-intro h2{margin:0;font-size:34px;line-height:1.3;letter-spacing:-1.1px;color:#14334d;font-weight:750}
#newsSection .newsroom-deck{margin:12px 0 0;color:#5b6f7e;font-size:17px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
#newsSection .newsroom-refresh{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;min-height:46px;padding:10px 16px;border:1px solid #cad6df;border-radius:8px;background:#fff;color:#34546c;font-size:16px;line-height:1.4;font-weight:600;white-space:nowrap}
#newsSection .newsroom-refresh:hover:not(:disabled){background:#eef4f8;border-color:#91a9bc}
#newsSection .newsroom-refresh:disabled{opacity:.55;cursor:wait}
#newsSection .newsroom-source-note{display:flex;align-items:flex-start;gap:15px;padding:17px 19px;background:#f4f7f9;border-left:3px solid #99b2c5;border-radius:0 8px 8px 0}
#newsSection .newsroom-source-label{flex:none;padding-top:1px;color:#375971;font-size:15px;line-height:1.85;font-weight:700}
#newsSection .news-explainer{margin:0;max-width:none;color:#5c707f;font-size:16px;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
#newsSection .newsroom-sync{min-height:21px;margin:13px 0 0;color:#71828e;font-size:14px;line-height:1.7;font-variant-numeric:tabular-nums}
#newsSection .filters{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 20px;padding-bottom:17px;border-bottom:1px solid #dce4ea}
#newsSection .filters button{min-height:44px;padding:9px 18px;border:1px solid #d2dde5;border-radius:7px;background:#fff;color:#476377;font-size:16px;line-height:1.4;font-weight:600}
#newsSection .filters button.active{background:#193d59;border-color:#193d59;color:#fff}
#newsSection .filters button:hover:not(.active){background:#f0f5f8;border-color:#a7bccb}
#newsSection #news{display:block;min-width:0}
#newsSection .news-feed-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:stretch}
#newsSection .news-item{grid-column:span 4;display:flex;flex-direction:column;gap:0;min-width:0;margin:0;padding:0;background:#fff;border:1px solid #dce4ea;border-radius:11px;overflow:hidden}
#newsSection .news-item.news-lead{grid-column:span 7;grid-row:span 2;background:#f9fbfc;border-color:#c7d5e0}
#newsSection .news-item.news-side{grid-column:span 5}
#newsSection .news-art{display:flex;align-items:center;gap:12px;width:auto;height:66px;min-height:66px;flex:none;margin:0;padding:14px 22px;border:0;border-radius:0;background:#eef3f8;color:#476b8c;overflow:hidden}
#newsSection .news-art-monogram{display:block;font-size:30px;line-height:1;font-weight:800;letter-spacing:-1px}
#newsSection .news-art-name{font-size:15px;line-height:1.5;font-weight:650;letter-spacing:0}
#newsSection .news-item[data-company="sk"] .news-art{background:#f4f1ed;color:#865f3c}
#newsSection .news-lead .news-art{position:relative;min-height:152px;padding:27px 28px;gap:22px;background-color:#e9f1f7;background-image:linear-gradient(115deg,transparent 66%,#c4d5e744 66%,#c4d5e744 67%,transparent 67%),linear-gradient(115deg,transparent 78%,#b8ccdf40 78%,#b8ccdf40 79%,transparent 79%)}
#newsSection .news-lead[data-company="sk"] .news-art{background-color:#f1ede7}
#newsSection .news-lead .news-art-monogram{font-size:76px;font-weight:750;letter-spacing:-4px;color:#325c80}
#newsSection .news-lead[data-company="sk"] .news-art-monogram{color:#815932}
#newsSection .news-lead .news-art-name{max-width:160px;font-size:21px;font-weight:650;line-height:1.6}
#newsSection .news-content{display:flex;flex-direction:column;flex:1;min-width:0;padding:21px 22px 19px}
#newsSection .news-lead .news-content{padding:25px 28px 24px}
#newsSection .news-tag{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;margin:0 0 11px;color:#677d8e;font-size:14px;line-height:1.6}
#newsSection .news-category{color:#3f6885;font-size:14px;font-weight:700;white-space:nowrap}
#newsSection .news-source-name{min-width:0;overflow-wrap:anywhere}
#newsSection .news-source-name:before{content:"";display:inline-block;width:3px;height:3px;margin-right:10px;border-radius:50%;background:#9bafbE;vertical-align:middle}
#newsSection .news-headline{margin:0;font-size:inherit;line-height:inherit;font-weight:inherit}
#newsSection .news-title{display:block;margin:0;color:#18374f;font-size:22px;line-height:1.55;font-weight:700;letter-spacing:-.45px;word-break:keep-all;overflow-wrap:anywhere;text-decoration:none}
#newsSection .news-lead .news-title{font-size:30px;line-height:1.5;letter-spacing:-.85px}
#newsSection .news-title:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;color:#1a608c}
#newsSection .news-desc{display:block;margin:12px 0 20px;color:#718290;font-size:14px;line-height:1.8;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#newsSection .news-story-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px 13px;margin-top:auto;padding-top:14px;border-top:1px solid #e3e9ee}
#newsSection .news-original{display:inline-flex;align-items:center;min-height:40px;color:#2c5d7c;font-size:16px;line-height:1.5;font-weight:650;text-decoration:none}
#newsSection .news-original:hover{text-decoration:underline;text-underline-offset:4px}
#newsSection .read-story{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin:0;padding:7px 10px;border:1px solid #d9e3eb;border-radius:6px;background:#f3f7fa;color:#456a84;font-size:16px;line-height:1.5;font-weight:500;white-space:normal;text-align:left}
#newsSection .read-story:hover:not(:disabled){background:#e9f1f6;border-color:#a5bdce;color:#204d6c}
#newsSection .read-story:disabled{opacity:.5;cursor:not-allowed}
#newsSection .feed-warning,#newsSection .empty{grid-column:1/-1;margin:0 0 16px;padding:20px;border:1px solid #dce5ec;border-radius:8px;background:#f6f9fb;color:#586f80;font-size:16px;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
#newsSection .feed-warning{background:#fff8ed;border-color:#eedfc6;color:#876430}
#newsSection .newsroom-sources{display:flex;align-items:center;flex-wrap:wrap;gap:9px 23px;margin:25px 0 0;padding:20px 0 0;border-top:1px solid #dce4ea;font-size:16px;line-height:1.7}
#newsSection .newsroom-sources>span{width:auto;margin-right:auto;color:#657b8b;font-size:16px;font-weight:600}
#newsSection .newsroom-sources>a{display:inline-flex;align-items:center;min-height:40px;color:#436982;font-size:16px;text-decoration:none}
#newsSection .newsroom-sources>a:hover{text-decoration:underline;text-underline-offset:4px}
#newsSection a:focus-visible,#newsSection button:focus-visible{outline:3px solid #558cb3;outline-offset:4px}
@media(max-width:980px){
  #newsSection.newsroom-panel{padding:27px}
  #newsSection .news-feed-grid{gap:15px}
  #newsSection .news-item{grid-column:span 6}
  #newsSection .news-item.news-lead{grid-column:span 7}
  #newsSection .news-item.news-side{grid-column:span 5}
  #newsSection .news-content{padding:19px}
  #newsSection .news-lead .news-content{padding:23px}
  #newsSection .news-title{font-size:21px}
  #newsSection .news-lead .news-title{font-size:27px}
  #newsSection .news-story-actions{align-items:flex-start;justify-content:flex-start}
}
@media(max-width:760px){
  #newsSection.newsroom-panel{padding:25px;margin-top:30px}
  #newsSection .newsroom-header{align-items:flex-start;flex-wrap:wrap;gap:17px;margin-bottom:19px}
  #newsSection .newsroom-intro h2{font-size:30px}
  #newsSection .newsroom-source-note{gap:8px;flex-direction:column;padding:15px 17px}
  #newsSection .newsroom-deck{font-size:16px}
  #newsSection .news-feed-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  #newsSection .news-item,#newsSection .news-item.news-lead,#newsSection .news-item.news-side{grid-column:auto;grid-row:auto}
  #newsSection .news-lead .news-art{min-height:126px;padding:23px}
  #newsSection .news-lead .news-art-monogram{font-size:64px}
  #newsSection .news-lead .news-title{font-size:27px}
  #newsSection .news-story-actions{justify-content:space-between}
  #newsSection .newsroom-sources{gap:7px 21px}
  #newsSection .newsroom-sources>span{width:100%}
}
@media(max-width:560px){
  #newsSection.newsroom-panel{padding:21px 17px;border-radius:12px}
  #newsSection .newsroom-kicker{font-size:14px}
  #newsSection .newsroom-intro h2{font-size:28px;letter-spacing:-.7px}
  #newsSection .newsroom-deck{margin-top:10px;font-size:16px}
  #newsSection .newsroom-refresh{min-height:44px;font-size:16px}
  #newsSection .newsroom-source-note{padding:14px}
  #newsSection .newsroom-sync{font-size:14px;line-height:1.8}
  #newsSection .filters{gap:7px;margin:19px 0 17px}
  #newsSection .filters button{padding:9px 13px;font-size:16px}
  #newsSection .news-content,#newsSection .news-lead .news-content{padding:19px 18px}
  #newsSection .news-art{height:62px;min-height:62px;padding:13px 18px}
  #newsSection .news-lead .news-art{min-height:115px;padding:20px}
  #newsSection .news-lead .news-art-monogram{font-size:58px}
  #newsSection .news-lead .news-art-name{font-size:19px}
  #newsSection .news-title{font-size:21px;line-height:1.6}
  #newsSection .news-lead .news-title{font-size:25px;line-height:1.55}
  #newsSection .news-tag,#newsSection .news-category,#newsSection .news-desc{font-size:14px}
  #newsSection .news-story-actions{gap:7px 10px}
  #newsSection .read-story{font-size:16px;padding:8px 9px}
  #newsSection .newsroom-sources{font-size:16px;gap:5px 17px}
}

/* Keep the first headline close to the news header on small screens. */
#newsSection details.newsroom-source-note{display:block;padding:12px 17px}
#newsSection details.newsroom-source-note summary{cursor:pointer;min-height:26px}
#newsSection details.newsroom-source-note[open] .news-explainer{margin-top:10px}
#newsSection details.newsroom-source-note summary:focus-visible{outline:3px solid #558cb3;outline-offset:4px}
@media(max-width:560px){
 #newsSection .newsroom-header{flex-wrap:nowrap;align-items:center;gap:10px;margin-bottom:16px}
 #newsSection .newsroom-intro{flex:1}
 #newsSection .newsroom-intro h2{font-size:26px}
 #newsSection .newsroom-deck{display:none}
 #newsSection .newsroom-refresh{min-width:44px;padding:8px;font-size:22px}
 #newsSection .refresh-caption{display:none}
 #newsSection details.newsroom-source-note{padding:10px 13px}
 #newsSection .newsroom-source-label{font-size:14px}
 #newsSection .news-lead .news-art{min-height:72px;height:72px;padding:15px 18px;gap:17px}
 #newsSection .news-lead .news-art-monogram{font-size:44px}
 #newsSection .news-lead .news-art-name{font-size:18px}
}

/* Familiar Korean messenger cues, with Seoul Lens identity and readable research. */
.assistant-panel{border:1px solid #b8cbdc;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 14px 45px #173d6320}
.assistant-head{background:#c5d7e6;border-bottom:1px solid #aebfd0;color:#1d3044;padding:22px 25px;gap:12px}
.assistant-head h2{font-size:21px;letter-spacing:-.6px;color:#203144}
.assistant-head>div>span{color:#40566c;font-size:13px;margin-top:4px}
.ai-logo{width:48px;height:48px;border-radius:18px;background:#ffe979;border:1px solid #e7d269;color:#433923;font-size:29px;box-shadow:0 3px 9px #5f543315}
.icon-button{color:#3c5369;border:1px solid #a5bbcf;background:#d6e3ee;font-size:12px;white-space:normal;max-width:87px;line-height:1.45}
.icon-button:hover{background:#e7eff6}
.model-status{background:#eef3f7;padding:13px 25px;gap:6px 10px;border-bottom:1px solid #bfcfdd}
.model-status select{border-radius:10px;border-color:#bacbd9;color:#283e55;font-size:14px;min-height:43px}
.model-status p{color:#546879;font-size:12px;line-height:1.65}
.model-refresh{color:#415970;background:#e3ecf3;border-color:#c0d0dd;border-radius:10px}
.messages{background:#d4e1ec;background-image:radial-gradient(ellipse at 95% 5%,#eff6fa80,transparent 55%);padding:20px 22px 8px;min-height:350px;max-height:560px;scrollbar-color:#95aabc transparent}
.chat-day{display:table;margin:0 auto 27px;padding:5px 13px;border-radius:20px;background:#b8cbdc;color:#354d64;font-size:12px;line-height:1.5;white-space:normal}
.message{position:relative;width:fit-content;max-width:calc(100% - 42px);margin-bottom:25px;font-size:17px;line-height:1.8;white-space:pre-wrap}
.message.bot{margin-left:38px;padding:18px 20px;background:#fff;border:1px solid #c4d2de;color:#273e52;border-radius:3px 17px 17px;box-shadow:0 2px 3px #38577708}
.message.bot:before{content:'✦';position:absolute;left:-39px;top:0;display:grid;place-items:center;width:30px;height:32px;border-radius:11px;background:#f5e291;color:#3e4d62;font-size:20px;border:1px solid #c0b986}
.message.bot:after{content:'';position:absolute;left:-7px;top:10px;width:11px;height:11px;background:#fff;border-left:1px solid #c4d2de;border-bottom:1px solid #c4d2de;transform:rotate(45deg)}
.message.bot>.message-label{font-size:12px;letter-spacing:.3px;color:#6a7e8e;margin-bottom:8px}
.message.bot>.message-label+strong{font-size:21px;line-height:1.5;letter-spacing:-.6px;margin-bottom:10px;color:#203b54}
.message.user{margin-left:auto;margin-right:4px;background:#ffea69;color:#382f21;border:1px solid #ebd45a;border-radius:17px 3px 17px 17px;padding:15px 18px;box-shadow:0 2px 3px #6d5d1808}
.message.user:after{content:'';position:absolute;right:-6px;top:10px;width:10px;height:10px;background:#ffea69;border-top:1px solid #ebd45a;border-right:1px solid #ebd45a;transform:rotate(45deg)}
.message.user .message-label{font-size:12px;color:#685824;margin-bottom:5px;letter-spacing:0}
.chat-time{display:block;text-align:right;font-size:11px;color:#6b5c31;margin-top:7px;line-height:1.4}
.message .answer-passage{line-height:1.85}
.message .response-meta,.message .retrieved-time,.message .citation-note{font-size:12px;line-height:1.65;color:#617689}
.message .answer-sources{border-top:1px solid #e0e8ee;margin-top:15px;padding-top:13px}
.message .answer-source a{font-size:14px;line-height:1.65}
.message .speak{min-height:38px;padding:7px 12px;border:1px solid #d2dfe8;border-radius:16px;background:#f3f7fa;font-size:13px;color:#3f5a70}
.message.loading{font-size:15px;color:#52697d;min-height:52px}
.message.user .chat-error{background:#fff9d7;border-color:#cbb952;color:#574617}
.band-chat-invite{margin:0 0 25px 38px;padding:17px;background:#f7fcfa;border:1px solid #a9cdc0;border-radius:15px;box-shadow:0 3px 10px #33584608}
.band-chat-invite h3{font-size:18px}.band-chat-invite p{font-size:14px}
.band-chat-invite .band-join{border-radius:11px;font-size:14px;width:100%}
.band-chat-label{font-size:11px;letter-spacing:.4px}
.suggestions{background:#d4e1ec;border-bottom:1px solid #c1d0de;padding:12px 22px 19px;gap:7px}
.suggestions button{background:#edf4f9;border:1px solid #b8cadb;border-radius:20px;font-size:13px;line-height:1.55;color:#304e69;padding:9px 13px;min-height:42px}
.suggestions button:hover{background:#fff;border-color:#8fa9bf}
#chat-form{margin:16px 20px 0;background:#fff;border:1px solid #b9c9d6;border-radius:15px;box-shadow:0 2px 8px #324f6310}
#chat-form:focus-within{border-color:#8aaac5;box-shadow:0 0 0 3px #628da014}
#message{font-size:17px;line-height:1.7;min-height:92px;padding:16px 17px 8px;color:#283e51}
.composer-bottom{padding:7px 12px 12px;gap:9px}
.mic{background:#eef2f5;color:#476075;border-radius:12px;font-size:14px}
.send{background:#fee500;color:#3e3420;border:1px solid #ecd644;border-radius:12px;font-size:15px;box-shadow:none;min-height:43px;padding:10px 17px}
.send:hover{background:#f4d83c}.send:disabled{background:#ece3a4;color:#7d7657;opacity:.75}
.stop{border-radius:12px}
.assistant-note,.question-privacy{font-size:12px;line-height:1.8;color:#5b6d7b}
@media(max-width:560px){
 .assistant-panel{border-radius:18px}
 .assistant-head{padding:18px 15px;gap:9px}.assistant-head h2{font-size:18px}.assistant-head>div>span{font-size:12px}
 .ai-logo{width:40px;height:42px;border-radius:14px;font-size:25px}.icon-button{font-size:11px;max-width:67px;padding:6px}
 .model-status{padding:12px 15px}.model-status p{font-size:12px}
 .messages{padding:18px 13px 6px;min-height:340px;max-height:520px}
 .message{max-width:calc(100% - 33px);font-size:16px;line-height:1.85}
 .message.bot{margin-left:30px;padding:15px 14px}.message.bot:before{width:25px;height:27px;left:-31px;font-size:18px;border-radius:9px}
 .message.bot>.message-label+strong{font-size:19px}
 .message.user{padding:13px 15px;margin-right:4px}
 .band-chat-invite{margin-left:30px;padding:14px}.band-chat-invite h3{font-size:17px}.band-chat-invite p{font-size:14px}
 .band-chat-invite .band-join{font-size:13px}
 .suggestions{padding:10px 14px 16px}.suggestions button{font-size:12px;padding:8px 11px}
 #chat-form{margin:13px 12px 0}#message{font-size:16px;padding:14px 13px 7px}
 .composer-bottom{gap:6px;padding:7px 9px 10px}.send{font-size:14px;padding:9px 13px}.mic{font-size:13px;padding:8px 10px}
 .question-privacy{margin-left:14px;margin-right:14px}
}
@media(max-width:350px){.assistant-head>div>span{font-size:11px}.assistant-head h2{font-size:17px}.ai-logo{width:35px}.icon-button{max-width:57px;font-size:10px}.message.bot{padding:13px 12px}.send{padding:8px 10px}}

/* v6: a visible circuit-board atmosphere, with quiet, readable content surfaces. */
body {
  background-color:#060e20;
  background-image:radial-gradient(ellipse 950px 720px at 100% 900px,#133b7059,transparent 72%),radial-gradient(ellipse 700px 900px at 0 2200px,#342e7040,transparent 75%),linear-gradient(#4ca6e30b 1px,transparent 1px),linear-gradient(90deg,#4ca6e30b 1px,transparent 1px);
  background-size:auto,auto,56px 56px,56px 56px;
  background-repeat:no-repeat,no-repeat,repeat,repeat;
}
.site-header {background:#071326f2;border-bottom:1px solid #459fc844;box-shadow:0 4px 25px #01091866}
.mark {border-color:#6aeaff80;box-shadow:inset 0 0 16px #239bf22b,0 0 20px #239bf224}
.hero {background:radial-gradient(ellipse at 75% 46%,#083969 0,transparent 49%),radial-gradient(ellipse at 96% 2%,#4e2a735c,transparent 46%),linear-gradient(112deg,#061224 10%,#071c36 58%,#081427);isolation:isolate}
.hero::before {z-index:1;background:linear-gradient(90deg,#061224eb 0%,#061224a6 35%,transparent 68%);pointer-events:none}
.hero::after {height:2px;left:0;right:0;background:linear-gradient(90deg,transparent,#2784ff 27%,#75eaff 64%,#937aff,transparent);box-shadow:0 0 25px #22cfff66}
.hero-grid {opacity:1;background-image:linear-gradient(#72c6ff15 1px,transparent 1px),linear-gradient(90deg,#72c6ff15 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,#0003,#000);-webkit-mask-image:linear-gradient(90deg,#0003,#000)}
.tech-atmosphere {position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.tech-circuits {position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 5px #33baff55)}
.tech-orbit {position:absolute;width:640px;height:640px;top:50%;left:calc(50% + 315px);transform:translate(-50%,-50%);filter:drop-shadow(0 0 9px #34cfff33)}
.tech-horizon {position:absolute;width:180%;height:420px;left:-40%;bottom:-310px;transform:perspective(430px) rotateX(56deg);transform-origin:center top;background-image:linear-gradient(#50bdff42 1px,transparent 1px),linear-gradient(90deg,#50bdff42 1px,transparent 1px);background-size:64px 48px;mask-image:linear-gradient(transparent,#000 32%,transparent 90%);-webkit-mask-image:linear-gradient(transparent,#000 32%,transparent 90%)}
.tech-orbit-spin {transform-origin:320px 320px;animation:orbit-drift 100s linear infinite}
.tech-data-path {animation:data-travel 12s linear infinite}
.hero-inner {z-index:2}
.hero-emphasis {color:#a2efff;text-shadow:0 0 30px #2abfe83b}
.hero-description {color:#c5d7ea}
.hero-eyebrow {color:#b7def0}
.hero-benefits {color:#bed7ec}
.hero-primary {border-color:#96f1ff;background:linear-gradient(115deg,#d1fbff,#b2e9ff);box-shadow:0 0 0 4px #5fcaff0a,0 8px 35px #21a4ee29;color:#07243d}
.hero-primary:hover {background:#edffff;box-shadow:0 0 0 4px #5fcaff16,0 8px 35px #21a4ee40}
.hero-secondary {color:#d7eafb}
.research-visual {overflow:visible}
.research-visual::before {width:310px;background:radial-gradient(circle,#2aabeb3d,#1a67c615 62%,transparent 73%)}
.visual-topline,.visual-bottomline {border-color:#4fa7cc66;color:#b5d9f0}
.visual-node {border-color:#75dfff80;background:linear-gradient(135deg,#12304bf5,#071b33f5);box-shadow:inset 0 1px 0 #a0f4ff20,0 12px 30px #00091b55,0 0 24px #118ad016}
.visual-node small {color:#91daef}
.node-symbol {background:#29b8ed17;color:#a5f5ff}
.lens-core {background:linear-gradient(145deg,#1c6081eb,#0c284cf5 58%,#232759);border-color:#82efff;border-radius:25px;box-shadow:inset 0 0 26px #3fd1ff25,0 0 0 8px #41cdff0c,0 0 0 9px #6bd7ff35,0 0 65px #29aaff40,0 20px 40px #010a224d}
.lens-core::before,.lens-core::after {content:'';position:absolute;width:28px;height:28px;border-color:#bef8ff;border-style:solid;pointer-events:none}
.lens-core::before {left:-6px;top:-6px;border-width:2px 0 0 2px;border-radius:10px 0 0 0}
.lens-core::after {right:-6px;bottom:-6px;border-width:0 2px 2px 0;border-radius:0 0 10px 0}
.core-icon {color:#cffcff;background:#50d3ff24;border-color:#91f0ff4d;box-shadow:0 0 24px #4dddff24}
.workflow {color:#e3efff;border-bottom-color:#5199c13b}
.workflow .eyebrow,.workspace-heading .eyebrow {color:#85d8ed}
.workflow .index {border-left-color:#458cb249}
.workflow .index-label {color:#82d5f6}
.workflow .flow-desc {color:#a7bdd5}
.workspace-heading {color:#f0f6ff}
.workspace-badge,.workspace-badge>span:first-child {color:#a7d6ef}
.notice {color:#b4c8df}
.notice[data-ready=true]::before {background:#6fe5c2;box-shadow:0 0 0 3px #6fe5c214,0 0 12px #6fe5c240}
.assistant-panel,.stock-panel,.newsroom-panel {border-color:#599bc566;box-shadow:0 0 0 1px #72cfff0a,0 18px 48px #01081840}
.data-note,.data-note p {color:#b2c7de}
.data-note strong {color:#d3e6f6}
.data-note>span {color:#8dc5e5}
.band-hero {position:relative;isolation:isolate;overflow:hidden;border-color:#54c5df80;background:radial-gradient(ellipse at 100% 5%,#304494a8,transparent 62%),linear-gradient(115deg,#0d253f,#103452);box-shadow:inset 0 1px 0 #b6f2ff26,0 0 32px #137bd11a}
.band-hero::before {content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#69e3ff14 1px,transparent 1px),linear-gradient(90deg,#69e3ff14 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,transparent 30%,#000);-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000)}
.band-hero::after {content:'';position:absolute;right:-90px;top:-145px;width:360px;height:360px;border:1px solid #78e3ff59;border-radius:50%;box-shadow:0 0 0 28px #51bdff08,0 0 0 29px #78e3ff30,0 0 0 62px #51bdff06,0 0 0 63px #78e3ff1f;z-index:-1;pointer-events:none}
.content-wrap>footer {color:#a4bbd6}
.content-wrap>footer strong {color:#d1e7ff}
.band-mobile {background:#09172af5;border-top-color:#56bfed66;box-shadow:0 -5px 25px #01081855}
.band-mobile .mobile-ask {background:#176be0;border-color:#63b6ff55;box-shadow:inset 0 1px 0 #b3e8ff26}
.band-mobile .band-join {background:#d3f3e4;border-color:#a4ddc4;color:#134c39}
@keyframes orbit-drift {to{transform:rotate(360deg)}}
@keyframes data-travel {to{stroke-dashoffset:-528}}
@media(min-width:1550px){.tech-orbit{left:calc(50% + 350px);width:720px;height:720px}}
@media(max-width:1200px){.tech-orbit{left:76%;width:580px;height:580px}}
@media(max-width:760px){
  body {background-color:#060e20;background-image:radial-gradient(ellipse 500px 800px at 100% 720px,#153f7559,transparent 72%),linear-gradient(#4ca6e30d 1px,transparent 1px),linear-gradient(90deg,#4ca6e30d 1px,transparent 1px);background-size:auto,40px 40px,40px 40px;background-repeat:no-repeat,repeat,repeat}
  .hero {background:radial-gradient(ellipse at 110% 15%,#185488 0,transparent 63%),radial-gradient(ellipse at 110% 85%,#42358173,transparent 65%),#07152b}
  .hero::before {background:linear-gradient(90deg,#061426eb 0%,#061426b3 35%,#06142633 75%,transparent)}
  .hero-grid {opacity:1;background-size:36px 36px;background-image:linear-gradient(#72c6ff24 1px,transparent 1px),linear-gradient(90deg,#72c6ff24 1px,transparent 1px);mask-image:linear-gradient(90deg,#0003,#000);-webkit-mask-image:linear-gradient(90deg,#0003,#000)}
  .tech-orbit {width:490px;height:490px;left:auto;right:-245px;top:8px;transform:none;opacity:.9}
  .tech-circuits {width:1100px;max-width:none;left:auto;right:-235px;opacity:.72}
  .tech-horizon {bottom:-285px;height:410px;background-size:42px 42px;opacity:.75}
  .hero h1 {text-shadow:0 2px 18px #031026,0 0 5px #031026}
  .hero-description {color:#d0dfed;text-shadow:0 1px 9px #031026}
  .hero-benefits {color:#cee4f5}
  .workflow {background:linear-gradient(100deg,#0e28411c,#18324b26)}
  .index-label {font-size:9px}
  .flow-title {color:#e8f2ff}
}
@media(max-width:360px){.tech-orbit{right:-270px;opacity:.8}.hero-grid{opacity:1}.hero-emphasis{text-shadow:0 2px 18px #031026}.hero-benefits{color:#cee4f5}}
@media(prefers-reduced-motion:reduce){.tech-orbit-spin,.tech-data-path{animation:none}}

.mobile-tabs,.mobile-screen-label,.stock-view-tabs,.mobile-clear{display:none}
.chat-information{margin:12px 22px 18px;color:#526986;font-size:12px}
.chat-information summary{cursor:pointer;min-height:26px}
.chat-information .question-privacy,.chat-information .assistant-note{margin:8px 0}

/* Mobile app shell. Append after technology.css and the existing styles.
   Root sets data-mobile-screen and --app-height from visualViewport.
   Model status exposes data-state="error"; keyboard-open compacts the composer. */
.mobile-tabs { display:none; }

@media (max-width:760px) {
  html {
    height:100%;
    overflow:hidden;
    overscroll-behavior:none;
    scroll-padding:0;
  }

  body[data-mobile-screen] {
    --app-tabs-height:calc(68px + env(safe-area-inset-bottom, 0px));
    position:fixed;
    inset:0;
    top:var(--app-top,0px);
    width:100%;
    height:100vh;
    height:var(--app-height, 100dvh);
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    overscroll-behavior:none;
    padding:0 0 var(--app-tabs-height);
    background-color:#0a1b30;
    background-image:radial-gradient(ellipse at 100% 0, #1e578359, transparent 70%);
  }

  body[data-mobile-screen] .site-header {
    position:relative;
    flex:0 0 auto;
    height:calc(58px + env(safe-area-inset-top, 0px));
    min-height:0;
    padding-top:env(safe-area-inset-top, 0px);
    z-index:45;
    background:linear-gradient(110deg, #071629, #11334e);
    border-bottom:1px solid #60d8f75e;
    box-shadow:0 1px 14px #2bafff17;
  }

  body[data-mobile-screen] .header-inner {
    display:flex;
    height:58px;
    padding:0 max(15px, env(safe-area-inset-right, 0px)) 0 max(15px, env(safe-area-inset-left, 0px));
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }

  body[data-mobile-screen] .brand {gap:9px;min-width:0}
  body[data-mobile-screen] .brand-name {font-size:18px;letter-spacing:-.5px}
  body[data-mobile-screen] .brand-name small {display:none}
  body[data-mobile-screen] .mark {width:32px;height:34px;border-radius:10px;flex:none;box-shadow:inset 0 0 12px #36caff21,0 0 15px #47cbff20}
  body[data-mobile-screen] .mark svg {width:29px}
  body[data-mobile-screen] .header-right {gap:8px;flex:none}
  body[data-mobile-screen] .mobile-screen-label {display:block;font-size:11px;letter-spacing:.2px;color:#a4e1f5;padding:4px 8px;border:1px solid #76d7ed3b;border-radius:20px;background:#5ec5ed0b;white-space:nowrap}
  body[data-mobile-screen="chat"] .mobile-clear {display:grid;place-items:center;width:36px;height:40px;padding:8px;border:1px solid #76d7ed30;border-radius:9px;background:#78ceec0c;color:#c5e5f4}
  body[data-mobile-screen] .mobile-clear svg {width:19px;height:19px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
  body[data-mobile-screen] .clock {font-size:11px;letter-spacing:.3px;color:#b9d5e8}
  body[data-mobile-screen] #nav {display:none!important}

  body[data-mobile-screen] main {
    position:relative;
    flex:1 1 auto;
    min-height:0;
    width:100%;
    margin:0;
    padding:0;
    overflow:hidden;
    isolation:isolate;
  }

  body[data-mobile-screen] .content-wrap,
  body[data-mobile-screen] .main-grid,
  body[data-mobile-screen] .left-column {display:contents}

  body[data-mobile-screen] .hero,
  body[data-mobile-screen] .workflow,
  body[data-mobile-screen] .workspace-heading,
  body[data-mobile-screen] #statusNotice,
  body[data-mobile-screen] .data-note,
  body[data-mobile-screen] .content-wrap>footer,
  body[data-mobile-screen] .band-mobile {display:none!important}

  body[data-mobile-screen] .mobile-screen {
    position:absolute;
    inset:8px;
    display:none;
    width:auto;
    height:auto;
    min-width:0;
    min-height:0;
    max-height:none;
    margin:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scroll-margin:0;
    border-radius:15px;
  }

  body[data-mobile-screen="chat"] .mobile-screen[data-screen="chat"] {display:flex}
  body[data-mobile-screen="news"] .mobile-screen[data-screen="news"],
  body[data-mobile-screen="stocks"] .mobile-screen[data-screen="stocks"] {display:block}
  body[data-mobile-screen="community"] .mobile-screen[data-screen="community"] {display:flex}

  /* Messages alone scroll; every composer control remains outside that area. */
  body[data-mobile-screen] #assistant.mobile-screen {
    inset:0;
    flex-direction:column;
    padding:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:#f6f9fc;
    overflow:hidden;
  }

  body[data-mobile-screen] #assistant > :not(.messages) {flex-shrink:0}
  body[data-mobile-screen] .assistant-head {
    display:none;
    padding:10px 14px;
    gap:10px;
    min-height:59px;
    background:linear-gradient(105deg, #102b45, #183e57);
    border-bottom:1px solid #6bbedb35;
    color:#f0f7ff;
  }
  body[data-mobile-screen] .assistant-head h2 {font-size:18px;line-height:1.3;color:#f0f7ff;letter-spacing:-.4px}
  body[data-mobile-screen] .assistant-head>div>span {font-size:12px;color:#b7d5e7;line-height:1.4;margin-top:3px}
  body[data-mobile-screen] .ai-logo {width:35px;height:37px;border-radius:12px;font-size:24px;background:#ffe97e;border-color:#dac56e;color:#493d25;box-shadow:0 0 16px #6fd9ee15}
  body[data-mobile-screen] .icon-button {font-size:12px;line-height:1.4;max-width:76px;min-height:40px;padding:6px 8px;background:#25465e;border-color:#6e9cbb57;color:#dbeaf5}
  body[data-mobile-screen] .icon-button:hover {background:#36576f}

  body[data-mobile-screen] .model-status {
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:6px 9px;
    padding:7px 14px 9px;
    min-height:53px;
    background:#102c44;
    border-bottom:1px solid #99b7cd;
  }
  body[data-mobile-screen] .model-status label {display:block;color:#bed9e9;font-size:12px}
  body[data-mobile-screen] .model-status select {min-height:36px;padding:6px 10px;border-color:#8aacc5;border-radius:9px;font-size:16px;line-height:1.4;background:#f1f6fa;color:#244057}
  body[data-mobile-screen] .model-refresh {min-height:36px;padding:6px 7px;max-width:none;white-space:nowrap;border:1px solid #6c99b65e;border-radius:8px;background:#23465f;color:#d7eaf6;font-size:12px;line-height:1.45;text-decoration:none}
  body[data-mobile-screen] #modelHelp:not([data-state="error"]) {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  body[data-mobile-screen] #modelHelp[data-state="error"] {position:static;grid-column:1/-1;width:auto;height:auto;max-height:68px;overflow:auto;clip:auto;margin:2px 0 0;padding:6px 8px;background:#fff1e3;color:#794624;border-radius:6px;font-size:12px;line-height:1.55;white-space:normal}

  body[data-mobile-screen] .messages {
    flex:1 1 0;
    min-height:0;
    max-height:none;
    padding:18px 15px 7px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background-color:#d5e2ed;
    background-image:radial-gradient(ellipse at 100% 0, #edf7ff9e, transparent 62%),linear-gradient(#688caa0b 1px, transparent 1px),linear-gradient(90deg, #688caa0b 1px, transparent 1px);
    background-size:auto,40px 40px,40px 40px;
    scrollbar-color:#91aabd transparent;
    scroll-padding:12px;
  }
  body[data-mobile-screen] .chat-day {margin-bottom:18px;font-size:12px}
  body[data-mobile-screen] .message {max-width:calc(100% - 34px);font-size:16px;line-height:1.8;margin-bottom:20px}
  body[data-mobile-screen] .message.bot {margin-left:29px;padding:14px 15px}
  body[data-mobile-screen] .message.bot:before {left:-31px;width:25px;height:27px;font-size:18px;border-radius:9px}
  body[data-mobile-screen] .message.bot>.message-label+strong {font-size:20px;line-height:1.5;margin-bottom:9px}
  body[data-mobile-screen] .message .answer-passage {font-size:16px;line-height:1.85}
  body[data-mobile-screen] .message.user {margin-left:auto;padding:13px 15px;background:#ffea69;color:#382f21}
  body[data-mobile-screen] .message .answer-source a {font-size:14px;overflow-wrap:anywhere}
  body[data-mobile-screen] .band-chat-invite {margin-left:29px;margin-bottom:20px;padding:15px}
  body[data-mobile-screen] .band-chat-invite .band-join {font-size:14px;min-height:56px}

  body[data-mobile-screen] .suggestions {
    flex-wrap:nowrap;
    gap:7px;
    padding:7px 12px;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    background:#d5e2ed;
    border-bottom:1px solid #b8cddd;
  }
  body[data-mobile-screen] .suggestions::-webkit-scrollbar {display:none}
  body[data-mobile-screen] .suggestions button {flex:none;min-height:36px;padding:7px 12px;font-size:13px;white-space:nowrap;line-height:1.4}
  body[data-mobile-screen] #chat-form {margin:8px 10px 0;padding:0;border-radius:13px;box-shadow:0 2px 8px #324f630c;scroll-margin:0}
  body[data-mobile-screen] #message {height:58px;min-height:58px;max-height:90px;resize:none;padding:10px 13px 4px;font-size:16px;line-height:1.45;border-radius:13px;scroll-margin:0}
  body[data-mobile-screen] .composer-bottom {gap:7px;padding:5px 8px 8px}
  body[data-mobile-screen] .mic {min-height:39px;padding:7px 10px;font-size:13px;border-radius:10px}
  body[data-mobile-screen] #counter {font-size:11px;color:#61788b}
  body[data-mobile-screen] .send,
  body[data-mobile-screen] .stop {min-height:39px;padding:7px 14px;font-size:14px;border-radius:10px}
  body[data-mobile-screen] .voice-status {margin:0 13px;font-size:12px;line-height:1.5;max-height:44px;overflow-y:auto}
  body[data-mobile-screen] .voice-status:not(:empty) {padding-top:5px}

  body[data-mobile-screen] .chat-information {margin:0;padding:0 14px;background:#f6f9fc;color:#536b7e;border:0;max-height:min(31%,160px);overflow-y:auto;overscroll-behavior:contain;font-size:12px;line-height:1.7}
  body[data-mobile-screen] .chat-information summary {position:sticky;top:0;display:list-item;min-height:30px;padding:5px 0;cursor:pointer;background:#f6f9fc;color:#536b7e;font-size:12px;line-height:20px;list-style-position:inside}
  body[data-mobile-screen] .chat-information summary::marker {color:#7895ab;font-size:10px}
  body[data-mobile-screen] .chat-information[open] {border-top:1px solid #d3dfe9}
  body[data-mobile-screen] .chat-information .assistant-note,
  body[data-mobile-screen] .chat-information .question-privacy {margin:2px 0 9px;font-size:12px;line-height:1.75;color:#536b7e}

  /* Non-chat tabs use one continuous scroll surface each. */
  body[data-mobile-screen] #newsSection.mobile-screen {margin:0;padding:23px 17px 28px;border-radius:15px;border-top-width:3px;background:#fff}
  body[data-mobile-screen] #newsSection .newsroom-header {margin-bottom:16px}
  body[data-mobile-screen] #newsSection .newsroom-intro h2 {font-size:26px;line-height:1.35}
  body[data-mobile-screen] #newsSection .newsroom-kicker {font-size:13px}
  body[data-mobile-screen] #newsSection .newsroom-deck {display:none}
  body[data-mobile-screen] #newsSection .newsroom-sync {font-size:12px}
  body[data-mobile-screen] #newsSection .news-title {font-size:20px;line-height:1.6}
  body[data-mobile-screen] #newsSection .news-lead .news-title {font-size:23px}
  body[data-mobile-screen] #newsSection .filters button {font-size:15px}
  body[data-mobile-screen] #stockSection.mobile-screen {padding:23px 18px 28px;background:#fff;border:1px solid #8fb0ca5e}
  body[data-mobile-screen] #stockSection .section-head h2 {font-size:25px}
  body[data-mobile-screen] #stockSection .search {margin-top:18px;min-height:48px}
  body[data-mobile-screen] #stockSection .search input {font-size:16px}
  body[data-mobile-screen] .stock-view-tabs {display:flex;gap:8px;margin-top:16px}
  body[data-mobile-screen] .stock-view-tabs button {min-height:42px;border:1px solid #d0ddea;border-radius:8px;background:#f6f9fd;color:#426581;font-size:14px;padding:8px 16px}
  body[data-mobile-screen] .stock-view-tabs button[aria-pressed="true"] {background:#183e5e;border-color:#183e5e;color:white}
  body[data-mobile-screen] #stockSection .stock-list {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  body[data-mobile-screen] #stockSection .stock-title {font-size:15px}
  body[data-mobile-screen] #stockSection .stock-code {font-size:11px}
  body[data-mobile-screen] #stockSection .source-shortcuts a {font-size:14px;min-height:42px}
  body[data-mobile-screen] #stockSection .primary {font-size:15px;min-height:48px}
  body[data-mobile-screen] #stockSection .secondary {font-size:14px;min-height:46px}
  body[data-mobile-screen] #stockSection .query-guide {font-size:14px}
  body[data-mobile-screen] #communitySection.mobile-screen {padding:31px 23px 30px;align-items:stretch;justify-content:flex-start;flex-direction:column;gap:0}
  body[data-mobile-screen] #communitySection .band-hero-copy {flex:0 0 auto}
  body[data-mobile-screen] #communitySection .band-eyebrow {font-size:12px}
  body[data-mobile-screen] #communitySection h2 {font-size:29px;line-height:1.5;margin:23px 0 17px;letter-spacing:-.8px}
  body[data-mobile-screen] #communitySection p {font-size:17px;line-height:1.9;color:#d0e3ef}
  body[data-mobile-screen] #communitySection .band-hero-actions {flex-direction:column;align-items:stretch;gap:14px;margin-top:29px}
  body[data-mobile-screen] #communitySection .band-join {width:100%;min-height:67px;font-size:16px;border-radius:12px}
  body[data-mobile-screen] #communitySection .band-hint {font-size:13px;text-align:center}

  /* Anchored to the app shell, so visualViewport resizing moves it with the app. */
  body[data-mobile-screen] .mobile-tabs {
    position:absolute;
    z-index:50;
    inset:auto 0 0;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    height:var(--app-tabs-height);
    padding:5px max(6px,env(safe-area-inset-right,0px)) calc(5px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px));
    border-top:1px solid #5483a25e;
    background:linear-gradient(#0e2942,#0a2036);
    box-shadow:0 -3px 18px #07182b24;
  }
  body[data-mobile-screen] .mobile-tabs button {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:55px;padding:6px 2px;border:1px solid transparent;border-radius:12px;background:transparent;color:#aac6d9;font-size:13px;line-height:1.25;font-weight:600;letter-spacing:-.25px;white-space:nowrap}
  body[data-mobile-screen] .mobile-tabs .mobile-tab-icon {display:block;flex:none;width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  body[data-mobile-screen] .mobile-tabs .mobile-tab-label {font-size:13px;line-height:1.3}
  body[data-mobile-screen] .mobile-tabs button.active,
  body[data-mobile-screen] .mobile-tabs button[aria-selected="true"],
  body[data-mobile-screen] .mobile-tabs button[aria-current="page"] {color:#a2efff;border-color:#79d6f02d;background:linear-gradient(#214860,#17354e);box-shadow:inset 0 1px 0 #a9efff13}
  body[data-mobile-screen] .mobile-tabs button:focus-visible {outline:2px solid #a7edff;outline-offset:-2px}
  body[data-mobile-screen] .toast {position:absolute;bottom:calc(var(--app-tabs-height) + 9px);max-width:calc(100% - 24px);z-index:65;font-size:13px;padding:10px 15px}

  /* The viewport can be below 400px tall while a mobile keyboard is open. */
  body[data-mobile-screen].keyboard-open,
  body[data-mobile-screen][data-keyboard-open="true"] {--app-tabs-height:0px}
  body[data-mobile-screen].keyboard-open .mobile-tabs,
  body[data-mobile-screen][data-keyboard-open="true"] .mobile-tabs {display:none}
  body[data-mobile-screen="chat"].keyboard-open .suggestions,
  body[data-mobile-screen="chat"][data-keyboard-open="true"] .suggestions,
  body[data-mobile-screen="chat"].keyboard-open .assistant-head>div>span,
  body[data-mobile-screen="chat"][data-keyboard-open="true"] .assistant-head>div>span {display:none}
  body[data-mobile-screen="chat"].keyboard-open .assistant-head,
  body[data-mobile-screen="chat"][data-keyboard-open="true"] .assistant-head {display:none}
  body[data-mobile-screen="chat"].keyboard-open .model-status,
  body[data-mobile-screen="chat"][data-keyboard-open="true"] .model-status {padding-top:4px;padding-bottom:5px;min-height:45px}
  body[data-mobile-screen="chat"].keyboard-open #message,
  body[data-mobile-screen="chat"][data-keyboard-open="true"] #message {height:44px;min-height:44px;max-height:64px;padding-top:8px}
  body[data-mobile-screen="chat"].keyboard-open .chat-information,
  body[data-mobile-screen="chat"][data-keyboard-open="true"] .chat-information {max-height:60px}
  body[data-mobile-screen="chat"].keyboard-open .messages,
  body[data-mobile-screen="chat"][data-keyboard-open="true"] .messages {padding-top:8px;padding-bottom:0}
}

@media (max-width:350px) {
  body[data-mobile-screen] .header-inner {padding-right:12px;padding-left:12px}
  body[data-mobile-screen] .brand-name {font-size:17px}
  body[data-mobile-screen] .clock {font-size:10px}
  body[data-mobile-screen] .assistant-head {padding-right:11px;padding-left:11px;gap:8px}
  body[data-mobile-screen] .assistant-head h2 {font-size:17px}
  body[data-mobile-screen] .assistant-head>div>span {font-size:11px}
  body[data-mobile-screen] .icon-button {font-size:11px;max-width:68px}
  body[data-mobile-screen] .model-status {grid-template-columns:minmax(0,1fr) auto;padding-right:11px;padding-left:11px;gap:7px}
  body[data-mobile-screen] .model-status label {display:none}
  body[data-mobile-screen] .messages {padding-right:11px;padding-left:11px}
  body[data-mobile-screen] .message.bot {padding:13px 12px}
  body[data-mobile-screen] .message.bot>.message-label+strong {font-size:19px}
  body[data-mobile-screen] #newsSection.mobile-screen {padding-right:13px;padding-left:13px}
  body[data-mobile-screen] #newsSection .newsroom-intro h2 {font-size:23px}
  body[data-mobile-screen] #newsSection .news-lead .news-title {font-size:22px}
  body[data-mobile-screen] #stockSection.mobile-screen {padding-right:14px;padding-left:14px}
  body[data-mobile-screen] #stockSection .stock-choice {gap:7px;padding-right:8px;padding-left:8px}
  body[data-mobile-screen] #stockSection .stock-title {font-size:14px}
  body[data-mobile-screen] #communitySection.mobile-screen {padding-right:20px;padding-left:20px}
  body[data-mobile-screen] #communitySection h2 {font-size:26px}
  body[data-mobile-screen] #communitySection .band-join {font-size:15px;padding-right:12px;padding-left:12px}
  body[data-mobile-screen] .mobile-tabs .mobile-tab-label {font-size:12px}
}

@media (max-width:760px) and (prefers-reduced-motion:reduce) {
  body[data-mobile-screen] .mobile-screen,
  body[data-mobile-screen] .messages,
  body[data-mobile-screen] .suggestions {scroll-behavior:auto}
  body[data-mobile-screen] .mobile-tabs button {transition:none}
}

/* Actual request stages inside the existing messenger bubble; no percentage bar. */
.messages .message.bot.loading.progress-card {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"heading elapsed" "current current" "topic topic" "steps steps" "note note" "details details" "footer footer";
  column-gap:8px;
  width:min(430px,calc(100% - 34px));
  max-width:calc(100% - 34px);
  min-height:0;
  padding:12px 14px 11px;
  background:#fff;
  border-color:#bacddb;
  color:#2d465b;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:keep-all;
  font-size:14px;
  line-height:1.5;
  box-shadow:0 2px 6px #254c6909;
}
.progress-card .progress-head {grid-area:heading;display:flex;align-items:center;gap:7px;min-width:0;min-height:24px}
.progress-card .progress-head strong {margin:0;color:#23445e;font-size:16px;line-height:1.45;font-weight:700;letter-spacing:-.35px}
.progress-card .progress-spinner {
  display:block;
  width:22px;
  height:8px;
  flex:0 0 22px;
  color:#4387b0;
  background:radial-gradient(circle,currentColor 2px,transparent 2.4px) 0 2px / 6px 6px no-repeat,radial-gradient(circle,currentColor 2px,transparent 2.4px) 8px 2px / 6px 6px no-repeat,radial-gradient(circle,currentColor 2px,transparent 2.4px) 16px 2px / 6px 6px no-repeat;
  animation:progress-dots-breathe 1.8s ease-in-out infinite;
}
.progress-card .progress-current {grid-area:current;margin-top:5px;color:#385d77;font-size:14px;line-height:1.5}
.progress-card .progress-topic {grid-area:topic;display:flex;gap:6px;align-items:baseline;min-width:0;margin-top:5px;color:#728392;font-size:12px;line-height:1.5}
.progress-card .progress-topic>span {display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5c7183}
.progress-card .progress-topic>span:last-child {flex:1 1 auto}
.progress-card .progress-elapsed {grid-area:elapsed;align-self:center;margin:0;color:#6c8191;font-size:12px;line-height:1.5;white-space:nowrap;font-variant-numeric:tabular-nums}
.progress-card .progress-steps {grid-area:steps;display:grid;gap:3px;list-style:none;margin:8px 0 0;padding:0}
.progress-card .progress-steps li {display:flex;align-items:center;gap:8px;min-width:0;margin:0;padding:0;color:#748491;font-size:14px;line-height:1.45}
.progress-card .progress-step-mark {flex:0 0 14px;width:14px;text-align:center;font-weight:700}
.progress-card .progress-step-state {margin-left:auto;white-space:nowrap;font-size:12px}
.progress-card .progress-steps li.done {color:#476d60}
.progress-card .progress-steps li.current {color:#235d85;font-weight:600}
.progress-card .progress-steps li.waiting {color:#758492}
.progress-card .progress-steps li.skipped {color:#7a776f}
.progress-card .progress-note {grid-area:note;margin:7px 0 0;color:#627687;font-size:13px;line-height:1.45}
.progress-card .progress-note:empty {display:none}
.progress-card .progress-details {grid-area:details;min-width:0;margin:5px 0 0;padding:0;color:#657b8c;font-size:12px;line-height:1.6}
.progress-card .progress-details summary {min-height:24px;padding:3px 0;cursor:pointer;list-style-position:inside;color:#54758b;font-size:12px;line-height:18px}
.progress-card .progress-details summary::marker {color:#8299a9;font-size:10px}
.progress-card .progress-details summary:focus-visible {outline:2px solid #4a91bb;outline-offset:2px;border-radius:3px}
.progress-card .progress-details[open] {margin-top:7px;padding-top:5px;border-top:1px solid #e1e9ef}
.progress-card .progress-details p {margin:4px 0 2px}
.progress-card .progress-details ul {margin:4px 0;padding-left:17px}
.progress-card .progress-footer {grid-area:footer;margin-top:5px;color:#718493;font-size:12px;line-height:1.45}
.progress-card .progress-footer:empty {display:none}
.messages .message.bot.loading.progress-card.is-slow {border-color:#d6bb84;box-shadow:inset 3px 0 0 #dab267,0 2px 6px #6f501009}
.progress-card.is-slow .progress-spinner {color:#aa7b27}
.progress-card.is-slow .progress-elapsed {color:#90651e}
.progress-card.is-slow .progress-note {color:#825d27;background:#fff8e9;border-radius:6px;padding:6px 8px}
.progress-card.is-slow .progress-note:empty {display:none}
@keyframes progress-dots-breathe {0%,100%{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(-1px)}}
body.is-chat-pending .mobile-tabs button[data-screen="chat"]::after {content:'';position:absolute;top:7px;right:calc(50% - 23px);width:7px;height:7px;border-radius:50%;background:#ffdf65;box-shadow:0 0 7px #ffdf653d;animation:progress-dots-breathe 1.8s ease-in-out infinite}
@media(max-width:760px){
  .messages .message.bot.loading.progress-card {padding:11px 12px 10px;margin-bottom:17px;column-gap:6px}
  .progress-card .progress-head {gap:6px}
  .progress-card .progress-current {margin-top:4px}
  .progress-card .progress-steps {margin-top:7px;gap:2px}
  .progress-card .progress-note {margin-top:6px}
  .progress-card .progress-topic {margin-top:4px}
}
@media(max-width:350px){
  .messages .message.bot.loading.progress-card {padding-right:10px;padding-left:10px;column-gap:5px}
  .progress-card .progress-head {gap:5px}
  .progress-card .progress-head strong {font-size:15px}
  .progress-card .progress-spinner {width:18px;flex-basis:18px;background-position:0 2px,6px 2px,12px 2px;background-size:6px 6px}
  .progress-card .progress-current,.progress-card .progress-steps li {font-size:13px}
  .progress-card .progress-steps li {gap:7px}
}
@media(prefers-reduced-motion:reduce){
  .progress-card .progress-spinner {animation:none;opacity:.8;transform:none}
  body.is-chat-pending .mobile-tabs button[data-screen="chat"]::after {animation:none}
}
