/* Application-wide design system. Loaded after each page's functional styles. */
body.site-app { zoom:1; min-height:100vh; display:flex; flex-direction:column; padding:0; }
.site-app #site-content { flex:1; min-width:0; outline:none; }
.site-app > header { width:100%; margin:0; padding:0; position:relative; }
.site-app > footer { background:white; padding:0; margin:0; border-top:1px solid var(--line); width:100%; }
.site-app .site-footer { width:min(1120px,calc(100% - 48px)); margin:auto; padding:36px 0; display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:32px; text-align:left; font-size:13px; color:var(--muted); }
.site-app .site-footer p { margin:8px 0 0; }
.site-app .site-footer nav,.site-app .site-footer > div:last-child { display:flex; flex-direction:column; gap:10px; }
.site-app .site-footer a { color:var(--muted); }
.site-app .site-footer small { margin-top:12px; }
.site-app .public-header { justify-content:space-between; gap:24px; height:auto; min-height:80px; padding-top:12px; padding-bottom:12px; }
.site-app .public-nav { display:flex; gap:24px; align-items:center; margin-left:auto; }
.site-app .public-nav a { color:var(--muted); font-size:14px; font-weight:600; padding:10px 0; }
.site-app .public-nav a[aria-current],.site-app .public-nav a:hover { color:var(--blue); }
.site-app.legacy-page .main-container { width:min(1120px,calc(100% - 48px)); min-width:0; max-width:1120px; min-height:60vh; padding:0; margin:40px auto 64px; background:transparent; display:block; color:var(--ink); font-family:inherit; }
.site-app.legacy-page .main-container > .title { width:100%; min-width:0; text-align:left; margin:0 0 28px; padding:0; display:block; }
.site-app.legacy-page .main-container h1 { font-size:clamp(1.8rem,4vw,2.7rem); color:var(--ink); }
.site-app.legacy-page .main-container h2 { color:var(--ink); }
.site-app.legacy-page .main-container h5,.site-app.legacy-page .main-container h6 { font-weight:700; font-size:1.1rem; }
.site-app.legacy-page .main-container p { line-height:1.65; }
.site-app.legacy-page .main-container :is(.form-block,.box,.tabcontent,.user-details,.stats-container,.question-container,.text-container) { background:white; border:1px solid var(--line); border-radius:14px; padding:24px; max-width:100%; min-width:0; box-shadow:none; }
.site-app.legacy-page .main-container :is(.forms,.form-block,.form-container) { min-width:0; max-width:100%; }
.site-app.legacy-page .main-container :is(.form-field,.form-group) { margin:0 0 20px; }
.site-app.legacy-page .main-container label:not(.brick-container *) { display:inline-block; margin:0 0 7px; font-size:14px; font-weight:650; }
.site-app.legacy-page .main-container input:not(.brick-container *):not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]),
.site-app.legacy-page .main-container select:not(.brick-container *),.site-app.legacy-page .main-container textarea:not(.brick-container *) { width:100%; max-width:100%; min-width:0; height:auto; min-height:46px; border:1px solid #b9c6d5; border-radius:9px; padding:10px 12px; font:inherit; color:var(--ink); background:white; box-shadow:none; }
.site-app.legacy-page .main-container input:not(.brick-container *)[type=file] { max-width:100%; font:inherit; }
.site-app.legacy-page .main-container :is(.btn,.form-btn,.options-btn,.exercise-btn,.img-btn,.btn-logout,.btn-update,.tablinks,.mark-as-read-btn,.delete-btn,button[type=submit],input[type=submit]):not(.brick-container *) { border:1px solid var(--blue); border-radius:9px; background:var(--blue); color:white; padding:11px 18px; min-height:46px; font:650 14px/1.5 system-ui,sans-serif; text-align:center; cursor:pointer; text-decoration:none; box-shadow:none; max-width:100%; }
.site-app.legacy-page .main-container :is(.btn,.form-btn,.options-btn,.exercise-btn,.img-btn,.tablinks):hover { background:#123f9f; color:white; }
.site-app.legacy-page .main-container :is(.edit-btn,.btn-cancel-subscription) { min-height:44px; border:0; background:transparent; padding:8px; font:600 13px/1.5 system-ui,sans-serif; color:var(--blue); }
.site-app.legacy-page .main-container .btn-cancel-subscription,.site-app.legacy-page .main-container .delete-btn { color:#9a3038; background:#fff5f5; border-color:#ecc5c9; }
.site-app.legacy-page .main-container .error-message { display:block; color:var(--red); font-size:13px; margin:8px 0; }
.site-app.legacy-page .main-container .tabs { display:flex; flex-wrap:wrap; gap:8px; padding:0 0 16px; margin-bottom:20px; border-bottom:1px solid var(--line); }
.site-app.legacy-page .main-container .tablinks { background:white; color:var(--ink); border-color:var(--line); }
.site-app.legacy-page .main-container .tablinks.active { background:var(--blue); color:white; }
.site-app.legacy-page .main-container .tag-list { display:block; border-color:var(--line); border-radius:9px; margin:0; }
.site-app.legacy-page .main-container .tag-list label { font-weight:400; }
.site-app.legacy-page .main-container :is(.tag-list-container,.text-list-container) { width:100%; border-color:var(--line); margin-bottom:20px; }
.site-app.legacy-page .main-container .site-table-scroll { width:100%; max-width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:12px; background:white; margin:20px 0; }
.site-app.legacy-page .main-container table { margin:0; min-width:580px; font-size:14px; box-shadow:none; border:0; color:var(--ink); }
.site-app.legacy-page .main-container table th { background:#eef2f8; color:var(--muted); text-align:left; border-color:var(--line); padding:14px 16px; }
.site-app.legacy-page .main-container table td { padding:14px 16px; border-color:var(--line); }
.site-app.legacy-page .main-container tbody tr:nth-child(even) { background:#f8fafc; }
.site-app.legacy-page .main-container tbody tr:hover { background:#edf2fc; }
.site-app.legacy-page .navigation-hub .link-container { display:inline-flex; width:calc(50% - 12px); margin:0 16px 16px 0; vertical-align:top; }
.site-app.legacy-page .navigation-hub .link-container:nth-of-type(odd) { margin-right:0; }
.site-app.legacy-page .navigation-hub .link-container a { width:100%; min-height:100px; display:flex; align-items:center; justify-content:space-between; background:white; color:var(--ink); padding:24px; border:1px solid var(--line); border-radius:14px; text-align:left; font-size:17px; }
.site-app.legacy-page .navigation-hub .link-container a::after { content:'↗'; color:var(--blue); font-size:24px; margin-left:12px; }
.site-app.legacy-page .navigation-hub .link-container a:hover { border-color:#7c9fdc; background:#edf2fc; }
.site-app.legacy-page :is(.subscribe-banner) { background:var(--navy); padding:24px; border-radius:14px; text-align:left; margin:0 0 28px; }
.site-app.legacy-page .subscribe-banner br { display:none; }
.site-app.legacy-page .subscribe-banner .btn { background:white; color:var(--navy); border-color:white; }
.site-app.legacy-page .sec-div { display:block; }
.site-app.legacy-page .third-div { display:grid; grid-template-columns:240px minmax(0,1fr); align-items:start; gap:36px; padding:32px; }
.site-app.legacy-page .img-div,.site-app.legacy-page .user-data { margin:0; }
.site-app.legacy-page .img-div { text-align:center; }
.site-app.legacy-page .profile-picture { margin:8px 0 20px; width:120px; height:120px; }
.site-app.legacy-page .user-data .form-group { padding-bottom:16px; border-bottom:1px solid var(--line); }
.site-app.legacy-page .user-data .form-group p { margin:0; }
.site-app.legacy-page .logout-btn { width:auto; margin-top:24px; }
.site-app.legacy-page .btn-logout { width:auto; background:white; color:var(--ink); border-color:var(--line); }
.site-app.legacy-page .access-grid { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.3fr); gap:28px; align-items:start; }
.site-app.legacy-page .registration-fields { display:grid; grid-template-columns:1fr 1fr; column-gap:20px; }
.site-app.legacy-page .login-card { position:sticky; top:24px; }
.site-app.legacy-page .login-card .card-link { display:block; margin-top:12px; }
.site-app.legacy-page .login-card .notice { margin:28px 0 0; }
.site-app #loadingOverlay { position:fixed; inset:0; background:#112d4a70; z-index:1000; }
.site-app #loadingIndicator { position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); padding:28px; border-radius:14px; width:min(420px,calc(100% - 32px)); background:white; z-index:1001; }
.site-app[data-page=get_notifications] .main-container > ul { list-style:none; padding:0; }
.site-app[data-page=get_notifications] li { display:flex; align-items:center; gap:24px; padding:24px; margin:12px 0; background:white; border:1px solid var(--line); border-radius:12px; }
.site-app[data-page=get_notifications] li.unread { border-left:4px solid var(--blue); background:#f3f7ff; }
.site-app[data-page=get_notifications] .notification-btns { display:flex; gap:8px; flex-wrap:wrap; }
.site-app[data-page=get_notifications] .notification-content { flex:1; min-width:0; }
.site-app[data-page=get_notifications] li.empty-state { display:block; }
.site-app[data-page=sellboard] .product-container { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:24px; max-width:none; width:100%; padding:0; background:transparent; box-shadow:none; }
.site-app[data-page=sellboard] .checkout-heading { grid-column:1 / -1; max-width:720px; }
.site-app[data-page=sellboard] :is(.product-card,.whats-included-container,.brick-container) { width:100%; margin:0; padding:28px; border:1px solid var(--line); border-radius:14px; background:white; box-shadow:none; text-align:left; }
.site-app[data-page=sellboard] .product-card { grid-column:1; }
.site-app[data-page=sellboard] .whats-included-container { grid-column:1; }
.site-app[data-page=sellboard] .brick-container { grid-column:2; grid-row:2 / 4; align-self:start; min-width:0; }
.site-app[data-page=sellboard] .discount-coupon { border-radius:9px; border:1px solid #cbdaf0; background:#edf2fc; color:var(--ink); margin:12px 0; }
.site-app[data-page=sellboard] .final-price { font-size:36px; color:var(--blue); }
.site-app[data-page=sellboard] :is(.terms-container,.obs-container) { grid-column:1 / -1; text-align:left; margin:0; padding:0; background:none; }
.site-app[data-page=sellboard] .inclusions-list { padding-left:20px; margin:0; }
.site-app[data-page=sellboard] .inclusions-list li { padding:6px 0; color:var(--muted); font-size:15px; }
.site-app[data-page=sellboard] .mercado-logo { max-width:160px; height:auto; }
.site-app[data-page=sellboard] .modal { z-index:1100; padding:20px; overflow-y:auto; }
.site-app[data-page=sellboard] .modal-content { width:min(720px,100%); max-height:85vh; overflow:auto; border:0; border-radius:16px; padding:32px; margin:auto; color:var(--ink); font-size:15px; }
.site-app[data-page=sellboard] .close-modal { align-self:flex-end; min-width:44px; min-height:44px; background:white; border:1px solid var(--line); border-radius:8px; font-size:24px; }
.site-app[data-page=sellboard] #sellboard-endtime { display:none; }
.site-app:is([data-page=reset_password_request],[data-page=reset_password_token],[data-page=resend_activation],[data-page=change_password]) .main-container { max-width:540px; }
.site-app:is([data-page=reset_password_request],[data-page=reset_password_token],[data-page=resend_activation],[data-page=change_password]) .forms { display:block; padding:0; margin:0; width:100%; }
.site-app:is([data-page=smv],[data-page=carreer],[data-page=aboutus]) .main-container { max-width:860px; }
.site-app:is([data-page=smv],[data-page=carreer],[data-page=aboutus]) .box { width:100%; margin:0 0 24px; line-height:1.8; }
.site-app:is([data-page=smv],[data-page=carreer],[data-page=aboutus]) .main-container img { max-width:100%; height:auto; border-radius:12px; }
.site-app .landing-main { margin-top:56px; }
.site-app .landing-hero { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:center; padding:20px 0 72px; }
.site-app .landing-hero h1 { font-size:clamp(42px,5.3vw,68px); letter-spacing:-.055em; line-height:1.04; margin:0 0 28px; }
.site-app .landing-hero em { font-style:normal; color:var(--blue); }
.site-app .hero-description { font-size:18px; color:var(--muted); max-width:520px; }
.site-app .hero-note { font-size:13px; color:var(--muted); margin:18px 0 0; }
.site-app .landing-preview { border-radius:22px; background:white; border:1px solid var(--line); padding:32px; box-shadow:16px 20px 0 #e5ebf5; transform:rotate(1deg); }
.site-app .preview-top { display:flex; justify-content:space-between; align-items:center; }
.site-app .preview-dot { background:#238265; width:9px; height:9px; border-radius:50%; }
.site-app .landing-preview > .muted { font-size:12px; }
.site-app .preview-progress { height:5px; background:#edf2fc; border-radius:8px; margin:24px 0; }
.site-app .preview-progress span { display:block; width:40%; height:100%; background:var(--blue); border-radius:8px; }
.site-app .preview-question { font-weight:650; }
.site-app .preview-option { display:flex; align-items:center; gap:12px; padding:14px; margin:10px 0; border:1px solid var(--line); border-radius:10px; font-size:14px; }
.site-app .preview-option > span { display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--line); border-radius:7px; font-weight:700; flex-shrink:0; }
.site-app .preview-option.selected { background:#edf2fc; border-color:#87a7e2; }
.site-app .preview-option.selected > span { color:white; background:var(--blue); border-color:var(--blue); }
.site-app .preview-option b { margin-left:auto; color:var(--blue); }
.site-app .preview-bottom { margin-top:24px; border-top:1px solid var(--line); padding-top:20px; display:flex; flex-direction:column; font-size:13px; color:var(--muted); }
.site-app .preview-bottom strong { color:var(--ink); }
.site-app .landing-section { padding:64px 0; border-top:1px solid var(--line); scroll-margin-top:24px; }
.site-app .section-title { font-size:clamp(26px,3vw,38px); }
.site-app .landing-band { background:var(--navy); color:white; border-radius:20px; padding:44px; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.site-app .landing-band h2 { font-size:30px; }
.site-app .landing-band p { color:#d2deed; margin:0; }
.site-app .landing-band .eyebrow { color:#a9c7ef; }
.site-app .faq-section { display:grid; grid-template-columns:1fr 1.3fr; gap:40px; margin-top:64px; }
.site-app .faq-list details { border-bottom:1px solid var(--line); padding:18px 0; }
.site-app .faq-list summary { font-weight:650; cursor:pointer; min-height:32px; }
.site-app .faq-list p { color:var(--muted); margin:14px 0 0; font-size:15px; }
.site-app .landing-final { text-align:center; background:#eaf0fa; border-radius:20px; padding:48px 24px; }
.site-app .landing-final h2 { font-size:32px; margin-bottom:24px; }
@media(max-width:900px) {
 .site-app .public-nav { gap:16px; }
 .site-app .landing-hero { gap:32px; }
 .site-app .landing-preview { padding:24px; }
 .site-app.legacy-page .access-grid { grid-template-columns:1fr 1.2fr; gap:20px; }
 .site-app.legacy-page .registration-fields { grid-template-columns:1fr; }
}
@media(max-width:680px) {
 .site-app .public-header { flex-wrap:wrap; padding:14px 16px 8px; gap:12px; }
 .site-app .public-header > .btn-primary { margin-left:auto; }
 .site-app .public-nav { order:3; width:100%; justify-content:space-between; gap:10px; }
 .site-app .public-nav a { font-size:12px; min-height:44px; }
 .site-app .site-footer { width:calc(100% - 32px); grid-template-columns:1fr; gap:24px; padding:28px 0; }
 .site-app:has(.study-nav) .site-footer { padding-bottom:110px; }
 .site-app.legacy-page .main-container { width:calc(100% - 32px); margin:26px auto 36px; }
 .site-app.legacy-page .main-container :is(.form-block,.box,.tabcontent) { padding:20px; }
 .site-app.legacy-page .navigation-hub .link-container { width:100%; margin:0 0 12px; }
 .site-app.legacy-page .navigation-hub .link-container a { min-height:76px; padding:20px; }
 .site-app.legacy-page .third-div,.site-app.legacy-page .access-grid { grid-template-columns:1fr; padding:22px; gap:24px; }
 .site-app.legacy-page .access-grid { padding:0; }
 .site-app.legacy-page .login-card { position:static; }
 .site-app.legacy-page .img-div { max-width:280px; margin:auto; }
 .site-app[data-page=get_notifications] li { align-items:stretch; flex-direction:column; gap:14px; padding:20px; }
 .site-app[data-page=sellboard] .product-container { display:flex; flex-direction:column; gap:20px; }
 .site-app[data-page=sellboard] :is(.product-card,.whats-included-container,.brick-container) { padding:20px; }
 .site-app[data-page=sellboard] .modal-content { padding:24px; }
 .site-app .landing-main { margin-top:30px; }
 .site-app .landing-hero { grid-template-columns:1fr; gap:36px; padding:0 0 48px; }
 .site-app .landing-hero h1 { font-size:46px; }
 .site-app .hero-description { font-size:16px; }
 .site-app .landing-preview { transform:none; box-shadow:6px 8px 0 #e5ebf5; margin-right:8px; }
 .site-app .landing-section { padding:40px 0; }
 .site-app .landing-band,.site-app .faq-section { grid-template-columns:1fr; gap:24px; }
 .site-app .landing-band { padding:28px 24px; }
 .site-app .faq-section { margin-top:40px; }
 .site-app .landing-final { padding:32px 24px; }
}
.site-app.legacy-page .main-container :is(.submit-question-btn,.submit-update-btn,.add-text-btn,.update-btn,.post-btn,.submit_answer_button,.generate_by_AI,.search-button) { background:var(--blue); color:white; border:1px solid var(--blue); border-radius:9px; padding:11px 18px; min-height:46px; font:650 14px/1.5 system-ui,sans-serif; }
.site-app.legacy-page .main-container :is(.user-stats,.stats-item,.online-users,.scrollable-tags,.questions-box,.form-div,#form-div) { border:1px solid var(--line); border-radius:14px; background:white; padding:24px; box-shadow:none; width:100%; max-width:100%; }
.site-app.legacy-page .main-container .user-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; padding:0; border:0; background:transparent; }
.site-app.legacy-page .main-container .stats-item { margin:0; padding:20px; }
.site-app.legacy-page .main-container .stats-item p { margin:0; }
.site-app.legacy-page .main-container .questions-box { margin-bottom:24px; }
.site-app.legacy-page .main-container .form-div { max-width:760px; }
.site-app.legacy-page .main-container .error-message { background:transparent; max-width:none; max-height:none; padding:0; }
.site-app.legacy-page .main-container :is(.activated,.green-tag) { color:var(--green); }
.site-app.legacy-page .main-container :is(.deactivated,.red-tag) { color:var(--red); }
.site-app.legacy-page .main-container .orange-tag { color:#865400; }
.site-app.legacy-page .main-container .highlight { display:inline; font-weight:600; }
.site-app.legacy-page .main-container .highlight::before { content:none; }
.site-app.legacy-page .main-container :is(.statement-container,.options-container,.answer-container) { margin:0 0 24px; max-width:100%; }
.site-app.legacy-page .main-container :is(.text-title-ckeditor,.text-body-ckeditor,.text-author-ckeditor,.statement-ckeditor,.answer-ckeditor,.ckeditor) { border:1px solid var(--line); border-radius:8px; padding:16px; font-family:inherit; font-size:16px; line-height:1.65; }
.site-app.legacy-page .main-container .ck-toolbar { border-color:var(--line); background:#f5f7fa; }
.site-app.legacy-page .main-container .option_div { border:1px solid var(--line); border-radius:12px; padding:14px; gap:14px; margin:12px 0; background:white; }
.site-app.legacy-page .main-container .option_button { border:1px solid #b9c6d5; background:#edf2fc; color:var(--blue); border-radius:8px; min-width:44px; min-height:44px; }
.site-app.legacy-page .main-container .option-label { font:400 16px/1.7 system-ui,sans-serif; }
.site-app.legacy-page .main-container .video-card video { width:100%; max-height:65vh; border-radius:12px; background:var(--navy); margin-bottom:24px; }
@media(max-width:680px) {
 .site-app.legacy-page .main-container :is(.form-div,#form-div,.scrollable-tags,.online-users) { padding:20px; }
 .site-app.legacy-page .main-container .search-form { flex-wrap:wrap; gap:12px; }
 .site-app.legacy-page .main-container .search-input { margin:0; }
}
.site-app.legacy-page .main-container :is(.btn,.form-btn,.options-btn,.exercise-btn,.img-btn,.btn-logout,.btn-update,.tablinks,button[type=submit],input[type=submit]):not(.brick-container *) { height:auto; }
.site-app.legacy-page .main-container img { max-width:100%; }
.site-app.legacy-page .main-container input:not(.brick-container *)[readonly] { background:#f5f7fa !important; color:var(--muted) !important; }
.site-app[data-page=sellboard] .discount-coupon.inactive { color:var(--muted); background:#f4f6f9; border-color:var(--line); opacity:.65; }

/* Keep third-party checkout geometry independent from the app form system. */
.site-app[data-page=sellboard] .checkout-heading { text-align:left; }
.site-app[data-page=sellboard] .obs-container { border:0; box-shadow:none; }
.site-app[data-page=sellboard] .close-modal { position:static; margin-bottom:12px; }
.site-app.legacy-page .main-container .form-check { padding-left:28px; }
.site-app.legacy-page .main-container .form-check-input { margin-left:-28px; }

/* Notification actions have text labels now, rather than the old 28px icons. */
.site-app[data-page=get_notifications] .main-container h1 { text-align:left; }
.site-app[data-page=get_notifications] .notification-content { width:100%; }
.site-app[data-page=get_notifications] .notification-btns { position:static; flex-shrink:0; align-items:center; }
.site-app[data-page=get_notifications] .main-container .notification-btns button { width:auto; height:auto; min-width:44px; min-height:46px; white-space:normal; overflow-wrap:normal; }
.site-app[data-page=get_notifications] .main-container .notification-btns button.delete-btn { color:var(--red); background:#fff5f5; border-color:#ecc5c9; }
/* Keep database columns readable inside their horizontal scroll region. */
.site-app:is([data-page=texts_database], [data-page=question_database], [data-page=manage_users]) .main-container td { min-width:120px; overflow-wrap:break-word; }
.site-app:is([data-page=texts_database], [data-page=question_database], [data-page=manage_users]) .main-container td:first-child { min-width:70px; white-space:nowrap; }
.site-app[data-page=texts_database] .main-container td:nth-child(2) { min-width:240px; }
.site-app[data-page=texts_database] .main-container td:nth-child(3) { min-width:180px; }
.site-app[data-page=change_password] .main-container form.study-card { padding:24px; max-width:none; }

/* Progressive forms retain a complete, usable fallback without JavaScript. */
.site-app [hidden] { display:none !important; }
#public-demo fieldset { border:0; padding:0; min-width:0; }
#public-demo legend { font-size:1.1rem; font-weight:600; margin-bottom:16px; }
#public-demo .preview-option { cursor:pointer; align-items:center; }
#public-demo input[type=radio] { width:20px; height:20px; flex:0 0 20px; accent-color:var(--accent); }
#demo-feedback { margin-top:16px; line-height:1.7; }
.public-page { font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.public-page *, .public-page *::before, .public-page *::after { box-sizing:border-box; }
.public-page button { font:inherit; }
.public-page .landing-section { scroll-margin-top:24px; }

.public-page #demonstracao { padding:clamp(20px,4vw,48px); }

/* A shared, direct entry to studying on the public home and learner dashboard. */
.site-app .study-entry-hero { grid-template-columns: 1fr 1fr; gap: 56px; padding-bottom: 28px; }
.site-app .study-entry-hero h1 { font-size: clamp(38px,4.8vw,60px); }
.site-app .entry-choices { display: grid; gap: 16px; }
.site-app .study-entry-card { display: block; padding: 26px 28px; color: var(--ink); text-decoration: none; border: 1px solid #becfe7; border-radius: 16px; background: white; transition: border-color .15s, box-shadow .15s; }
.site-app .study-entry-card:hover { border-color: var(--blue); box-shadow: 0 5px 18px #174ec412; }
.site-app .study-entry-card .card-index { margin-bottom: 12px; }
.site-app .study-entry-card h2 { display: flex; justify-content: space-between; gap: 16px; font-size: 25px; margin-bottom: 12px; }
.site-app .study-entry-card h2 span { color: var(--blue); }
.site-app .study-entry-card p { color: var(--muted); margin-bottom: 18px; font-size: 15px; }
.site-app .entry-action { color: var(--blue); font-weight: 700; font-size: 14px; }
.site-app .entry-demo-link { margin: 0 0 40px; color: var(--muted); font-size: 14px; }
.site-app .entry-demo-link a { font-weight: 650; }
.site-app .entry-choices-wide { grid-template-columns: 1fr 1fr; margin-bottom: 24px; }
.site-app .resume-strip { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; padding: 22px 26px; border: 1px solid var(--line); border-radius: 14px; background: #eaf0fa; }
.site-app .resume-strip h2 { font-size: 19px; margin: 0 0 6px; }
.site-app .resume-strip p { margin: 0; color: var(--muted); font-size: 14px; }
.site-app .study-tools { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0 0 40px; padding: 8px 0; }
.site-app .study-tools a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600; }
.site-app .exam-timed-link { margin-top: 16px; min-height: 44px; }
.site-app .quick-study { margin-bottom: 20px; max-width: 720px; }
.site-app .quick-quantity-label { margin: 20px 0 10px; color: var(--ink); }
.site-app .quick-preset[aria-pressed=true] { color: white; background: var(--blue); border-color: var(--blue); }
.site-app .bank-options { margin-bottom: 20px; }
.site-app .bank-options > summary { cursor: pointer; padding: 14px 0; font-weight: 650; color: var(--blue); }
.site-app .bank-options[open] > summary { margin-bottom: 10px; }
@media(max-width:680px) {
 .site-app .study-entry-hero { grid-template-columns: 1fr; gap: 26px; padding-bottom: 24px; }
 .site-app .study-entry-hero h1 { font-size: 40px; margin-bottom: 18px; }
 .site-app .study-entry-hero .hero-note { display: none; }
 .site-app .study-entry-card { padding: 20px; }
 .site-app .study-entry-card h2 { font-size: 23px; }
 .site-app .entry-choices-wide { grid-template-columns: 1fr; }
 .site-app .resume-strip { align-items: flex-start; flex-direction: column; gap: 14px; padding: 20px; }
 .site-app .study-tools { gap: 4px 20px; }
 .site-app .quick-preset { flex: 1; padding: 11px 8px; }
}
