/* Shared visual rules for the landing page, articles and chat workspace. */
:root{
 --orlon-font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
 --orlon-bg:#000;--orlon-surface:#080808;--orlon-hover:#121212;
 --orlon-ink:#f2f2f2;--orlon-muted:#aaa;--orlon-line:#222;--orlon-edge:#343434;
 --orlon-action-edge:#666;--orlon-field-radius:22px;--orlon-card-radius:16px;--orlon-control:40px;
}
body[data-theme="light"]{
 --orlon-bg:#fff;--orlon-surface:#f8f8f8;--orlon-hover:#eee;
 --orlon-ink:#202020;--orlon-muted:#555;--orlon-line:#ddd;--orlon-edge:#ccc;--orlon-action-edge:#888;
}
body{
 --sans:var(--orlon-font);--font:var(--orlon-font);--bg:var(--orlon-bg);
 --text:var(--orlon-ink);--t1:var(--orlon-ink);--muted:var(--orlon-muted);--t2:var(--orlon-muted);
 --line:var(--orlon-line);--line-strong:var(--orlon-edge);--line-2:var(--orlon-edge);
 font-family:var(--orlon-font);font-feature-settings:"cv11","ss01";color:var(--orlon-ink);background:var(--orlon-bg);
}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--orlon-muted)!important;outline-offset:3px}
:is(.btn,.button,.pill-button,.primary-pill,.outline-pill){min-height:var(--orlon-control);border-radius:12px;font:500 14px/20px var(--orlon-font)}
:is(.btn-primary,.button.primary,.primary-pill,.pill-button.solid),.settings-content .button.primary,.orlons-actions .primary-pill{
 color:var(--orlon-bg);background:var(--orlon-ink);border:1px solid var(--orlon-ink);box-shadow:none;filter:none;
}
:is(.btn-primary,.button.primary,.primary-pill,.pill-button.solid):hover,.settings-content .button.primary:hover,.orlons-actions .primary-pill:hover{background:#fff;border-color:#fff;filter:none}
body[data-theme="light"] :is(.btn-primary,.button.primary,.primary-pill,.pill-button.solid):hover{background:#000;border-color:#000}
:is(.btn-secondary,.button:not(.primary):not(.danger),.outline-pill){color:var(--orlon-ink);background:var(--orlon-bg);border-color:var(--orlon-edge)}
.hero-chat-entry,#composer,#panel-chat.is-empty #composer{background:var(--orlon-bg);border:1px solid var(--orlon-edge);border-radius:var(--orlon-field-radius);box-shadow:none}
.hero-chat-entry:focus-within,#composer:focus-within{border-color:var(--orlon-muted);box-shadow:none}
.hero-chat-entry textarea,#composer textarea{font:400 16px/1.5 var(--orlon-font);color:var(--orlon-ink)}
.hero-chat-entry textarea::placeholder,#composer textarea::placeholder{color:var(--orlon-muted);opacity:1}
.hero-chat-entry .entry-arrow,#composer .send-button{width:40px;height:40px;min-width:40px;flex:none;border-radius:50%;background:var(--orlon-ink);color:var(--orlon-bg);border:0}
.hero-chat-entry .entry-arrow:disabled,#composer .send-button:disabled{background:var(--orlon-hover);color:var(--orlon-muted);opacity:.5}
.entry-arrow svg,#composer .send-button svg{width:20px;height:20px;stroke:currentColor}
.hero-editorial .hero-copy h1,.welcome-regular h2,.empty-state h2{font-family:var(--orlon-font);font-weight:500;letter-spacing:-.025em;line-height:1.25}
.message.assistant .message-body{font-family:var(--orlon-font)}
.hero-shortcuts a{border-color:var(--orlon-edge);color:var(--orlon-muted);font:400 13px/20px var(--orlon-font)}
.hero-shortcuts a:hover{color:var(--orlon-ink);background:var(--orlon-hover)}
.news-cover,.plan,.sgroup,.usage-card{border-color:var(--orlon-line);border-radius:var(--orlon-card-radius)}
.news-meta,.news-summary,.news-state,.article-summary{color:var(--orlon-muted)}
.brand>img:first-child{width:28px;height:28px}.sidebar .brand-button .logo{width:28px;height:28px}
.brand .wordmark{width:74px;height:18px;object-fit:contain}
@media(min-width:761px){.welcome-regular h2{font-size:36px}.btn{height:40px}}
@media(max-width:760px){:root{--orlon-control:44px}.hero-chat-entry .entry-arrow{width:44px;height:44px;min-width:44px}.hero-editorial .hero-copy h1,.welcome-regular h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.btn,.button,.hero-chat-entry{transition:none}}
.hero-chat-entry textarea:focus-visible,#composer textarea:focus-visible{outline:none!important}
/* ASCII starlight stays outside the field and never receives pointer input. */
.has-composer-sky{position:relative;isolation:isolate}
.composer-sky{position:absolute;left:0;top:-160px;width:100%;height:calc(100% + 300px);z-index:-1;pointer-events:none;user-select:none;opacity:.9;transition:opacity .3s ease}
.has-composer-sky:focus-within .composer-sky,.has-composer-sky.sky-has-draft .composer-sky{opacity:.35}
#panel-chat:not(.is-empty) .composer-sky{display:none}
@media(max-width:760px){.composer-sky{top:-180px;height:calc(100% + 180px);opacity:.8}}
@media(prefers-reduced-motion:reduce){.composer-sky{transition:none}}

/* Native hit targets leave the canvas transparent to the composer controls. */
.has-composer-sky .galaxy-touch{position:absolute;z-index:1;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;cursor:pointer;touch-action:manipulation}
.has-composer-sky .galaxy-touch:hover,.has-composer-sky .galaxy-touch:active{background:transparent;box-shadow:none}
.has-composer-sky .galaxy-touch:focus-visible{outline:1px solid var(--orlon-muted)!important;outline-offset:3px}
#panel-chat:not(.is-empty) .galaxy-touch{display:none}

/* A tapped sky keeps its brightness when focus returns to the prompt. */
.has-composer-sky.sky-is-lit .composer-sky{opacity:1}
