/* UI v2.7.250 */
:root { --arrival-ink: #060c16; --arrival-line: #6ee7d433; --arrival-blue: #78baff; }
.brand-arrival[hidden] { display: none; }
.brand-arrival { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; background: radial-gradient(ellipse at center, #132b40, var(--arrival-ink) 70%); animation: arrival-backdrop 1.2s 4.7s ease-in forwards; }
.arrival-center { position: relative; display: grid; justify-items: center; gap: 30px; }
.arrival-symbol { position: relative; width: 180px; height: 180px; filter: drop-shadow(0 0 18px #6ee7d435); }
.arrival-symbol i { position: absolute; inset: 0; background: url('/doculens_rounded_logo.png?v=3') center/contain no-repeat; animation: arrival-piece 3.2s cubic-bezier(.16,1,.3,1) both; }
.arrival-symbol i:nth-child(1) { clip-path: inset(0 50% 50% 0); --piece-x: -50vw; --piece-y: -50vh; }
.arrival-symbol i:nth-child(2) { clip-path: inset(0 0 50% 50%); --piece-x: 50vw; --piece-y: -50vh; animation-delay: .15s; }
.arrival-symbol i:nth-child(3) { clip-path: inset(50% 50% 0 0); --piece-x: -50vw; --piece-y: 50vh; animation-delay: .3s; }
.arrival-symbol i:nth-child(4) { clip-path: inset(50% 0 0 50%); --piece-x: 50vw; --piece-y: 50vh; animation-delay: .45s; }
.arrival-wordmark { font-size: clamp(30px, 5vw, 48px); font-weight: 600; letter-spacing: -.045em; color: #edf6ff; animation: arrival-word 2s .6s both; }
.arrival-orbit { position: absolute; width: 360px; height: 360px; border: 1px solid var(--arrival-line); border-radius: 50%; top: -90px; pointer-events: none; animation: arrival-orbit 3.8s ease-out both; }
.arrival-orbit::after { content: ''; position: absolute; inset: 18px; border: 1px dashed #78baff40; border-radius: inherit; }
.arrival-skip { position: absolute; bottom: 35px; right: 35px; color: #c0d1e5; background: transparent; border: 1px solid #38506a; border-radius: 8px; padding: 12px 18px; cursor: pointer; }
.arrival-version { position: absolute; left: 25px; bottom: 25px; color: #99afc7; font-size: 12px; }
@keyframes arrival-piece { from { opacity: 0; transform: translate(var(--piece-x), var(--piece-y)) rotate(12deg) scale(.6); } 70%, to { opacity: 1; transform: none; } }
@keyframes arrival-symbol { 0% { transform: scale(.78); } 55%, 75% { transform: scale(1); } 100% { transform: scale(.65) translateY(-20px); } }
@keyframes arrival-word { from { opacity: 0; transform: translateY(16px); letter-spacing: .12em; } to { opacity: 1; transform: none; letter-spacing: -.045em; } }
@keyframes arrival-orbit { from { opacity: 0; transform: scale(1.35) rotate(-40deg); } 60% { opacity: 1; } to { opacity: .4; transform: scale(1) rotate(20deg); } }
@keyframes arrival-exit { to { opacity: 0; visibility: hidden; } }
@keyframes arrival-backdrop { to { background: transparent; } }
.studio-workspace { background: var(--arrival-ink); }
.studio-workspace .sidebar { background: #0a1320; }
.studio-workspace .content { background: radial-gradient(ellipse at 90% 0%, #132e4835, transparent 65%); }
#tab-intro .intro-layout { position: relative; min-height: min(740px, 82vh); grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); align-items: center; padding: 35px 0 50px; gap: 25px; }
#tab-intro .intro-overline { color: #a4bad2; letter-spacing: .22em; font-size: .68rem; margin-bottom: 28px; }
#tab-intro .intro-hero h1 { font-size: clamp(3.1rem, 5.5vw, 6.8rem); line-height: 1.04; max-width: 900px; font-weight: 550; letter-spacing: -.06em; }
#tab-intro .intro-hero h1 span { background: linear-gradient(120deg, #6ee7d4, #78baff); background-clip: text; -webkit-background-clip: text; color: transparent; }
#tab-intro .intro-sub { margin: 28px 0 0; max-width: 470px; color: #c0d0e2; font-size: 1.05rem; line-height: 1.65; }
#tab-intro .intro-actions { margin-top: 32px; }
#tab-intro .intro-credit { margin-top: 34px; color: #93aac4; }
#tab-intro .intro-client-compute-status:not([hidden]) { display: block; max-width: 480px; margin-top: 16px; color: #aac9df; font-size: .76rem; line-height: 1.5; overflow-wrap: anywhere; }
#tab-intro .intro-client-compute-status + .client-compute-meter { display: none !important; }
.intro-visual { position: relative; min-height: 400px; display: grid; place-items: center; pointer-events: none; isolation: isolate; }
.intro-visual::before { content: ''; position: absolute; inset: 8%; background: radial-gradient(circle, #6ee7d424, transparent 70%); }
.intro-visual img { width: clamp(140px, 13vw, 200px); height: auto; filter: drop-shadow(0 18px 45px #0008); z-index: 1; }
.intro-orbit { position: absolute; width: 88%; aspect-ratio: 1; border: 1px solid #6ee7d445; border-radius: 50%; transform: rotateX(58deg) rotate(-28deg); box-shadow: 0 0 40px #6ee7d409; }
.intro-orbit.two { width: 105%; transform: rotateX(58deg) rotate(40deg); border-color: #78baff40; }
.intro-orbit.three { width: 70%; transform: rotateY(48deg) rotate(-12deg); border-style: dashed; border-color: #78baff45; }
.intro-crosshair { position: absolute; width: 100%; height: 1px; background: linear-gradient(90deg, transparent, #78baff50, transparent); }
.intro-crosshair::after { content: ''; position: absolute; width: 1px; height: 300px; top: -150px; left: 50%; background: linear-gradient(transparent, #78baff50, transparent); }
#tab-intro .intro-seo { padding-top: 24px; }
#tab-intro .intro-seo-card { padding: 22px; background: #0c1929; min-height: 140px; }
#tab-intro .intro-seo-card h3 { font-size: 1.1rem; margin: 8px 0 16px; }
#tab-intro .intro-seo-card-label { letter-spacing: .1em; font-size: .65rem; }
#tab-intro .intro-seo-bottom { margin-top: 22px; display: block; }
.workspace-version { color: #93aac4; font-size: 12px; margin-top: 30px; }
.keyboard-nav-hint { padding: 10px 12px; }
.keyboard-nav-hint span { font-size: .7rem; }
.core-source-readers { margin: 16px 0 0 auto; padding: 16px 18px; max-width: 440px; border: 1px solid #304c68; border-radius: 12px; background: #0d1c2c; }
.core-source-readers strong { font-size: .9rem; }
.core-source-readers p { font-size: .76rem; color: #aec2d9; margin: 5px 0 10px; }
.core-source-readers ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.core-source-readers a { display: inline-block; padding: 8px 10px; border: 1px solid #365672; border-radius: 7px; color: #9ce9e0; font-size: .8rem; }
.cr-run-board + .core-source-readers { margin-top: 16px; }
.cr-run-activity-entry small { display: none; }
.cr-run-activity-entry b { font-weight: 450; }
.cr-setup-fields { grid-template-columns: minmax(110px,.8fr) minmax(180px,1.5fr) minmax(105px,.7fr) 12px minmax(105px,.7fr) minmax(105px,.7fr); }
.cr-similarity { display: block !important; grid-column: auto; }
.cr-settings-button { display: none; }
.library-shortcut { display: inline-flex; align-items: center; gap: 10px; background: transparent; border: 1px solid #304c68; color: #c0d6eb; border-radius: 9px; padding: 12px 16px; margin-top: 22px; cursor: pointer; }
.nav-item.is-running::after { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #6ee7d4; margin-left: auto; box-shadow: 0 0 10px #6ee7d470; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.cr-board-grid { grid-template-columns: minmax(0, 1fr) minmax(230px, .38fr); gap: 22px; }
.cr-source-dock { position: sticky; top: 20px; min-width: 0; }
.cr-source-placeholder { padding: 18px; border: 1px dashed #304c68; border-radius: 12px; }
.cr-source-placeholder p { color: #aec2d9; font-size: .8rem; margin: 8px 0 0; }
.cr-source-dock .core-source-readers { margin-top: 0; width: 100%; }
.cr-evidence-row em { display: none; }
.cr-evidence-name small { display: none; }
.tab { animation: none; }
.library-browse-views { display: flex; gap: 8px; flex-wrap: wrap; }
.library-browse-views button, .library-load-more { color: #bed2e8; background: #0c1b2c; border: 1px solid #34516d; border-radius: 8px; padding: 10px 15px; min-height: 42px; cursor: pointer; }
.library-browse-views button[aria-pressed="true"] { color: #9af4e3; border-color: #589b97; background: #153039; }
.library-load-more { display: block; margin: 16px auto 0; }
.library-load-more[hidden], .workspace-run-tray[hidden] { display: none; }
.library-sync-notice { color: #d8bf91; font-size: .8rem; padding: 10px 0; margin: 0; }
.cr-library-card { content-visibility: auto; contain-intrinsic-size: auto 190px; }
.workspace-run-tray { position: sticky; bottom: 16px; z-index: 10; display: flex; gap: 8px; flex-wrap: wrap; margin-top: 18px; }
.workspace-run-tray:empty { display: none; }
.workspace-run-tray button { background: #142a3c; color: #d7f8f1; border: 1px solid #57938d; padding: 10px 14px; border-radius: 9px; font-size: .8rem; cursor: pointer; box-shadow: 0 8px 30px #0005; }
.workspace-run-tray button::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #6ee7d4; margin-right: 9px; }
@media (max-width: 1200px) { .cr-setup-fields { grid-template-columns: 1fr 1.4fr 1fr; } .cr-setup-fields label:nth-child(2) { grid-column: auto; } .cr-year-dash { display: none; } }
@media (max-width: 900px) { #tab-intro .intro-layout { grid-template-columns: 1fr; min-height: auto; padding-top: 32px; } .intro-visual { position: absolute; right: -10px; top: 0; width: 220px; min-height: 230px; opacity: .2; z-index: -1; } #tab-intro .intro-hero h1 { font-size: clamp(3rem, 8vw, 5rem); } }
@media (max-width: 1050px) { .cr-board-grid { grid-template-columns: 1fr; } .cr-source-dock { position: static; } }
@media (max-width: 600px) { .cr-setup-fields { grid-template-columns: 1fr 1fr; } .cr-setup-fields label:nth-child(2) { grid-column: auto; } #tab-intro .intro-layout { padding-bottom: 36px; } .core-source-readers { max-width: none; } .arrival-orbit { width: 280px; height: 280px; top: -50px; } }
@media (prefers-reduced-motion: reduce) { .brand-arrival { display: none; } .brand-arrival *, .intro-visual * { animation: none !important; } }

/* Compact centered home, inline library, and consistent controls. */
#tab-intro .intro-layout { min-height: 0; grid-template-columns: minmax(0, 1fr); padding: 48px 0 32px; gap: 0; }
#tab-intro .intro-hero { width: 100%; max-width: 900px; margin: 0 auto; text-align: center; }
#tab-intro .intro-hero h1 { font-size: clamp(2.7rem, 4.8vw, 5rem); margin-inline: auto; }
#tab-intro .intro-overline { margin-bottom: 18px; }
#tab-intro .intro-sub { max-width: 620px; margin: 22px auto 0; }
#tab-intro .intro-actions { justify-content: center; flex-wrap: wrap; margin-top: 24px; }
#tab-intro .intro-credit { margin-top: 20px; }
.workspace-version { margin-top: 24px; padding: 16px 0; border-top: 1px solid #304c68; text-align: left; }
.arrival-wordmark { animation: arrival-word 2s .6s both, arrival-exit 1s 4.7s forwards; }
.arrival-orbit { animation: arrival-orbit 4.8s ease-out both, arrival-exit 1s 4.7s forwards; }
.arrival-version { animation: arrival-exit 1s 4.7s forwards; }
.core-saved-artifacts { margin-top: 24px; border: 1px solid #304c68; border-radius: 12px; background: #0c1929; }
.core-saved-artifacts > summary { padding: 18px 20px; min-height: 48px; color: #e1edf9; cursor: pointer; font-weight: 600; }
.core-saved-artifacts > summary:focus-visible { outline: 2px solid #6ee7d4; outline-offset: 3px; }
.library-summary-hint { margin-left: 12px; font-size: .8rem; font-weight: 400; color: #b5c9de; }
#core-saved-artifacts-library { padding: 0 16px 16px; }
.studio-workspace .run-btn, .studio-workspace .help-overview-actions button { min-height: 44px; border-radius: 10px; transition: background .18s, border-color .18s, box-shadow .18s; }
.studio-workspace .run-btn:hover { box-shadow: 0 4px 18px #6ee7d426; }
.help-overview-step { align-items: center; }
@media (max-width: 760px) { #tab-intro .intro-layout { padding: 28px 0 24px; } .library-summary-hint { display: block; margin: 8px 0 0 18px; } }
@media (prefers-reduced-motion: reduce) { .studio-workspace .run-btn { transition: none; } }
