/* Independent question-bank service; colors and shapes use the accepted 01 theme. */
body{background:var(--color-bg)}
.service-shell{min-height:100vh;--sidebar-width:246px}
.service-icon{width:21px;height:21px;flex:none;vertical-align:middle}
.service-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;z-index:25;padding:0}
.service-brand{display:flex;gap:12px;align-items:center;padding:26px 25px 25px;border-bottom:1px solid var(--color-border);color:var(--color-navy);text-decoration:none;flex:none}
.service-logo{width:39px;height:39px;background:var(--color-bluegray);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;place-items:center;color:var(--color-primary)}
.service-logo svg{width:29px;height:29px;stroke-width:2.5}
.service-brand strong{font-size:19px;letter-spacing:var(--tracking-tight)}
.service-brand small{display:block;color:var(--color-primary);font-size:12px;font-weight:700;margin-top:4px}
.service-menu-disclosure{flex:1;min-height:0;overflow:auto}
.service-menu-disclosure>summary{display:none}
.service-menu-disclosure:not([open])>.sidebar-inner,.sidebar-inner{display:flex;flex-direction:column;min-height:100%;padding:14px 14px 16px}
.service-menu-link{display:flex;width:100%;align-items:center;gap:12px;min-height:45px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-sub);text-decoration:none;text-align:left;padding:10px 12px;font:inherit;font-size:13px;font-weight:550;cursor:pointer;margin:2px 0}
.service-menu-link:hover{background:var(--color-bg);color:var(--color-navy)}
.service-menu-link.active{background:var(--color-bluegray);color:var(--color-primary);font-weight:750}
.service-menu-link span{flex:1}
.service-menu-link.upcoming{color:var(--color-text-mute);cursor:default}
.service-menu-link.upcoming small{font-size:9px;white-space:nowrap;color:var(--color-warning-deep);background:var(--color-warning-bg);padding:3px 5px;border-radius:var(--radius-pill)}
.service-extra-menu,.service-account{border-top:1px solid var(--color-border);margin-top:17px;padding-top:14px}
.service-account{margin-top:auto}
.service-preview-controls{border:1px solid var(--color-border);background:var(--color-bg);border-radius:var(--radius-lg);padding:18px 12px 11px;margin:9px 4px 0;display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--color-text-sub)}
.service-preview-controls select{width:100%;font-size:12px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.service-preview-controls .progress-toggle{justify-content:flex-start;font-size:11px}
.sidebar-example{font-size:10px;text-align:center;color:var(--color-text-mute);margin:10px 0 0}
.service-workspace{margin-left:var(--sidebar-width);min-width:0}
.service-topbar{min-height:72px;border-bottom:1px solid var(--color-border);background:var(--color-surface);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 34px}
.academy-identity{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px}
.academy-identity strong{color:var(--color-navy);font-weight:750}
.academy-identity>span{font-size:12px;color:var(--color-text-sub)}
.academy-identity small,.service-topbar-actions small{font-size:10px;color:var(--color-text-sub);margin-left:5px}
.service-topbar-actions{display:flex;align-items:center;gap:13px;padding-right:26px}
.answer-pill{border:1px solid var(--color-gold-light);border-radius:var(--radius-pill);background:var(--color-warning-bg);color:var(--color-warning-deep);padding:8px 12px;font:inherit;font-size:11px;white-space:nowrap;cursor:pointer}
.notification-button{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-pill);width:37px;height:37px;background:var(--color-surface);color:var(--color-text-sub);cursor:pointer}
.notification-button>span{position:absolute;top:-4px;right:-3px;border:2px solid var(--color-surface);border-radius:var(--radius-pill);font-size:9px;line-height:16px;min-width:20px;background:var(--color-danger);color:var(--color-surface)}
.usage-chip{font-size:11px;background:var(--color-bg);border:1px solid var(--color-border);padding:9px 12px;border-radius:var(--radius-pill);white-space:nowrap}
.usage-chip b{color:var(--color-navy);margin-left:6px}
main.service-main{max-width:1370px;margin:0 auto;padding:32px 42px 28px;min-width:0}
main.service-main.home-main{max-width:1240px;padding-top:36px}
.dashboard-intro{margin-bottom:8px}
.dashboard-info{display:flex;gap:10px;align-items:center;border:1px solid var(--color-info-bg);border-radius:var(--radius-lg);color:var(--color-primary-hover);background:var(--color-bluegray);padding:16px 20px;font-size:12px;padding-right:52px}
.dashboard-info>span{flex:1}.dashboard-info small{font-size:10px;white-space:nowrap}
.dashboard-greeting{margin-top:27px}
.dashboard-greeting h1{font-size:29px;line-height:1.4;letter-spacing:var(--tracking-tight);margin:0 0 8px;color:var(--color-navy);font-weight:750}
.dashboard-greeting p{color:var(--color-text-sub);font-size:13px;margin:0}
.service-dashboard{display:flex;flex-direction:column;gap:18px}
.service-dashboard h2{font-size:16px;line-height:1.45;margin:0;color:var(--color-navy);font-weight:750;letter-spacing:var(--tracking-tight)}
.season-card{display:flex;align-items:center;gap:21px;padding:23px 28px;border:1px solid var(--color-info-bg);background:var(--color-bluegray);border-radius:var(--radius-xl)}
.season-card>div:not(.progress-anchor){flex:1}
.season-card p{font-size:12px;color:var(--color-text-sub);margin:7px 0 0}
.season-card .btn{font-size:12px;background:var(--color-surface);white-space:nowrap;margin-right:12px}
.season-badge{font-size:11px;font-weight:700;color:var(--color-warning-deep);background:var(--color-warning-bg);border:1px solid var(--color-gold-light);border-radius:var(--radius-pill);padding:8px 11px}
.dashboard-actions{display:grid;grid-template-columns:1.45fr 1fr;gap:16px}
.dashboard-action-host{min-width:0}
.dashboard-action{display:flex;gap:17px;align-items:center;border-radius:var(--radius-xl);border:1px solid var(--color-border);min-height:120px;padding:24px 27px;text-decoration:none;height:100%}
.primary-action{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface);box-shadow:var(--shadow-brand)}
.primary-action h2{color:var(--color-surface);font-size:20px}
.primary-action p{color:var(--color-info-bg);font-size:12px;margin:7px 0 0}
.primary-action:hover{background:var(--color-primary-hover)}
.secondary-action{background:var(--color-surface);color:var(--color-navy)}
.secondary-action:hover{border-color:var(--color-primary)}
.secondary-action p{font-size:12px;color:var(--color-text-sub);margin:7px 0 0}
.action-symbol{width:48px;height:48px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface) 15%,transparent);display:grid;place-items:center;flex:none}
.action-symbol svg{width:26px;height:26px}
.secondary-action .action-symbol{background:var(--color-bluegray);color:var(--color-primary)}
.action-arrow{margin-left:auto;font-size:23px;color:var(--color-info-bg)}
.dashboard-stat-card,.dashboard-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-xs);min-width:0}
.dashboard-stat-label{font-size:10px;color:var(--color-text-mute);padding:13px 24px 0}
.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:9px 0 20px}
.dashboard-stats>div{padding:0 24px;border-right:1px solid var(--color-border);position:relative}
.dashboard-stats>div:last-child{border:0}
.dashboard-stats>div>span{font-size:12px;color:var(--color-text-sub);display:block}
.dashboard-stats strong{font-size:30px;letter-spacing:var(--tracking-tight);display:block;margin:10px 0 5px;color:var(--color-navy)}
.dashboard-stats strong small{font-size:12px;font-weight:500;margin-left:4px;color:var(--color-text-sub)}
.dashboard-stats p{font-size:10px;color:var(--color-text-mute);margin:0;line-height:1.6}
.dashboard-card{padding:24px}
.dashboard-card-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-right:20px}
.dashboard-card-heading>span{font-size:10px;color:var(--color-text-mute);line-height:1.6}
.dashboard-card-heading .text-link{font-size:11px;white-space:nowrap}
.topic-columns{display:grid;grid-template-columns:1fr 1fr;margin-top:17px;padding-top:14px;border-top:1px solid var(--color-border);gap:22px}
.topic-columns h3{font-size:10px;color:var(--color-text-sub);font-weight:500;margin:0 0 11px}
.topic-chips{display:flex;gap:8px;flex-wrap:wrap}
.topic-chip{font-size:11px;text-decoration:none;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-text-sub);padding:7px 12px}
.topic-chip>span{display:none}
.fresh .topic-chip{background:var(--color-bluegray);color:var(--color-primary-hover)}
.topic-chip:hover{border-color:var(--color-primary)}
.dashboard-lower{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}
.recent-papers{margin-top:20px;border-top:1px solid var(--color-border)}
.recent-papers>a{display:flex;align-items:center;gap:15px;padding:19px 0;border-bottom:1px solid var(--color-border);text-decoration:none;color:var(--color-text);font-size:12px}
.recent-papers strong{flex:1;font-weight:600}.recent-papers time{font-size:10px;color:var(--color-text-mute);white-space:nowrap}
.recent-status{background:var(--color-bg);color:var(--color-text-sub);border-radius:var(--radius-pill);padding:5px 8px;font-size:10px;white-space:nowrap}
.recent-status.editing{color:var(--color-warning-deep);background:var(--color-warning-bg)}
.dashboard-footnote{font-size:10px;color:var(--color-text-mute);margin:14px 0 0}
.readiness-intro{font-size:12px;color:var(--color-text-sub);margin:20px 0 15px}
.readiness-list{list-style:none;padding:0;margin:0 0 20px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg)}
.readiness-list li{display:flex;justify-content:space-between;gap:10px;padding:12px;font-size:11px;border-bottom:1px solid var(--color-border)}
.readiness-list li:last-child{border-bottom:0}.readiness-list b{font-size:10px;color:var(--color-text-mute);font-weight:500;white-space:nowrap}.readiness-list b.local-ready{color:var(--color-primary)}
.dashboard-card-heading>span.connection-dot{color:var(--color-text-sub);white-space:nowrap}.connection-dot:before{content:' ';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-text-mute);margin-right:5px}
.dashboard-lower .btn{font-size:11px;width:100%;justify-content:center}
.support-float{position:fixed;right:27px;bottom:25px;z-index:30}
.support-button{width:52px;height:52px;background:var(--color-primary);color:var(--color-surface);border:0;border-radius:var(--radius-pill);box-shadow:var(--shadow-brand);display:grid;place-items:center;cursor:pointer}
.support-button:hover{background:var(--color-primary-hover)}
.support-float>.progress-anchor{top:-13px;right:-8px}
.support-float .progress-tip{top:auto;bottom:35px}
.support-float .progress-tip:before{top:auto;bottom:-5px}
.service-sidebar .progress-tip{width:190px}
.service-preview-controls .progress-tip{top:auto;bottom:35px}
.service-preview-controls .progress-tip:before{top:auto;bottom:-5px}
#service-dialog{border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:27px;width:min(460px,calc(100vw - 32px));color:var(--color-text);box-shadow:var(--shadow-xl)}
#service-dialog::backdrop{background:color-mix(in srgb,var(--color-navy) 30%,transparent)}
.service-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.service-dialog-heading h2{font-size:19px;margin:0;color:var(--color-navy)}
#service-dialog-body{font-size:14px;line-height:1.9;color:var(--color-text-sub);margin:22px 0}
.skip-link{position:fixed;top:-60px;left:260px;z-index:100;background:var(--color-surface);padding:10px;color:var(--color-primary)}.skip-link:focus{top:8px}
.service-shell :focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.service-main footer{margin-top:34px}
@media(min-width:1600px){main.service-main.home-main{padding-top:38px}.dashboard-actions{grid-template-columns:1.45fr 1fr}.dashboard-greeting h1{font-size:30px}}
@media(max-width:1100px){.service-shell{--sidebar-width:222px}.service-topbar{padding:15px 23px}.academy-identity{gap:5px;flex-direction:column;align-items:flex-start}.service-topbar-actions{gap:8px}.answer-pill{display:none}main.service-main,main.service-main.home-main{padding:27px 25px}.dashboard-stats>div{padding:0 16px}.dashboard-lower{grid-template-columns:1fr}.season-card{padding:24px 20px}.dashboard-action{padding:24px 20px}.dashboard-action p{line-height:1.6}.primary-action h2{font-size:18px}}
@media(max-width:800px){.service-sidebar{position:relative;width:auto;inset:auto;display:block}.service-brand{padding:16px 20px;min-height:76px}.service-menu-disclosure{overflow:visible}.service-menu-disclosure>summary{display:flex;justify-content:space-between;cursor:pointer;padding:12px 22px;background:var(--color-surface);font-size:12px;color:var(--color-primary);border-bottom:1px solid var(--color-border)}.service-menu-disclosure:not([open])>.sidebar-inner{display:none}.sidebar-inner{min-height:0;padding:12px 16px 18px}.service-workspace{margin-left:0}.service-menu-link{font-size:13px;min-height:44px}.service-account{margin-top:14px}.service-preview-controls{max-width:380px}.sidebar-example{text-align:left;margin-left:7px}.service-topbar{padding:15px 20px;gap:10px;min-height:83px}.service-topbar-actions{padding-right:15px;gap:10px}.usage-chip{font-size:10px;padding:8px}.usage-chip b{margin-left:3px}.usage-chip small{display:block;margin-left:0}.academy-identity{font-size:12px}.academy-identity>span{font-size:10px}.notification-button{width:33px;height:33px}.notification-button svg{width:18px;height:18px}main.service-main,main.service-main.home-main{padding:24px 18px}.service-dashboard{gap:15px}.dashboard-info{font-size:11px;padding:17px 31px 17px 14px;line-height:1.7;align-items:flex-start}.dashboard-info small{display:none}.dashboard-info svg{width:17px;height:17px;margin-top:1px}.dashboard-intro{margin-bottom:8px}.dashboard-greeting{margin-top:23px}.dashboard-greeting h1{font-size:23px}.dashboard-greeting p{font-size:12px;line-height:1.8}.season-card{gap:12px;flex-wrap:wrap;padding:23px 16px}.season-card>div:not(.progress-anchor){min-width:200px}.season-card .btn{margin-left:54px;font-size:11px;min-height:37px}.season-card h2{font-size:14px}.season-card p{font-size:11px;line-height:1.7}.season-badge{font-size:10px;padding:7px 10px}.dashboard-actions{grid-template-columns:1fr;gap:13px}.dashboard-action{min-height:107px;padding:22px 20px}.dashboard-action h2{font-size:18px}.dashboard-action p{font-size:11px}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px;padding-bottom:19px}.dashboard-stats>div:nth-child(2){border:0}.dashboard-stats>div{padding:0 16px}.dashboard-stats strong{font-size:28px}.dashboard-stat-label{padding-left:16px}.dashboard-stats p{font-size:9px}.dashboard-card{padding:21px 17px}.dashboard-card-heading{align-items:flex-start;flex-wrap:wrap;gap:7px}.dashboard-card-heading h2{font-size:15px}.dashboard-card-heading>span{font-size:10px}.topic-columns{grid-template-columns:1fr;gap:18px}.dashboard-lower{gap:15px}.recent-papers>a{gap:8px;flex-wrap:wrap;font-size:11px}.recent-papers strong{min-width:140px}.recent-papers time{font-size:9px}.support-float{right:20px;bottom:20px}.support-button{width:48px;height:48px}.skip-link{left:20px}.service-main footer{padding-right:40px;font-size:10px}}
