/* Thinkora RC6.30 public CSS in original order. Individual sources remain available. */

/* === ui-core-v85.min.css === */
@layer reset,tokens,base,components,patterns,utilities,legacy;@layer tokens{:root{--color-brand-950:#08283b;--color-brand-900:#0b334a;--color-brand-800:#0e435a;--color-brand-700:#0d5b70;--color-brand-600:#0c7080;--color-brand-500:#148b96;--color-brand-400:#45aab0;--color-brand-100:#e7f5f6;--color-brand-50:#f3fafa;--color-accent-600:#176caa;--color-danger-600:#b33b43;--color-success-600:#277a5b;--color-warning-600:#9a681e;--surface-canvas:#f5f8fa;--surface-raised:#ffffff;--surface-soft:#f8fbfc;--surface-inset:#eef3f5;--surface-selected:#eaf6f7;--surface-overlay:rgb(255 255 255 / .96);--text-primary:#143247;--text-secondary:#4e6979;--text-muted:#718693;--text-on-brand:#fff;--border-soft:#dbe5ea;--border-strong:#b9cbd4;--border-focus:#238aa1;--radius-sm:8px;--radius-md:11px;--radius-lg:15px;--radius-xl:20px;--radius-2xl:24px;--radius-pill:999px;--shadow-xs:0 1px 2px rgb(8 40 59 / .05);--shadow-sm:0 5px 16px rgb(8 40 59 / .07);--shadow-md:0 12px 30px rgb(8 40 59 / .10);--shadow-lg:0 24px 64px rgb(8 40 59 / .17);--shadow-floating:0 22px 60px rgb(8 40 59 / .19);--motion-instant:100ms;--motion-fast:145ms;--motion-normal:210ms;--motion-page:250ms;--ease-standard:cubic-bezier(.2,.75,.25,1);--ease-emphasized:cubic-bezier(.18,.9,.28,1);--control-min:44px;--control-mobile:48px;--content-max:1540px;--focus-ring:0 0 0 3px rgb(35 138 161 / .26);--button-base:#0c6176;--button-highlight:#148797;--button-edge:#08485c}}:root{--ui-font-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ui-surface:var(--surface-raised);--ui-surface-soft:var(--surface-soft);--ui-border:var(--border-soft);--ui-text:var(--text-primary);--ui-muted:var(--text-secondary);--ui-primary:var(--color-brand-900);--ui-primary-contrast:var(--text-on-brand);--ui-danger:var(--color-danger-600);--ui-success:var(--color-success-600);--ui-warning:var(--color-warning-600);--ui-focus:var(--focus-ring);--ui-control-min:var(--control-min);--ui-radius-sm:var(--radius-sm);--ui-radius-md:var(--radius-md);--ui-radius-lg:var(--radius-lg);--ui-radius-xl:var(--radius-xl);--ui-shadow-1:var(--shadow-xs);--ui-shadow-2:var(--shadow-md);--ui-shadow-3:var(--shadow-lg);--workspace-line:var(--border-soft);--workspace-ink:var(--text-primary);--workspace-muted:var(--text-secondary);--workspace-accent:var(--color-brand-700);--workspace-soft:var(--color-brand-50)}@layer base{html{font-family:var(--ui-font-sans);scroll-behavior:smooth;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{background:var(--surface-canvas);color:var(--text-primary);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*::before,*::after{box-sizing:border-box}img,video,canvas,svg{max-width:100%}img{height:auto}button,input,select,textarea{font:inherit}h1{font-size:clamp(1.35rem,2.1vw,1.82rem);line-height:1.16;letter-spacing:-.025em}h2{font-size:clamp(1.08rem,1.5vw,1.35rem);line-height:1.25;letter-spacing:-.018em}p{line-height:1.62}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:max(4px,var(--radius-sm))}::selection{background:rgb(20 139 150 / .2)}}.pa-skip-link{position:fixed;z-index:9999;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));transform:translateY(-150%);padding:10px 14px;border:2px solid #fff;border-radius:10px;background:var(--color-brand-900);color:#fff;font-weight:800;text-decoration:none;box-shadow:var(--shadow-floating);transition:transform var(--motion-fast) var(--ease-standard)}.pa-skip-link:focus{transform:translateY(0);outline:3px solid rgb(95 224 229 / .45);outline-offset:2px}.pa-visually-hidden,.ui-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}[hidden]{display:none!important}.pa-top-context,.public-appbar-context{display:grid;min-width:0;line-height:1.14}.pa-top-context small,.public-appbar-context small{font-size:.69rem;font-weight:730;color:#758c99;text-transform:uppercase;letter-spacing:.05em}.pa-top-context strong,.public-appbar-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:.88rem;font-weight:820}.pa-top-context strong{max-width:min(42vw,520px)}.pa-user-badge::before{content:attr(data-initials);display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;margin-right:7px;border-radius:8px;background:#dbecef;color:#0f6675;font-size:.67rem;font-weight:900;letter-spacing:.02em}.pa-user-badge{gap:0;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#main-content{min-width:0}.app-shell-body .btn,.login-shell .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--control-min);padding:8px 13px;line-height:1.1;white-space:nowrap}.app-shell-body .btn-sm,.login-shell .btn-sm{min-height:36px;padding:7px 10px;font-size:.78rem}.app-shell-body .btn-lg,.login-shell .btn-lg{min-height:50px;padding:11px 17px;font-size:.95rem}.app-shell-body .btn-icon,.login-shell .btn-icon{width:var(--control-min);min-width:var(--control-min);padding:0}.app-shell-body:is(input,select,textarea):disabled{background:#f1f5f7;color:#7b8d98;cursor:not-allowed}.app-shell-body input[type="checkbox"],.app-shell-body input[type="radio"]{accent-color:var(--color-brand-600)}.form-group{min-width:0}.form-group>.label,.form-group>label>.label{display:block;margin-bottom:6px}.form-group .help,.form-group .hint,.form-hint{display:block;margin-top:6px;line-height:1.45}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:4px}.field-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.field-row>*{grid-column:span 6}.field-row>.full{grid-column:1/-1}.ui-card{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-xs);padding:18px}.ui-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.ui-card-header h2,.ui-card-header h3{margin:0;color:var(--text-primary)}.ui-card-header p{margin:4px 0 0;color:var(--text-secondary);font-size:.84rem;line-height:1.45}.ui-stack{display:grid;gap:12px}.ui-inline{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.ui-divider{height:1px;border:0;background:var(--border-soft);margin:16px 0}.empty,.ui-empty,.ui-error,.ui-loading{min-height:112px;display:grid;place-items:center;align-content:center;gap:6px;padding:22px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-soft);color:var(--text-secondary);text-align:center;line-height:1.5}.empty.compact,.ui-empty.compact,.ui-error.compact,.ui-loading.compact{min-height:70px;padding:14px}.ui-empty strong,.ui-error strong,.ui-loading strong{color:var(--text-primary)}.ui-error{border-color:#e4c4c4;background:#fff8f8;color:#8b4d4d}.ui-loading{border-style:solid}.alert{position:relative;line-height:1.45}.alert:has(.ui-alert-close){padding-right:42px}.alert .ui-alert-close{position:absolute;top:50%;right:8px;translate:0 -50%;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer;font-size:1rem}.alert .ui-alert-close:hover{background:rgb(0 0 0 / .055)}.pa-toast-region{position:fixed;z-index:360;top:max(72px,calc(env(safe-area-inset-top) + 12px));right:max(12px,env(safe-area-inset-right));display:grid;gap:8px;width:min(390px,calc(100vw - 24px));pointer-events:none}.pa-toast{pointer-events:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 12px 12px 13px;background:#fff;color:#24485d}.pa-toast[data-type="success"]{border-left:4px solid var(--color-success-600)}.pa-toast[data-type="warning"]{border-left:4px solid var(--color-warning-600)}.pa-toast[data-type="danger"],.pa-toast[data-type="error"]{border-left:4px solid var(--color-danger-600)}.pa-toast__icon{font-weight:900;line-height:1.35}.pa-toast__body{min-width:0;font-size:.84rem;line-height:1.45}.pa-toast__close{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#657b89;cursor:pointer}.pa-toast__close:hover{background:#f1f5f7}.pa-toast.is-leaving{opacity:0;transform:translateY(-4px);transition:opacity var(--motion-fast) ease,transform var(--motion-fast) ease}.pa-ui-dialog{width:min(480px,calc(100vw - 24px));max-height:min(82dvh,680px);margin:auto;padding:0;border:1px solid var(--border-soft);background:#fff;color:var(--text-primary);overflow:hidden}.pa-ui-dialog:not([open]){display:none}.pa-ui-dialog[open]{display:block}.pa-ui-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 11px}.pa-ui-dialog__head h2{margin:0;color:var(--text-primary);font-size:1.05rem}.pa-ui-dialog__close{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border:0;border-radius:9px;background:#f2f6f8;color:#4f6b7b;cursor:pointer}.pa-ui-dialog__body{padding:2px 18px 17px;color:var(--text-secondary);font-size:.9rem;line-height:1.6;overflow:auto}.pa-ui-dialog__body p{margin:0}.pa-ui-dialog__actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 17px;border-top:1px solid var(--border-soft);background:#fbfcfd}.pa-ui-dialog[data-tone="danger"] .pa-ui-dialog__head h2{color:#8d3434}body.pa-dialog-open{overflow:hidden}.ui-filterbar,.filter-bar{display:flex;align-items:end;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fbfdfe}.ui-filterbar>.form-group,.filter-bar>.form-group{margin:0;min-width:150px;flex:1 1 180px}.ui-filterbar>.form-actions,.filter-bar>.form-actions{margin:0;flex:0 0 auto}.toolbar{align-items:center}.toolbar>.inline-actions{margin-left:auto}.pa-command-dialog{border:1px solid #cfdee7;border-radius:16px;box-shadow:var(--shadow-floating);overflow:hidden}.pa-command-results{scrollbar-width:thin}.pa-command-result{min-height:48px}.pa-command-result:focus-visible{outline:0;box-shadow:inset 0 0 0 3px rgb(23 160 180 / .16)}dialog:not(.pa-ui-dialog){max-width:calc(100vw - 24px)}.btn,.pa-top-create,.pa-command-trigger,.public-sidebar-toggle,.pa-sidebar-toggle,.ui-icon-button{min-height:var(--control-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) ease,background-color var(--motion-fast) ease,filter var(--motion-fast) ease}.btn-primary,.btn.btn-primary,.pa-top-create{border-color:color-mix(in srgb,var(--button-edge) 78%,#fff 22%);background:linear-gradient(180deg,var(--button-highlight),var(--button-base));color:#fff;box-shadow:0 7px 16px rgb(6 57 73 / .17),0 2px 0 var(--button-edge),inset 0 1px rgb(255 255 255 / .24);text-shadow:0 1px 0 rgb(0 0 0 / .09)}@media (hover:hover) and (pointer:fine){.btn-primary:hover,.btn.btn-primary:hover,.pa-top-create:hover{transform:translateY(-2px);filter:saturate(1.04) brightness(1.02);box-shadow:0 10px 22px rgb(6 57 73 / .2),0 2px 0 var(--button-edge),inset 0 1px rgb(255 255 255 / .28)}.btn:not(.btn-primary):not(:disabled):hover,.ui-icon-button:hover,.pa-command-trigger:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--border-strong)}}.btn-primary:active,.btn.btn-primary:active,.pa-top-create:active,.btn:active,.ui-icon-button:active,.pa-command-trigger:active{transform:translateY(1px) scale(.992);box-shadow:0 2px 6px rgb(6 57 73 / .14),0 1px 0 var(--button-edge),inset 0 2px 4px rgb(5 38 51 / .14)}.btn:disabled,.btn[aria-disabled="true"],button:disabled{opacity:.54;cursor:not-allowed;transform:none;filter:none;box-shadow:none}.btn-outline,.btn-secondary{background:linear-gradient(180deg,#fff,#f5f9fa);border-color:var(--border-soft);color:var(--text-primary);box-shadow:0 2px 6px rgb(8 40 59 / .055),inset 0 1px #fff}.btn-danger,.btn.danger{background:linear-gradient(180deg,#c8545a,#a9343d);border-color:#8e2932;color:#fff;box-shadow:0 6px 14px rgb(129 36 44 / .16),0 2px 0 #84252d,inset 0 1px rgb(255 255 255 / .2)}.btn-success{background:linear-gradient(180deg,#3b916e,#267659);border-color:#1d654a;color:#fff;box-shadow:0 6px 14px rgb(26 100 73 / .15),0 2px 0 #1d654a,inset 0 1px rgb(255 255 255 / .2)}.ui-icon-button{inline-size:var(--control-min);block-size:var(--control-min);display:inline-grid;place-items:center;padding:0;border-radius:var(--radius-md)}:where(.input,.select,.textarea,input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){min-height:var(--control-min);max-width:100%;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(180deg,#fbfdfe,#fff);color:var(--text-primary);box-shadow:inset 0 1px 2px rgb(7 45 63 / .045);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background-color var(--motion-fast) ease}:where(.input,.select,.textarea,input,select,textarea):focus{border-color:var(--border-focus);box-shadow:var(--focus-ring),inset 0 1px 2px rgb(7 45 63 / .04);background:#fff}:where(.input,.select,.textarea,input,select,textarea)[aria-invalid="true"],:where(.input,.select,.textarea,input,select,textarea).is-error{border-color:#c54b52;box-shadow:0 0 0 3px rgb(197 75 82 / .14)}:where(.input,.select,.textarea,input,select,textarea).is-success{border-color:#3a8b6c;box-shadow:0 0 0 3px rgb(58 139 108 / .13)}::placeholder{color:#92a2ab;opacity:1}.textarea,textarea{resize:vertical}.panel,.card,.lp-section,.student-task-card{border-color:var(--border-soft);background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.ui-card--flat{border:0;background:transparent;box-shadow:none}.ui-card--soft{border:1px solid var(--border-soft);background:var(--surface-raised);box-shadow:var(--shadow-xs)}.ui-card--raised,.lp-create-card,.lp-work-card{border:1px solid var(--border-soft);background:var(--surface-raised);box-shadow:var(--shadow-sm);transition:transform var(--motion-normal) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard),border-color var(--motion-normal) ease}.ui-card--floating,.dropdown-menu,.popover,.pa-user-menu-panel,.action-menu-pop{border:1px solid var(--border-soft);background:var(--surface-overlay);box-shadow:var(--shadow-floating);border-radius:var(--radius-lg)}@media (hover:hover) and (pointer:fine){.ui-card--raised:hover,.lp-create-card:hover,.lp-work-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#b9d1da}}.ui-card--raised[aria-selected="true"],.ui-card--raised.is-selected{border-color:var(--color-brand-500);box-shadow:0 0 0 2px rgb(20 139 150 / .12),var(--shadow-sm)}.pa-admin-sidebar,.public-sidebar{box-shadow:8px 0 28px rgb(8 40 59 / .075)}.pa-admin-top,.public-appbar{border-color:var(--border-soft);background:rgb(255 255 255 / .95);backdrop-filter:blur(12px);box-shadow:0 5px 18px rgb(8 40 59 / .045)}.pa-admin-content{width:100%;max-width:var(--content-max);margin-inline:auto}.pa-side-nav a,.public-nav a,.pa-nav-tree>summary{transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease,transform var(--motion-fast) var(--ease-standard)}.pa-side-nav a.active,.public-nav a.active,.pa-nav-tree>summary.active{box-shadow:inset 0 1px rgb(255 255 255 / .08),0 5px 15px rgb(0 0 0 / .08)}.pa-nav-caret{transition:transform var(--motion-normal) var(--ease-standard)}.pa-nav-tree[open]>summary .pa-nav-caret{transform:rotate(180deg)}.ui-page-enter:is(.pa-admin-content,.public-main>.section,.student-workspace,.login-card,.install-shell){opacity:0;transform:translateY(6px)}.ui-page-ready:is(.pa-admin-content,.public-main>.section,.student-workspace,.login-card,.install-shell){opacity:1;transform:none;transition:opacity var(--motion-page) var(--ease-standard),transform var(--motion-page) var(--ease-standard)}body.ui-navigating:is(.pa-admin-content,.public-main>.section,.student-workspace){opacity:.82;transition:opacity var(--motion-instant) ease}.pa-page-loader{position:fixed;z-index:420;inset:0;display:grid;place-items:start center;padding:0;background:transparent;backdrop-filter:none;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--motion-fast) ease,visibility 0s linear var(--motion-fast)}.pa-page-loader.is-active{opacity:1;visibility:visible;pointer-events:none;transition-delay:0s}.pa-page-loader__progress{position:absolute;top:0;left:0;width:100%;overflow:hidden;height:3px;background:rgb(20 139 150 / .09);box-shadow:0 1px 5px rgb(20 139 150 / .1)}.pa-page-loader__progress::after{content:"";display:block;height:100%;border-radius:999px;width:32%;background:linear-gradient(90deg,transparent,var(--color-brand-500),#5bbdc1,transparent);animation-duration:.9s}.pa-page-loader__card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:13px 15px;margin-top:max(68px,calc(env(safe-area-inset-top) + 58px));min-width:min(320px,calc(100vw - 32px));border-color:rgb(195 216 224 / .9);border-radius:var(--radius-lg);background:rgb(255 255 255 / .96);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(-5px) scale(.985);animation:uiV85LoaderReveal var(--motion-normal) var(--ease-emphasized) 150ms both}.pa-page-loader__mark{position:relative;display:grid;place-items:center;width:42px;height:42px;overflow:hidden;border-radius:50%;background:radial-gradient(circle,#fff 0 28%,var(--color-brand-100) 30% 100%);box-shadow:inset 0 1px #fff,0 6px 18px rgb(20 139 150 / .13)}.pa-page-loader__mark::before,.pa-page-loader__mark::after{content:"";position:absolute;border-radius:50%;border:2px solid transparent}.pa-page-loader__mark::before{width:25px;height:25px;border-top-color:var(--color-brand-600);border-right-color:var(--color-brand-400);animation-duration:.86s}.pa-page-loader__mark::after{width:11px;height:11px;background:var(--color-brand-600);box-shadow:0 0 0 5px rgb(20 139 150 / .08)}@keyframes uiV85PageProgress{0%{transform:translateX(-130%)}100%{transform:translateX(390%)}}.pa-page-loader__progress::after{animation-name:uiV85PageProgress}.pa-page-loader__copy{display:grid;gap:2px;line-height:1.2}.pa-page-loader__copy strong{color:var(--text-primary);font-size:.84rem}.pa-page-loader__copy span{color:var(--text-muted);font-size:.7rem}@keyframes uiV85LoaderReveal{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}.ui-is-busy,.is-submitting{position:relative;pointer-events:none}.ui-is-busy::after,.is-submitting::after{content:"";inline-size:15px;block-size:15px;flex:0 0 15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:uiV85Spin .72s linear infinite}@keyframes uiV85Spin{to{transform:rotate(1turn)}}.ui-skeleton{position:relative;overflow:hidden;border-radius:var(--radius-sm);background:linear-gradient(180deg,#eaf0f3,#edf3f5);color:transparent!important;user-select:none}.ui-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-105%);background:linear-gradient(90deg,transparent,rgb(255 255 255 / .66),transparent);animation:uiV85Shimmer 1.25s ease-in-out 150ms infinite}@keyframes uiV85Shimmer{to{transform:translateX(105%)}}.ui-skeleton-list{display:grid;gap:10px}.ui-skeleton-row{display:grid;grid-template-columns:44px minmax(0,1fr) 90px;gap:12px;align-items:center;min-height:52px}.ui-skeleton-line{height:12px;border-radius:var(--radius-pill)}.ui-skeleton-line.short{width:48%}.ui-skeleton-avatar{width:40px;height:40px;border-radius:50%}.ui-long-operation{display:grid;gap:10px;padding:16px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-raised)}.ui-long-operation__head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.ui-long-operation__status{color:var(--text-secondary);font-size:.86rem}.ui-long-operation__track{height:9px;overflow:hidden;border-radius:var(--radius-pill);background:var(--surface-inset)}.ui-long-operation__bar{height:100%;width:var(--ui-progress,0%);border-radius:inherit;background:linear-gradient(90deg,var(--color-brand-700),var(--color-brand-400));transition:width var(--motion-normal) var(--ease-standard)}.ui-long-operation__meta{font-size:.78rem;color:var(--text-muted)}.pa-toast{border-color:var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation-duration:var(--motion-normal)}.pa-ui-dialog,dialog{border-radius:var(--radius-xl);box-shadow:var(--shadow-floating)}.pa-ui-dialog::backdrop,dialog::backdrop{background:rgb(4 24 37 / .48);backdrop-filter:blur(2px)}.dropdown-menu,.popover,.pa-user-menu-panel,.action-menu-pop{max-width:min(calc(100vw - 20px),440px);max-height:min(72dvh,640px);overflow:auto;transform-origin:top;animation:uiV85Popover var(--motion-fast) var(--ease-standard)}@keyframes uiV85Popover{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.table-wrap,.table-responsive{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md)}.table{width:100%;border-collapse:separate;border-spacing:0}.table thead th{position:sticky;top:0;z-index:2;background:var(--surface-soft);box-shadow:inset 0 -1px var(--border-soft);font-size:.76rem;letter-spacing:.01em}.table tbody tr{transition:background-color var(--motion-fast) ease}.table tbody tr:hover{background:#f8fbfc}.table tbody tr[aria-selected="true"],.table tbody tr.is-selected{background:var(--surface-selected);box-shadow:inset 3px 0 var(--color-brand-500)}.workspace-row-actions>summary,.row-actions-menu>summary{min-height:38px;border-radius:var(--radius-sm);background:linear-gradient(180deg,#fff,#f7fafb)}.ui-empty-state,.ui-error-state{display:grid;justify-items:start;gap:8px;padding:clamp(18px,4vw,32px);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-soft);color:var(--text-secondary)}.ui-empty-state h2,.ui-empty-state h3,.ui-error-state h2,.ui-error-state h3{margin:0;color:var(--text-primary)}.ui-empty-state p,.ui-error-state p{margin:0;max-width:62ch}.ui-error-state{border-style:solid;border-color:#ecc8cb;background:#fff9f9}.form-grid{min-width:0;gap:14px}.form-grid>.full{grid-column:1/-1}.form-actions,.inline-actions,.toolbar,.filters{gap:8px;min-width:0}.advanced-settings{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-soft)}.ui-sticky-actions,.sticky-actions,[data-sticky-actions]{position:sticky;z-index:45;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:10px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-top:1px solid var(--border-soft);background:rgb(255 255 255 / .94);backdrop-filter:blur(10px)}.ui-authoring-layout{display:grid;grid-template-columns:minmax(190px,250px) minmax(0,1fr) minmax(230px,300px);min-height:min(780px,calc(100dvh - 96px));border:1px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-raised)}.ui-authoring-tools,.ui-authoring-properties{min-width:0;background:var(--surface-soft);overflow:auto}.ui-authoring-tools{border-right:1px solid var(--border-soft)}.ui-authoring-properties{border-left:1px solid var(--border-soft)}.ui-authoring-canvas{min-width:0;overflow:auto;background:var(--surface-raised)}.student-surface{--control-min:48px}.student-surface .card,.student-surface .student-task-card{border-radius:var(--radius-lg)}.student-surface:where(.answer-option,[data-answer-option],.option-card){min-height:52px;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-raised);transition:transform var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}@media (hover:hover) and (pointer:fine){.student-surface:where(.answer-option,[data-answer-option],.option-card):hover{transform:translateY(-1px);border-color:#b7d2da;box-shadow:var(--shadow-sm)}}.student-surface:where(.answer-option,[data-answer-option],.option-card).selected,.student-surface:where(.answer-option,[data-answer-option],.option-card)[aria-checked="true"]{border-color:var(--color-brand-500);box-shadow:0 0 0 2px rgb(20 139 150 / .12),var(--shadow-xs)}.student-bottom-nav{display:none}@media (hover:hover) and (pointer:fine){*{scrollbar-width:thin;scrollbar-color:#aebec6 transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#b7c5cc;border:2px solid transparent;background-clip:padding-box;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#96a9b3;border:2px solid transparent;background-clip:padding-box}}@media (max-width:1280px){.ui-authoring-layout{grid-template-columns:220px minmax(0,1fr) 260px}.pa-admin-content{max-width:100%}}@media (max-width:1024px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar,.inline-actions,.filters{flex-wrap:wrap}.ui-authoring-layout{grid-template-columns:210px minmax(0,1fr)}.ui-authoring-properties{position:fixed;z-index:90;inset:64px 0 0 auto;width:min(360px,92vw);transform:translateX(102%);border-left:1px solid var(--border-soft);box-shadow:var(--shadow-floating);transition:transform var(--motion-normal) var(--ease-standard)}.ui-authoring-layout.properties-open .ui-authoring-properties{transform:none}}@media (max-width:768px){:root{--content-max:100%}.form-grid{grid-template-columns:1fr}.page-title{align-items:flex-start;flex-direction:column;gap:10px}.page-title>.inline-actions{width:100%}.panel,.card,.lp-section{padding:clamp(12px,3.5vw,16px);border-radius:var(--radius-md)}:where(.input,.select,.textarea,input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea,.btn,button){min-height:var(--control-mobile)}.table-wrap>.table:not(.responsive-table),.table-responsive>.table:not(.responsive-table){min-width:620px}.pa-ui-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:18px}.pa-ui-dialog__actions{padding-bottom:max(14px,env(safe-area-inset-bottom))}.ui-authoring-layout{display:block;min-height:0;border:0}.ui-authoring-tools{display:flex;gap:8px;overflow:auto;border:0;border-bottom:1px solid var(--border-soft);padding:8px}.ui-authoring-canvas{min-height:60dvh}.ui-authoring-properties{top:auto;left:0;right:0;bottom:0;width:auto;max-height:78dvh;border:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;transform:translateY(102%)}.ui-authoring-layout.properties-open .ui-authoring-properties{transform:none}.pa-page-loader__card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:13px 15px;margin-top:max(60px,calc(env(safe-area-inset-top) + 52px))}}@media (max-width:480px){.page-title h1{font-size:clamp(1.22rem,6vw,1.48rem)}.inline-actions{width:100%}.inline-actions>.btn,.inline-actions>form{flex:1 1 calc(50% - 8px)}.inline-actions>form>.btn{width:100%}.filters{display:grid;grid-template-columns:1fr;width:100%}.ui-sticky-actions,.sticky-actions,[data-sticky-actions]{margin-inline:-10px}}@media (max-width:412px){.pa-command-dialog{inset:8px;max-width:calc(100vw - 16px);width:auto}.pa-command-results{max-height:62dvh}.ui-long-operation__head{align-items:flex-start;flex-direction:column}.inline-actions>.btn,.inline-actions>form{flex-basis:100%}}@media (max-width:390px){.panel,.card,.lp-section{border-radius:12px}.pa-toast-region{left:8px;right:8px;width:auto}.pa-page-loader__card{min-width:0;width:calc(100vw - 20px)}}@media (max-width:360px){:root{--control-mobile:46px}.public-appbar-context strong,.pa-top-context strong{font-size:.9rem}.badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}.table{font-size:.83rem}}@media (min-width:1440px){.pa-admin-content{padding-inline:clamp(18px,2vw,28px)}.dashboard-grid{gap:16px}}@media (max-width:768px){.student-surface.has-student-bottom-nav .public-main{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.student-surface .student-bottom-nav{position:fixed;z-index:72;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:5px;border:1px solid rgb(205 220 227 / .9);border-radius:16px;background:rgb(255 255 255 / .94);backdrop-filter:blur(12px);box-shadow:var(--shadow-lg)}.student-bottom-nav a{display:grid;place-items:center;min-height:48px;padding:5px 4px;border-radius:11px;color:var(--text-secondary);font-size:.69rem;font-weight:760;text-align:center;text-decoration:none;line-height:1.15}.student-bottom-nav a[aria-current="page"]{background:var(--surface-selected);color:var(--color-brand-800);box-shadow:inset 0 0 0 1px rgb(20 139 150 / .12)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}:where(.btn,.btn-primary,.pa-top-create,.ui-card--raised,.lp-create-card,.lp-work-card):hover,:where(.btn,.btn-primary,.pa-top-create,.ui-card--raised,.lp-create-card,.lp-work-card):active{transform:none}.ui-page-enter:is(.pa-admin-content,.public-main>.section,.student-workspace,.login-card,.install-shell){opacity:1;transform:none}.ui-skeleton::after,.pa-page-loader__progress::after,.pa-page-loader__mark::before,.ui-is-busy::after,.is-submitting::after{animation:none}}@media print{.pa-page-loader,.student-bottom-nav,.ui-sticky-actions,.sticky-actions,[data-sticky-actions]{display:none!important}.panel,.card{box-shadow:none}}.ui-v85-pressed{transform:translateY(1px) scale(.992)!important}.public-nav-utility .public-pwa-install{appearance:none;width:100%;display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 10px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.public-nav-utility .public-pwa-install:hover,.public-nav-utility .public-pwa-install:focus-visible{background:rgba(19,95,114,.08);outline:none}.public-nav-utility .public-pwa-install[data-installed="1"]{opacity:.66;cursor:default}


/* === pwa-install-v85.css === */
/* PWA install + network surfaces — V85 RC6.4 */
.ui-pwa-banner{
  position:fixed;z-index:2147481200;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));
  width:min(420px,calc(100vw - 32px));display:flex;align-items:center;gap:14px;padding:14px 15px;
  border:1px solid rgba(17,62,88,.16);border-radius:18px;background:rgba(255,255,255,.98);color:#173044;
  box-shadow:0 18px 52px rgba(7,35,52,.22);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  font-family:inherit;line-height:1.35;animation:pwaBannerIn .2s ease-out both
}
.ui-pwa-banner__body{min-width:0;flex:1;display:grid;gap:3px}
.ui-pwa-banner__body strong{font-size:15px;font-weight:800;letter-spacing:-.01em;color:#15364b}
.ui-pwa-banner__body small{font-size:12.5px;color:#60798a;line-height:1.45}
.ui-pwa-banner__actions{display:flex;flex:0 0 auto;align-items:center;gap:7px}
.ui-pwa-banner__actions .btn{min-height:38px!important;padding:8px 12px!important;border-radius:11px!important;font-size:13px!important;font-weight:800!important;white-space:nowrap}
.ui-pwa-banner__actions .btn-outline{background:#fff!important;color:#25465a!important;border:1px solid #cbd8e0!important}
.ui-pwa-banner__actions .btn-primary{background:#176d98!important;color:#fff!important;border:1px solid #176d98!important;box-shadow:none!important}
.ui-network-state{position:fixed;z-index:2147481250;left:50%;top:max(12px,env(safe-area-inset-top));transform:translateX(-50%);max-width:calc(100vw - 28px);padding:8px 12px;border-radius:999px;background:#173044;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.2);font:700 12.5px/1.35 inherit;text-align:center;pointer-events:none}
.ui-network-state[data-online="0"]{background:#8a5306}
[data-pwa-install][data-install-ready="1"]{position:relative}
[data-pwa-install][data-install-ready="1"]::after{content:"";width:7px;height:7px;border-radius:999px;background:#33c79a;box-shadow:0 0 0 3px rgba(51,199,154,.14);margin-left:auto;flex:0 0 auto}
@keyframes pwaBannerIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:640px){
  .ui-pwa-banner{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:auto;border-radius:16px;padding:12px;gap:10px;align-items:flex-start}
  .ui-pwa-banner__body strong{font-size:14px}.ui-pwa-banner__body small{font-size:12px}
  .ui-pwa-banner__actions{gap:5px;align-self:center}.ui-pwa-banner__actions .btn{min-height:36px!important;padding:7px 10px!important;font-size:12px!important}
}
@media(max-width:390px){.ui-pwa-banner{display:grid;grid-template-columns:1fr}.ui-pwa-banner__actions{justify-content:flex-end}.ui-pwa-banner__actions .btn{min-width:78px}}
@media(prefers-reduced-motion:reduce){.ui-pwa-banner{animation:none}}


/* RC6.6 compact mobile install surface */
@media(max-width:640px){.ui-pwa-banner{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto;padding:11px 12px}.ui-pwa-banner__body small{max-width:46ch}.ui-pwa-banner__actions{display:flex;flex-direction:row;justify-content:flex-end}.ui-pwa-banner__actions .btn{min-width:72px;min-height:36px!important}}
@media(max-width:390px){.ui-pwa-banner{grid-template-columns:1fr}.ui-pwa-banner__actions{justify-content:flex-end}.ui-pwa-banner__actions .btn{width:auto!important}}


/* === mobile-native-v86.css === */
/* Thinkora RC6.6 — mobile native-app presentation layer. */
html{overflow-x:hidden}body{overflow-x:hidden}.app-shell-body :where(h1,h2,h3,h4,strong,p,span,small,label,a,button){overflow-wrap:break-word}.app-shell-body :where(.panel,.card,.ui-card,.lp-section,.m2-panel,.ucl-card,.pka-card){min-width:0}.app-shell-body img,.app-shell-body video,.app-shell-body canvas{max-width:100%}
[data-mobile-optional="1"]{display:initial}
@media(max-width:1080px){
 html{background:#eef4f7;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}.app-shell-body{background:#eef4f7;min-height:100dvh;touch-action:manipulation}.app-shell-body :where(button,.btn,a[role="button"],summary,input,select,textarea){touch-action:manipulation}.pa-admin-main,.public-main{min-width:0;width:100%;max-width:100vw}.pa-admin-top,.public-appbar{position:sticky!important;top:0;z-index:70;min-height:58px;padding-top:max(8px,env(safe-area-inset-top));background:rgba(255,255,255,.94)!important;border-bottom:1px solid rgba(196,214,223,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 4px 18px rgba(11,50,73,.055)}
 .pa-admin-content{padding:12px max(10px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important}.public-main>.section{padding-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right))}
 .panel,.card,.ui-card,.lp-section,.m2-panel,.ucl-card,.pka-card{border-radius:18px!important;box-shadow:0 8px 28px rgba(15,58,80,.075)!important;border-color:#d7e4ea!important}.panel+.panel,.card+.card{margin-top:10px}
 :where(.app-shell-body .btn,.app-shell-body button,.app-shell-body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.app-shell-body select,.app-shell-body textarea){min-height:46px}.app-shell-body .btn,.app-shell-body button{border-radius:12px}.app-shell-body :where(input,select,textarea){border-radius:12px!important;font-size:16px!important}
 .pa-admin-sidebar,.public-sidebar{width:min(88vw,360px)!important;max-width:360px!important;border-radius:0 22px 22px 0;box-shadow:18px 0 50px rgba(3,29,46,.24);padding-bottom:max(10px,env(safe-area-inset-bottom))}.pa-learning-nav,.public-nav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.pa-sidebar-brand,.public-brand{position:sticky;top:0;z-index:3;background:inherit}.pa-sidebar-footer,.public-nav-utility{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(11,50,75,.86),#0b324b 24%);padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .pa-sidebar-install,.public-pwa-install{min-height:48px!important;border-radius:12px!important}.pa-sidebar-install[data-installed="1"],.public-pwa-install[data-installed="1"]{color:#8de5bf!important;opacity:1!important}.pa-sidebar-install[data-installed="1"] svg,.public-pwa-install[data-installed="1"] svg{opacity:.85}
 .toolbar,.inline-actions,.form-actions{max-width:100%}.toolbar>*{min-width:0}.table-wrap,.table-responsive{border-radius:14px;max-width:calc(100vw - 20px);-webkit-overflow-scrolling:touch}.responsive-table :where(td,th){overflow-wrap:anywhere}
 .pa-toast-region{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));top:auto!important;bottom:max(8px,calc(env(safe-area-inset-bottom) + 6px));width:auto}.pa-toast{border-radius:16px!important;box-shadow:0 18px 48px rgba(8,40,59,.2)!important}
 .pa-ui-dialog{width:min(390px,calc(100vw - 22px))!important;border-radius:20px!important}.pa-ui-dialog__head{padding:16px 16px 9px!important}.pa-ui-dialog__body{padding:2px 16px 14px!important;line-height:1.45!important}.pa-ui-dialog__actions{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;justify-content:flex-end!important;gap:8px!important;padding:10px 16px max(14px,env(safe-area-inset-bottom))!important}.pa-ui-dialog__actions .btn{width:auto!important;min-width:78px!important;min-height:38px!important;padding:7px 13px!important;font-size:.8rem!important}.pa-ui-dialog__actions .btn[data-ui-confirm-ok]{order:0!important}
 .pa-page-loader{background:rgba(238,244,247,.62)!important;backdrop-filter:blur(9px)!important}.pa-page-loader__card{border-radius:18px!important;box-shadow:0 20px 58px rgba(10,39,58,.16)!important}
 [data-mobile-optional="1"]{display:none!important}
}
@media(max-width:520px){.pa-admin-content{padding-inline:9px!important}.panel,.card,.ui-card,.lp-section,.m2-panel{border-radius:16px!important}.page-title,.lp-page-head{gap:8px}.page-title h1,.lp-page-head h1{font-size:1.35rem}.pa-top-context strong,.public-appbar-context strong{max-width:48vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline-actions:not(.keep-wrap){overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none}.inline-actions:not(.keep-wrap)::-webkit-scrollbar{display:none}.inline-actions:not(.keep-wrap)>.btn,.inline-actions:not(.keep-wrap)>form{flex:0 0 auto!important;width:auto!important}.pa-ui-dialog__close{width:34px!important;height:34px!important}.pa-ui-dialog__actions{gap:7px!important}.pa-ui-dialog__actions .btn{min-width:74px!important}}
@media(prefers-reduced-motion:no-preference){.app-shell-body :where(.btn,button,.panel,.card,.ui-card,.pa-nav-tree>summary,.public-nav a){transition:transform .14s cubic-bezier(.2,.75,.25,1),background-color .14s ease,border-color .14s ease,box-shadow .18s ease}.app-shell-body :where(.btn,button):active{transform:scale(.985)}}
@media(prefers-reduced-motion:reduce){.app-shell-body *{scroll-behavior:auto!important}}

/* RC6.6 final Android-shell hardening. */
@view-transition{navigation:auto}
@media(max-width:1080px){
  .pa-admin-sidebar,.public-sidebar{height:100dvh!important;max-height:100dvh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
  .pa-learning-nav,.public-nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:14px;-webkit-overflow-scrolling:touch}
  .pa-sidebar-footer,.public-nav-utility{flex:0 0 auto!important}
  .app-shell-body :where(.btn,button){max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .app-shell-body :where(.page-title>p,.page-title>div>p,.lp-page-head>div>p,.authoring-hero-copy>p,.ucl-principle){display:none!important}
  html.pwa-standalone .pa-admin-top,html.pwa-standalone .public-appbar{padding-top:max(10px,env(safe-area-inset-top));box-shadow:0 1px 0 rgba(164,190,203,.55)!important}
  html.pwa-standalone .pa-admin-content,html.pwa-standalone .public-main{padding-bottom:calc(22px + env(safe-area-inset-bottom))!important}
}
@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation-duration:.12s}::view-transition-new(root){animation-duration:.16s}}


/* RC6.9 — compact Android-style admin header + horizontal toolbars. */
@media(max-width:600px){
 .pa-admin-top{gap:7px!important}.pa-admin-top-left,.pa-top-actions{min-width:0!important;gap:6px!important}.pa-top-context{min-width:0!important;flex:1}.pa-top-context strong{max-width:calc(100vw - 202px)!important}
 .pa-top-create{width:42px!important;min-width:42px!important;max-width:42px!important;padding:0!important;font-size:0!important;display:grid!important;place-items:center!important}.pa-top-create::before{content:'+';font-size:1.45rem;font-weight:850;line-height:1}
 .pa-user-badge{width:42px!important;min-width:42px!important;max-width:42px!important;padding:0!important;font-size:0!important;display:grid!important;place-items:center!important}.pa-user-badge::before{margin:0!important;width:28px!important;height:28px!important}
 .pres-v78-toolbar{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.pres-v78-toolbar::-webkit-scrollbar{display:none}.pres-v78-tools-primary,.pres-v78-tools-secondary{flex:0 0 auto!important;flex-wrap:nowrap!important}.pres-v78-toolbar button{flex:0 0 38px!important;min-width:38px!important;width:38px!important;padding-inline:5px!important}
 .app-shell-body :where(.option-edit-row-v41,.rich-option-row){min-width:0!important}.app-shell-body :where(.rich-option-main,.option-edit-row-v41 input,.option-edit-row-v41 textarea){min-width:0!important;max-width:100%!important}
}

/* RC6.10 — adaptive professional UI: phone = native-app density, tablet/desktop = workspace density. */
.app-shell-body :where(.pa-admin-content,.public-main,.container,.panel,.card,.ui-card){min-width:0}
.app-shell-body :where(h1,h2,h3,h4,p,strong,span,small,label,td,th){max-width:100%}
.app-shell-body :where(.toolbar,.inline-actions,.form-actions,.pa-top-actions){min-width:0}

/* One clean menu glyph. The PHP button intentionally contains no visible hamburger text. */
.pa-sidebar-toggle{font-size:0!important;line-height:1!important}
.pa-sidebar-toggle::before{content:"☰";font-size:19px!important;line-height:1!important;font-weight:650}

/* Tactile press without layout shift. */
.app-shell-body :where(button,.btn,[role="button"],summary){transform-origin:center;will-change:transform}
.app-shell-body :where(button,.btn,[role="button"],summary).ui-v85-pressed{transform:scale(.975)!important}
.app-shell-body :where(button,.btn,[role="button"],summary).ui-touch-wave{animation:uiTouchWave .42s cubic-bezier(.2,.75,.25,1)}
@keyframes uiTouchWave{0%{filter:brightness(1);box-shadow:0 0 0 0 rgba(51,157,171,0)}35%{filter:brightness(1.035);box-shadow:0 0 0 5px rgba(51,157,171,.10)}100%{filter:brightness(1);box-shadow:0 0 0 10px rgba(51,157,171,0)}}

/* Student real-time activity rail; it mirrors existing runtime progress rather than inventing a second state. */
.student-live-progress{position:sticky;top:58px;z-index:66;width:100%;height:4px;margin:0;background:rgba(20,84,107,.10);overflow:hidden;pointer-events:none}
.student-live-progress[hidden]{display:none!important}.student-live-progress>i{display:block;width:var(--student-progress,0%);height:100%;border-radius:0 999px 999px 0;background:linear-gradient(90deg,#0c7080,#31a8ad);box-shadow:0 0 14px rgba(31,158,170,.28);transition:width .28s cubic-bezier(.2,.8,.25,1)}
.student-live-progress.is-complete>i{animation:studentProgressDone .7s cubic-bezier(.2,.8,.25,1)}
@keyframes studentProgressDone{0%{filter:brightness(1)}45%{filter:brightness(1.3)}100%{filter:brightness(1)}}

/* Compact premium page loader: useful state only, no long helper copy. */
.pa-page-loader{background:rgba(236,244,247,.62)!important;backdrop-filter:blur(12px) saturate(1.04)!important;-webkit-backdrop-filter:blur(12px) saturate(1.04)!important}
.pa-page-loader__card{min-width:0!important;width:min(250px,calc(100vw - 34px))!important;padding:12px 14px!important;border-radius:18px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 24px 70px rgba(8,40,59,.18)!important}
.pa-page-loader__copy span{display:none!important}.pa-page-loader__copy strong{font-size:.84rem!important;letter-spacing:.01em}
.pa-page-loader__mark{width:38px!important;height:38px!important;border-radius:13px!important}.pa-page-loader__mark::before{width:24px!important;height:24px!important;border-width:2.5px!important;animation-duration:.64s!important}.pa-page-loader__mark::after{width:7px!important;height:7px!important;box-shadow:0 0 0 5px rgba(15,127,141,.08)!important}
.pa-page-loader__progress{height:3px!important}.pa-page-loader__progress::after{width:28%!important;animation-duration:.78s!important}

/* Desktop: calm professional workspace, no phone-like oversized controls. */
@media(min-width:1081px){
 .pa-admin-content{width:min(1540px,calc(100vw - 44px));margin-inline:auto!important;padding:20px 22px 34px!important}.public-main>.section>.container,.public-main>.container{width:min(1240px,calc(100vw - 48px))!important;margin-inline:auto!important}
 .panel,.card,.ui-card{border-radius:16px!important;box-shadow:0 7px 24px rgba(15,58,80,.055)!important}
 .app-shell-body :where(.btn,button){transition:transform .14s cubic-bezier(.2,.75,.25,1),box-shadow .18s ease,border-color .16s ease,background-color .16s ease}
 .app-shell-body :where(.btn,button):hover:not(:disabled){transform:translateY(-1px)}
 .pres-v78-toolbar{gap:7px!important}.pres-v78-toolbar button{min-width:40px!important;min-height:40px!important;border-radius:10px!important}
}

/* Tablet: preserve website layout, but keep controls thumb-friendly and avoid text collisions. */
@media(min-width:701px) and (max-width:1080px){
 .pa-admin-content{padding:16px 16px calc(24px + env(safe-area-inset-bottom))!important}.public-main>.section{padding-inline:16px!important}
 .panel,.card,.ui-card{border-radius:17px!important}.toolbar{gap:10px!important;align-items:center!important}.toolbar h1,.toolbar h2,.toolbar h3{min-width:0!important}
 .form-grid{gap:12px!important}.responsive-table{font-size:.92rem}
 .pres-v78-toolbar{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;gap:7px!important;scrollbar-width:none}.pres-v78-toolbar::-webkit-scrollbar{display:none}.pres-v78-toolbar button{flex:0 0 42px!important;width:42px!important;min-width:42px!important;height:42px!important}
}

/* Phones: native Android-like density, protected text, efficient screen usage. */
@media(max-width:700px){
 .pa-admin-top,.public-appbar{min-height:58px!important;padding:8px 10px!important;gap:7px!important}.pa-admin-top-left,.pa-top-actions{gap:6px!important}.pa-top-context,.public-appbar-context{min-width:0!important}.pa-top-context strong,.public-appbar-context strong{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 .pa-admin-content{padding:10px 9px calc(18px + env(safe-area-inset-bottom))!important}.public-main>.section{padding-inline:9px!important}
 .panel,.card,.ui-card{border-radius:16px!important}.toolbar{gap:8px!important;align-items:center!important}.toolbar>h1,.toolbar>h2,.toolbar>h3{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
 .app-shell-body :where(.btn,button){min-height:44px}.app-shell-body :where(.btn,button,input,select,textarea){max-width:100%}
 .student-live-progress{top:58px;height:4px}
 .pres-v78-toolbar{padding:7px!important;gap:7px!important;scroll-snap-type:x proximity}.pres-v78-toolbar button{flex:0 0 42px!important;width:42px!important;min-width:42px!important;height:42px!important;scroll-snap-align:start;border-radius:11px!important}
 .pa-page-loader{align-items:center!important;padding:16px!important}.pa-page-loader__card{width:min(230px,calc(100vw - 34px))!important}
}

@media(prefers-reduced-motion:reduce){.app-shell-body .ui-touch-wave,.student-live-progress.is-complete>i{animation:none!important}.student-live-progress>i{transition:none!important}}


/* === thinkora-theme-v87.css === */
/* Thinkora RC6.12 — bright learning theme + mobile/worksheet hardening.
   Loaded last so it can safely correct legacy dark/low-contrast components. */
:root{
  --thinkora-orange:#f97316;--thinkora-orange-2:#fb923c;--thinkora-coral:#ef5b4c;
  --thinkora-red:#dc4c45;--thinkora-green:#159a66;--thinkora-blue:#2785a6;
  --thinkora-ink:#17354a;--thinkora-text:#263f52;--thinkora-muted:#61798a;
  --thinkora-bg:#fff8f1;--thinkora-surface:#fff;--thinkora-line:#efd8c5;
  --brand:#f97316;--primary:#f97316;--accent:#ef5b4c;--surface:#fff;--border:#ead8ca;
}
html,body{background:linear-gradient(180deg,#fffaf6 0,#fff7ef 52%,#fff 100%);color:var(--thinkora-text)}
body.app-shell-body{background-color:var(--thinkora-bg)}
:where(.panel,.card,.ui-card,.ucl-card,.rc6-resource-card,.v85-resource-card,.v85-video-card){border-color:#ecdccf!important;background:#fff!important;box-shadow:0 10px 30px rgba(101,55,22,.075)!important}
:where(h1,h2,h3,h4,.pa-top-context strong,.public-appbar-context strong){color:var(--thinkora-ink)}
:where(.muted,.help,small,.ucl-card-context,.ucl-card-description){color:var(--thinkora-muted)}

/* Strong readable controls: never use washed-out grey labels. */
:where(button,.btn,a.btn,input[type=button],input[type=submit]){font-weight:750}
.btn-primary,.pa-top-create{background:linear-gradient(135deg,var(--thinkora-orange),var(--thinkora-coral))!important;border-color:transparent!important;color:#fff!important;box-shadow:0 8px 18px rgba(239,91,76,.2)}
.btn-primary:hover,.pa-top-create:hover{filter:brightness(.98);box-shadow:0 10px 24px rgba(239,91,76,.26)}
.btn-outline,.btn-ghost{color:#23445b!important;border-color:#d9bfa9!important;background:#fff!important}
.btn-outline:hover,.btn-ghost:hover{color:#8b351e!important;border-color:#f3a36d!important;background:#fff3e8!important}
button:disabled,.btn:disabled{opacity:.6;color:#5f7180!important}

/* Admin + public navigation: warm, bright, child-friendly without dark panels. */
.pa-admin-sidebar,.public-sidebar{background:linear-gradient(180deg,#ff8d35 0%,#f66d45 55%,#ef5b4c 100%)!important;border-right-color:#ffd3b5!important;color:#fff!important}
.pa-admin-sidebar :where(a,summary,.pa-nav-section-label,.pa-sidebar-brand strong,.pa-sidebar-brand small),
.public-sidebar :where(a,b,small,.public-brand span){color:#fff!important}
.pa-admin-sidebar :where(a,summary):hover,.public-sidebar a:hover{background:rgba(255,255,255,.16)!important}
.pa-admin-sidebar :where(a.active,summary.active),.public-sidebar a.active{background:#fff!important;color:#9a3a22!important;box-shadow:0 5px 16px rgba(116,50,24,.12)!important}
.pa-admin-sidebar :where(a.active,summary.active) :where(span,b),.public-sidebar a.active :where(span,b){color:#9a3a22!important}
.pa-admin-top,.public-appbar{background:rgba(255,255,255,.96)!important;border-bottom-color:#f0ddd0!important;backdrop-filter:saturate(1.2) blur(12px)}
.pa-command-trigger,.pa-user-badge,.public-sidebar-toggle,.pa-sidebar-toggle{color:#24445b!important;background:#fff8f1!important;border-color:#edd4c1!important}

/* Universal Library: action menus must stay above neighboring cards and stop flicker. */
.ucl-library{isolation:isolate}
.ucl-card{z-index:0;overflow:visible!important}
.ucl-card:hover{z-index:2}
.ucl-card:has(.v85-card-menu[open]){z-index:500!important;transform:none!important}
.v85-card-menu{z-index:20}
.v85-card-menu[open]{z-index:520!important}
.v85-card-menu>div{z-index:540!important;pointer-events:auto!important;min-width:210px!important;border-color:#efd7c3!important;box-shadow:0 22px 52px rgba(93,46,21,.2)!important}
.v85-card-menu>div :where(a,button){color:#263f52!important}
.v85-card-menu>div :where(a,button):hover{background:#fff0e4!important;color:#94391f!important}
.ucl-share-action{display:inline-flex!important;align-items:center;gap:5px;white-space:nowrap}
.ucl-copy-toast{position:fixed;left:50%;bottom:24px;z-index:9999;transform:translateX(-50%);padding:10px 14px;border-radius:999px;background:#17354a;color:#fff;font-weight:800;box-shadow:0 12px 36px rgba(23,53,74,.25)}

/* PDF/worksheet overlays: radio/checkbox controls retain native hit areas instead of becoming giant boxes. */
.worksheet-player-layer{pointer-events:none!important;z-index:3}
.worksheet-field{pointer-events:auto!important;z-index:4;overflow:visible!important;touch-action:manipulation}
.worksheet-field .ws-choice-list{pointer-events:auto!important;overflow:auto!important;gap:.34rem!important;padding:.4rem!important;background:rgba(255,255,255,.96)!important;border-color:#f58b42!important}
.worksheet-field .ws-choice-list label{display:flex!important;align-items:center!important;gap:.42rem!important;min-height:28px!important;margin:0!important;padding:.14rem .2rem!important;cursor:pointer!important;color:#17354a!important;line-height:1.2!important;pointer-events:auto!important}
.worksheet-field input[type="radio"],.worksheet-field input[type="checkbox"]{appearance:auto!important;-webkit-appearance:auto!important;display:inline-block!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;accent-color:var(--thinkora-orange)!important;cursor:pointer!important;pointer-events:auto!important}
.worksheet-field input:not([type="radio"]):not([type="checkbox"]),.worksheet-field textarea,.worksheet-field select{border-color:#f28a42!important;outline-color:#f97316!important}
.worksheet-submitbar{z-index:45!important;bottom:calc(84px + env(safe-area-inset-bottom))!important}

/* Student pages: reserve physical space for fixed bottom navigation and hide the ghost footer underneath. */
.student-surface .footer{display:none!important}
.student-surface .public-main{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
.student-bottom-nav{z-index:300!important;background:rgba(255,255,255,.97)!important;border-color:#ead8ca!important;box-shadow:0 -8px 30px rgba(67,42,24,.1)!important}
.student-bottom-nav a{color:#39586b!important}
.student-bottom-nav a[aria-current="page"]{color:#9a3d21!important;background:#fff0e4!important}
.student-surface .pres-v78-phone .pres-v78-toolbar{bottom:calc(84px + env(safe-area-inset-bottom))!important;z-index:180!important}

/* Selected answers remain vivid on touch screens. */
.student-surface :where(.activity-choice,.choice-option,.pres-v78-choice-grid button)[aria-pressed="true"],
.student-surface :where(.activity-choice,.choice-option,.pres-v78-choice-grid button).active{
  border-color:#f97316!important;background:#fff0e4!important;color:#7f341f!important;box-shadow:0 0 0 3px rgba(249,115,22,.12)!important
}

@media(max-width:760px){
  .student-surface .public-main{padding-bottom:calc(104px + env(safe-area-inset-bottom))!important}
  .worksheet-submitbar{bottom:calc(94px + env(safe-area-inset-bottom))!important;padding-inline:8px!important}
  .worksheet-submitbar>div{width:min(100%,680px);border-radius:18px!important}
  .v85-card-menu>div{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:calc(88px + env(safe-area-inset-bottom))!important;max-height:58dvh;overflow:auto}
}


/* === thinkora-theme-v88.css === */
/* Thinkora RC6.13 — shared bright theme for public/student surfaces. */
:root{
  --thinkora-v88-orange:#ff7a1a;--thinkora-v88-coral:#ef4f62;--thinkora-v88-violet:#6d5dfc;
  --thinkora-v88-blue:#3d8bfd;--thinkora-v88-teal:#16a3a8;--thinkora-v88-green:#23a66e;
  --thinkora-v88-ink:#19364a;--thinkora-v88-muted:#667d8d;--thinkora-v88-bg:#fff7f1;--thinkora-v88-line:#eadbd7;
  --brand:var(--thinkora-v88-orange);--primary:var(--thinkora-v88-orange);--accent:var(--thinkora-v88-coral);
  --surface-canvas:var(--thinkora-v88-bg);--surface-raised:#fff;--surface-soft:#fffaf7;
  --text-primary:var(--thinkora-v88-ink);--text-secondary:#536d7d;--border-soft:var(--thinkora-v88-line);
}
html,body{background:linear-gradient(135deg,#fff7f1 0%,#fffdfb 48%,#f7f5ff 100%)!important;color:var(--thinkora-v88-ink)!important}
.public-main,.student-surface,.public-app-body{background:transparent!important}
.public-appbar{background:rgba(255,255,255,.96)!important;border-bottom:1px solid #eadbd7!important;box-shadow:0 7px 24px rgba(79,55,70,.055)!important}
.public-sidebar{background:linear-gradient(180deg,#f5f2ff 0%,#eff6ff 48%,#fff1e9 100%)!important;color:#314b61!important;border-right:1px solid #ddd7ec!important;box-shadow:9px 0 30px rgba(70,55,104,.09)!important}
.public-sidebar :where(a,b,strong,small,.public-brand span){color:#314b61!important}
.public-sidebar a:hover{background:#fff!important;color:#1d3e57!important}
.public-sidebar a.active{background:linear-gradient(135deg,#fff0e5,#ffe6ea)!important;color:#8a3826!important;box-shadow:0 7px 16px rgba(186,82,57,.10)!important}
.public-nav a>span,.public-nav-utility a>span{border-radius:9px;background:linear-gradient(145deg,#6d5dfc,#4f46e5);color:#fff!important;box-shadow:inset 0 1px rgba(255,255,255,.5),0 4px 9px rgba(70,57,133,.18)}
.student-bottom-nav{background:rgba(255,255,255,.97)!important;border-color:#eadbd7!important;box-shadow:0 -9px 28px rgba(79,55,70,.09)!important}
.student-bottom-nav a{color:#526b7b!important}.student-bottom-nav a[aria-current="page"]{background:#fff0e5!important;color:#8a3826!important}
:where(.student-surface,.public-main) :where(.card,.panel,.ui-card,.student-task-card,.lesson-card){background:#fff!important;border-color:#eadbd7!important;box-shadow:0 10px 28px rgba(79,55,70,.055)!important}
:where(.student-surface,.public-main) :where(.btn-primary,button.primary){background:linear-gradient(135deg,var(--thinkora-v88-orange),var(--thinkora-v88-coral))!important;color:#fff!important;border-color:transparent!important}
:where(.student-surface,.public-main) :where(.btn-outline,.btn-ghost){background:#fff!important;color:#29495f!important;border-color:#decfd4!important}
.student-surface :where(.activity-choice,.choice-option,.pres-v78-choice-grid button)[aria-pressed="true"],
.student-surface :where(.activity-choice,.choice-option,.pres-v78-choice-grid button).active{border-color:var(--thinkora-v88-orange)!important;background:#fff0e5!important;color:#7e3521!important;box-shadow:0 0 0 3px rgba(255,122,26,.12)!important}


/* === thinkora-theme-v89.css === */
/* Thinkora V85 RC6.14 — shared reference-blue palette for public/student surfaces. */
:root{
  --thinkora-v89-navy:#06265f;--thinkora-v89-blue:#087ff5;--thinkora-v89-cyan:#15c8ec;--thinkora-v89-ink:#07133f;
  --thinkora-v89-muted:#687897;--thinkora-v89-bg:#edf4fd;--thinkora-v89-line:#d7e5f7;
  --brand:var(--thinkora-v89-blue);--primary:var(--thinkora-v89-blue);--accent:var(--thinkora-v89-cyan);
  --surface-canvas:var(--thinkora-v89-bg);--surface-raised:#fff;--surface-soft:#f7fbff;
  --text-primary:var(--thinkora-v89-ink);--text-secondary:#526889;--text-muted:var(--thinkora-v89-muted);--border-soft:var(--thinkora-v89-line);--border-focus:#1592ff;
  --color-brand-950:#031c4c;--color-brand-900:var(--thinkora-v89-navy);--color-brand-800:#0a397f;--color-brand-700:#0756b9;--color-brand-600:#087ff5;--color-brand-500:#1592ff;--color-brand-400:#43aaff;--color-brand-100:#dceeff;--color-brand-50:#f1f8ff;
  --focus-ring:0 0 0 3px rgba(21,146,255,.22);
}
html,body{background:linear-gradient(180deg,#eef5fe 0%,#f8fbff 100%)!important;color:var(--thinkora-v89-ink)!important}
.public-main,.student-surface,.public-app-body{background:transparent!important}
.public-appbar{background:rgba(255,255,255,.97)!important;border-bottom:1px solid #e0eaf7!important;box-shadow:0 7px 22px rgba(20,66,126,.055)!important}
.public-sidebar{background:linear-gradient(180deg,#082b69 0%,#031c4c 100%)!important;color:#fff!important;border-right:0!important;box-shadow:10px 0 30px rgba(4,27,74,.13)!important}
.public-sidebar :where(a,b,strong,.public-brand span){color:#fff!important}.public-sidebar small{color:#bad2ef!important}
.public-sidebar a:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
.public-sidebar a.active{background:linear-gradient(135deg,#087ff5,#15c8ec)!important;color:#fff!important;box-shadow:0 8px 18px rgba(4,117,239,.24)!important}
.public-nav a>span,.public-nav-utility a>span{border-radius:9px;background:linear-gradient(145deg,#31c5ff,#3377ff);color:#fff!important;box-shadow:inset 0 1px rgba(255,255,255,.5),0 4px 9px rgba(0,22,70,.20)}
.student-bottom-nav{background:rgba(255,255,255,.98)!important;border-color:#d7e5f7!important;box-shadow:0 -9px 28px rgba(20,66,126,.08)!important}.student-bottom-nav a{color:#536b8d!important}.student-bottom-nav a[aria-current="page"]{background:#eaf5ff!important;color:#0877df!important}
:where(.student-surface,.public-main) :where(.card,.panel,.ui-card,.student-task-card,.lesson-card){background:#fff!important;border-color:#d7e5f7!important;box-shadow:0 10px 28px rgba(20,66,126,.055)!important}
:where(.student-surface,.public-main) :where(.btn-primary,button.primary){background:linear-gradient(135deg,#1592ff,#0877ed)!important;color:#fff!important;border-color:#0877ed!important;box-shadow:0 7px 16px rgba(8,119,237,.18)!important}
:where(.student-surface,.public-main) :where(.btn-outline,.btn-ghost){background:#fff!important;color:#21496f!important;border-color:#ccdef1!important}
.student-surface :where(.activity-choice,.choice-option,.pres-v78-choice-grid button)[aria-pressed="true"],.student-surface :where(.activity-choice,.choice-option,.pres-v78-choice-grid button).active{border-color:#1592ff!important;background:#eef7ff!important;color:#0a5eae!important;box-shadow:0 0 0 3px rgba(21,146,255,.12)!important}


/* === thinkora-theme-v90.css === */
/* Thinkora V85 RC6.15 — student/public responsiveness, video-quiz interaction polish, branded loading. */

/* --------------------------------------------------------------------------
   Branded page-transition loader
   - top progress appears immediately
   - Thinkora card appears only when navigation actually takes noticeable time
   - uses the bundled Thinkora app icon; no generated artwork is required
   -------------------------------------------------------------------------- */
.pa-page-loader{
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  pointer-events:none!important;
}
.pa-page-loader::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(235,244,255,.74);
  backdrop-filter:blur(12px) saturate(1.08);
  -webkit-backdrop-filter:blur(12px) saturate(1.08);
  opacity:0;
  animation:thinkoraLoaderBackdrop .18s ease .28s forwards;
}
.pa-page-loader__progress{
  z-index:2!important;
  height:3px!important;
  background:rgba(8,127,245,.08)!important;
}
.pa-page-loader__progress::after{
  width:30%!important;
  background:linear-gradient(90deg,transparent,#087ff5,#15c8ec,#5a72ff,transparent)!important;
  animation-duration:.82s!important;
}
.pa-page-loader__card{
  position:relative;
  z-index:3;
  grid-template-columns:52px minmax(0,1fr)!important;
  gap:13px!important;
  width:min(300px,calc(100vw - 34px))!important;
  min-width:0!important;
  padding:13px 15px!important;
  border:1px solid rgba(198,219,247,.94)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 26px 76px rgba(8,52,122,.18)!important;
  opacity:0;
  transform:translateY(-7px) scale(.985);
  animation:thinkoraLoaderCard .2s cubic-bezier(.2,.8,.2,1) .28s forwards!important;
}
.pa-page-loader__mark{
  width:48px!important;
  height:48px!important;
  border-radius:15px!important;
  background:
    url("../images/app-icon-192-v85.png") center/38px 38px no-repeat,
    linear-gradient(145deg,#eef8ff,#e8f4ff)!important;
  border:1px solid #d7e9ff;
  box-shadow:inset 0 1px rgba(255,255,255,.95),0 8px 20px rgba(8,127,245,.12)!important;
  overflow:visible!important;
}
.pa-page-loader__mark::before{
  width:54px!important;
  height:54px!important;
  inset:-4px!important;
  border:2px solid transparent!important;
  border-top-color:#15c8ec!important;
  border-right-color:#087ff5!important;
  animation:thinkoraLoaderSpin .9s linear infinite!important;
}
.pa-page-loader__mark::after{
  width:7px!important;
  height:7px!important;
  right:-4px!important;
  top:5px!important;
  left:auto!important;
  background:#15c8ec!important;
  box-shadow:0 0 0 5px rgba(21,200,236,.12)!important;
}
.pa-page-loader__copy{gap:3px!important}
.pa-page-loader__copy strong{font-size:.88rem!important;color:#07133f!important;letter-spacing:0!important}
.pa-page-loader__copy strong::before{content:"Thinkora · ";color:#087ff5;font-weight:850}
.pa-page-loader__copy span{display:block!important;color:#687897!important;font-size:.72rem!important}
@keyframes thinkoraLoaderBackdrop{to{opacity:1}}
@keyframes thinkoraLoaderCard{to{opacity:1;transform:none}}
@keyframes thinkoraLoaderSpin{to{transform:rotate(360deg)}}

/* --------------------------------------------------------------------------
   Public / student shell: true responsive desktop, tablet and phone behavior
   -------------------------------------------------------------------------- */
.public-app-body,.public-main,.public-main>.section,.public-main .container{min-width:0!important}
.public-main>.section{width:100%!important}
.public-main>.section>.container,.public-main>.container{max-width:none!important}
.public-main :where(h1,h2,h3,h4,p,span,strong,label){word-break:normal;overflow-wrap:break-word}

/* Desktop: use the available canvas instead of retaining a phone-width column. */
@media(min-width:1081px){
  .public-app-body.student-surface .public-main{
    margin-left:248px!important;
    width:calc(100% - 248px)!important;
    max-width:none!important;
  }
  .public-main>.section{padding:22px 0 36px!important}
  .public-main>.section>.container,.public-main>.container{
    width:min(1380px,calc(100% - 44px))!important;
    margin-inline:auto!important;
  }
  .activity-runtime{width:100%!important;max-width:none!important}
  .activity-run-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(220px,320px)!important;
    gap:20px!important;
    align-items:end!important;
  }
  .activity-run-head>div{min-width:0}
  .activity-run-progress{width:100%!important;min-width:0!important}
  .activity-public:not(.activity-public-video) .activity-run-question{
    width:min(960px,100%)!important;
    max-width:960px!important;
    margin-inline:auto!important;
  }

  /* The DOM already has .video-v43-student-layout as the real 2-column grid.
     The old outer 2-column grid created an empty second column and squeezed all
     student content into a narrow phone-like strip on desktop. */
  .activity-video-workspace,.video-workspace{
    display:block!important;
    width:100%!important;
    max-width:none!important;
  }
  .video-v43-student-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(260px,320px)!important;
    gap:18px!important;
    align-items:start!important;
    width:100%!important;
  }
  .video-v43-main{min-width:0!important;display:grid!important;gap:16px!important}
  .video-v43-side{min-width:0!important}
  .activity-video-frame{width:100%!important;max-width:none!important;margin:0!important}
  .activity-video-workspace .activity-player-wrap{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .activity-public-video .activity-run-question{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:clamp(20px,2vw,28px)!important;
  }
  .activity-public-video .activity-rich-stem,
  .activity-public-video .activity-stem{max-width:900px!important}
  .activity-public-video .activity-answer-list{width:100%!important;max-width:900px!important}
  .activity-public-video .activity-run-actions{max-width:900px!important}
  .activity-public-video .activity-save-state{max-width:900px!important}
  .student-bottom-nav{display:none!important}
}

/* Laptop / smaller desktop: keep a proper desktop canvas while dropping only
   the secondary video chapter rail when it would make the question too narrow. */
@media(min-width:901px) and (max-width:1240px){
  .public-main>.section>.container,.public-main>.container{width:calc(100% - 28px)!important}
  .video-v43-student-layout{grid-template-columns:1fr!important}
  .video-v43-side{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .activity-public-video .activity-run-question{width:100%!important;max-width:none!important}
}

/* Tablet */
@media(min-width:701px) and (max-width:1080px){
  .public-main>.section{padding:16px 0 28px!important}
  .public-main>.section>.container,.public-main>.container{width:calc(100% - 32px)!important;margin-inline:auto!important}
  .activity-run-head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(190px,260px)!important;gap:14px!important;align-items:end!important}
  .activity-video-workspace,.video-workspace{display:block!important;width:100%!important}
  .video-v43-student-layout{grid-template-columns:1fr!important;width:100%!important}
  .video-v43-side{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .activity-public-video .activity-run-question{max-width:none!important;width:100%!important}
}

/* Phone */
@media(max-width:700px){
  .public-main>.section>.container,.public-main>.container{width:auto!important;max-width:none!important;margin-inline:9px!important}
  .activity-run-head{grid-template-columns:1fr!important}
  .activity-video-workspace,.video-workspace{display:block!important;width:100%!important}
  .video-v43-student-layout,.video-v43-side{grid-template-columns:1fr!important}
  .activity-public-video .activity-run-question{width:100%!important;max-width:none!important}
  .activity-answer-option{min-height:58px!important;align-items:center!important}
  .activity-answer-key{flex:0 0 38px;width:38px!important;height:38px!important}
  .activity-answer-content{min-width:0!important;line-height:1.35!important}
  .pa-page-loader__card{grid-template-columns:46px minmax(0,1fr)!important;width:min(286px,calc(100vw - 26px))!important}
  .pa-page-loader__mark{width:42px!important;height:42px!important;background-size:34px 34px!important}
  .pa-page-loader__mark::before{width:48px!important;height:48px!important}
}

/* --------------------------------------------------------------------------
   Video quiz choices: explicit visual/touch state independent of :has().
   -------------------------------------------------------------------------- */
.activity-answer-option{
  position:relative;
  z-index:0;
  user-select:none;
  -webkit-user-select:none;
  touch-action:manipulation;
}
.activity-answer-option input{pointer-events:auto!important;accent-color:#087ff5}
.activity-answer-option.is-selected,
.activity-answer-option:has(input:checked){
  border-color:#1592ff!important;
  background:#eef7ff!important;
  box-shadow:0 0 0 3px rgba(21,146,255,.12)!important;
}
.activity-answer-option.is-selected .activity-answer-key,
.activity-answer-option:has(input:checked) .activity-answer-key{
  background:linear-gradient(135deg,#1592ff,#0877ed)!important;
  color:#fff!important;
}
.activity-run-question.question-time-advisory-expired .activity-question-timer{
  color:#8a5a00!important;
  background:#fff7dc!important;
  border-color:#f6d77b!important;
}

@media(prefers-reduced-motion:reduce){
  .pa-page-loader::before,.pa-page-loader__card{animation-delay:0s!important;animation-duration:.001ms!important}
  .pa-page-loader__mark::before{animation:none!important}
}


/* === thinkora-polish-v94.css === */
/* Thinkora V85 RC6.19 — student mobile density, navy visual system,
   interactive worksheet touch fixes, focus video, landscape presentation/whiteboard,
   and small admin/teacher usability polish. */

:root{
  --tk94-navy:#06265f;
  --tk94-navy-2:#0a356f;
  --tk94-blue:#0b63ce;
  --tk94-blue-2:#1387e8;
  --tk94-blue-soft:#eaf3ff;
  --tk94-line:#d7e3ef;
  --tk94-ink:#12334a;
  --tk94-muted:#63788a;
  --tk94-shadow:0 12px 34px rgba(6,38,95,.10);
}

/* --------------------------------------------------------------------------
   Student visual system: navy/blue, no orange primary actions
   -------------------------------------------------------------------------- */
.student-surface{
  --primary:var(--tk94-blue);
  --primary-dark:var(--tk94-navy);
  --brand:var(--tk94-blue);
  --brand-dark:var(--tk94-navy);
  --student-ink:var(--tk94-ink);
  --student-line:var(--tk94-line);
  --student-muted:var(--tk94-muted);
  --thinkora-orange:var(--tk94-blue);
  --thinkora-orange-2:var(--tk94-blue-2);
  --thinkora-coral:#0f78d7;
  scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom));
}
.student-surface :is(.btn-primary,.primary,[data-primary-action]),
.student-surface .student-task-card>.btn,
.student-surface .worksheet-submitbar .btn-primary,
.student-surface .activity-run-actions .btn-primary,
.student-surface .pres-student-controls .btn-primary{
  background:linear-gradient(135deg,var(--tk94-blue),var(--tk94-navy-2))!important;
  border-color:var(--tk94-blue)!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(11,99,206,.16)!important;
}
.student-surface :is(.btn-primary,.primary,[data-primary-action]):hover{
  background:linear-gradient(135deg,#0757ba,var(--tk94-navy))!important;
  border-color:#0757ba!important;
}
.student-surface .badge{
  border-color:#cfe2f7!important;
}
.student-surface .student-bottom-nav a[aria-current="page"]{
  background:var(--tk94-blue-soft)!important;
  color:var(--tk94-blue)!important;
  border-color:#b8d7f5!important;
}
.student-surface .student-bottom-nav{
  border-color:#cbddea!important;
  box-shadow:0 14px 36px rgba(6,38,95,.16)!important;
}
.student-surface .public-sidebar-toggle{background:#f6faff!important;border-color:#cbddea!important;color:#183e59!important}
.student-surface :is(.btn-outline,.btn-ghost):hover{background:#edf6ff!important;border-color:#98c4ef!important;color:#0759ad!important}

/* --------------------------------------------------------------------------
   Mobile shell density: use the phone width rather than wasting side gutters
   -------------------------------------------------------------------------- */
@media(max-width:760px){
  .student-surface .public-main>.section,
  .student-surface .public-main>.presentation-v50-student{
    padding-left:0!important;
    padding-right:0!important;
  }
  .student-surface .public-main>.section>.container,
  .student-surface .public-main>.container,
  .student-surface .simple-access-container,
  .student-presentation-page .pres-student-shell{
    width:calc(100% - 8px)!important;
    max-width:none!important;
    margin-inline:4px!important;
  }
  .student-surface .public-appbar{
    padding-inline:8px!important;
    gap:7px!important;
  }
  .student-surface .public-appbar-context strong{
    font-size:clamp(1rem,5.2vw,1.28rem)!important;
    line-height:1.15!important;
  }
  .student-surface .public-sidebar-toggle,
  .student-surface .a11y-launcher{
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    border-radius:13px!important;
  }
  .student-surface.has-student-bottom-nav .public-main,
  .student-surface .public-main{
    padding-bottom:calc(96px + env(safe-area-inset-bottom))!important;
  }
  .student-surface .student-bottom-nav{
    left:5px!important;
    right:5px!important;
    bottom:max(5px,env(safe-area-inset-bottom))!important;
    padding:4px!important;
    border-radius:17px!important;
  }
  .student-surface .student-bottom-nav a{
    min-height:50px!important;
    padding:5px 2px!important;
  }

  /* Student dashboard cards become denser but stay comfortably tappable. */
  .student-workspace-page .simple-access-page{padding-top:6px!important}
  .student-workspace-page .student-workspace-head{
    padding:10px!important;
    margin-bottom:8px!important;
    border-radius:14px!important;
  }
  .student-workspace-page .student-dashboard-section{
    padding:10px!important;
    border-radius:14px!important;
  }
  .student-workspace-page .student-dashboard-section+.student-dashboard-section{margin-top:8px!important}
  .student-workspace-page .student-task-list{gap:7px!important}
  .student-workspace-page .student-task-card{
    gap:8px!important;
    padding:10px!important;
    border-radius:12px!important;
  }
  .student-workspace-page .student-task-card>.btn{
    min-height:42px!important;
    padding:8px 11px!important;
  }
}

/* --------------------------------------------------------------------------
   Activity / quiz: compact, readable and touch-first
   -------------------------------------------------------------------------- */
.student-activity-page .activity-runtime-container{
  max-width:1280px!important;
}
.student-activity-page .activity-run-head{
  gap:10px!important;
}
.student-activity-page .activity-run-question{
  border-color:var(--tk94-line)!important;
  box-shadow:var(--tk94-shadow)!important;
}
.student-activity-page .activity-answer-option{
  border:1.5px solid #cfdeea!important;
  color:var(--tk94-ink)!important;
  transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease,transform .14s ease!important;
}
.student-activity-page .activity-answer-option:has(input:checked),
.student-activity-page .activity-answer-option.is-selected{
  border-color:var(--tk94-blue)!important;
  background:#f0f7ff!important;
  box-shadow:0 0 0 3px rgba(11,99,206,.10)!important;
}
.student-activity-page .activity-answer-key{
  background:#eaf2f8!important;
  color:#174a6b!important;
}
.student-activity-page .activity-answer-option:has(input:checked) .activity-answer-key,
.student-activity-page .activity-answer-option.is-selected .activity-answer-key{
  background:var(--tk94-blue)!important;
  color:#fff!important;
}
.student-activity-page .activity-answer-option input{
  accent-color:var(--tk94-blue)!important;
}
@media(max-width:760px){
  .student-activity-page .activity-public{padding-top:5px!important}
  .student-activity-page .activity-runtime-container{padding-inline:0!important}
  .student-activity-page .activity-run-head{
    margin:8px 5px!important;
    padding:0!important;
  }
  .student-activity-page .activity-run-question{
    width:calc(100% - 4px)!important;
    margin-inline:2px!important;
    padding:12px!important;
    border-radius:15px!important;
  }
  .student-activity-page .activity-review-tools{gap:6px!important;margin-bottom:8px!important}
  .student-activity-page .activity-run-question h2{margin-bottom:7px!important}
  .student-activity-page .activity-run-question .activity-stem{margin-bottom:10px!important;line-height:1.45!important}
  .student-activity-page .activity-answer-list{gap:7px!important}
  .student-activity-page .activity-answer-option{
    min-height:50px!important;
    gap:8px!important;
    padding:9px 10px!important;
    border-radius:12px!important;
  }
  .student-activity-page .activity-answer-key{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    border-radius:9px!important;
  }
  .student-activity-page .activity-run-actions{
    gap:7px!important;
    margin-top:12px!important;
  }
  .student-activity-page .activity-run-actions .btn{
    min-height:44px!important;
    padding-inline:10px!important;
  }
}

/* --------------------------------------------------------------------------
   Video learning: wider player, in-app focus mode, landscape fullscreen support
   -------------------------------------------------------------------------- */
.student-activity-page .activity-video-frame.video-runtime-card{
  aspect-ratio:auto!important;
  width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
  border-color:#cbddea!important;
  border-radius:18px!important;
}
.student-activity-page .activity-video-frame .activity-player-wrap{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.student-activity-page .activity-video-frame.video-runtime-card>.activity-player-wrap{height:auto!important}
.student-activity-page .activity-video-frame.video-runtime-card>.video52-controls,
.student-activity-page .activity-video-frame.video-runtime-card>.video-resume-bar,
.student-activity-page .activity-video-frame.video-runtime-card>.video94-focusbar{width:100%!important;height:auto!important}
.student-activity-page .video52-controls{
  grid-template-columns:auto auto minmax(120px,1fr) auto auto auto!important;
}
.student-activity-page .video52-control.primary{
  background:var(--tk94-blue)!important;
  border-color:var(--tk94-blue)!important;
}
.video94-focusbar{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:48px;
  padding:8px 11px;
  border-bottom:1px solid var(--tk94-line);
  background:#fff;
  color:var(--tk94-navy);
}
.video94-focus-close{
  display:grid;
  place-items:center;
  width:40px;
  min-width:40px;
  height:40px;
  min-height:40px;
  padding:0;
  border:1px solid #cbddea;
  border-radius:12px;
  background:#f7faff;
  color:#31546c;
  font-size:1.35rem;
  cursor:pointer;
}
body.video94-focus-open{overflow:hidden!important}
.student-activity-page .activity-video-frame.video94-focus-mode{
  position:fixed!important;
  inset:max(7px,env(safe-area-inset-top)) max(7px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left))!important;
  z-index:1300!important;
  width:auto!important;
  max-width:none!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:auto!important;
  background:#fff!important;
  border:1px solid #c5d9e9!important;
  border-radius:20px!important;
  box-shadow:0 28px 90px rgba(2,22,53,.38)!important;
}
.student-activity-page .activity-video-frame.video94-focus-mode .video94-focusbar{display:flex}
.student-activity-page .activity-video-frame.video94-focus-mode .activity-player-wrap{
  flex:1 1 auto;
  min-height:0;
  max-height:calc(100dvh - 165px)!important;
  aspect-ratio:16/9!important;
}
.student-activity-page .activity-video-frame.video94-focus-mode .video52-controls,
.student-activity-page .activity-video-frame.video94-focus-mode .video-resume-bar{flex:0 0 auto}
@media(max-width:760px){
  .student-activity-page .activity-video-workspace,
  .student-activity-page .video-v43-student-layout,
  .student-activity-page .video-v43-main{width:100%!important;max-width:none!important}
  .student-activity-page .activity-video-frame.video-runtime-card{
    width:calc(100% - 2px)!important;
    margin-inline:1px!important;
    border-radius:14px!important;
  }
  .student-activity-page .video52-controls{
    grid-template-columns:auto auto minmax(0,1fr) auto auto!important;
    gap:5px!important;
    padding:7px!important;
  }
  .student-activity-page .video52-speed{display:none!important}
  .student-activity-page .video52-control{
    min-height:40px!important;
    padding-inline:9px!important;
  }
  .student-activity-page #videoFocusMode span{display:none!important}
  .student-activity-page .video52-track-wrap{min-width:70px!important;gap:4px!important}
  .student-activity-page .video52-time{display:none!important}
  .student-activity-page .video-resume-bar{padding:8px 9px!important;gap:8px!important}
}
@media(orientation:landscape) and (max-height:560px){
  .student-activity-page .activity-video-frame.video94-focus-mode{
    inset:3px!important;
    border-radius:12px!important;
  }
  .student-activity-page .activity-video-frame.video94-focus-mode .video94-focusbar{min-height:40px;padding:4px 8px}
  .student-activity-page .activity-video-frame.video94-focus-mode .activity-player-wrap{max-height:calc(100dvh - 122px)!important}
  .student-activity-page .activity-video-frame.video94-focus-mode .video-resume-bar{display:none!important}
}

/* --------------------------------------------------------------------------
   Interactive worksheet/PDF: ensure overlay is actually tappable and submit is visible
   -------------------------------------------------------------------------- */
.student-activity-page .activity-public-worksheet .worksheet-player-scroll{
  position:relative;
  overflow:auto!important;
  overscroll-behavior:contain;
  touch-action:pan-x pan-y;
  background:#eef4fa!important;
}
.student-activity-page .activity-public-worksheet .worksheet-player-page{
  width:100%!important;
  max-width:1100px!important;
  margin-inline:auto!important;
}
.student-activity-page .activity-public-worksheet .worksheet-player-page>img{
  pointer-events:none!important;
  user-select:none!important;
}
.student-activity-page .activity-public-worksheet .worksheet-player-layer{
  z-index:3!important;
  pointer-events:none!important;
}
.student-activity-page .activity-public-worksheet .worksheet-field{
  z-index:4!important;
  pointer-events:auto!important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.student-activity-page .activity-public-worksheet .worksheet-field>*{pointer-events:auto!important}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-choice-list{
  pointer-events:auto!important;
  border-color:var(--tk94-blue)!important;
  background:rgba(255,255,255,.97)!important;
  gap:3px!important;
  padding:4px!important;
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-choice-list label{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:30px!important;
  margin:0!important;
  padding:3px 4px!important;
  border-radius:7px!important;
  color:var(--tk94-ink)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation;
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-choice-list label:has(input:checked){
  background:#eaf3ff!important;
  box-shadow:inset 0 0 0 1px #b6d6f7!important;
}
.student-activity-page .activity-public-worksheet .worksheet-field input[type="radio"],
.student-activity-page .activity-public-worksheet .worksheet-field input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:auto!important;
  flex:0 0 20px!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  accent-color:var(--tk94-blue)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
.student-activity-page .activity-public-worksheet .worksheet-field input:not([type="radio"]):not([type="checkbox"]),
.student-activity-page .activity-public-worksheet .worksheet-field textarea,
.student-activity-page .activity-public-worksheet .worksheet-field select{
  border-color:var(--tk94-blue)!important;
  outline-color:var(--tk94-blue)!important;
}
.student-activity-page .activity-public-worksheet .worksheet-submitbar{
  bottom:calc(78px + env(safe-area-inset-bottom))!important;
  z-index:90!important;
  padding:5px!important;
  pointer-events:none;
}
.student-activity-page .activity-public-worksheet .worksheet-submitbar>div{
  width:min(680px,calc(100vw - 14px))!important;
  max-width:none!important;
  padding:6px!important;
  border-radius:16px!important;
  box-shadow:0 14px 40px rgba(6,38,95,.18)!important;
  pointer-events:auto;
}
.student-activity-page .activity-public-worksheet .worksheet-submitbar #worksheetState{
  min-width:0;
  flex:1;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .student-activity-page .activity-public-worksheet .worksheet-view-tools{
    margin:2px 2px 6px!important;
    padding:7px 9px!important;
    border-radius:11px!important;
  }
  .student-activity-page .activity-public-worksheet .worksheet-player-scroll{
    margin-inline:0!important;
    padding:2px!important;
    border-radius:10px!important;
  }
  .student-activity-page .activity-public-worksheet .worksheet-player-page{
    margin-bottom:6px!important;
  }
  .student-activity-page .activity-public-worksheet .worksheet-submitbar>div{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:6px!important;
    align-items:center!important;
  }
  .student-activity-page .activity-public-worksheet .worksheet-submitbar .btn{
    min-height:44px!important;
    padding-inline:12px!important;
    white-space:nowrap;
  }
}

/* --------------------------------------------------------------------------
   Whiteboard mobile: larger usable canvas, tidy scrollable tools, math symbols
   -------------------------------------------------------------------------- */
.student-whiteboard-page .public-main>.section>.container{max-width:1500px!important}
.student-whiteboard-page .wb2-shell{
  --wb-ink:var(--tk94-navy);
  --wb-accent:var(--tk94-blue);
  border-color:#cbddea!important;
  box-shadow:var(--tk94-shadow)!important;
}
.student-whiteboard-page .wb2-tool.active{
  background:var(--tk94-navy)!important;
  border-color:var(--tk94-navy)!important;
}
.student-whiteboard-page .wb2-page-tab.active{
  background:#eaf3ff!important;
  color:var(--tk94-blue)!important;
  border-color:#80b6ed!important;
}
.student-whiteboard-page .wb2-canvas-viewport{
  min-height:clamp(330px,58dvh,720px)!important;
}
.student-whiteboard-page .wb2-canvas-wrap{
  width:min(100%,1380px)!important;
}
.wb2-symbol-dialog{
  width:min(94vw,760px)!important;
  max-height:min(88dvh,760px);
  overflow:hidden;
}
.wb2-symbol-shell{
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  gap:10px;
  max-height:min(88dvh,760px);
  padding:16px;
}
.wb2-symbol-help{margin:0;color:#647b8a;font-size:.84rem;line-height:1.45}
.wb2-symbol-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow:auto;padding-right:3px}
.wb2-symbol-groups section{min-width:0;border:1px solid #d9e5ef;border-radius:13px;background:#f9fbfe;padding:9px}
.wb2-symbol-groups h4{margin:0 0 7px;color:#294b63;font-size:.76rem;letter-spacing:.02em}
.wb2-symbol-grid{display:grid;grid-template-columns:repeat(6,minmax(38px,1fr));gap:5px}
.wb2-symbol-grid button{
  min-width:0;
  min-height:42px;
  padding:3px;
  border:1px solid #cfdeea;
  border-radius:9px;
  background:#fff;
  color:#143d5a;
  font:700 1.15rem/1.1 "Cambria Math","STIX Two Math",serif;
  cursor:pointer;
}
.wb2-symbol-grid button:hover,.wb2-symbol-grid button:focus-visible{
  border-color:var(--tk94-blue);
  background:#eaf3ff;
  outline:2px solid rgba(11,99,206,.12);
}
.student-whiteboard-page .wb2-shell:fullscreen{
  display:flex!important;
  flex-direction:column!important;
  width:100vw!important;
  height:100dvh!important;
  background:#eef4f8!important;
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-commandbar{flex:0 0 auto}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-body{flex:1 1 auto;height:auto!important;min-height:0!important}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-main{min-height:0!important}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-canvas-viewport{min-height:0!important}
@media(max-width:760px){
  .student-whiteboard-page .public-main>.section{padding-top:5px!important}
  .student-whiteboard-page .public-main>.section>.container{width:calc(100% - 6px)!important;margin-inline:3px!important}
  .student-whiteboard-page .public-main>.section>.container>h1{font-size:clamp(1.55rem,7vw,2rem)!important;margin:6px 4px!important}
  .student-whiteboard-page .public-main>.section>.container>p{margin-inline:4px!important}
  .student-whiteboard-page .wb2-shell{border-radius:13px!important}
  .student-whiteboard-page .wb2-commandbar{
    gap:5px!important;
    padding:5px!important;
    background:#f8fbfe!important;
  }
  .student-whiteboard-page .wb2-tools{
    display:flex!important;
    width:100%!important;
    gap:4px!important;
    overflow-x:auto!important;
    padding-bottom:2px!important;
    scroll-snap-type:x proximity;
  }
  .student-whiteboard-page .wb2-tool,
  .student-whiteboard-page .wb2-icon-btn{
    flex:0 0 40px!important;
    width:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    height:40px!important;
    padding:0!important;
    border-radius:10px!important;
    scroll-snap-align:start;
  }
  .student-whiteboard-page .wb2-tool b{display:none!important}
  .student-whiteboard-page .wb2-divider{height:28px!important;margin-inline:0!important}
  .student-whiteboard-page .wb2-format{
    width:100%!important;
    display:grid!important;
    grid-template-columns:40px minmax(110px,1fr) 40px 40px 40px 40px!important;
    gap:4px!important;
    overflow:visible!important;
    margin:0!important;
  }
  .student-whiteboard-page .wb2-color{width:40px!important;height:40px!important}
  .student-whiteboard-page .wb2-width{height:40px!important;min-width:0!important;padding:0 6px!important}
  .student-whiteboard-page .wb2-width input{min-width:70px!important;width:100%!important}
  .student-whiteboard-page .wb2-width output{min-width:18px!important}
  .student-whiteboard-page .wb2-pages{min-height:44px!important;padding:5px!important}
  .student-whiteboard-page .wb2-canvas-viewport{
    min-height:clamp(350px,57dvh,560px)!important;
    padding:4px!important;
    place-items:start center!important;
  }
  .student-whiteboard-page .wb2-canvas-wrap{
    width:100%!important;
    border-radius:8px!important;
  }
  .student-whiteboard-page .wb2-statusbar{padding:6px 8px!important}
  .student-whiteboard-page .wb2-inspector{padding:7px!important;max-height:210px!important}
  .student-whiteboard-page .wb2-inspector:not(:has(.wb2-inspector-content:not([hidden]))){display:none!important}
  .wb2-symbol-dialog{width:calc(100vw - 8px)!important;max-height:92dvh!important;border-radius:14px!important}
  .wb2-symbol-shell{padding:10px;max-height:92dvh!important}
  .wb2-symbol-groups{grid-template-columns:1fr!important;gap:8px!important}
  .wb2-symbol-grid{grid-template-columns:repeat(6,minmax(36px,1fr))!important}
  .wb2-symbol-grid button{min-height:40px!important}
}
@media(orientation:landscape) and (max-height:560px){
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-commandbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:5px!important;
    padding:4px!important;
  }
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-tools{width:auto!important}
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-format{
    width:auto!important;
    grid-template-columns:38px minmax(110px,180px) 38px 38px 38px 38px!important;
  }
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-pages{min-height:40px!important}
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-canvas-viewport{padding:3px!important}
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-statusbar{min-height:34px!important;padding:3px 7px!important}
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-inspector{display:none!important}
}

/* --------------------------------------------------------------------------
   Student slideshow: never hidden by bottom navigation; explicit landscape mode
   -------------------------------------------------------------------------- */
.student-presentation-page .presentation-v50-student{
  padding:8px 4px calc(96px + env(safe-area-inset-bottom))!important;
}
.student-presentation-page .pres-student-shell{max-width:1280px!important}
.student-presentation-page .pres-student-card{
  border-color:#ccdeeb!important;
  box-shadow:var(--tk94-shadow)!important;
}
.student-presentation-page .pres-student-controls{
  position:sticky;
  bottom:calc(78px + env(safe-area-inset-bottom));
  z-index:85;
  width:max-content;
  max-width:calc(100vw - 16px);
  margin:0 auto;
  padding:6px;
  border:1px solid #cbddea;
  border-radius:16px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  box-shadow:0 12px 30px rgba(6,38,95,.14);
}
.student-presentation-page .pres94-landscape{white-space:nowrap}
.student-presentation-page .pres-student-stage:fullscreen{
  width:100vw!important;
  height:100dvh!important;
  overflow:auto!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto auto!important;
  align-content:stretch!important;
  gap:6px!important;
  padding:6px!important;
  background:#eef4f9!important;
}
.student-presentation-page .pres-student-stage:fullscreen .pres-student-card{
  width:min(100%,calc((100dvh - 82px)*16/9))!important;
  max-width:none!important;
  max-height:none!important;
  min-height:0!important;
  height:auto!important;
  margin:auto!important;
  aspect-ratio:16/9!important;
}
.student-presentation-page .pres-student-stage:fullscreen .pres-student-controls{
  position:static!important;
  bottom:auto!important;
  margin:0 auto!important;
}
@media(max-width:760px){
  .student-presentation-page .presentation-v50-student{padding-inline:2px!important}
  .student-presentation-page .pres-student-head{
    gap:6px!important;
    margin:4px 4px 7px!important;
  }
  .student-presentation-page .pres-student-head>div:first-child{gap:5px!important}
  .student-presentation-page .pres-student-stage{gap:7px!important}
  .student-presentation-page .pres-student-card{
    width:100%!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
    padding:clamp(12px,4vw,20px)!important;
    border-radius:12px!important;
  }
  .student-presentation-page .pres-content h2{font-size:clamp(1.3rem,6vw,2rem)!important}
  .student-presentation-page .pres-student-controls{
    gap:5px!important;
    padding:5px!important;
  }
  .student-presentation-page .pres-student-controls .btn{
    min-height:42px!important;
    padding-inline:10px!important;
  }
  .student-presentation-page .pres-student-controls>[data-present-counter]{min-width:38px;text-align:center}
  .student-presentation-page .pres94-landscape span{display:none}
}
@media(orientation:landscape) and (max-height:560px){
  .student-presentation-page .pres-student-stage:fullscreen{padding:3px!important;gap:3px!important}
  .student-presentation-page .pres-student-stage:fullscreen .pres-student-card{
    width:min(100%,calc((100dvh - 60px)*16/9))!important;
  }
  .student-presentation-page .pres-student-stage:fullscreen .pres-student-response{max-height:74px;overflow:auto}
  .student-presentation-page .pres-student-stage:fullscreen .pres-student-controls{padding:3px!important}
}

/* --------------------------------------------------------------------------
   Admin / teacher: restrained density and smoother responsive behavior.
   This intentionally does not redesign workflows or change data hierarchy.
   -------------------------------------------------------------------------- */
.pa-admin-body .pa-admin-content :is(.panel,.card,.pa-panel){
  scroll-margin-top:84px;
}
.pa-admin-body :is(.btn,button,a,input,select,textarea){
  transition-property:background-color,border-color,color,box-shadow,transform,opacity;
  transition-duration:.14s;
  transition-timing-function:ease;
}
@media(max-width:760px){
  .pa-admin-body .pa-admin-content{
    padding-left:max(7px,env(safe-area-inset-left))!important;
    padding-right:max(7px,env(safe-area-inset-right))!important;
  }
  .pa-admin-body .pa-admin-content :is(.panel,.card,.pa-panel){
    border-radius:14px!important;
  }
  .pa-admin-body .toolbar,.pa-admin-body .actions,.pa-admin-body .form-actions{
    gap:6px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .student-surface *, .pa-admin-body *{scroll-behavior:auto!important;transition:none!important}
}


/* === thinkora-polish-v95.css === */
/* Thinkora V85 RC6.20 — desktop authoring recovery + explicit student close/exit controls. */

/* --------------------------------------------------------------------------
   Question Studio desktop regression
   Older authoring CSS assigned five columns directly to .question-type-picker.
   RC6.17 then inserted a filter row + nested .question-type-grid inside that
   element. Without resetting the parent grid, the nested grid was squeezed into
   one fifth of the available width and every label wrapped one character per line.
   Keep the outer picker one column and let the inner grid own the responsive cards.
   -------------------------------------------------------------------------- */
.pa-admin-body .question-type-selector,
.pa-admin-body .question-type-picker,
.pa-admin-body .question-type-filterbar,
.pa-admin-body .question-type-grid{
  min-width:0!important;
  max-width:100%!important;
}
.pa-admin-body .question-type-picker{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-flow:row!important;
  grid-auto-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
  width:100%!important;
  gap:9px!important;
}
.pa-admin-body .question-type-selector.is-collapsed .question-type-picker{display:none!important}
.pa-admin-body .question-type-filterbar,
.pa-admin-body .question-type-grid{
  grid-column:1/-1!important;
  width:100%!important;
}
.pa-admin-body .question-type-filterbar{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:6px!important;
  overflow:visible!important;
}
.pa-admin-body .question-type-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(165px,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
}
.pa-admin-body .question-type-choice{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:62px!important;
  grid-template-columns:36px minmax(0,1fr)!important;
  grid-auto-flow:row!important;
  align-items:center!important;
  padding:9px 10px!important;
  overflow:hidden!important;
}
.pa-admin-body .question-type-symbol{
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
}
.pa-admin-body .question-type-copy,
.pa-admin-body .question-type-copy strong,
.pa-admin-body .question-type-copy small{
  min-width:0!important;
  max-width:100%!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  white-space:normal!important;
}
.pa-admin-body .question-type-copy strong{font-size:.77rem!important;line-height:1.25!important}
.pa-admin-body .question-type-copy small{font-size:.63rem!important;line-height:1.3!important}

/* Keep the whole editor balanced at common laptop/desktop widths. */
.pa-admin-body .authoring-editor-grid{min-width:0!important}
.pa-admin-body .authoring-canvas,
.pa-admin-body .authoring-preview,
.pa-admin-body .authoring-block{min-width:0!important;max-width:100%!important}
.pa-admin-body .authoring-hero-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:wrap!important}
.pa-admin-body .authoring-exit-btn{border-color:#cadced!important;background:#fff!important;color:#264f75!important}
.pa-admin-body .authoring-exit-btn:hover{border-color:#7fb6ec!important;background:#edf6ff!important;color:#075fb4!important}

@media (min-width:1500px){
  .pa-admin-body .question-type-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media (min-width:1081px) and (max-width:1499px){
  .pa-admin-body .question-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:900px){
  .pa-admin-body .question-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:620px){
  .pa-admin-body .question-type-filterbar{flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:4px!important}
  .pa-admin-body .question-type-grid{display:flex!important;overflow-x:auto!important;gap:7px!important;padding-bottom:5px!important}
  .pa-admin-body .question-type-choice{flex:0 0 min(220px,78vw)!important;width:auto!important}
  .pa-admin-body .authoring-hero-actions{justify-content:flex-start!important;width:100%!important}
}

/* --------------------------------------------------------------------------
   Student shell: explicit Back / Close / Exit actions that remain usable on HP.
   -------------------------------------------------------------------------- */
.student-surface .public-appbar-context{
  min-width:0!important;
  flex:1 1 auto!important;
  overflow:hidden!important;
}
.student-surface .public-appbar-context strong{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.student-top-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex:0 0 auto;
}
.student-top-action,
.student-top-exit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:38px;
  padding:7px 10px;
  border:1px solid #cbddea;
  border-radius:11px;
  background:#fff;
  color:#173f61;
  font:800 .75rem/1 inherit;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(6,38,95,.05);
}
.student-top-action:hover,
.student-top-exit:hover{background:#edf6ff;border-color:#8fbee9;color:#075cac}
.student-top-action__icon{font-size:1rem;line-height:1}
.student-top-exit{
  border-color:#e2c7c9;
  color:#9e343b;
  background:#fffafa;
}
.student-top-exit:hover{border-color:#d99499;background:#fff1f2;color:#8f252e}
.student-top-exit-form{display:inline-flex;margin:0}
.student-surface .public-sidebar .student-top-exit-form{display:block;width:100%}
.student-surface .public-sidebar .student-sidebar-exit{
  display:flex;
  align-items:center;
  gap:9px;
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:rgba(255,255,255,.06);
  color:#fff;
  font:800 .78rem/1.2 inherit;
  cursor:pointer;
}
.student-surface .public-sidebar .student-sidebar-exit:hover{background:rgba(255,255,255,.12)}

@media(max-width:760px){
  .student-surface .public-appbar{gap:6px!important;padding-inline:6px!important}
  .student-top-actions{gap:4px}
  .student-top-action,.student-top-exit{
    width:40px;
    min-width:40px;
    height:40px;
    min-height:40px;
    padding:0;
    border-radius:11px;
  }
  .student-top-action__label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .student-surface .public-appbar .a11y-launcher{flex:0 0 40px!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}
}
@media(max-width:420px){
  .student-surface .public-appbar-context small{font-size:.62rem!important}
  .student-surface .public-appbar-context strong{font-size:.94rem!important}
  .student-top-action,.student-top-exit{width:36px;min-width:36px;height:36px;min-height:36px}
  .student-surface .public-appbar .a11y-launcher{flex-basis:36px!important;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important}
}


/* === thinkora-polish-v96.css === */
/* Thinkora V85 RC6.21 — student runtime density, video checkpoint popover,
   worksheet autosave/send reveal, and stable whiteboard landscape controls. */

:root{
  --tk96-navy:#06265f;
  --tk96-blue:#0b63ce;
  --tk96-blue-soft:#edf6ff;
  --tk96-line:#cdddea;
  --tk96-ink:#15384f;
  --tk96-shadow:0 12px 32px rgba(6,38,95,.16);
}

/* --- Student header: one compact trigger, three explicit actions. --- */
.student-surface .student-top-actions{position:relative!important;margin-left:auto!important;display:block!important;flex:0 0 auto!important}
.student-surface .student-actions-toggle{
  appearance:none;width:40px;height:40px;min-width:40px;padding:0;border:1px solid #c8dcea;border-radius:12px;
  display:grid;place-items:center;background:#fff;color:var(--tk96-navy);font:900 1.35rem/1 sans-serif;cursor:pointer;
  box-shadow:0 4px 14px rgba(6,38,95,.07)
}
.student-surface .student-actions-menu{
  position:absolute;right:0;top:calc(100% + 7px);z-index:150;width:164px;padding:5px;border:1px solid #c9dbe8;border-radius:14px;
  background:#fff;box-shadow:0 18px 44px rgba(6,38,95,.22)
}
.student-surface .student-actions-menu[hidden]{display:none!important}
.student-surface .student-action-menu-item{
  width:100%;min-height:40px;padding:8px 10px;border:0;border-radius:10px;display:flex;align-items:center;gap:9px;
  background:transparent;color:#173f61;text-decoration:none;font:800 .78rem/1.1 inherit;cursor:pointer;text-align:left
}
.student-surface .student-action-menu-item:hover,.student-surface .student-action-menu-item:focus-visible{background:#edf6ff;outline:none}
.student-surface .student-action-menu-item>span{width:20px;text-align:center;font-size:1rem}
.student-surface .student-action-menu-item.is-danger{color:#98313a}
.student-surface .student-action-menu-item.is-danger:hover{background:#fff1f2}
.student-surface .student-actions-menu .student-top-exit-form{display:block!important;width:100%!important}

/* --- Bottom nav: narrower, lower, single-word bold labels, optional back key. --- */
@media(max-width:760px){
  .student-surface .student-bottom-nav{
    left:50%!important;right:auto!important;transform:translateX(-50%)!important;
    width:min(calc(100% - 24px),620px)!important;bottom:max(2px,env(safe-area-inset-bottom))!important;
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr)) 38px!important;
    gap:2px!important;padding:3px!important;border-radius:15px!important;align-items:center!important;
  }
  .student-surface .student-bottom-nav a{
    min-width:0!important;min-height:44px!important;height:44px!important;padding:0 2px!important;margin:0!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    font-size:clamp(.66rem,2.8vw,.76rem)!important;font-weight:900!important;line-height:1!important;
    white-space:nowrap!important;word-break:normal!important;overflow:hidden!important;text-overflow:clip!important
  }
  .student-surface .student-bottom-back{
    appearance:none;width:36px;height:40px;min-width:36px;padding:0;border:0;border-radius:11px;
    display:grid;place-items:center;background:#f3f8fd;color:var(--tk96-navy);font:900 1.05rem/1 sans-serif;cursor:pointer
  }
  .student-surface .public-main{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
  .student-surface{scroll-padding-bottom:calc(80px + env(safe-area-inset-bottom))!important}
}
@media(max-width:380px){
  .student-surface .student-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;width:calc(100% - 16px)!important}
  .student-surface .student-bottom-back{display:none!important}
}
@media(min-width:761px){.student-bottom-back{display:none!important}}

/* --- Video checkpoints: portrait = card below video, landscape/fullscreen = overlay on video. --- */
.student-activity-page .video-runtime-card{position:relative!important}
.student-activity-page .video96-checkpoint-popover{
  position:relative!important;z-index:80!important;width:auto!important;max-width:none!important;margin:8px!important;padding:12px!important;
  border:1px solid #bfd6e9!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--tk96-shadow)!important;
  max-height:min(58dvh,620px)!important;overflow:auto!important;overscroll-behavior:contain!important
}
.student-activity-page .video96-checkpoint-popover[hidden]{display:none!important}
.student-activity-page .video96-checkpoint-popover #questionBody{margin:0!important}
.student-activity-page .video96-checkpoint-popover .activity-review-tools{margin-bottom:6px!important;gap:5px!important}
.student-activity-page .video96-checkpoint-popover .activity-run-actions{margin-top:8px!important;gap:6px!important}
.student-activity-page .video96-checkpoint-popover .activity-run-actions #prevQuestion{display:none!important}
.student-activity-page .video96-checkpoint-popover .activity-run-actions #saveNext{min-height:42px!important}
.student-activity-page .video96-checkpoint-popover .activity-save-state{min-height:0!important;margin-top:5px!important}
.student-activity-page .video96-checkpoint-popover :is(.question-card,.activity-question-card){margin:0!important}
@media(max-width:760px) and (orientation:portrait){
  .student-activity-page .video96-checkpoint-popover{
    margin:6px 3px 4px!important;border-radius:13px!important;padding:9px!important;max-height:46dvh!important
  }
}
@media(orientation:landscape) and (max-height:720px){
  .student-activity-page .video96-checkpoint-host .video96-checkpoint-popover:not([hidden]),
  .student-activity-page .video96-checkpoint-host:fullscreen .video96-checkpoint-popover:not([hidden]){
    position:absolute!important;left:50%!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;
    width:min(680px,78vw)!important;max-height:calc(100dvh - 18px)!important;margin:0!important;
    border-radius:14px!important;padding:10px!important;background:rgba(255,255,255,.985)!important;
    box-shadow:0 24px 80px rgba(0,19,48,.42)!important;backdrop-filter:blur(8px)
  }
  .student-activity-page .video96-checkpoint-host.has-video-checkpoint .activity-player-wrap::after{
    content:"";position:absolute;inset:0;background:rgba(3,24,55,.22);pointer-events:none
  }
}
.student-activity-page .video96-checkpoint-host:fullscreen,
.student-activity-page .video96-checkpoint-host.video96-native-fullscreen{
  width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;
  background:#07172b!important;display:flex!important;flex-direction:column!important;overflow:hidden!important
}
.student-activity-page .video96-checkpoint-host:fullscreen .activity-player-wrap,
.student-activity-page .video96-checkpoint-host.video96-native-fullscreen .activity-player-wrap{flex:1 1 auto!important;min-height:0!important;max-height:none!important}
.student-activity-page .video96-checkpoint-host:fullscreen .video-resume-bar{display:none!important}

/* --- Worksheet: compact header, true 2D pan, tappable overlays, autosave-first UI. --- */
.student-activity-page .activity-public-worksheet .activity-run-head{
  margin:0 2px 5px!important;padding:4px 2px!important;gap:4px!important;min-height:0!important
}
.student-activity-page .activity-public-worksheet .activity-run-head h1{font-size:clamp(1.18rem,5vw,1.55rem)!important;line-height:1.05!important;margin:3px 0!important}
.student-activity-page .activity-public-worksheet .activity-run-head p{font-size:.78rem!important;line-height:1.1!important;margin:0!important}
.student-activity-page .activity-public-worksheet .activity-run-head .badge{padding:4px 8px!important;font-size:.66rem!important}
.student-activity-page .activity-public-worksheet .worksheet-view-tools{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;
  margin:0 1px 4px!important;padding:5px 7px!important;border-radius:10px!important;min-height:42px!important
}
.student-activity-page .worksheet-view-status{min-width:0;display:grid;gap:1px}
.student-activity-page .worksheet-view-status strong{font-size:.78rem}
.student-activity-page .worksheet-view-status span{font-size:.62rem;color:#62788a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.student-activity-page .worksheet-view-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.student-activity-page .worksheet-view-actions .btn{min-height:34px!important;height:34px!important;padding:0 9px!important;font-size:.69rem!important;border-radius:9px!important}
.student-activity-page .activity-public-worksheet .worksheet-player-scroll{
  height:calc(100dvh - 190px)!important;min-height:380px!important;max-height:none!important;
  overflow:auto!important;overflow-x:auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y pinch-zoom!important;overscroll-behavior:auto!important;scrollbar-gutter:stable both-edges!important;
  padding:2px!important;margin:0!important;position:relative!important
}
.student-activity-page .activity-public-worksheet .worksheet-player-scroll.is-readable .worksheet-player-page{
  width:760px!important;min-width:760px!important;max-width:760px!important;margin-left:0!important;margin-right:8px!important
}
.student-activity-page .activity-public-worksheet .worksheet-player-page{overflow:visible!important}
.student-activity-page .activity-public-worksheet .worksheet-player-layer{overflow:visible!important;pointer-events:none!important}
.student-activity-page .activity-public-worksheet .worksheet-field{
  overflow:visible!important;pointer-events:auto!important;z-index:10!important;touch-action:manipulation!important
}
.student-activity-page .activity-public-worksheet .worksheet-field:focus-within{z-index:30!important}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-choice-list{
  position:relative!important;z-index:20!important;overflow:visible!important;max-height:none!important;
  min-width:max(100%,128px)!important
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-choice-list label{
  position:relative!important;z-index:21!important;pointer-events:auto!important;user-select:none!important
}
.student-activity-page .activity-public-worksheet .worksheet-field input,
.student-activity-page .activity-public-worksheet .worksheet-field select,
.student-activity-page .activity-public-worksheet .worksheet-field textarea{pointer-events:auto!important}
.student-activity-page .worksheet-submitbar.is-hidden,
.student-activity-page .worksheet-submitbar[hidden]{display:none!important}
.student-activity-page .activity-public-worksheet .worksheet-submitbar{
  bottom:calc(61px + env(safe-area-inset-bottom))!important;z-index:110!important;padding:4px!important
}
.student-activity-page .activity-public-worksheet .worksheet-submitbar>div{
  width:min(560px,calc(100vw - 24px))!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:7px!important;padding:6px!important;border-radius:14px!important
}
.student-activity-page .worksheet-send-hint{font-size:.72rem;font-weight:800;color:#526d80;padding-left:7px}
.student-activity-page .activity-public-worksheet .worksheet-submitbar .btn{min-height:40px!important}
@media(max-width:760px){
  .student-activity-page .activity-public-worksheet .container{width:calc(100% - 4px)!important;margin-inline:2px!important;padding-inline:0!important}
  .student-activity-page .activity-public-worksheet .worksheet-player-scroll{height:calc(100dvh - 174px)!important;min-height:420px!important}
}
@media(orientation:landscape) and (max-height:600px){
  .student-activity-page .activity-public-worksheet .activity-run-head{display:none!important}
  .student-activity-page .activity-public-worksheet .worksheet-player-scroll{height:calc(100dvh - 104px)!important;min-height:0!important}
  .student-activity-page .activity-public-worksheet .worksheet-view-tools{position:sticky!important;top:0!important;z-index:60!important}
}

/* --- Whiteboard: edge-to-edge student surface, compact navigation, collapsible tools. --- */
.student-whiteboard-page .public-main>.section{padding-inline:0!important}
.student-whiteboard-page .public-main>.section>.container{width:calc(100% - 4px)!important;margin-inline:2px!important;padding-inline:0!important;max-width:none!important}
.student-whiteboard-page .study-head{
  margin:0 2px 5px!important;padding:4px 2px!important;gap:5px!important;min-height:0!important
}
.student-whiteboard-page .study-head h1{font-size:clamp(1.25rem,5vw,1.7rem)!important;line-height:1.08!important;margin:0!important}
.student-whiteboard-page .study-head p{font-size:.78rem!important;margin:2px 0!important}
.student-whiteboard-page .study-head>.btn{display:none!important}
.student-whiteboard-page .wb2-shell{
  width:100%!important;max-width:none!important;margin:0!important;border-radius:12px!important;position:relative!important;overflow:clip!important
}
.wb2-floating-tools-toggle{
  position:absolute;right:6px;top:6px;z-index:50;appearance:none;min-width:42px;height:36px;padding:0 8px;
  display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid #a9c6d8;border-radius:11px;
  background:rgba(255,255,255,.96);color:#17455d;font:850 .7rem/1 inherit;cursor:pointer;box-shadow:0 5px 18px rgba(10,45,65,.12)
}
.wb2-floating-tools-toggle span{font-size:1rem}.wb2-floating-tools-toggle b{font-size:.68rem}
.student-whiteboard-page .wb2-commandbar{padding:5px 52px 5px 5px!important;gap:4px!important;min-height:46px!important}
.student-whiteboard-page .wb2-tools{gap:3px!important;flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none!important}
.student-whiteboard-page .wb2-tools::-webkit-scrollbar{display:none}
.student-whiteboard-page .wb2-format{gap:3px!important;overflow-x:auto!important;scrollbar-width:none!important}
.student-whiteboard-page .wb2-tool,.student-whiteboard-page .wb2-icon-btn{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;border-radius:9px!important}
.student-whiteboard-page .wb2-color{width:36px!important;height:36px!important;min-width:36px!important}
.student-whiteboard-page .wb2-width{height:36px!important;min-width:132px!important;padding:0 7px!important}
.student-whiteboard-page .wb2-width span{display:none!important}
.student-whiteboard-page .wb2-divider{height:22px!important;margin-inline:1px!important}
.student-whiteboard-page .wb2-tools-collapsed .wb2-commandbar{display:none!important}
.student-whiteboard-page .wb2-tools-collapsed .wb2-floating-tools-toggle{position:absolute!important;top:5px!important;right:5px!important}
.student-whiteboard-page .wb2-tools-collapsed .wb2-body{padding-top:44px!important}
.student-whiteboard-page .wb2-pages{
  min-height:42px!important;padding:4px 5px!important;gap:4px!important;flex-wrap:nowrap!important;align-items:center!important
}
.student-whiteboard-page .wb2-page-nav{gap:4px!important;min-width:0!important}
.student-whiteboard-page .wb2-page-actions{gap:4px!important}
.student-whiteboard-page .wb2-page-arrow{width:32px!important;min-width:32px!important;height:32px!important;padding:0!important}
.student-whiteboard-page .wb2-page-tabs{gap:3px!important;min-width:0!important}
.student-whiteboard-page .wb2-page-tab{width:34px!important;min-width:34px!important;height:32px!important;padding:0!important}
.student-whiteboard-page .wb2-add-page{height:32px!important;min-height:32px!important;padding:0 7px!important}
.student-whiteboard-page .wb2-page-summary{padding:4px 7px!important;min-width:42px!important}
.student-whiteboard-page .wb2-canvas-viewport{padding:3px!important;min-height:46dvh!important}
.student-whiteboard-page .wb2-canvas-wrap{width:100%!important;max-width:none!important;border-radius:8px!important}
.student-whiteboard-page .wb2-statusbar{min-height:34px!important;padding:5px 7px!important;gap:4px!important;flex-direction:row!important;align-items:center!important;white-space:nowrap!important}
.student-whiteboard-page .wb2-status-actions{gap:5px!important;min-width:0!important;overflow:hidden!important}
.student-whiteboard-page .wb2-status-actions>*{flex:0 0 auto}
.student-whiteboard-page .wb2-inspector{max-height:180px!important;padding:6px!important}
@media(max-width:760px){
  .student-whiteboard-page .wb2-commandbar{flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important}
  .student-whiteboard-page .wb2-tools{width:100%!important}
  .student-whiteboard-page .wb2-format{width:100%!important;justify-content:flex-start!important}
  .student-whiteboard-page .wb2-page-summary{display:none!important}
  .student-whiteboard-page .wb2-add-page{font-size:0!important;width:32px!important;padding:0!important}
  .student-whiteboard-page .wb2-add-page::before{content:"+";font-size:18px}
}
body.wb2-fullscreen-open{overflow:hidden!important}
body.wb2-fullscreen-open .student-bottom-nav,
body.wb2-fullscreen-open .public-appbar,
body.wb2-fullscreen-open .footer{display:none!important}
.student-whiteboard-page .wb2-shell:fullscreen,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active{
  width:100vw!important;height:100dvh!important;max-width:none!important;border:0!important;border-radius:0!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;background:#eef4f7!important
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-commandbar,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-commandbar{
  flex:0 0 auto!important;padding:3px 48px 3px 3px!important;min-height:42px!important;max-height:86px!important;
  overflow:hidden!important
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-body,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-body{
  flex:1 1 auto!important;height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  overflow:hidden!important
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-main,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-main{
  min-height:0!important;height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-pages,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-pages{flex:0 0 38px!important;min-height:38px!important;height:38px!important;padding:2px 5px!important;position:relative!important}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-canvas-viewport,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-canvas-viewport{
  flex:1 1 auto!important;min-height:0!important;height:auto!important;padding:2px!important;overflow:auto!important
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-canvas-wrap,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-canvas-wrap{
  width:min(100%,calc((100dvh - 92px)*16/9))!important;max-width:none!important;margin:auto!important
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-statusbar,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-statusbar{display:none!important}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-inspector,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-inspector{display:none!important}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-floating-tools-toggle,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-floating-tools-toggle{position:absolute!important;right:5px!important;top:4px!important;z-index:90!important}
.student-whiteboard-page .wb2-shell:fullscreen *,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active *{animation:none!important;transition:none!important}
@media(orientation:landscape) and (max-height:700px){
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-commandbar,
  .student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-commandbar{
    flex-wrap:nowrap!important;height:44px!important;max-height:44px!important
  }
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-tools,
  .student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-tools{flex:1 1 auto!important;width:auto!important}
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-format,
  .student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-format{flex:0 0 auto!important;width:auto!important;max-width:58vw!important}
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-pages,
  .student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-pages{height:36px!important;min-height:36px!important;flex-basis:36px!important}
}

/* Avoid fixed-shell jitter when any student surface is in native fullscreen. */
.student-has-fullscreen .student-bottom-nav{display:none!important}


/* === thinkora-polish-v97.css === */
/* Thinkora V85 RC6.22 — final student canvas/video/worksheet interaction polish.
   Scope: student runtime only; zoom changes the content surface, never the app chrome. */

:root{
  --tk97-navy:#06265f;
  --tk97-blue:#0b63ce;
  --tk97-blue-2:#084f9f;
  --tk97-line:#c8dbea;
}

/* ---------------- Video: controls can collapse without affecting the player/checkpoint. ---------------- */
.student-activity-page .video-runtime-card{position:relative!important}
.student-activity-page .video97-controls-toggle{
  appearance:none;position:absolute;right:8px;top:8px;z-index:96;width:38px;height:38px;padding:0;
  border:1px solid rgba(255,255,255,.55);border-radius:12px;background:rgba(5,32,68,.76);color:#fff;
  display:grid;place-items:center;font:900 1rem/1 system-ui,-apple-system,sans-serif;cursor:pointer;
  box-shadow:0 6px 18px rgba(0,22,54,.22);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)
}
.student-activity-page .video97-controls-toggle:focus-visible{outline:3px solid rgba(80,178,255,.42);outline-offset:2px}
.student-activity-page .video97-controls-collapsed .video52-controls{display:none!important}
.student-activity-page .video97-controls-collapsed .activity-player-wrap{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}
.student-activity-page .video96-checkpoint-host.has-video-checkpoint .video97-controls-toggle{opacity:.72}
@media(orientation:landscape) and (max-height:720px){
  .student-activity-page .video97-controls-toggle{right:7px;top:7px;width:34px;height:34px;border-radius:10px}
  .student-activity-page .video96-checkpoint-host:fullscreen.video97-controls-collapsed .activity-player-wrap,
  .student-activity-page .video96-checkpoint-host.video96-native-fullscreen.video97-controls-collapsed .activity-player-wrap{height:100dvh!important}
}

/* ---------------- Worksheet: compact independent zoom + circular PDF answer hotspots. ---------------- */
.student-activity-page .worksheet-zoom-controls{
  display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--tk97-line);border-radius:10px;background:#f8fbff
}
.student-activity-page .worksheet-zoom-controls .btn{border:0!important;background:transparent!important;box-shadow:none!important}
.student-activity-page .worksheet-zoom-controls .worksheet-zoom-btn{width:31px!important;min-width:31px!important;padding:0!important;font-size:1rem!important;font-weight:900!important}
.student-activity-page .worksheet-zoom-controls .worksheet-zoom-reset{min-width:48px!important;padding-inline:5px!important;color:var(--tk97-navy)!important;font-weight:900!important}
.student-activity-page .activity-public-worksheet .worksheet-player-scroll{
  overflow:auto!important;overflow-x:auto!important;overflow-y:auto!important;touch-action:pan-x pan-y!important;
  overscroll-behavior:contain!important;scrollbar-gutter:stable!important;-webkit-overflow-scrolling:touch!important
}
.student-activity-page .activity-public-worksheet .worksheet-player-page{
  max-width:none!important;flex:0 0 auto!important;transform:none!important;zoom:1!important
}
.student-activity-page .activity-public-worksheet .worksheet-player-layer{pointer-events:none!important;z-index:8!important}
.student-activity-page .activity-public-worksheet .worksheet-field{pointer-events:auto!important;z-index:12!important}

/* A single-choice field sits over the answer block in the PDF. Only the circular marks are interactive,
   so the original option text in the PDF remains fully visible. */
.student-activity-page .activity-public-worksheet .worksheet-field.ws-pdf-choice-field{
  overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important
}
.student-activity-page .activity-public-worksheet .worksheet-field.ws-pdf-choice-field:focus-within{outline:0!important;box-shadow:none!important}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-choice-list.ws-pdf-choice-list{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:0!important;max-height:none!important;
  display:grid!important;grid-template-columns:1fr!important;grid-auto-rows:minmax(0,1fr)!important;align-items:stretch!important;
  gap:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;overflow:visible!important;pointer-events:none!important
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-list .ws-pdf-choice{
  position:relative!important;z-index:2!important;width:34px!important;min-width:34px!important;max-width:34px!important;height:100%!important;
  min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;
  display:flex!important;align-items:center!important;justify-content:center!important;justify-self:start!important;align-self:stretch!important;
  cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
  color:transparent!important;box-shadow:none!important
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-list .ws-pdf-choice input[data-answer]{
  position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;z-index:3!important;
  appearance:none!important;-webkit-appearance:none!important;opacity:.001!important;width:34px!important;height:34px!important;
  min-width:34px!important;min-height:34px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;
  cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice .sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;pointer-events:none!important
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-marker{
  position:relative!important;z-index:2!important;width:25px!important;height:25px!important;min-width:25px!important;min-height:25px!important;
  border:2px solid var(--tk97-blue)!important;border-radius:50%!important;background:rgba(255,255,255,.10)!important;
  color:rgba(8,79,159,.86)!important;display:grid!important;place-items:center!important;font:900 9px/1 system-ui,-apple-system,sans-serif!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.32),0 2px 7px rgba(6,38,95,.10)!important;pointer-events:none!important
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice input[data-answer]:checked + .ws-pdf-choice-marker{
  border-color:var(--tk97-blue-2)!important;background:rgba(11,99,206,.88)!important;color:#fff!important;
  box-shadow:0 0 0 3px rgba(11,99,206,.18),0 3px 10px rgba(6,38,95,.18)!important
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice input[data-answer]:focus-visible + .ws-pdf-choice-marker{
  outline:3px solid rgba(35,142,233,.30)!important;outline-offset:2px!important
}
@media(max-width:760px){
  .student-activity-page .worksheet-view-actions{gap:3px!important}
  .student-activity-page .worksheet-zoom-controls{gap:0;padding:1px;border-radius:9px}
  .student-activity-page .worksheet-zoom-controls .worksheet-zoom-btn{width:29px!important;min-width:29px!important}
  .student-activity-page .worksheet-zoom-controls .worksheet-zoom-reset{min-width:44px!important;font-size:.64rem!important}
  .student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-list .ws-pdf-choice{width:32px!important;min-width:32px!important;max-width:32px!important}
  .student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-list .ws-pdf-choice input[data-answer]{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}
  .student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-marker{width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important}
}

/* ---------------- Whiteboard: independent board zoom, icon-only paging, collapsible page strip. ---------------- */
.student-whiteboard-page .wb2-zoom-controls{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto}
.student-whiteboard-page .wb2-zoom-controls .wb2-icon-btn{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important}
.student-whiteboard-page .wb2-zoom-reset,
.student-whiteboard-page .wb2-pages-toggle{
  appearance:none;border:1px solid #cbd9e0;background:#fff;color:#214a61;border-radius:9px;cursor:pointer;font:850 .68rem/1 system-ui,-apple-system,sans-serif
}
.student-whiteboard-page .wb2-zoom-reset{height:34px;min-width:48px;padding:0 6px}
.student-whiteboard-page .wb2-pages-toggle{width:32px;height:32px;min-width:32px;padding:0;display:grid;place-items:center;font-size:16px}
.student-whiteboard-page .wb2-page-arrow{width:32px!important;min-width:32px!important;padding:0!important;font-size:18px!important}
.student-whiteboard-page .wb2-page-arrow-label{display:none!important}
.student-whiteboard-page .wb2-add-page-label{display:none!important}
.student-whiteboard-page .wb2-add-page{width:32px!important;min-width:32px!important;padding:0!important;font-size:18px!important}
.student-whiteboard-page .wb2-pages-collapsed .wb2-pages{justify-content:flex-end!important;min-height:36px!important;height:36px!important;padding-block:2px!important}
.student-whiteboard-page .wb2-pages-collapsed .wb2-page-nav,
.student-whiteboard-page .wb2-pages-collapsed .wb2-page-summary{display:none!important}
.student-whiteboard-page .wb2-pages-collapsed .wb2-page-actions{margin-left:auto!important}
.student-whiteboard-page .wb2-canvas-viewport{
  display:block!important;overflow:auto!important;overscroll-behavior:contain!important;scrollbar-width:none!important;
  touch-action:pan-x pan-y!important;scrollbar-gutter:auto!important;contain:layout paint!important;background:#edf3f6!important
}
.student-whiteboard-page .wb2-canvas-viewport::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.student-whiteboard-page .wb2-canvas-wrap{
  max-width:none!important;transform:translateZ(0)!important;backface-visibility:hidden!important;contain:layout paint!important;
  isolation:isolate!important;will-change:auto!important
}
.student-whiteboard-page .wb2-canvas{transform:translateZ(0)!important;backface-visibility:hidden!important}
.student-whiteboard-page .wb2-shell:fullscreen,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active{
  contain:strict!important;overscroll-behavior:none!important;background:#edf3f6!important
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-body,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-body,
.student-whiteboard-page .wb2-shell:fullscreen .wb2-main,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-main{
  min-height:0!important;height:auto!important;overflow:hidden!important;background:#edf3f6!important
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-canvas-viewport,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-canvas-viewport{
  flex:1 1 0!important;min-height:0!important;height:0!important;overflow:auto!important;padding:2px!important;
  background:#edf3f6!important;contain:strict!important;transform:translateZ(0)!important
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-canvas-wrap,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-canvas-wrap{
  margin:2px auto!important;max-width:none!important;contain:layout paint!important;box-shadow:none!important;
  outline:1px solid rgba(24,72,98,.08)!important;outline-offset:-1px!important
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-pages-collapsed .wb2-pages,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-pages-collapsed .wb2-pages{flex-basis:36px!important;height:36px!important;min-height:36px!important}
@media(orientation:landscape) and (max-height:700px){
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-pages,
  .student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-pages{padding-inline:4px!important}
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-zoom-reset,
  .student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-zoom-reset{min-width:44px!important}
}


/* RC6.23 — whiteboard portrait/landscape control hardening. */
.wb2-floating-tools-toggle{
  pointer-events:auto!important;touch-action:manipulation!important;user-select:none!important;-webkit-user-select:none!important;
}
.student-whiteboard-page .wb2-tools-collapsed .wb2-body{padding-top:0!important}
.student-whiteboard-page .wb2-tools-collapsed .wb2-pages{padding-right:52px!important}
.student-whiteboard-page .wb2-shell:fullscreen.wb2-tools-collapsed .wb2-body,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active.wb2-tools-collapsed .wb2-body{padding-top:0!important}
.student-whiteboard-page .wb2-shell:fullscreen.wb2-tools-collapsed .wb2-pages,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active.wb2-tools-collapsed .wb2-pages{padding-right:52px!important}

@media(max-width:760px){
  .student-whiteboard-page .wb2-commandbar{
    display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;
    min-height:44px!important;height:44px!important;max-height:44px!important;gap:3px!important;
    padding:4px 50px 4px 4px!important;overflow-x:auto!important;overflow-y:hidden!important;
    scrollbar-width:none!important;overscroll-behavior-x:contain!important;touch-action:pan-x!important;
  }
  .student-whiteboard-page .wb2-commandbar::-webkit-scrollbar{display:none!important}
  .student-whiteboard-page .wb2-tools,
  .student-whiteboard-page .wb2-format{
    width:auto!important;max-width:none!important;flex:0 0 auto!important;overflow:visible!important;gap:3px!important;
  }
  .student-whiteboard-page .wb2-tools{padding:0!important}
  .student-whiteboard-page .wb2-tool,
  .student-whiteboard-page .wb2-icon-btn,
  .student-whiteboard-page .wb2-color{
    width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;border-radius:9px!important;
  }
  .student-whiteboard-page .wb2-width{height:34px!important;min-width:116px!important;max-width:116px!important;padding:0 5px!important}
  .student-whiteboard-page .wb2-width input{width:74px!important;min-width:74px!important}
  .student-whiteboard-page .wb2-zoom-controls .wb2-icon-btn{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}
  .student-whiteboard-page .wb2-zoom-reset{height:32px!important;min-width:45px!important;padding:0 5px!important}
  .student-whiteboard-page .wb2-floating-tools-toggle{top:4px!important;right:4px!important;height:36px!important;min-width:44px!important}
  .student-whiteboard-page .wb2-pages{height:38px!important;min-height:38px!important;padding:3px 4px!important}
  .student-whiteboard-page .wb2-pages-collapsed .wb2-pages{height:36px!important;min-height:36px!important}
  .student-whiteboard-page .wb2-page-actions{margin-left:auto!important}
  .student-whiteboard-page .wb2-canvas-viewport{padding:2px!important;min-height:0!important}
}

@media(orientation:landscape) and (max-height:700px){
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-commandbar,
  .student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-commandbar{
    display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;
    height:42px!important;min-height:42px!important;max-height:42px!important;padding:3px 49px 3px 3px!important;
  }
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-tools,
  .student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-tools,
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-format,
  .student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-format{
    flex:0 0 auto!important;width:auto!important;max-width:none!important;overflow:visible!important;
  }
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-pages,
  .student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-pages{
    height:36px!important;min-height:36px!important;flex-basis:36px!important;padding:2px 4px!important;
  }
  .student-whiteboard-page .wb2-shell:fullscreen .wb2-canvas-viewport,
  .student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-canvas-viewport{padding:1px!important}
}

/* RC6.23 final specificity guard: collapsed toolbar must stay hidden in fullscreen/landscape. */
.student-whiteboard-page .wb2-shell:fullscreen.wb2-tools-collapsed .wb2-commandbar,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active.wb2-tools-collapsed .wb2-commandbar{display:none!important}


/* === thinkora-polish-v98.css === */
/* Thinkora V85 RC6.24 — stable whiteboard dock + reliable interactive PDF worksheet.
   Student runtime only. Keeps controls outside the drawable/document surface. */

:root{
  --tk98-navy:#06265f;
  --tk98-blue:#0b63ce;
  --tk98-line:#c8dbea;
  --tk98-surface:#edf3f6;
}

/* ==========================================================================\n   WHITEBOARD — FLOATING TOOL DOCK THAT NEVER COVERS THE CANVAS\n   ========================================================================== */
.student-whiteboard-page .wb2-shell{
  --wb98-tool-rail:58px;
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:var(--tk98-surface)!important;
}
.student-whiteboard-page .wb2-commandbar{
  position:absolute!important;
  top:6px!important;
  left:6px!important;
  right:58px!important;
  z-index:80!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  min-height:46px!important;
  height:46px!important;
  max-height:46px!important;
  padding:5px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  border:1px solid rgba(126,164,185,.55)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 7px 22px rgba(7,40,65,.12)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  scrollbar-width:none!important;
  overscroll-behavior-x:contain!important;
  touch-action:pan-x!important;
}
.student-whiteboard-page .wb2-commandbar::-webkit-scrollbar{display:none!important}
.student-whiteboard-page .wb2-tools,
.student-whiteboard-page .wb2-format{
  display:flex!important;
  flex:0 0 auto!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  width:auto!important;
  max-width:none!important;
  overflow:visible!important;
  gap:3px!important;
  padding:0!important;
}
.student-whiteboard-page .wb2-format{margin-left:0!important}
.student-whiteboard-page .wb2-body{
  padding-top:var(--wb98-tool-rail)!important;
  min-height:0!important;
  transition:none!important;
}
.student-whiteboard-page .wb2-floating-tools-toggle{
  position:absolute!important;
  top:6px!important;
  right:6px!important;
  z-index:100!important;
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  border:1px solid rgba(126,164,185,.62)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 7px 22px rgba(7,40,65,.12)!important;
  color:#17455d!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
.student-whiteboard-page .wb2-floating-tools-toggle b{display:none!important}
.student-whiteboard-page .wb2-floating-tools-toggle span{font-size:1.15rem!important;line-height:1!important}

/* The collapse rule intentionally comes AFTER all mobile/landscape display rules. */
.student-whiteboard-page .wb2-shell.wb2-tools-collapsed .wb2-commandbar,
.student-whiteboard-page .wb2-shell:fullscreen.wb2-tools-collapsed .wb2-commandbar,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active.wb2-tools-collapsed .wb2-commandbar,
.student-whiteboard-page .wb2-shell.wb2-pseudo-fullscreen.wb2-tools-collapsed .wb2-commandbar{
  display:none!important;
}
.student-whiteboard-page .wb2-shell.wb2-tools-collapsed .wb2-body{
  padding-top:0!important;
}
.student-whiteboard-page .wb2-shell.wb2-tools-collapsed .wb2-pages{
  padding-right:58px!important;
}
.student-whiteboard-page .wb2-shell.wb2-tools-collapsed .wb2-floating-tools-toggle{
  top:3px!important;
  right:6px!important;
  width:42px!important;
  min-width:42px!important;
  height:34px!important;
  min-height:34px!important;
  border-radius:10px!important;
  box-shadow:0 3px 12px rgba(7,40,65,.10)!important;
}

/* Keep board chrome stable while drawing; do not promote the canvas to a flashing GPU layer. */
.student-whiteboard-page .wb2-canvas-viewport{
  overflow:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-width:none!important;
  touch-action:pan-x pan-y!important;
  background:var(--tk98-surface)!important;
  contain:layout paint!important;
}
.student-whiteboard-page .wb2-canvas-viewport::-webkit-scrollbar{display:none!important}
.student-whiteboard-page .wb2-canvas-wrap{
  position:relative!important;
  flex:0 0 auto!important;
  max-width:none!important;
  transform:none!important;
  backface-visibility:visible!important;
  will-change:auto!important;
  contain:layout paint!important;
  isolation:isolate!important;
  transition:none!important;
}
.student-whiteboard-page .wb2-canvas{
  display:block!important;
  transform:none!important;
  backface-visibility:visible!important;
  contain:none!important;
  transition:none!important;
  image-rendering:auto!important;
}
.student-whiteboard-page .wb2-shell.wb2-interacting .wb2-canvas-wrap{
  box-shadow:0 6px 18px rgba(21,50,66,.10)!important;
}
.student-whiteboard-page .wb2-shell.wb2-interacting .wb2-canvas,
.student-whiteboard-page .wb2-shell.wb2-interacting .wb2-empty{
  transition:none!important;
  animation:none!important;
}

/* True fullscreen + robust CSS fallback when Fullscreen API/orientation lock is unavailable. */
.student-whiteboard-page .wb2-shell:fullscreen,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active,
.student-whiteboard-page .wb2-shell.wb2-pseudo-fullscreen{
  --wb98-tool-rail:54px;
  width:100dvw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:var(--tk98-surface)!important;
  overflow:hidden!important;
}
.student-whiteboard-page .wb2-shell.wb2-pseudo-fullscreen{
  position:fixed!important;
  inset:0!important;
  z-index:2147482000!important;
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-body,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-body,
.student-whiteboard-page .wb2-shell.wb2-pseudo-fullscreen .wb2-body{
  height:100dvh!important;
  max-height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-main,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-main,
.student-whiteboard-page .wb2-shell.wb2-pseudo-fullscreen .wb2-main{
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-canvas-viewport,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-canvas-viewport,
.student-whiteboard-page .wb2-shell.wb2-pseudo-fullscreen .wb2-canvas-viewport{
  flex:1 1 0!important;
  min-height:0!important;
  height:0!important;
  padding:2px!important;
  overflow:auto!important;
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-statusbar,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-statusbar,
.student-whiteboard-page .wb2-shell.wb2-pseudo-fullscreen .wb2-statusbar,
.student-whiteboard-page .wb2-shell:fullscreen .wb2-inspector,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-inspector,
.student-whiteboard-page .wb2-shell.wb2-pseudo-fullscreen .wb2-inspector{
  display:none!important;
}
body.wb2-fullscreen-open{overflow:hidden!important;overscroll-behavior:none!important}
body.wb2-fullscreen-open .public-appbar,
body.wb2-fullscreen-open .public-sidebar,
body.wb2-fullscreen-open .public-sidebar-backdrop,
body.wb2-fullscreen-open .student-bottom-nav,
body.wb2-fullscreen-open .footer{display:none!important}

@media(max-width:760px){
  .student-whiteboard-page .wb2-shell{--wb98-tool-rail:52px}
  .student-whiteboard-page .wb2-commandbar{
    top:4px!important;left:4px!important;right:54px!important;
    height:42px!important;min-height:42px!important;max-height:42px!important;
    padding:4px!important;border-radius:11px!important
  }
  .student-whiteboard-page .wb2-floating-tools-toggle{
    top:4px!important;right:4px!important;width:44px!important;min-width:44px!important;height:42px!important;min-height:42px!important;border-radius:11px!important
  }
  .student-whiteboard-page .wb2-tool,
  .student-whiteboard-page .wb2-icon-btn,
  .student-whiteboard-page .wb2-color{
    width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;border-radius:9px!important
  }
  .student-whiteboard-page .wb2-width{height:34px!important;min-width:112px!important;max-width:112px!important;padding:0 5px!important}
  .student-whiteboard-page .wb2-width input{width:70px!important;min-width:70px!important}
  .student-whiteboard-page .wb2-pages{min-width:0!important;overflow:hidden!important}
  .student-whiteboard-page .wb2-page-nav{min-width:0!important;overflow:hidden!important}
  .student-whiteboard-page .wb2-page-tabs{min-width:0!important;overflow-x:auto!important;scrollbar-width:none!important}
  .student-whiteboard-page .wb2-page-tabs::-webkit-scrollbar{display:none!important}
  .student-whiteboard-page .wb2-canvas-viewport{padding:2px!important}
  .student-whiteboard-page .wb2-inspector{max-height:150px!important;overflow:auto!important}
}
@media(orientation:landscape) and (max-height:700px){
  .student-whiteboard-page .wb2-shell{--wb98-tool-rail:48px}
  .student-whiteboard-page .wb2-commandbar{
    top:3px!important;left:3px!important;right:52px!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding:3px!important
  }
  .student-whiteboard-page .wb2-floating-tools-toggle{
    top:3px!important;right:3px!important;width:43px!important;min-width:43px!important;height:40px!important;min-height:40px!important
  }
  .student-whiteboard-page .wb2-shell.wb2-tools-collapsed .wb2-pages{padding-right:52px!important}
  .student-whiteboard-page .wb2-pages{height:34px!important;min-height:34px!important;padding-block:1px!important}
}

/* ==========================================================================\n   DOCUMENT WORKSHEET / PDF — IMAGE ALWAYS VISIBLE, WHOLE OPTION ROW TAPPABLE\n   ========================================================================== */
.student-activity-page .activity-public-worksheet .worksheet-player-scroll{
  position:relative!important;
  isolation:isolate!important;
  overflow:auto!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  touch-action:pan-x pan-y!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  background:#eaf1f7!important;
}
.student-activity-page .activity-public-worksheet .worksheet-player-page{
  position:relative!important;
  flex:0 0 auto!important;
  max-width:none!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#fff!important;
  transform:none!important;
  zoom:1!important;
}
.student-activity-page .activity-public-worksheet .worksheet-player-page>img{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:1px!important;
  visibility:visible!important;
  opacity:1!important;
  object-fit:contain!important;
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}
.student-activity-page .activity-public-worksheet .worksheet-player-layer{
  position:absolute!important;
  inset:0!important;
  z-index:5!important;
  overflow:visible!important;
  pointer-events:none!important;
}
.student-activity-page .activity-public-worksheet .worksheet-field{
  position:absolute!important;
  z-index:8!important;
  overflow:visible!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
.student-activity-page .activity-public-worksheet .worksheet-field.ws-pdf-choice-field{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-choice-list.ws-pdf-choice-list{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  max-width:none!important;
  max-height:none!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-auto-rows:minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  pointer-events:auto!important;
}
/* Each transparent label spans the complete row, so students may tap the printed PDF option text too. */
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-list .ws-pdf-choice{
  position:relative!important;
  z-index:10!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:28px!important;
  margin:0!important;
  padding:0 2px!important;
  overflow:visible!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:transparent!important;
  box-shadow:none!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-list .ws-pdf-choice::after{
  content:"";
  position:absolute;
  inset:1px 0;
  border-radius:7px;
  background:transparent;
  pointer-events:none;
  transition:background-color .12s ease, box-shadow .12s ease;
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-list .ws-pdf-choice:active::after{
  background:rgba(11,99,206,.07);
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice input[data-answer]{
  position:absolute!important;
  inset:0!important;
  z-index:12!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:8px!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  opacity:.001!important;
  background:transparent!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-marker{
  position:relative!important;
  z-index:14!important;
  flex:0 0 25px!important;
  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  min-height:25px!important;
  margin-left:1px!important;
  border:2px solid rgba(11,99,206,.80)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.36)!important;
  color:transparent!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.54),0 2px 7px rgba(6,38,95,.10)!important;
  pointer-events:none!important;
  transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease!important;
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice input[data-answer]:checked + .ws-pdf-choice-marker{
  border-color:#084f9f!important;
  background:#0b63ce!important;
  box-shadow:inset 0 0 0 5px #fff,0 0 0 3px rgba(11,99,206,.18)!important;
  transform:scale(1.03)!important;
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice input[data-answer]:focus-visible + .ws-pdf-choice-marker{
  outline:3px solid rgba(35,142,233,.34)!important;
  outline-offset:2px!important;
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice .sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;pointer-events:none!important
}
.student-activity-page .activity-public-worksheet .worksheet-field.ws-saving::before{
  content:"";position:absolute;right:4px;top:4px;z-index:40;width:8px;height:8px;border-radius:50%;background:#0b63ce;box-shadow:0 0 0 3px rgba(11,99,206,.14);pointer-events:none
}
.student-activity-page .activity-public-worksheet .worksheet-field.ws-save-error::before{
  background:#bd3340!important;box-shadow:0 0 0 3px rgba(189,51,64,.14)!important
}

@media(max-width:760px){
  .student-activity-page .activity-public-worksheet .worksheet-player-scroll{padding:2px!important;scrollbar-gutter:auto!important}
  .student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-list .ws-pdf-choice{min-height:30px!important}
  .student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-marker{width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;flex-basis:23px!important}
}

@media(prefers-reduced-motion:reduce){
  .student-whiteboard-page .wb2-commandbar,
  .student-whiteboard-page .wb2-floating-tools-toggle,
  .student-whiteboard-page .wb2-canvas-wrap,
  .student-activity-page .activity-public-worksheet .ws-pdf-choice-marker{transition:none!important;animation:none!important}
}

.student-activity-page .activity-public-worksheet .worksheet-player-page.ws-page-media-error{
  min-height:320px!important;
  background:repeating-linear-gradient(135deg,#fff,#fff 18px,#f6f9fc 18px,#f6f9fc 36px)!important;
}
.student-activity-page .activity-public-worksheet .worksheet-player-page.ws-page-media-error::before{
  content:"Dokumen worksheet belum termuat";position:absolute;inset:0;z-index:0;display:grid;place-items:center;padding:24px;text-align:center;color:#61788b;font-weight:800;pointer-events:none
}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice.is-pressed::after{
  background:rgba(11,99,206,.09)!important;
}

/* Fullscreen layout guard after legacy RC6.21/RC6.22 rules. */
.student-whiteboard-page .wb2-shell:fullscreen,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active,
.student-whiteboard-page .wb2-shell.wb2-pseudo-fullscreen{
  display:flex!important;
  flex-direction:column!important;
}
.student-whiteboard-page .wb2-shell:fullscreen .wb2-body,
.student-whiteboard-page .wb2-shell.wb2-fullscreen-active .wb2-body,
.student-whiteboard-page .wb2-shell.wb2-pseudo-fullscreen .wb2-body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  flex:1 1 auto!important;
}


/* === student-identity-rc625.css === */
/* Tingkora V85.0 RC6.25 — student identity, login, provisioning and printable access cards. */
:root{--sid-navy:#06265f;--sid-blue:#0877f9;--sid-ink:#12223b;--sid-muted:#5f6f84;--sid-line:#d8e3f0;--sid-soft:#f4f8fc;--sid-danger:#b42318;--sid-ok:#067647}
.student-auth-page{margin:0;min-height:100dvh;background:radial-gradient(circle at 20% 0,#eaf6ff 0,transparent 38%),linear-gradient(145deg,#f8fbff,#eef5ff);color:var(--sid-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.student-auth-shell{min-height:100dvh;display:grid;place-items:center;padding:24px}.student-auth-card{width:min(100%,430px);background:#fff;border:1px solid var(--sid-line);border-radius:28px;padding:28px;box-shadow:0 24px 70px rgba(6,38,95,.13)}.student-auth-brand{display:inline-flex;align-items:center;gap:10px;color:var(--sid-navy);text-decoration:none;font-size:20px}.student-auth-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#0ea5e9,#2563eb);color:#fff;font-weight:900}.student-auth-copy{margin:26px 0 20px}.student-auth-eyebrow{display:inline-flex;color:#0b65c6;background:#eaf4ff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.student-auth-copy h1{margin:10px 0 8px;font-size:30px;line-height:1.1}.student-auth-copy p,.student-pin-help{color:var(--sid-muted);line-height:1.55}.student-auth-alert{background:#fff1f0;border:1px solid #ffc8c4;color:#8a1c13;padding:12px 14px;border-radius:14px;margin:0 0 16px;font-weight:700}.student-auth-form{display:grid;gap:16px}.student-auth-form label>span:first-child{display:block;font-size:13px;font-weight:800;margin-bottom:7px}.student-auth-form input:not([type=checkbox]){box-sizing:border-box;width:100%;min-height:52px;border:1px solid #b9c9dd;border-radius:14px;padding:0 14px;font:inherit;font-size:16px;outline:none;background:#fff;color:var(--sid-ink)}.student-auth-form input:focus{border-color:var(--sid-blue);box-shadow:0 0 0 4px rgba(8,119,249,.12)}.student-pin-field{display:flex;align-items:center;position:relative}.student-pin-field button{position:absolute;right:8px;width:40px;height:40px;border:0;background:transparent;border-radius:10px;cursor:pointer}.student-remember{display:flex!important;align-items:center;gap:10px}.student-remember span{margin:0!important;font-weight:600!important}.student-remember input{width:20px;height:20px}.student-auth-submit,.student-auth-secondary{min-height:52px;border-radius:14px;border:0;font:inherit;font-weight:800;cursor:pointer}.student-auth-submit{background:linear-gradient(135deg,#0877f9,#0357d8);color:#fff}.student-auth-submit:disabled{opacity:.55;cursor:not-allowed}.student-auth-secondary{background:#eef4fb;color:var(--sid-navy);border:1px solid var(--sid-line)}.student-shared-note{padding:12px;border-radius:12px;background:#fff8e7;border:1px solid #f2d48a;color:#7a5300;font-size:13px;font-weight:700}.student-auth-links{margin-top:20px;padding-top:18px;border-top:1px solid #edf1f6;display:flex;gap:10px 16px;flex-wrap:wrap;font-size:13px;color:var(--sid-muted)}.student-auth-links a,.student-auth-back{color:#0968ce;font-weight:800;text-decoration:none}
.student-personal-home{padding:clamp(12px,3vw,30px);max-width:1080px;margin:0 auto}.student-personal-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px;border-radius:24px;background:linear-gradient(135deg,#06265f,#0b5ea8);color:#fff}.student-personal-hero h1{margin:8px 0 4px;font-size:clamp(28px,5vw,46px)}.student-personal-hero p{margin:0;color:#dbeafe}.student-personal-hero .student-auth-eyebrow{background:rgba(255,255,255,.15);color:#fff}.student-personal-logout{color:#fff;border:1px solid rgba(255,255,255,.38);border-radius:12px;padding:10px 14px;text-decoration:none;font-weight:800;white-space:nowrap}.student-personal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.student-personal-card{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid var(--sid-line);background:#fff;border-radius:20px;color:var(--sid-ink);text-decoration:none;box-shadow:0 8px 26px rgba(31,65,110,.06)}.student-personal-card>span{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#eaf4ff;color:#0968ce;font-weight:900;font-size:22px}.student-personal-card strong{display:block;font-size:18px;margin-bottom:4px}.student-personal-card small{color:var(--sid-muted);line-height:1.4}.student-personal-card.is-primary{border-color:#9dccff}.student-personal-security{background:#fff;border:1px solid var(--sid-line);border-radius:18px;padding:18px}.student-personal-security div{display:flex;justify-content:space-between;gap:20px}.student-personal-security span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900;letter-spacing:.08em}.student-personal-security p{margin:10px 0 0;color:var(--sid-muted);font-size:13px}
.student-account-panel{border:1px solid #cfe0f3;background:linear-gradient(180deg,#fff,#f7fbff);border-radius:18px;padding:18px;margin:18px 0}.student-account-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.student-account-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900;letter-spacing:.06em;font-size:18px}.student-account-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.student-account-meta>div{padding:12px;background:#fff;border:1px solid #dfe9f4;border-radius:12px}.student-account-meta span{display:block;color:#64748b;font-size:12px}.student-account-meta strong{display:block;margin-top:4px}.student-account-actions{display:flex;flex-wrap:wrap;gap:8px}.student-account-actions form{margin:0}
.provision-grid{display:grid;grid-template-columns:280px 1fr;gap:18px}.provision-students{max-height:480px;overflow:auto;border:1px solid #dbe5ef;border-radius:14px}.provision-row{display:flex;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid #edf2f7}.provision-row:last-child{border-bottom:0}.provision-row small{display:block;color:#64748b}.provision-options{display:grid;gap:10px;margin:16px 0}.provision-result-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900;letter-spacing:.04em}
.access-card-sheet{display:grid;grid-template-columns:repeat(2,1fr);gap:8mm;padding:8mm;background:#fff}.student-access-card{break-inside:avoid;border:1.5px solid #233a59;border-radius:4mm;padding:5mm;min-height:55mm;display:flex;flex-direction:column;justify-content:space-between;color:#101828}.student-access-card h2{margin:0;font-size:18pt}.student-access-card .card-name{font-size:13pt;font-weight:800;margin-top:3mm}.student-access-card .card-class{font-size:10pt;color:#475467}.student-access-card .credential{display:grid;grid-template-columns:1fr 1fr;gap:4mm;margin:4mm 0}.student-access-card .credential div{border:1px solid #98a2b3;border-radius:3mm;padding:3mm}.student-access-card .credential span{display:block;font-size:8pt;color:#667085}.student-access-card .credential strong{display:block;font:800 14pt ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}.student-access-card ol{margin:2mm 0 0;padding-left:5mm;font-size:8.5pt;line-height:1.4}.access-card-toolbar{position:sticky;top:0;z-index:2;padding:12px;display:flex;justify-content:center;gap:8px;background:#f8fafc;border-bottom:1px solid #d0d5dd}
@media(max-width:700px){.student-auth-shell{padding:12px}.student-auth-card{border-radius:22px;padding:20px}.student-auth-copy h1{font-size:27px}.student-personal-grid{grid-template-columns:1fr}.student-personal-hero{align-items:flex-start;flex-direction:column}.student-account-meta{grid-template-columns:1fr}.provision-grid{grid-template-columns:1fr}}
@media print{.access-card-toolbar{display:none!important}.access-card-sheet{padding:0;gap:6mm}.student-access-card{min-height:58mm;box-shadow:none}body{background:#fff!important}@page{size:A4;margin:8mm}}
/* Student profile account controls (RC6.25). */
.student-account-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.student-account-grid>div{min-width:0;padding:13px 14px;border:1px solid #dfe8f2;border-radius:13px;background:#fff}.student-account-grid .label{display:block;color:#64748b;font-size:12px;font-weight:700;margin-bottom:5px}.student-account-grid strong{display:block;color:#12223b;overflow-wrap:anywhere}.student-account-grid small{display:block;margin-top:4px;color:#667085;line-height:1.35}.student-code-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}
@media(max-width:900px){.student-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.student-account-grid{grid-template-columns:1fr}.student-account-actions>.btn,.student-account-actions form,.student-account-actions form .btn{width:100%}}


/* === student-progress-rc626.css === */
/* Tingkora V85.0 RC6.26 — student progress surfaces. No Companion/Quest UI. */
.progress-summary{margin:18px 0;padding:20px;border:1px solid #cfe0f3;border-radius:22px;background:linear-gradient(145deg,#fff,#f4f9ff);box-shadow:0 10px 32px rgba(31,65,110,.07)}
.progress-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.progress-level{display:flex;gap:14px;align-items:center}.progress-level-badge{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#0b66d4;color:#fff;font-weight:900;font-size:22px;box-shadow:0 8px 22px rgba(11,102,212,.22)}.progress-level strong{display:block;font-size:20px;color:#102a43}.progress-level small{display:block;color:#627d98;margin-top:3px}.progress-detail-link{font-weight:800;color:#0968ce;text-decoration:none;padding:8px 10px;border-radius:10px;background:#eaf4ff}.progress-xp-line{display:flex;justify-content:space-between;gap:12px;margin:17px 0 7px;font-size:13px;color:#52677e}.progress-xp-line strong{color:#102a43}.progress-bar{height:10px;border-radius:999px;background:#dbe8f5;overflow:hidden}.progress-bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0b66d4,#25a6e8)}
.progress-wallet-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px}.progress-wallet-item{padding:12px;border:1px solid #dfebf6;background:#fff;border-radius:14px;min-width:0}.progress-wallet-item span{display:block;font-size:12px;color:#718096}.progress-wallet-item strong{display:block;margin-top:4px;font-size:17px;color:#17324d;white-space:nowrap}.progress-page{max-width:1080px;margin:0 auto;padding:clamp(12px,3vw,30px)}.progress-hero{padding:22px;border-radius:22px;background:linear-gradient(135deg,#06265f,#0b5ea8);color:#fff}.progress-hero h1{margin:0 0 6px;font-size:clamp(28px,5vw,42px)}.progress-hero p{margin:0;color:#dbeafe}.progress-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:16px}.progress-panel{background:#fff;border:1px solid #dbe7f2;border-radius:18px;padding:18px}.progress-panel h2{margin:0 0 14px;color:#17324d;font-size:19px}.progress-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.progress-stat{padding:14px;border:1px solid #e2ebf4;border-radius:14px;background:#fbfdff}.progress-stat span{display:block;font-size:12px;color:#6b7f95}.progress-stat strong{display:block;margin-top:4px;font-size:20px;color:#102a43}.star-breakdown{display:grid;gap:8px}.star-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#f7faff}.star-row span{color:#4d6278}.star-row strong{color:#17324d}.reward-feed{display:grid;gap:8px}.reward-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid #e0eaf4;border-radius:14px}.reward-amount{min-width:64px;font-weight:900;color:#0968ce}.reward-item strong{display:block;color:#17324d}.reward-item small{display:block;color:#7b8da1;margin-top:3px}.reward-kind{font-size:12px;color:#65788d}.progress-pagination{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.progress-pagination a{padding:8px 12px;border:1px solid #d4e1ef;border-radius:10px;text-decoration:none;color:#0b5ea8}.gamification-readonly{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.gamification-readonly>div{padding:12px;border:1px solid #deebf6;border-radius:12px;background:#fbfdff}.gamification-readonly span{display:block;color:#6b7f95;font-size:12px}.gamification-readonly strong{display:block;margin-top:4px;color:#17324d;font-size:17px}
@media(max-width:800px){.progress-wallet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-grid{grid-template-columns:1fr}.gamification-readonly{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.progress-summary{padding:15px;border-radius:18px}.progress-summary-head{align-items:center}.progress-detail-link{font-size:13px}.progress-wallet-grid{grid-template-columns:1fr 1fr}.progress-wallet-item:last-child{grid-column:1/-1}.progress-stat-grid{grid-template-columns:1fr 1fr}.reward-item{grid-template-columns:auto 1fr}.reward-kind{grid-column:2}.gamification-readonly{grid-template-columns:1fr 1fr}}


/* === companion-rc627.css === */
/* Tingkora V85.0 RC6.27 — Companion Core. Student-first, mobile-safe, reduced-motion aware. */
.companion-page{max-width:1180px;margin:0 auto;padding:clamp(14px,3vw,30px);color:#102a43}.companion-page *{box-sizing:border-box}.companion-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.companion-page-head h1{margin:4px 0 6px;font-size:clamp(28px,4vw,44px);line-height:1.05}.companion-page-head p{margin:0;color:#5d7692;max-width:720px;line-height:1.55}.companion-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e8f3ff;color:#075db4;font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.companion-back{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid #c9d9eb;border-radius:12px;background:#fff;color:#143a63;text-decoration:none;font-weight:800;white-space:nowrap}.companion-empty,.companion-panel,.companion-stats-card,.companion-wizard{background:#fff;border:1px solid #d7e3ef;border-radius:22px;box-shadow:0 10px 30px rgba(29,78,120,.06)}.companion-empty{padding:30px;text-align:center}.companion-empty h2{margin:0 0 8px}.companion-note{padding:12px 14px;margin-bottom:14px;border-radius:14px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e4976}.companion-wizard{padding:18px}.companion-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:20px}.companion-steps button{border:1px solid #d5e2ef;background:#f8fbff;color:#56718d;border-radius:12px;padding:11px 8px;font-weight:800}.companion-steps button.active{border-color:#3b82f6;background:#eaf4ff;color:#075db4}.companion-step{display:none}.companion-step.active{display:block}.companion-step h2{margin:0 0 14px}.companion-step-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.companion-step-title h2,.companion-step-title p{margin:0}.companion-step-title p{color:#6b8198;margin-top:4px}.companion-family-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.companion-family-card{min-height:132px;border:1px solid #cedceb;border-radius:18px;background:linear-gradient(145deg,#fff,#f3f8ff);padding:18px;text-align:left;cursor:pointer}.companion-family-card:hover,.companion-family-card:focus-visible,.companion-family-card.selected{border-color:#2583e8;box-shadow:0 0 0 3px #dbeafe;outline:none}.companion-family-card strong{display:block;font-size:18px;color:#102a43}.companion-family-card small{display:block;margin-top:8px;color:#607a96;line-height:1.45}.companion-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.companion-choice{position:relative;cursor:pointer}.companion-choice input{position:absolute;opacity:0;pointer-events:none}.companion-choice>span{display:flex;height:100%;flex-direction:column;gap:7px;border:1px solid #d4e1ed;border-radius:18px;padding:12px;background:#fff}.companion-choice img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:14px}.companion-choice b{font-size:17px}.companion-choice small{color:#657e98;line-height:1.35}.companion-choice input:checked+span,.companion-choice input:focus-visible+span{border-color:#2583e8;box-shadow:0 0 0 3px #dbeafe}.companion-field{display:grid;gap:7px;max-width:480px;margin:8px 0 18px}.companion-field>span{font-weight:800}.companion-field input,.companion-inline-form input{min-height:46px;border:1px solid #c9d8e8;border-radius:12px;padding:0 13px;font:inherit;color:#102a43;background:#fff}.companion-field small{color:#657e98}.companion-theme-picker{border:0;padding:0;margin:0 0 18px}.companion-theme-picker legend{font-weight:800;margin-bottom:8px}.companion-theme-picker label{display:inline-flex;align-items:center;gap:5px;margin:0 8px 8px 0;padding:10px 13px;border:1px solid #d4e1ed;border-radius:12px;background:#fff}.companion-preview{display:flex;align-items:center;gap:22px;padding:18px;border:1px solid #d4e1ed;border-radius:18px;background:#f8fbff}.companion-preview img{width:min(220px,42vw);aspect-ratio:1;object-fit:contain}.companion-preview h3{font-size:28px;margin:8px 0}.companion-preview span{font-weight:900;color:#2563eb}.companion-confirm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.companion-detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:16px}.companion-hero-card{display:grid;grid-template-columns:minmax(220px,.85fr) 1fr;align-items:center;gap:22px;border:1px solid #d8e5f1;border-radius:26px;padding:20px;background:linear-gradient(145deg,#f8fbff,#eef6ff);overflow:hidden}.companion-hero-card.theme-kids{background:linear-gradient(145deg,#fff7ed,#f0f9ff)}.companion-hero-card.theme-minimal{background:#fff}.companion-visual-wrap{display:grid;place-items:center;min-width:0}.companion-visual-wrap img{width:100%;max-width:320px;aspect-ratio:1;object-fit:contain;transform-origin:center}.companion-family-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e7f2ff;color:#075db4;font-size:12px;font-weight:900}.companion-hero-copy h2{font-size:clamp(30px,4vw,44px);margin:9px 0 3px}.companion-hero-copy>p{margin:0 0 12px;color:#5c7690}.companion-welcome-back{padding:11px 12px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#8a4b12;line-height:1.45}.companion-interactions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.companion-interactions button,.companion-theme-form button,.companion-event-list button{min-height:44px;border:1px solid #c8d9ea;border-radius:12px;background:#fff;color:#173c63;font-weight:800;padding:0 12px;cursor:pointer}.companion-no-reward{display:block;margin-top:8px;color:#6a8096}.companion-stats-card{padding:20px}.companion-stats-card h2{margin:0 0 15px}.companion-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.companion-stat-grid>div{padding:12px;border-radius:14px;background:#f5f9fd}.companion-stat-grid span,.companion-meter span{display:block;color:#6a8198;font-size:12px;font-weight:800}.companion-stat-grid strong{display:block;font-size:20px;margin-top:4px}.companion-meter{margin-top:15px}.companion-meter>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.companion-meter>div span{display:inline}.companion-meter progress{width:100%;height:11px;margin-top:7px;accent-color:#2563eb}.companion-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.companion-panel{padding:20px}.companion-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.companion-panel-head h2{margin:0}.companion-panel-head a{color:#075db4;font-weight:800;text-decoration:none}.evolution-requirements{display:grid;gap:8px;margin-top:12px}.evolution-requirements>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:12px;background:#fff7ed;color:#854d0e}.evolution-requirements>div.done{background:#ecfdf5;color:#166534}.companion-inline-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:14px}.companion-inline-form label{display:grid;gap:6px}.companion-inline-form label span{font-size:12px;font-weight:800;color:#627b95}.companion-theme-form{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.companion-theme-form button.active{border-color:#2563eb;background:#eaf4ff;color:#075db4}.companion-event-panel{margin-top:16px}.companion-event-list{display:grid;gap:9px}.companion-event-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid #dce6f0;border-radius:13px}.companion-event-list article.unseen{border-color:#93c5fd;background:#f0f7ff}.companion-event-list strong,.companion-event-list small{display:block}.companion-event-list small{color:#6c8197;margin-top:3px}
.companion-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:16px;margin:18px 0}.companion-dashboard-card{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:14px;padding:16px;border:1px solid #d5e2ef;border-radius:20px;background:#fff;text-decoration:none;color:#102a43}.companion-dashboard-card img{width:120px;height:120px;object-fit:contain}.companion-dashboard-card h3{margin:3px 0;font-size:22px}.companion-dashboard-card p{margin:0;color:#657d95}.companion-onboarding-card{padding:18px;border:1px solid #b9dafc;border-radius:20px;background:linear-gradient(140deg,#f0f7ff,#f5f3ff)}.companion-onboarding-card h2{margin:0 0 6px}.companion-onboarding-card p{margin:0 0 13px;color:#5f7892}.student-priority-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.student-priority-grid .student-personal-card{margin:0}.recommended-card{border-color:#b7d7fb!important;background:linear-gradient(145deg,#fff,#f3f8ff)!important}
.habitat-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:16px}.habitat-preview,.habitat-editor{border:1px solid #d7e3ef;background:#fff;border-radius:22px;padding:16px}.habitat-scene{position:relative;min-height:540px;border-radius:18px;overflow:hidden;background:#eaf4ff}.habitat-slot-visual{position:absolute;pointer-events:none}.habitat-slot-visual img{width:100%;height:100%;object-fit:contain}.slot-background{inset:0}.slot-background img{object-fit:cover}.slot-floor{left:0;right:0;bottom:0;height:42%}.slot-floor img{object-fit:cover}.slot-desk{left:20%;right:20%;bottom:4%;height:32%}.slot-wall_decoration{left:7%;top:9%;width:26%;height:28%}.slot-plant{right:7%;bottom:16%;width:22%;height:28%}.slot-companion_accessory{left:48%;top:31%;width:22%;height:18%;z-index:4}.slot-trophy_shelf{right:5%;top:8%;width:26%;height:28%}.habitat-companion{position:absolute;z-index:3;width:34%;left:33%;bottom:18%;object-fit:contain}.habitat-slot-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:8px;scrollbar-width:thin}.habitat-slot-tabs a{white-space:nowrap;text-decoration:none;color:#244867;border:1px solid #d3e0ed;border-radius:11px;padding:9px 11px;font-weight:800}.habitat-slot-tabs a.active{background:#eaf4ff;border-color:#2583e8;color:#075db4}.habitat-owned-items{margin-top:14px}.habitat-item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #d8e4ef;border-radius:14px;padding:9px;margin-bottom:8px}.habitat-item.equipped{border-color:#67aaf0;background:#f0f7ff}.habitat-item img{width:76px;height:58px;object-fit:contain;border-radius:9px}.habitat-item strong,.habitat-item small{display:block}.habitat-item small{color:#687f97;margin-top:3px;line-height:1.3}.companion-evolution-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:rgba(4,22,47,.58);backdrop-filter:blur(4px)}.companion-evolution-dialog{width:min(520px,100%);background:#fff;border-radius:24px;padding:22px;box-shadow:0 24px 70px rgba(2,22,48,.28);text-align:center}.companion-evolution-dialog h2{font-size:30px;margin:7px 0}.companion-evolution-dialog .stage-flow{font-size:20px;font-weight:900;color:#2563eb;margin:16px 0}.companion-evolution-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.companion-evolution-actions form{margin:0}
.companion-interaction-pop{animation:companionPop .55s ease}.companion-interaction-wave{animation:companionWave .7s ease}.companion-interaction-play{animation:companionPlay .9s ease}@keyframes companionPop{50%{transform:scale(1.06) translateY(-4px)}}@keyframes companionWave{30%{transform:rotate(-5deg)}70%{transform:rotate(5deg)}}@keyframes companionPlay{30%{transform:translateY(-8px) rotate(-3deg)}60%{transform:translateY(0) rotate(3deg)}}
@media(max-width:820px){.companion-page-head{flex-direction:column}.companion-family-grid,.companion-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.companion-detail-grid,.companion-secondary-grid,.habitat-layout,.companion-dashboard-grid{grid-template-columns:1fr}.companion-hero-card{grid-template-columns:minmax(150px,.65fr) 1fr}.habitat-scene{min-height:460px}}
@media(max-width:560px){.companion-page{padding:12px}.companion-steps{grid-template-columns:repeat(4,1fr);gap:4px}.companion-steps button{font-size:11px;padding:9px 3px}.companion-family-grid,.companion-catalog-grid{grid-template-columns:1fr 1fr;gap:8px}.companion-choice>span{padding:8px}.companion-hero-card{grid-template-columns:1fr;text-align:center;padding:14px}.companion-visual-wrap img{max-width:220px}.companion-interactions{justify-content:center}.companion-inline-form{grid-template-columns:1fr}.habitat-item{grid-template-columns:64px minmax(0,1fr);}.habitat-item button{grid-column:1/-1}.habitat-item img{width:64px}.habitat-scene{min-height:390px}.student-priority-grid{grid-template-columns:1fr}.companion-dashboard-card{grid-template-columns:94px 1fr}.companion-dashboard-card img{width:94px;height:94px}.companion-event-list article{align-items:flex-start;flex-direction:column}.companion-preview{align-items:flex-start;flex-direction:column}.companion-preview img{width:170px;align-self:center}}
@media(prefers-reduced-motion:reduce){.companion-page *, .companion-evolution-modal *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.companion-interaction-pop,.companion-interaction-wave,.companion-interaction-play{animation:none!important;opacity:.92}}


/* === interactive-stability-rc629.css === */
/* RC6.29: PDF geometry follows the authoring rectangle, including small fields and zoom. */
.student-activity-page .activity-public-worksheet .worksheet-player-page{position:relative!important;isolation:isolate}
.student-activity-page .activity-public-worksheet .worksheet-player-page:not(.ws-page-ready) .worksheet-player-layer{visibility:hidden!important;pointer-events:none!important}
.student-activity-page .activity-public-worksheet .worksheet-player-page>img{width:100%!important;height:auto!important;display:block!important}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-choice-list.ws-pdf-choice-list{grid-template-rows:repeat(var(--ws-option-count,4),minmax(0,1fr))!important;grid-auto-rows:minmax(0,1fr)!important}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-list .ws-pdf-choice{min-height:0!important;min-width:0!important;height:100%!important;overflow:hidden!important;padding:0!important;transform:none!important}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice input[data-answer]{left:0!important;top:0!important;right:0!important;bottom:0!important;transform:none!important;min-height:0!important;min-width:0!important;width:100%!important;height:100%!important}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice-marker{--marker:var(--ws-marker-size,20px);flex:0 0 var(--marker)!important;width:var(--marker)!important;height:var(--marker)!important;min-width:var(--marker)!important;min-height:var(--marker)!important;border-width:1px!important;font-size:var(--ws-marker-font,10px)!important;line-height:1!important;display:grid!important;place-items:center!important;color:#07549f!important;background:rgba(255,255,255,.8)!important;transform:none!important}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice input[data-answer]:checked + .ws-pdf-choice-marker{color:#fff!important;background:#0b63ce!important;box-shadow:0 0 0 1px rgba(11,99,206,.35)!important;transform:none!important}
.student-activity-page .activity-public-worksheet .worksheet-field .ws-pdf-choice:has(input:checked)::after{background:rgba(11,99,206,.09);box-shadow:inset 0 0 0 1px rgba(11,99,206,.22)}
.student-activity-page .activity-public-worksheet .worksheet-submitbar[hidden]{display:none!important}
.student-activity-page .activity-public-worksheet .worksheet-view-status{min-width:0}
.student-activity-page .activity-public-worksheet .worksheet-view-status>span{overflow-wrap:anywhere}
@media(max-width:480px){.student-activity-page .activity-public-worksheet .worksheet-view-tools{gap:6px!important;flex-wrap:wrap!important}.student-activity-page .activity-public-worksheet .worksheet-view-actions{max-width:100%;margin-left:auto}}

.worksheet-player-page .ws-page-media-retry{position:absolute;z-index:20;left:50%;top:58%;transform:translateX(-50%);max-width:90%;color:#07549f;background:#fff;pointer-events:auto}

