/* Management shell: scoped to authenticated management pages, never to the show. */
@font-face {font-family:Studio;src:url('ai/fonts/Pretendard-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face {font-family:Studio;src:url('ai/fonts/Pretendard-SemiBold.woff2') format('woff2');font-weight:500 600;font-display:swap}
@font-face {font-family:Studio;src:url('ai/fonts/Pretendard-Bold.woff2') format('woff2');font-weight:700 900;font-display:swap}
body.ui-shell {--bg:#f6f7f9;--grad-blue:var(--blue,#2f6bff);--grad-navy:var(--ink,#14213d);--shadow-card:none;background:#f6f7f9;padding-left:216px;font-family:Studio,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:16px;line-height:1.55;color:#14213d}
.ui-shell *, .product-drawer * {box-sizing:border-box}
.ui-shell [hidden] {display:none!important}
.ui-shell .replaced-navigation {display:none!important}
.ui-shell > .app,.ui-shell > .wrap,.ui-shell > .setup {max-width:1600px;width:100%;margin:0 auto;padding:32px 32px 56px;min-width:0}
.ui-shell h1,.ui-shell .setup h1 {font-size:26px;line-height:1.3;font-weight:700;letter-spacing:-.03em}
.ui-shell h2 {font-weight:600}
.ui-shell .top,.ui-shell .setup-head {gap:20px;margin-bottom:26px;align-items:center}
.ui-shell .top-left,.ui-shell .top > div:first-child,.ui-shell .setup-head > div:first-child {min-width:0}
.ui-shell .top-right {flex-wrap:wrap;gap:8px;min-width:0}
.ui-shell .card {border:1px solid #e3e7f0;border-radius:10px;box-shadow:none}
.ui-shell button,.ui-shell .btn-primary,.ui-shell .btn-dark {font-weight:600;box-shadow:none;border-radius:7px}
.ui-shell .btn-ghost {background:#f0f3f8;color:#36455f}
.ui-shell .btn-ghost.danger {color:#b42318;background:#fff1f0}
.ui-shell .btn-primary {background:#2f6bff;color:white}
.ui-shell .btn-dark {background:#14213d;color:white}
.ui-shell :is(button,a,input,select,summary):focus-visible {outline:2px solid #2f6bff;outline-offset:3px}
.ui-shell .user {box-shadow:none;background:transparent;border-radius:0;gap:8px;padding:0}
.ui-shell .user .who {font-size:14px;min-height:40px}
.ui-shell .pill {box-shadow:none}
.product-sidebar {position:fixed;inset:0 auto 0 0;width:216px;background:white;border-right:1px solid #e3e7f0;z-index:40}
.product-nav {display:flex;flex-direction:column;height:100%;overflow:auto;padding:32px 16px 20px;color:#14213d;font-family:Studio,system-ui,sans-serif}
.product-brand {display:block;text-decoration:none;color:#66718c;margin:0 12px 26px;flex:none}
.product-brand img {width:124px;height:auto;display:block}
.product-brand > span {display:block;font-size:14px;margin-top:9px;letter-spacing:.02em}
.product-nav-label {font-size:13px;letter-spacing:.04em;color:#707b90;margin:23px 12px 7px;font-weight:600}
.product-nav nav > .product-nav-label:first-child {margin-top:0}
.product-nav-link {display:flex;align-items:center;gap:11px;min-height:44px;padding:10px 12px;border-radius:6px;color:#4e5c73;font-size:16px;font-weight:500;text-decoration:none;margin:2px 0;transition:background-color 120ms}
.product-nav-link svg {width:19px;height:19px;flex:none}
.product-nav-link:hover {background:#f3f5f8;color:#14213d}
.product-nav-link[aria-current] {color:#245ce0;background:#edf2ff;font-weight:600;box-shadow:inset 3px 0 #2f6bff}
.product-external {margin-left:auto;font-size:15px;color:#778197}
.product-nav-footer {display:flex;gap:10px;align-items:center;margin-top:auto;padding:24px 10px 0;font-size:14px}
.product-nav-footer > div {min-width:0}
.product-nav-footer strong {display:block;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-nav-footer span:not(.product-avatar) {display:block;color:#66718c}
.product-avatar {display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eef1f5;flex:none}
.product-mobilebar,.folder-toggle {display:none}
.product-drawer {inset:0 auto 0 0;margin:0;width:280px;max-width:calc(100vw - 44px);height:100dvh;max-height:none;border:0;padding:0;background:white;color:#14213d}
.product-drawer::backdrop {background:rgba(20,33,61,.4)}
.product-close {position:absolute;right:10px;top:12px;display:grid;place-items:center;width:40px;height:40px;border:0;background:transparent;color:#4e5c73;cursor:pointer;z-index:1}
.product-close svg,.product-menu-button svg {width:20px;height:20px}
.product-skip {position:fixed;left:232px;top:-80px;padding:12px 18px;background:#14213d;color:white;z-index:1000;border-radius:4px}
.product-skip:focus {top:8px}
.ui-shell[data-navigation=slides] .layout {grid-template-columns:216px minmax(0,1fr);gap:24px}
.ui-shell[data-navigation=slides] .side {padding:0 20px 0 0;background:none;border:0;border-right:1px solid #e3e7f0;border-radius:0;min-width:0}
.ui-shell[data-navigation=slides] .side-head {flex-wrap:wrap;gap:6px;margin-bottom:10px}
.ui-shell[data-navigation=slides] .side-head h2 {font-size:14px;color:#66718c}
.ui-shell[data-navigation=slides] .side-head button {padding:4px 8px;font-size:14px;min-height:32px;background:transparent;color:#4e5c73}
.ui-shell[data-navigation=slides] .tree {margin-bottom:24px}
.ui-shell[data-navigation=slides] .tree li > .row {font-size:15px;font-weight:500;border-radius:6px;padding:9px 8px;min-height:38px}
.ui-shell[data-navigation=slides] .tree li > .row.on {background:#e9edf4;color:#14213d}
.ui-shell[data-navigation=slides] .tree .row.on .cnt {background:#d9e1ee;color:#36455f}
.ui-shell[data-navigation=slides] .main {min-width:0;padding:24px}
.ui-shell[data-navigation=slides] .main-head {flex-wrap:wrap;align-items:center;margin:8px 0 20px;gap:16px}
.ui-shell[data-navigation=slides] .main-head h2 {font-size:21px}
.ui-shell[data-navigation=slides] .main-head .btns {gap:6px}
.ui-shell[data-navigation=slides] .filter {gap:12px;margin-bottom:20px}
.ui-shell[data-navigation=slides] .filter input {flex-basis:100%;font-size:14px;border-radius:7px}
.ui-shell[data-navigation=slides] .cats {flex-basis:100%}
.ui-shell[data-navigation=slides] .decks {grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:14px}
.ui-shell[data-navigation=slides] .deck {border-radius:8px;padding:18px;gap:12px;cursor:default}
.ui-shell[data-navigation=slides] .deck .title a {color:#14213d;text-decoration:none;line-height:1.5}
.ui-shell[data-navigation=slides] .deck .title a:hover {color:#2f6bff;text-decoration:underline}
.ui-shell[data-navigation=slides] .deck .open a {background:#f0f3f8;color:#4e5c73;border-radius:6px;font-weight:500;box-shadow:none;font-size:14px}
.ui-shell[data-navigation=slides] .deck .open a.adm {background:#edf2ff;color:#245ce0;font-weight:600}
.ui-shell .deck-more {position:relative;margin-top:auto}
.ui-shell .deck-more > summary {font-size:14px;color:#66718c;cursor:pointer;min-height:32px;display:flex;align-items:center;width:fit-content;gap:8px}
.ui-shell .deck-more > summary::after {content:'⌄'}
.ui-shell .deck-more > summary::-webkit-details-marker {display:none}
.ui-shell .deck-more[open] > summary::after {content:'⌃'}
.ui-shell .deck-more .ops {padding-top:4px}
.ui-shell .nav {box-shadow:none;background:transparent;flex-wrap:wrap;border-radius:0;padding:0;gap:8px;justify-content:flex-start}
.ui-shell .nav a {font-size:15px;border-radius:6px;padding:9px 12px;font-weight:500}
.ui-shell .nav .editor-back {background:transparent;color:#4e5c73;padding-left:0}
.ui-shell[data-navigation=editor] .top {flex-wrap:wrap;align-items:flex-start;margin-bottom:20px}
.ui-shell[data-navigation=editor] .top > div:first-child {flex-basis:100%}
.ui-shell[data-navigation=editor] .top-right {flex-direction:row;width:100%;align-items:center;justify-content:space-between}
.ui-shell[data-navigation=editor] .launch {padding:20px;gap:24px}
.ui-shell[data-navigation=editor] .launch h2 {font-size:15px}
.ui-shell[data-navigation=editor] .launch .btns button {font-size:16px;padding:9px 12px;min-height:44px}
.ui-shell[data-navigation=editor] .list-head {border-radius:10px 10px 0 0;gap:12px}
.ui-shell .lk-nav {margin-top:12px}
.ui-shell .lk-nav a {border-radius:6px}
@media(min-width:901px) and (max-width:1200px) {
 .ui-shell > .app,.ui-shell > .wrap,.ui-shell > .setup {padding:24px}
 .ui-shell[data-navigation=slides] .layout {grid-template-columns:180px minmax(0,1fr);gap:18px}
 .ui-shell[data-navigation=slides] .side {padding-right:14px}
 .ui-shell[data-navigation=editor] .launch {grid-template-columns:1fr}
}
@media(max-width:900px) {
 body.ui-shell {padding-left:0}
 .product-sidebar {display:none}
 .product-mobilebar {display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:45;background:white;border-bottom:1px solid #e3e7f0;padding:8px 16px;height:60px;font-size:16px;font-weight:600}
 .product-menu-button {display:flex;align-items:center;gap:8px;background:transparent;color:#4e5c73;padding:0 10px 0 0;min-height:44px;font-size:15px}
 .product-drawer .product-nav {padding-top:36px}
 .product-drawer .product-brand {margin-right:40px}
 .product-skip {left:12px}
 .ui-shell > .app,.ui-shell > .wrap,.ui-shell > .setup {padding:24px 20px 40px}
 .ui-shell .top,.ui-shell .setup-head {flex-direction:column;align-items:stretch;gap:12px;margin-bottom:20px}
 .ui-shell h1,.ui-shell .setup h1 {font-size:23px}
 .ui-shell .top-right {justify-content:flex-start}
 .ui-shell[data-navigation=slides] .layout {display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .ui-shell .folder-toggle {display:block;justify-self:start;min-height:44px;padding:10px 14px;background:white;border:1px solid #d7deea;color:#36455f;font-size:15px}
 .ui-shell[data-navigation=slides] .side {display:none;padding:16px;background:white;border:1px solid #e3e7f0;border-radius:8px}
 .ui-shell[data-navigation=slides] .side.folder-open {display:block}
 .ui-shell[data-navigation=slides] .main {padding:20px}
 .ui-shell[data-navigation=slides] .main-head {align-items:stretch}
 .ui-shell .list-head {top:60px}
 .ui-shell[data-navigation=editor] .launch {grid-template-columns:1fr}
 .ui-shell[data-navigation=editor] .top > div:first-child {flex-basis:auto}
 .ui-shell[data-navigation=editor] .top-right {align-items:flex-start}
 .ui-shell .setup-actions {flex-wrap:wrap}
}
@media(max-width:480px) {
 .ui-shell > .app,.ui-shell > .wrap,.ui-shell > .setup {padding:20px 14px 32px}
 .ui-shell[data-navigation=slides] .main {padding:16px}
 .ui-shell .decks {grid-template-columns:minmax(0,1fr)}
 .ui-shell[data-navigation=slides] .main-head .btns {flex-wrap:wrap}
 .ui-shell button.small,.ui-shell .deck .ops button {min-height:40px}
 .ui-shell .lk-cards {grid-template-columns:minmax(0,1fr)}
 .ui-shell .launch .btns button {flex:1 1 auto}
 .ui-shell .nav a {padding:8px;font-size:14px}
 .ui-shell .status {font-size:14px}
 .ui-shell .list-head {position:static}
}
@media(prefers-reduced-motion:reduce) {.product-nav-link {transition:none}}
.product-mobile-brand {margin-left:auto;display:block;line-height:0}
.product-mobile-brand img {height:18px;width:auto}
.ui-shell .deck .title {font-weight:600}
.ui-shell .deck .open a {min-height:40px;display:flex;align-items:center;justify-content:center}
.ui-shell .deck-more > summary {min-height:40px}
.ui-shell #workspaceContent,.ui-shell main {scroll-margin-top:76px}
.product-menu-button {border:0;box-shadow:none}
.ui-shell .lk-links {min-width:0}
.ui-shell .lk-links code {overflow-wrap:anywhere;word-break:break-word;max-width:100%}
@media(max-width:600px) {
 .ui-shell .lk-info {grid-template-columns:minmax(0,1fr)}
 .ui-shell .lk-links .row {min-width:0}
 .ui-shell .lk-links .row code {flex-basis:100%}
}

/* Keep guidance available without competing with the current task. */
.ui-help {margin:8px 0;color:#536077;font-size:15px;line-height:1.6}
.ui-help > summary,.compact-info > summary {cursor:pointer;min-height:40px;align-content:center;font-weight:600}
.ui-help > summary:hover {color:#14213d}
.ui-help > summary:focus-visible,.compact-info > summary:focus-visible,.tool-menu > summary:focus-visible {outline:2px solid #2563eb;outline-offset:3px;border-radius:4px}
.ui-help[open] > summary {margin-bottom:6px}
.ui-help ul {padding-left:20px;margin:4px 0 12px}
.editor-options {display:flex;gap:8px 24px;flex-wrap:wrap;margin:2px 0 8px}
.editor-options .ui-help {margin:0;flex:0 1 auto}
.editor-options .ui-help[open] {flex-basis:100%}
.screen-options .btns {margin-bottom:8px}
#sessInfo:empty,.insert-status:empty {display:none}
.deck-links .foot {text-align:left;overflow-wrap:anywhere}
.tool-menu {position:relative;font-size:15px}
.tool-menu > summary {list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;min-height:40px;padding:9px 12px;border:1px solid #d7deea;background:white;border-radius:6px;color:#36455f;box-sizing:border-box;font-weight:600}
.tool-menu > summary::-webkit-details-marker {display:none}
.tool-menu > summary::after {content:'▾';font-size:11px}
.tool-menu[open] > summary::after {content:'▴'}
.tool-menu-body {position:absolute;right:0;top:calc(100% + 6px);min-width:172px;display:grid;gap:4px;padding:6px;background:white;border:1px solid #d7deea;border-radius:8px;box-shadow:0 8px 24px #14213d1a;z-index:30}
.tool-menu-body button {text-align:left;min-height:40px;border:0!important;box-shadow:none!important}
.compact-info > summary {font-size:15px;color:#14213d}
.compact-info[open] > summary {margin-bottom:16px}
@media(max-width:480px) {.tool-menu {flex:1 1 auto}.ui-help {line-height:1.7}}
.ui-shell .winners-card .card-title {flex-wrap:wrap;gap:12px}
.ui-shell .winners-card .card-title > div {flex-wrap:wrap}
.ui-shell .winners-card .btn-mini {min-height:36px;white-space:nowrap}

/* Readable management type: actions 16px, supporting copy 14px. Includes the public editor. */
body[data-navigation] {--ui-action-size:16px;--ui-copy-size:14px;font-size:16px}
body[data-navigation] :is(button,.btn-primary,.btn-dark,.btn-ghost,.btn-mini,.deck .open a,.nav a,.lk-nav a,.tool-menu > summary) {font-size:var(--ui-action-size);line-height:1.4;min-height:44px}
body[data-navigation] :is(.hint,.ui-help,.meta,.foot,.status,.rcard .mt,.lk-card .mt,.disp-desc,.ctl-sub,.ctl-label,.item .m) {font-size:var(--ui-copy-size);line-height:1.6}
body[data-navigation] :is(.chkpill,.check,.chkrow,.fld,.crumbs,.item .tt,.prize-fields label,.p-drop) {font-size:15px;line-height:1.5}
body[data-navigation] :is(input:not([type=checkbox]):not([type=radio]),textarea,select) {font-size:16px}
body[data-navigation] :is(.ui-help > summary,.remote > summary) {font-size:15px;min-height:44px;align-content:center}
body[data-navigation] .ctl-btn b {font-size:17px}
body[data-navigation] .ctl-btn span {font-size:14px;line-height:1.5}
body[data-navigation] .item .ops {flex-wrap:wrap}
body[data-navigation] .item > div:nth-child(3) {min-width:0}
body[data-navigation] .nav {flex-wrap:wrap}
body[data-navigation] .nav a {white-space:normal}
.ui-shell[data-navigation=slides] .deck .open {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.ui-shell[data-navigation=slides] .deck .open a {font-size:16px;min-height:44px;padding:10px 8px}
.ui-shell[data-navigation=slides] .deck .open a.adm {grid-column:1/-1}
.ui-shell[data-navigation=slides] .side-head button {font-size:15px;min-height:40px}
.ui-shell[data-navigation=slides] .tree li > .row {font-size:15px;min-height:44px}
.ui-shell .folder-toggle,.product-menu-button {font-size:16px}
.product-nav-link {font-size:16px}
.product-nav-footer strong {font-size:14px}
@media(min-width:721px) and (max-width:1280px) {
 body[data-navigation=editor] .item {grid-template-columns:32px 140px minmax(0,1fr);grid-template-areas:"n thumb info" "n ops ops"}
 body[data-navigation=editor] .item .n {grid-area:n}
 body[data-navigation=editor] .item .thumb {grid-area:thumb;width:140px}
 body[data-navigation=editor] .item > div:nth-child(3) {grid-area:info}
 body[data-navigation=editor] .item .ops {grid-area:ops;justify-content:flex-end}
}
@media(max-width:600px) {
 body[data-navigation=editor] .list-head .btns {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
 body[data-navigation=editor] .list-head .btns > * {min-width:0}
 body[data-navigation=editor] .list-head .btns button {padding:10px 8px}
 body[data-navigation=editor] .tool-menu-body {min-width:180px;right:auto;left:0}
 body[data-navigation] .rtabs {flex-wrap:wrap}
 body[data-navigation] .rtabs button {flex:1 1 auto}
}
/* Keep radio descriptions in one reading flow when their text wraps on phones. */
body[data-navigation] .radios label {display:block;position:relative;padding-left:26px;font-size:14px;line-height:1.6}
body[data-navigation] .radios input {position:absolute;left:0;top:4px;margin:0;width:16px;height:16px}
