@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:#fb2c36;--color-red-600:#e40014;--color-orange-100:#ffedd5;--color-orange-800:#9f2d00;--color-yellow-100:#fef9c2;--color-yellow-800:#874b00;--color-green-100:#dcfce7;--color-green-600:#00a544;--color-green-800:#016630;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-600:#155dfc;--color-blue-800:#193cb8;--color-indigo-100:#e0e7ff;--color-indigo-500:#625fff;--color-indigo-600:#4f39f6;--color-indigo-700:#432dd7;--color-indigo-800:#372aac;--color-purple-100:#f3e8ff;--color-purple-800:#6e11b0;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-gray-700:#364153;--color-gray-800:#1e2939;--color-gray-900:#101828;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--radius-xs:.125rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:var(--background);--color-border:var(--border)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-orange-100:lab(94.7127% 3.58394 14.3151);--color-orange-800:lab(37.1566% 46.6433 50.5562);--color-yellow-100:lab(97.3564% -4.51407 27.344);--color-yellow-800:lab(38.7484% 23.5833 51.4916);--color-green-100:lab(96.1861% -13.8464 6.52365);--color-green-600:lab(59.0978% -58.6621 41.2579);--color-green-800:lab(37.4616% -36.7971 22.9692);--color-blue-50:lab(96.492% -1.14644 -5.11479);--color-blue-100:lab(92.0301% -2.24757 -11.6453);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-blue-800:lab(30.2514% 27.7853 -70.2699);--color-indigo-100:lab(91.6577% 1.04591 -12.7199);--color-indigo-500:lab(48.295% 38.3129 -81.9673);--color-indigo-600:lab(38.4009% 52.6132 -92.3857);--color-indigo-700:lab(32.4486% 49.2217 -84.6695);--color-indigo-800:lab(26.6645% 37.9804 -68.6402);--color-purple-100:lab(93.3333% 6.97437 -9.83434);--color-purple-800:lab(30.6017% 56.7637 -64.4751);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-gray-700:lab(27.1134% -.956401 -12.3224);--color-gray-800:lab(16.1051% -1.18239 -11.7533);--color-gray-900:lab(8.11897% .811279 -12.254)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box}body{background:radial-gradient(circle at top left, #ffd84d38, transparent 31rem), var(--cream);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #3478f6}button,input,textarea,select{font:inherit}}@layer components{.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:15px;justify-content:center;align-items:center;min-height:48px;padding:0 20px;font-weight:850;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(110deg, var(--orange), #ff8728);box-shadow:0 9px 20px #ff6b1938}.secondary-button{color:var(--ink);border:1px solid var(--line);background:#fff}.form-error{color:#a32121;background:#fff0f0;border-radius:13px;margin:18px 0 0;padding:12px 15px;font-size:13px;font-weight:800}.form-message{color:#18764d;text-align:center;margin:0;font-size:13px;font-weight:800}.brand-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:5;background:#ffffffeb;justify-content:space-between;align-items:center;gap:20px;height:82px;padding:0 34px;display:flex;position:relative}.brand-lockup{border-radius:14px;align-items:center;gap:12px;display:inline-flex}.brand-lockup>span:last-child{display:grid}.brand-lockup strong{letter-spacing:-.04em;font-size:19px;line-height:1.1}.brand-lockup small{color:var(--orange-dark);letter-spacing:.14em;margin-top:4px;font-size:10px;font-weight:800}.brand-mark{color:#fff;background:linear-gradient(145deg, var(--orange), #ff8f22);border-radius:14px 14px 14px 5px;place-items:center;width:43px;height:43px;font-size:23px;font-weight:1000;display:grid;box-shadow:0 8px 18px #ff6b1940}.brand-logo{filter:drop-shadow(0 7px 14px #201b181a);height:auto;display:block}.brand-header-actions{align-items:center;gap:12px;display:flex}.header-label{color:#9a4212;background:#fff2dd;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:800}.app-shell{background:#f8f7f4;min-height:100vh}.shell-body{grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 82px);transition:grid-template-columns .18s;display:grid}.shell-body:has(.side-nav[data-collapsed]){grid-template-columns:78px minmax(0,1fr)}.side-nav{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:7px;padding:25px 18px;transition:padding .18s;display:flex}.side-nav[data-collapsed]{align-items:center;padding-inline:13px}.side-nav[data-collapsed] .nav-group{width:100%}.nav-link{color:#6a625c;border-radius:15px;align-items:center;gap:12px;min-height:49px;padding:0 15px;font-size:14px;font-weight:750;transition:all .18s;display:flex}.nav-collapse-toggle{border:1px solid var(--line);color:#6a625c;cursor:pointer;background:#fbfaf8;border-radius:14px;justify-content:flex-start;align-items:center;gap:10px;width:100%;min-height:40px;margin-bottom:8px;padding:0 13px;font-size:13px;font-weight:800;transition:all .18s;display:flex}.nav-collapse-toggle:hover{color:var(--orange-dark);background:#fff7eb}.nav-collapse-toggle svg{width:18px;height:18px}.side-nav[data-collapsed] .nav-collapse-toggle,.side-nav[data-collapsed] .nav-link{justify-content:center;align-self:center;align-items:center;gap:0;width:52px;min-width:52px;height:49px;padding-inline:0;display:flex}.side-nav[data-collapsed] .nav-collapse-toggle{height:40px}.side-nav[data-collapsed] .logout-btn{text-align:center!important;width:52px!important}.nav-label{white-space:nowrap;min-width:0;transition:opacity .14s,width .14s;overflow:hidden}.side-nav[data-collapsed] .nav-label,.side-nav[data-collapsed] .nav-group-label{opacity:0;pointer-events:none;width:0;display:none}.side-nav[data-collapsed] .nav-group{align-items:center}.nav-link:hover{color:var(--orange-dark);background:#fff7eb;transform:translate(2px)}.side-nav[data-collapsed] .nav-link:hover{transform:none}.nav-link[data-active]{background:linear-gradient(110deg, var(--orange), #ff8728);color:#fff;box-shadow:0 8px 18px #ff6b193b}.nav-link>span:first-child{text-align:center;place-items:center;width:24px;font-size:18px;display:inline-grid}.side-nav[data-collapsed] .nav-link>span:first-child{width:52px;height:49px}.nav-link svg{width:18px;height:18px;display:block}.admin-nav .nav-link[data-active]{box-shadow:0 8px 18px #201b1833;background:var(--ink)!important}.shell-content{min-width:0}.student-home,.student-profile-page,.admin-home{width:min(1240px,100%);margin:0 auto;padding:38px 42px 60px}.student-home{gap:32px;display:grid}.welcome-panel{justify-content:space-between;align-items:center;gap:25px;margin:0;display:flex}.welcome-content{min-width:0}.welcome-name-row{align-items:center;gap:10px;min-width:0;display:flex}.representative-badge{object-fit:contain;flex:none;width:36px;height:36px}.eyebrow{color:var(--orange-dark);letter-spacing:.14em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:900}.welcome-panel h1,.admin-home h1{letter-spacing:-.05em;margin:0;font-size:clamp(29px,3vw,42px);line-height:1.15}.welcome-panel h1 span{color:var(--orange-dark)}.welcome-panel h1 small{color:var(--ink);font-size:.5em;font-weight:800}.welcome-copy,.admin-home>p{color:var(--muted);margin:10px 0 0;font-size:14px}.points-pill{white-space:nowrap;background:#fff;border:1px solid #ffe19b;border-radius:999px;align-items:center;gap:9px;padding:13px 18px;display:flex;box-shadow:0 8px 25px #4c371512}.points-pill strong{font-size:14px}.dashboard-grid,.student-dashboard-grid{grid-template-columns:1.15fr .85fr;gap:18px;display:grid}.student-dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr)}.info-card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:24px;box-shadow:0 12px 35px #2d231a0f}.course-card{background:linear-gradient(135deg,#fff 55%,#fff5dc)}.current-class-card{border:1px solid var(--line);background:linear-gradient(135deg,#fff 52%,#fff5dc);border-radius:24px;min-height:250px;padding:26px;box-shadow:0 12px 35px #2d231a0f}.current-class-card .card-heading{align-items:flex-start}.current-class-card h2{overflow-wrap:anywhere}.current-class-description{max-width:58ch;color:var(--muted);margin:18px 0;font-size:14px;line-height:1.65}.current-class-details{flex-wrap:wrap;gap:10px 20px;margin:0 0 20px;display:flex}.current-class-details div{gap:3px;display:grid}.current-class-details dt{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-weight:800;display:inline-flex}.current-class-details dt svg{width:15px;height:15px;color:var(--orange-dark)}.current-class-details dd{color:var(--ink);margin:0;font-size:14px;font-weight:750}.current-class-link{min-height:40px}.current-class-card--loading .p-0{gap:15px;display:grid}.dashboard-skeleton{background:linear-gradient(90deg,#f4efe9 20%,#fffaf4 50%,#f4efe9 80%) 0 0/200% 100%;border-radius:10px;animation:1.4s ease-in-out infinite dashboard-skeleton;display:block}.dashboard-skeleton--icon{width:48px;height:48px}.dashboard-skeleton--title{width:min(55%,270px);height:24px}.dashboard-skeleton--line{width:min(78%,430px);height:16px}@keyframes dashboard-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.mission-card{background:linear-gradient(135deg,#fff9e8,#fff0c1);border-color:#ffe3a3}.student-profile-page{gap:22px;display:grid}.student-profile-page .page-heading{max-width:720px}.student-profile-page .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form{border:1px solid var(--line);background:#fff;border-radius:22px;gap:18px;padding:24px;display:grid;box-shadow:0 12px 35px #2d231a0f}.profile-section{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:16px;display:grid}.profile-section+.profile-section{border-top:1px solid var(--line);padding-top:18px}.profile-section-icon{width:42px;height:42px;color:var(--orange-dark);background:#fff5e6;border-radius:14px;place-items:center;display:grid}.profile-section-body{gap:12px;min-width:0;display:grid}.profile-section h2{letter-spacing:-.03em;margin:0;font-size:18px}.profile-form .field-stack{gap:7px;display:grid}.profile-form label{color:#544c47;font-size:12px;font-weight:800}.profile-form input{min-height:46px}.profile-form .form-error,.profile-form .form-message{margin:0}.profile-form button[type=submit]{justify-self:end;min-width:132px}.card-heading{align-items:center;gap:14px;display:flex}.card-icon{background:#fff0df;border-radius:15px;flex:none;place-items:center;width:48px;height:48px;font-size:25px;display:grid}.mission-card .card-icon{background:#fff}.info-card h2{letter-spacing:-.035em;margin:0;font-size:19px}.info-card p:not(.eyebrow){color:var(--muted);margin:15px 0;font-size:13px;line-height:1.6}.progress-label{color:#7d7169;justify-content:space-between;font-size:11px;font-weight:800;display:flex}.progress-track{background:#f1eae3;border-radius:10px;height:8px;margin-top:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--orange), var(--yellow));height:100%;display:block}.reward{color:#8a4b00;background:#fff;border-radius:999px;padding:7px 11px;font-size:12px;display:inline-block}.world-cta{color:#fff;background:radial-gradient(circle at 15% -70%,#ffcc64 0 28%,#0000 29%),linear-gradient(115deg,#ff751f,#f04c12);border-radius:26px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;min-height:128px;margin:20px 0 32px;padding:22px 30px;transition:transform .18s,box-shadow .18s;display:grid;box-shadow:0 16px 34px #ee53113d}.world-cta:hover{transform:translateY(-3px);box-shadow:0 20px 40px #ee53114a}.world-illustration{filter:drop-shadow(0 6px 8px #6a1d0033);font-size:55px}.world-cta>span:nth-child(2){gap:4px;display:grid}.world-cta small{opacity:.9;font-size:12px;font-weight:700}.world-cta strong{letter-spacing:-.04em;font-size:clamp(22px,3vw,30px)}.cta-arrow{width:44px;height:44px;color:var(--orange-dark);background:#fff;border-radius:50%;place-items:center;font-size:24px;display:grid}.section-title h2{letter-spacing:-.04em;margin:0 0 16px;font-size:22px}.activity-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.activity-card{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;min-width:0;padding:19px;transition:all .18s;display:grid;box-shadow:0 8px 24px #2d231a0d}.activity-card:hover{border-color:#ffc57d;transform:translateY(-3px);box-shadow:0 12px 28px #ff6b191f}.student-home :is(a,button):focus-visible,.side-nav :is(a,button):focus-visible{outline:3px solid var(--ring)}@supports (color:color-mix(in lab, red, red)){.student-home :is(a,button):focus-visible,.side-nav :is(a,button):focus-visible{outline:3px solid color-mix(in srgb, var(--ring) 58%, white)}}.student-home :is(a,button):focus-visible,.side-nav :is(a,button):focus-visible{outline-offset:3px}.activity-icon{background:#fff5e6;border-radius:14px;place-items:center;width:42px;height:42px;font-size:21px;display:grid}.activity-card>span:nth-child(2){gap:4px;min-width:0;display:grid}.activity-card strong{font-size:13px}.activity-card small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.mini-arrow{color:var(--orange-dark);font-weight:900}.login-page{background:radial-gradient(circle at 50% 10%, #fff0bd 0, transparent 34rem), var(--cream);min-height:100vh}.login-main{place-items:center;min-height:calc(100vh - 82px);padding:50px 24px;display:grid}.login-card{text-align:center;background:#fffffff0;border:1px solid #f0e3d3;border-radius:32px;width:min(790px,100%);padding:clamp(30px,5vw,54px);box-shadow:0 28px 70px #5f3d181f}.login-card h1{letter-spacing:-.055em;margin:0;font-size:clamp(30px,5vw,46px)}.login-intro{max-width:500px;color:var(--muted);margin:13px auto 30px;line-height:1.7}.role-grid{text-align:left;grid-template-columns:1fr 1fr;gap:16px;display:grid}.role-card{border:2px solid #0000;border-radius:23px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:142px;padding:22px;transition:all .18s;display:grid}.role-card:hover{transform:translateY(-3px)}.student-role{background:#fff0dc;border-color:#ffd4aa}.student-role:hover{border-color:var(--orange)}.admin-role{background:#f1f0ee;border-color:#dfdcd8}.admin-role:hover{border-color:var(--ink)}.role-icon{background:#fff;border-radius:18px;place-items:center;width:56px;height:56px;font-size:29px;display:grid}.role-card>span:nth-child(2){gap:5px;display:grid}.role-card strong{font-size:17px}.role-card small{color:var(--muted);font-size:11px}.demo-note{color:#756d67;background:#f8f7f5;border-radius:14px;margin:24px 0 0;padding:12px 16px;font-size:11px;line-height:1.6}.login-landing-page{background:#050505;min-height:100vh;padding:6px}.login-landing-page .brand-header{background:#fff;border:0;border-radius:20px;height:100px;margin-bottom:6px}.login-landing-main{background:#fff;border-radius:20px 20px 0 0;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);place-items:stretch stretch;gap:clamp(22px,4vw,54px);min-height:calc(100vh - 112px);padding:clamp(18px,4vw,48px);display:grid}.admin-login-page .admin-login-main{border-radius:20px!important;min-height:calc(100vh - 12px)!important}@media (max-width:650px){.admin-login-page .admin-login-main{border-radius:16px!important;min-height:calc(100vh - 12px)!important}}.login-hero{align-items:center;min-width:0;display:flex}.login-hero-copy{width:100%}.login-agency-copy{color:#151515;word-break:keep-all;border-bottom:1px solid #111;justify-content:space-between;align-items:flex-start;gap:28px;max-width:650px;margin:0 0 clamp(58px,9vw,150px);padding-bottom:16px;font-size:clamp(15px,1.55vw,19px);font-weight:800;line-height:1.45;display:flex}.login-agency-copy svg{flex:none;width:22px;height:22px}.login-hero-title{color:#111;letter-spacing:-.075em;text-transform:uppercase;grid-template-columns:auto auto;align-items:center;column-gap:clamp(18px,3vw,36px);max-width:900px;margin:0;font-size:clamp(52px,8.5vw,112px);font-weight:900;line-height:.98;display:grid}.login-hero-title span:first-child,.login-hero-title span:nth-child(4){color:#b4b4b4}.login-hero-title span:nth-child(3){grid-column:1/-1}.login-hero-title span:nth-child(6){letter-spacing:-.06em}.login-hero-title:after{content:"";background:radial-gradient(circle at 78% 38%,#4cffd473,#0000 34%),radial-gradient(circle at 18% 75%,#ffd84d2e,#0000 34%),linear-gradient(135deg,#07110f,#13231f 56%,#203b35);border-radius:18px;grid-area:1/2;justify-self:start;width:min(140px,20vw);height:clamp(52px,7vw,88px);box-shadow:inset 0 0 0 1px #ffffff14,0 14px 34px #00000029}.login-hero-cta{color:#111;min-width:204px;box-shadow:none;background:#ffd318;border-radius:14px;margin-top:clamp(36px,6vw,72px)}.social-login-card{text-align:left;background:#fff;border:1px solid #e4e4e4;border-radius:32px;place-self:center end;width:min(420px,100%);padding:clamp(26px,4vw,42px);box-shadow:0 28px 70px #0000001f}.social-login-panel{display:grid}.login-card-icon{color:#111;background:#e9e9e9;border-radius:19px;place-items:center;width:58px;height:58px;margin-bottom:22px;display:grid}.login-card-icon svg{width:24px;height:24px}.social-login-card h2{color:#111;letter-spacing:-.055em;margin:0;font-size:clamp(27px,4vw,40px);line-height:1.08}.social-login-card .login-intro{color:#666;margin:13px 0 24px;font-size:13px;line-height:1.7}.student-login-fields{gap:13px;display:grid}.student-login-field{gap:8px;display:grid}.student-login-field label{color:#222;font-size:13px;font-weight:850}.student-login-input{background:#fff;border:1px solid #dedede;border-radius:10px;align-items:center;gap:10px;min-height:54px;padding:0 14px;display:flex}.student-login-input svg{color:#797979;width:18px;height:18px}.student-login-input input{box-shadow:none;background:0 0;border:0;padding:0}.student-login-input input:focus-visible{box-shadow:none;outline:0}.credential-login-button{color:#fff;width:100%;min-height:56px;box-shadow:none;background:#111;border-radius:10px;margin-top:4px}.credential-login-button:hover{background:#2a2a2a}.login-divider{color:#9a9a9a;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:22px 0;font-size:12px;font-weight:800;display:grid}.login-divider:before,.login-divider:after{content:"";background:#e8e8e8;height:1px}.social-login-actions{gap:22px;display:grid}.social-login-button{width:100%;min-height:60px;box-shadow:none;border-radius:6px;justify-content:center;font-size:15px;position:relative}.kakao-login{-webkit-user-select:none;user-select:none;appearance:none;box-sizing:border-box;cursor:pointer;text-align:center;vertical-align:middle;white-space:nowrap;border-radius:6px;outline:none;width:100%;height:60px;padding:0 12px;font-size:14px;transition:background-color .218s,box-shadow .218s;position:relative;overflow:hidden;color:#191919!important;background-color:#fee500!important;border:0!important}.kakao-login:hover{box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326;background-color:#ffd800!important}.kakao-login .kakao-button-icon{justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;margin-right:10px;display:flex}.kakao-login .kakao-button-icon svg{width:30px;height:30px}.kakao-login .kakao-button-content-wrapper{flex-wrap:nowrap;justify-content:center;align-items:center;gap:0 .4rem;width:100%;height:100%;display:flex;position:relative}.kakao-login .kakao-button-contents{font-weight:500;overflow:hidden}.kakao-login .kakao-button-state{opacity:0;transition:opacity .218s;position:absolute;inset:0}.kakao-login:not(:disabled):active .kakao-button-state,.kakao-login:not(:disabled):focus .kakao-button-state{opacity:.05;background-color:#000}.kakao-login:not(:disabled):hover .kakao-button-state{opacity:.02;background-color:#000}.google-login{color:#111;background:#fff;border-color:#dedede}.gsi-material-button{-webkit-user-select:none;user-select:none;appearance:none;box-sizing:border-box;cursor:pointer;letter-spacing:.25px;text-align:center;vertical-align:middle;white-space:nowrap;background-image:none;border-radius:4px;outline:none;width:100%;min-width:min-content;max-width:100%;height:60px;padding:0 12px;font-family:Roboto,Arial,sans-serif;font-size:14px;transition:background-color .218s,border-color .218s,box-shadow .218s;position:relative;overflow:hidden;color:#1f1f1f!important;background-color:#fff!important;border:1px solid #747775!important}.gsi-material-button .gsi-material-button-icon{width:20px;min-width:20px;height:20px;margin-right:10px}.gsi-material-button .gsi-material-button-icon svg{width:20px;height:20px}.gsi-material-button .gsi-material-button-content-wrapper{flex-wrap:nowrap;justify-content:center;align-items:center;gap:0 .4rem;width:100%;height:100%;display:flex;position:relative}.gsi-material-button .gsi-material-button-contents{font-family:Roboto,Arial,sans-serif;font-weight:500;overflow:hidden}.gsi-material-button .gsi-material-button-state{opacity:0;transition:opacity .218s;position:absolute;inset:0}.gsi-material-button:disabled{cursor:default;background-color:#ffffff61;border-color:#1f1f1f1f}.gsi-material-button:disabled .gsi-material-button-contents,.gsi-material-button:disabled .gsi-material-button-icon{opacity:.38}.gsi-material-button:not(:disabled):active .gsi-material-button-state,.gsi-material-button:not(:disabled):focus .gsi-material-button-state{opacity:.12;background-color:#303030}.gsi-material-button:not(:disabled):hover{box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.gsi-material-button:not(:disabled):hover .gsi-material-button-state{opacity:.08;background-color:#303030}.login-card-footer{color:#757575;border-top:1px solid #ececec;gap:10px;margin-top:24px;padding-top:18px;font-size:12px;display:grid}.login-card-footer p,.login-card-footer a{align-items:center;gap:7px;margin:0;display:inline-flex}.login-card-footer a{color:#111;width:fit-content;font-weight:800}.login-card-footer svg{width:15px;height:15px}.route-status{color:#665d56;background:var(--cream);justify-content:center;align-items:center;gap:10px;min-height:100vh;font-weight:800;display:flex}.admin-home h1{margin-top:0}.admin-placeholder{text-align:left;background:#fff;border:2px dashed #d9d3cd;border-radius:26px;justify-content:center;align-items:center;gap:20px;min-height:190px;margin-top:32px;padding:34px;display:flex}.admin-placeholder>span{font-size:46px}.admin-placeholder h2{margin:0 0 7px;font-size:20px}.admin-placeholder p{color:var(--muted);margin:0;font-size:13px}.onboarding-page,.avatar-page,.shop-page,.algorithm-page{width:min(1280px,100%);margin:0 auto;padding:38px 42px 60px}.world-page{width:min(1380px,100%);margin:0 auto;padding:28px 34px 46px}.world-page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.world-page-heading h1{letter-spacing:-.05em;margin:0;font-size:clamp(28px,4vw,40px)}.world-page-heading>div>p:last-child{color:var(--muted);margin:8px 0 0;font-size:13px}.world-viewport,.world-loading,.world-fallback{background:#d8eff8;border:1px solid #d9dfd4;border-radius:28px;min-height:clamp(500px,100vh - 245px,720px);position:relative;overflow:hidden;box-shadow:0 18px 50px #2d39281f}.world-viewport canvas{min-height:inherit;display:block;width:100%!important;height:100%!important}.world-loading{color:#50635e;place-items:center;font-weight:850;display:grid}.world-controls{color:#413832;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border:1px solid #ffffffb3;border-radius:14px;flex-wrap:wrap;align-items:center;gap:7px;padding:10px 14px;font-size:11px;font-weight:800;display:flex;position:absolute;top:18px;left:18px;box-shadow:0 8px 20px #2130281f}.world-controls kbd{font:inherit;background:#fff;border:1px solid #d9d3cb;border-bottom-width:2px;border-radius:7px;padding:4px 7px}.world-direction-pad{grid-template-columns:repeat(3,38px);grid-template-areas:".up.""left down right";gap:5px;width:126px;display:grid;position:absolute;bottom:18px;right:18px}.world-direction-pad button{color:#463b34;touch-action:none;background:#ffffffe0;border:1px solid #fffc;border-radius:12px;width:38px;height:38px;padding:0;font-weight:900;box-shadow:0 5px 14px #21302826}.world-direction-pad button:first-child{grid-area:up}.world-direction-pad button:nth-child(2){grid-area:left}.world-direction-pad button:nth-child(3){grid-area:down}.world-direction-pad button:nth-child(4){grid-area:right}.world-scene-label{color:#fff;white-space:nowrap;pointer-events:none;background:#2f2622d1;border:2px solid #3a2b2240;border-radius:9px;padding:6px 10px;font-family:inherit;font-size:13px;font-weight:900;box-shadow:0 4px 10px #1e191433}.world-plaza-label{color:#8a4b1f;background:#fff4d5e6}.world-prompt{color:#302822;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #ffffffbf;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;width:min(560px,100% - 28px);padding:14px;display:grid;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 14px 36px #21282433}.world-prompt>span{color:#fff;background:var(--orange);border-radius:14px;place-items:center;width:45px;height:45px;font-weight:1000;display:grid}.world-prompt>div{gap:4px;min-width:0;display:grid}.world-prompt strong{font-size:15px}.world-prompt small{color:var(--muted);font-size:10px}.world-prompt .primary-button{min-height:42px}.world-fallback{background:linear-gradient(145deg,#eef9ff,#fff8e7);padding:clamp(25px,5vw,52px)}.world-fallback-heading{align-items:center;gap:18px;max-width:660px;margin-bottom:28px;display:flex}.world-fallback-heading>span{font-size:50px}.world-fallback-heading h2{letter-spacing:-.045em;margin:0;font-size:clamp(25px,4vw,38px)}.world-fallback-heading p:last-child{color:var(--muted);margin:8px 0 0}.world-fallback-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.world-fallback-card{border:1px solid var(--line);background:#fff;border-radius:21px;flex-direction:column;align-items:flex-start;gap:9px;min-height:155px;padding:19px;transition:all .18s;display:flex;box-shadow:0 9px 24px #2d231a0f}.world-fallback-card:hover{border-color:#ffbe75;transform:translateY(-3px)}.world-fallback-card>span{color:#fff;border-radius:14px;place-items:center;width:46px;height:46px;font-weight:1000;display:grid}.world-fallback-card strong{margin-top:auto;font-size:14px}.world-fallback-card small{color:var(--orange-dark);font-size:10px;font-weight:850}@media (max-width:650px){.world-page{padding:20px 14px 32px}.world-page-heading{flex-direction:column;align-items:flex-start}.world-page-heading .secondary-button{width:100%}.world-viewport,.world-loading,.world-fallback{border-radius:20px;min-height:520px}.world-fallback{padding:24px 16px}.world-fallback-heading{align-items:flex-start}.world-fallback-grid{grid-template-columns:1fr 1fr;gap:10px}.world-fallback-card{min-height:130px;padding:14px}.world-controls{top:10px;left:10px}.world-controls span{display:none}.world-direction-pad{bottom:10px;right:10px}.world-prompt{grid-template-columns:auto 1fr;bottom:150px}.world-prompt .primary-button{grid-column:1/-1;width:100%}}.onboarding-form,.onboarding-complete-card{border:1px solid var(--line);background:#fff;border-radius:30px;padding:clamp(24px,4vw,42px);box-shadow:0 20px 55px #2d231a12}.onboarding-heading{max-width:680px;margin-bottom:28px}.onboarding-heading h1,.page-heading h1,.onboarding-complete-card h1{letter-spacing:-.05em;margin:0;font-size:clamp(28px,4vw,42px)}.onboarding-heading>p:last-child,.page-heading>p:last-child,.onboarding-complete-card p{color:var(--muted);line-height:1.65}.onboarding-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:28px;display:grid}.onboarding-fields{gap:16px;display:grid}.onboarding-step{border:1px solid var(--line);background:#fffdfa;border-radius:22px;grid-template-columns:34px minmax(0,1fr);gap:14px;padding:21px;display:grid}.step-number{color:#fff;background:var(--orange);border-radius:11px;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.onboarding-step h2{margin:3px 0 4px;font-size:18px}.onboarding-step p{color:var(--muted);margin:0 0 16px;font-size:12px;line-height:1.55}.onboarding-step label,.field-stack label,.avatar-controls>label{color:#544c47;font-size:12px;font-weight:800}.field-stack{gap:7px;display:grid}.onboarding-step div:has(>label+input){gap:7px;display:grid}.onboarding-step input:not([type=radio]),.avatar-controls select{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #dcd4cc;border-radius:13px;padding:0 13px}.onboarding-step input:focus,.avatar-controls select:focus{border-color:#3478f6;outline:3px solid #3478f640}.password-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.preset-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.preset-card{border:2px solid var(--line);cursor:pointer;text-align:center;background:#fff;border-radius:17px;min-width:0;padding:11px;position:relative;gap:5px!important;display:grid!important}.preset-card[data-selected]{border-color:var(--orange);background:#fff8ee;box-shadow:0 5px 18px #ff6b191f}.preset-card input{accent-color:var(--orange);position:absolute;top:9px;right:9px}.preset-card strong{color:var(--ink);font-size:12px}.preset-card small{color:var(--muted);font-size:9px;line-height:1.4}.onboarding-preview,.avatar-editor-preview{text-align:center;background:linear-gradient(150deg,#fff3d9,#fffaf1);border-radius:24px;padding:22px}.onboarding-preview{position:sticky;top:18px}.onboarding-preview h2{margin:0;font-size:20px}.onboarding-preview>p:last-child,.avatar-editor-preview>p{color:var(--muted);margin:3px 0 0;font-size:11px;line-height:1.5}.onboarding-submit{width:100%;margin-top:18px}.onboarding-status{min-height:50vh;color:var(--muted);place-items:center;font-weight:800;display:grid}.onboarding-complete-card{text-align:center;max-width:700px;margin:70px auto}.onboarding-complete-card>span{font-size:54px}.complete-actions{justify-content:center;gap:10px;margin-top:24px;display:flex}.avatar-preview{width:100%;margin:0}.avatar-stage{aspect-ratio:1;background:radial-gradient(circle at 50% 25%,#fff 0 11%,#0000 12%),linear-gradient(#ccecff 0 66%,#b7df91 66%);border-radius:25px;width:min(230px,100%);margin:12px auto;position:relative;overflow:hidden}.avatar-person{width:104px;height:152px;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)}.avatar-head{z-index:3;background:#f4bd91;border:3px solid #432d211f;border-radius:15px;width:52px;height:52px;position:absolute;top:4px;left:27px}.avatar-preview[data-face-shape=round] .avatar-head{border-radius:42%}.avatar-preview[data-face-shape=oval] .avatar-head{border-radius:45% 45% 40% 40%;width:47px;height:55px;left:29px}.avatar-hair{background:var(--avatar-hair);border-radius:13px 13px 5px 5px;height:18px;position:absolute;inset:-3px -3px auto}.avatar-preview[data-hair-style=bob] .avatar-hair{clip-path:polygon(0 0,100% 0,100% 100%,82% 100%,78% 42%,22% 42%,18% 100%,0 100%);border-radius:14px 14px 8px 8px;height:35px}.avatar-preview[data-hair-style=spiky] .avatar-hair{clip-path:polygon(0 50%,8% 0,22% 42%,36% 0,50% 42%,66% 0,78% 42%,94% 4%,100% 100%,0 100%);border-radius:5px;height:22px}.avatar-eye{z-index:2;background:#392923;border-radius:50%;width:5px;height:6px;position:absolute;top:27px}.avatar-eye-left{left:12px}.avatar-eye-right{right:12px}.avatar-smile{border-bottom:2px solid #9e4d45;border-radius:0 0 10px 10px;width:11px;height:6px;position:absolute;top:38px;left:20px}.avatar-body{background:var(--avatar-top);z-index:2;border-radius:8px 8px 4px 4px;width:54px;height:55px;position:absolute;top:55px;left:26px}.avatar-arm{background:linear-gradient(var(--avatar-top) 0 67%, #f4bd91 67%);z-index:1;border-radius:7px;width:20px;height:55px;position:absolute;top:60px}.avatar-arm-left{left:5px;transform:rotate(7deg)}.avatar-arm-right{right:3px;transform:rotate(-7deg)}.avatar-leg{background:var(--avatar-bottom);border-radius:3px 3px 7px 7px;width:24px;height:43px;position:absolute;top:106px}.avatar-leg-left{left:27px}.avatar-leg-right{right:24px}.avatar-hat{color:#8b5800;background:var(--yellow);z-index:5;border-radius:20px 20px 4px 4px;place-items:center;width:52px;height:27px;display:grid;position:absolute;top:-18px;left:28px}.avatar-cape{clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);z-index:0;background:#e84d4d;width:90px;height:85px;position:absolute;top:46%;left:50%;transform:translate(-50%,-30%)}.avatar-preview[data-compact] .avatar-stage{border-radius:12px;width:100%;margin:0}.avatar-preview[data-compact] .avatar-person{transform:translate(-50%,-50%)scale(.58)}.page-heading{margin-bottom:25px}.avatar-editor{border:1px solid var(--line);background:#fff;border-radius:27px;grid-template-columns:minmax(270px,.8fr) 1.2fr;gap:28px;padding:26px;display:grid;box-shadow:0 14px 40px #2d231a0f}.avatar-editor-preview{align-content:center;display:grid}.avatar-controls{grid-template-columns:repeat(2,1fr);align-content:start;gap:17px;display:grid}.avatar-color-field{border:0;margin:0;padding:0}.avatar-color-field legend{color:#544c47;margin-bottom:8px;font-size:12px;font-weight:800}.color-choices{gap:9px;display:flex}.color-choice{cursor:pointer;border:3px solid #fff;border-radius:12px;width:38px;height:38px;box-shadow:0 0 0 1px #d9d2cb}.color-choice[data-selected]{box-shadow:0 0 0 3px var(--orange)}.avatar-controls>.primary-button,.avatar-controls>.form-message,.avatar-controls>.form-error{grid-column:1/-1}.shop-shell{gap:20px;display:grid}.shop-balance{color:#684000;background:linear-gradient(120deg,#fff4bd,#ffe087);border-radius:25px;align-items:center;gap:12px;min-height:96px;padding:21px 28px;display:flex;box-shadow:0 13px 30px #8a53001f}.shop-balance>span:first-child{font-size:34px}.shop-balance>span:nth-child(2){font-weight:850}.shop-balance strong{letter-spacing:-.04em;margin-left:auto;font-size:clamp(27px,4vw,40px)}.shop-feedback{border-radius:15px;margin:0;padding:14px 18px;font-size:14px;font-weight:850}.shop-feedback-success{color:#176645;background:#eafbf3;border:1px solid #bdebd4}.shop-feedback-error{color:#a32121;background:#fff0f0;border:1px solid #ffd0d0}.shop-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.shop-empty-state{text-align:center;background:#fffdfa;border:1px dashed #d9d2cb;border-radius:24px;place-items:center;min-height:190px;padding:34px 24px;display:grid}.shop-empty-state svg{width:42px;height:42px;color:var(--orange-dark)}.shop-empty-state h2{margin:12px 0 4px;font-size:19px}.shop-empty-state p{color:var(--muted);margin:0;font-size:13px}.shop-card{border:1px solid var(--line);background:#fff;border-radius:24px;gap:16px;min-width:0;padding:22px;display:grid;box-shadow:0 10px 30px #2d231a0d}.shop-item-icon{background:#fff3df;border-radius:18px;place-items:center;width:57px;height:57px;font-size:29px;display:grid}.shop-item-copy h2{margin:0;font-size:18px}.shop-item-copy p{min-height:42px;color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.65}.shop-item-action{justify-content:space-between;align-items:center;gap:12px;display:flex}.shop-item-action>strong{color:var(--orange-dark)}.shop-item-action .primary-button{min-height:42px;padding:0 15px;font-size:12px}.shop-item-action .primary-button:disabled{cursor:default;color:#7a736d;box-shadow:none;background:#eeeae6}.purchase-history{border:1px solid var(--line);background:#fff;border-radius:24px;padding:23px}.purchase-history>div{align-items:center;gap:12px;display:flex}.purchase-history>div>span{font-size:30px}.purchase-history h2{margin:0;font-size:18px}.purchase-history p{color:var(--muted);margin:4px 0 0;font-size:12px}.purchase-history-tools{gap:7px;margin-top:18px;display:grid}.purchase-history-tools label{color:#544c47;font-size:12px;font-weight:800}.purchase-history-tools input{width:min(360px,100%);min-height:42px;color:var(--ink);background:#fff;border:1px solid #dcd4cc;border-radius:13px;padding:0 13px}.purchase-history-tools input:focus{border-color:#3478f6;outline:3px solid #3478f640}.purchase-history ul{gap:9px;margin:18px 0 0;padding:0;list-style:none;display:grid}.purchase-history li{background:#fff8ec;border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:11px;padding:11px 12px;font-size:12px;display:grid}.purchase-history li span{min-width:0;font-weight:800}.purchase-history li small{color:var(--muted);white-space:nowrap}.purchase-history li strong{color:var(--orange-dark);white-space:nowrap}.purchase-history .empty-history{margin-top:17px}.student-point-shop{gap:18px;display:grid}.point-summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.student-point-stat{border:1px solid var(--line);background:#fff;border-radius:22px;box-shadow:0 10px 26px #2d231a0d}.student-point-stat .p-6{gap:7px;padding:18px;display:grid}.student-point-stat svg{width:26px;height:26px;color:var(--orange-dark)}.student-point-stat span{color:var(--muted);font-size:12px;font-weight:850}.student-point-stat strong{color:var(--ink);font-size:24px}.student-point-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);align-items:start;gap:18px;display:grid}.student-point-side{gap:14px;display:grid}.student-point-panel{border:1px solid var(--line);background:#fff;border-radius:24px;box-shadow:0 10px 30px #2d231a0d}.student-point-panel .p-6{padding:22px}.student-point-panel-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.student-point-panel-heading h2{margin:0;font-size:19px}.student-point-panel-heading>svg{width:28px;height:28px;color:var(--orange-dark)}.student-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.student-product-card{background:#fffdfa;border:1px solid #eee3d8;border-radius:18px;grid-template-columns:86px minmax(0,1fr);gap:13px;min-width:0;padding:14px;display:grid}.student-product-media{background:#fff3df;border-radius:16px;place-items:center;width:86px;height:86px;display:grid;overflow:hidden}.student-product-media img{object-fit:cover;width:100%;height:100%}.student-product-media svg{width:34px;height:34px;color:var(--orange-dark)}.student-product-copy,.student-product-meta,.student-product-card button,.student-product-unavailable{grid-column:2}.student-product-copy>div{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.student-product-copy h3{min-width:0;margin:0;font-size:16px}.student-product-copy p{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.55}.student-product-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:12px;font-weight:800;display:flex}.student-product-meta strong{color:var(--orange-dark);font-size:16px}.student-product-card button{white-space:nowrap;justify-self:start;gap:7px;max-width:100%;min-height:42px}.student-product-card button svg{width:16px;height:16px;animation:1s linear infinite spin}.student-product-unavailable{color:#8d3f0a;overflow-wrap:anywhere;background:#fff4e6;border:1px solid #f6d7bb;border-radius:12px;max-width:100%;margin:-2px 0 0;padding:9px 10px;font-size:11px;font-weight:850;line-height:1.45}.student-ranking-list,.student-transaction-list,.student-order-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.student-ranking-list li,.student-transaction-list li,.student-order-list li{background:#fff8ec;border-radius:14px;align-items:center;gap:8px;min-width:0;padding:11px 12px;display:grid}.student-ranking-list li{grid-template-columns:48px minmax(0,1fr) auto}.student-ranking-list li[data-current]{background:#fff2c9;outline:2px solid #ffc85a}.student-ranking-list span,.student-ranking-list em,.student-transaction-list em,.student-order-list em{color:var(--orange-dark);white-space:nowrap;font-style:normal;font-weight:900}.student-ranking-list strong{text-overflow:ellipsis;min-width:0;overflow:hidden}.student-my-rank{color:#684000;background:#fff4bd;border-radius:13px;margin:12px 0 0;padding:10px 12px;font-size:13px;font-weight:900}.student-transaction-list li{grid-template-columns:minmax(0,1fr) auto auto}.student-transaction-list span,.student-order-list span{min-width:0;color:var(--muted);gap:3px;font-size:11px;display:grid}.student-transaction-list strong,.student-order-list strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.student-transaction-list small,.student-order-list small{color:var(--muted);white-space:nowrap;font-size:11px}.student-order-list li{grid-template-columns:auto minmax(0,1fr) auto auto}.student-order-list>li>svg{width:22px;height:22px;color:var(--orange-dark)}@keyframes spin{to{transform:rotate(360deg)}}.algorithm-workspace{grid-template-columns:230px minmax(320px,1fr) minmax(330px,.95fr);align-items:stretch;gap:16px;display:grid}.typing-page{gap:22px;display:grid}.falling-typing-game{grid-template-rows:auto auto auto minmax(480px,1fr) auto auto;gap:18px;width:100%;max-width:none;min-height:calc(100dvh - 150px);margin:0 auto;display:grid}.falling-typing-page{width:100%;min-width:0;max-width:none;padding:clamp(18px,2.25vw,34px)}.falling-game-header,.falling-game-hud,.falling-game-controls{justify-content:space-between;align-items:center;gap:12px;display:flex}.falling-game-header h1,.falling-game-header p{margin:0}.falling-game-header p:last-child{color:var(--muted);margin-top:6px}.falling-game-hud{border:1px solid var(--line);background:var(--soft);border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;padding:13px 16px;font-size:13px;display:grid}.falling-game-hud span{color:var(--muted)}.falling-board-card{background:#111827;border-color:#263449;gap:0;min-height:0;padding:0;overflow:hidden}.falling-board{background:#121722 linear-gradient(90deg,#94a3b81f 1px,#0000 1px);background-size:calc(100% / var(--falling-lanes,6)) 100%;border:1px solid #223047;height:clamp(520px,100dvh - 320px,820px);min-height:0;position:relative;overflow:hidden}.falling-word{z-index:2;color:#ecfeff;white-space:nowrap;word-break:keep-all;will-change:transform;background:#164e63;border:1px solid #5eead4;border-radius:6px;min-width:max-content;padding:9px 13px;font-size:15px;font-weight:800;line-height:1.15;position:absolute;top:16px;box-shadow:0 8px 20px #00000038}.falling-floor{background:#fb7185;height:3px;position:absolute;bottom:10%;left:0;right:0;box-shadow:0 0 12px #fb7185b3}.falling-status,.falling-result{z-index:3;color:#f8fafc;text-align:center;background:#0f172ac2;place-content:center;justify-items:center;gap:12px;padding:24px;display:grid;position:absolute;inset:0}.falling-status svg,.falling-result svg{color:#fbbf24;width:42px;height:42px}.falling-next-stage{color:#fff3ae;font-size:16px;font-weight:900}.falling-result h2,.falling-result p{margin:0}.falling-game-controls{justify-content:stretch;width:min(100%,900px);margin:0 auto}.falling-game-controls input{min-width:0;height:44px;color:var(--ink);background:#fff;border:1px solid #334155;border-radius:8px;flex:1;padding:0 14px;box-shadow:0 1px 2px #0f172a1a}.falling-game-controls input:focus{outline-offset:1px;border-color:#38bdf8;outline:3px solid #38bdf838}.falling-typing-page .falling-attempt-history{width:min(100%,1160px);margin:0 auto}.typing-falling-link{margin-top:10px}.falling-game-header{color:#f8fbff;text-align:center;background:linear-gradient(105deg,#1a2354 0%,#274987 55%,#4f54a3 100%);border:1px solid #6d7fde;border-radius:12px;justify-content:center;min-height:98px;padding:14px 96px;position:relative;box-shadow:0 14px 28px #2d397d33}.falling-game-title-lockup{justify-items:center;gap:2px;display:grid}.falling-game-header h1{color:#fff7d4;letter-spacing:0;text-shadow:0 3px #5d4a89,0 6px 16px #00000059;font-size:clamp(24px,3vw,34px);font-weight:950}.falling-game-header .eyebrow{color:#9ef6ed;letter-spacing:.12em;font-size:11px;font-weight:900}.falling-game-header p:last-child{color:#e4eaff;font-size:13px;font-weight:700}.falling-stage-badge{color:#fffbe7;background:#6451a8;border:1px solid #fff3ae;border-radius:999px;min-height:32px;padding:0 12px;font-weight:900;position:absolute;right:22px;box-shadow:0 4px #3c3576}.falling-game-hud{background:linear-gradient(110deg,#1c2a5f,#365aa0 52%,#2b397d);border:1px solid #6e82dc;border-radius:12px;padding:9px;box-shadow:0 10px 20px #2b3c892e}.falling-game-hud-item{color:#f7fbff;white-space:nowrap;border-right:1px solid #d3e5ff40;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:38px;padding:6px 9px;font-weight:850;display:flex}.falling-game-hud-item:last-child{border-right:0}.falling-game-hud-item svg{flex:none;width:19px;height:19px}.falling-game-hud-item[data-tone=heart] svg{color:#ff7b9d;fill:#ff7b9d}.falling-game-hud-item[data-tone=score] svg{color:#ffe27a}.falling-game-hud-item[data-tone=combo] svg{color:#ffac58;fill:#ffac58}.falling-game-hud-item[data-tone=correct] svg{color:#80f3cf}.falling-game-hud-item[data-tone=missed] svg{color:#b4d2ff}.falling-game-hud-item span{color:#e3edff;text-overflow:ellipsis;overflow:hidden}.falling-board-card{background:#07142f;border:2px solid #4b63b9;border-radius:18px;box-shadow:0 18px 32px #2131763b}.falling-board{isolation:isolate;background-color:#071b3d;background-image:linear-gradient(#040c280f,#040f297a),url(/images/falling-typing/fantasy-garden-board.png);background-position:50%;background-size:cover;border-color:#6b83df}.falling-board:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(90deg,#040f2a2e,#0000 26% 74%,#040f2a2e);position:absolute;inset:0}.falling-board-lanes{z-index:1;background-color:#0d2f688c;background-image:linear-gradient(90deg,#cefaff6b 1px,#0000 1px),linear-gradient(#cbf8ff26,#0000 25%,#355bb24d);background-size:calc(100% / var(--falling-lanes,6)) 100%, 100% 100%;pointer-events:none;border:2px solid #b5f4ffc7;border-radius:20px 20px 12px 12px;width:46%;position:absolute;top:5%;bottom:8%;left:27%;box-shadow:inset 0 0 36px #84ddff2e,0 0 24px #60a9ff52}.falling-word{z-index:3;max-width:calc((46vw / var(--falling-lanes,6)) - 8px);color:#17265a;text-align:center;text-overflow:ellipsis;background:linear-gradient(#fffdf3,#bceffe);border:2px solid #c9f8ff;border-radius:999px;padding:9px 13px;font-weight:900;overflow:hidden;box-shadow:0 5px #3b7ab8,0 10px 20px #03164859}.falling-word:nth-of-type(4n+2){background:linear-gradient(#fffdf5,#ffe09e);border-color:#ffe8ab;box-shadow:0 5px #d29145,0 10px 20px #47230e47}.falling-word:nth-of-type(4n+3){background:linear-gradient(#fff9ff,#f5b9e5);border-color:#f7c8ef;box-shadow:0 5px #c56cb1,0 10px 20px #531c4f47}.falling-word:nth-of-type(4n){background:linear-gradient(#f7fff9,#9ee8c1);border-color:#c9f7dc;box-shadow:0 5px #4da475,0 10px 20px #144b2e47}.falling-floor{z-index:4;background:#ffca63;box-shadow:0 0 12px #ffcf69cc}.falling-status,.falling-result{z-index:6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#08153fc4}.typing-practice{grid-template-columns:230px minmax(420px,1fr) minmax(260px,.55fr);align-items:start;gap:16px;display:grid}.typing-sidebar,.typing-main-panel,.typing-stats-panel{border:1px solid var(--line);background:#fff;border-radius:18px;min-width:0;padding:22px;position:relative;box-shadow:0 10px 30px #2d231a0d}.typing-panel-heading,.typing-practice-header,.typing-actions,.typing-complete-state{justify-content:space-between;align-items:center;gap:14px;display:flex}.typing-panel-heading{justify-content:flex-start;margin-bottom:18px}.typing-panel-heading svg,.typing-complete-state svg{color:#1f6f78;background:#e8f7f6;border-radius:12px;width:36px;height:36px;padding:8px}.typing-panel-heading h2,.typing-practice-header h1{color:var(--ink);margin:0}.typing-practice-header{align-items:flex-start;margin-bottom:18px}.typing-practice-header p:last-child,.typing-complete-state p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.5}.typing-content-list{gap:9px;display:grid}.typing-content-list button{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fffdfa;border-radius:14px;grid-template-columns:30px 1fr;align-items:center;gap:10px;padding:12px;display:grid}.typing-content-list button[data-selected]{background:#eefafa;border-color:#2f9c95}.typing-content-list button>span:first-child{color:#1f6f78;background:#e8f7f6;border-radius:10px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.typing-content-list strong,.typing-content-list small{display:block}.typing-content-list small{color:var(--muted);margin-top:3px;font-size:11px}.typing-code-preview,.typing-input{letter-spacing:0;tab-size:4;white-space:pre-wrap;border:1px solid #dfe7ea;border-radius:16px;width:100%;min-height:240px;margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px;line-height:1.8}.typing-code-preview{color:#263238;background:#f7faf8;padding:18px;overflow:auto}.typing-code-line{display:inline}.typing-code-char{border-radius:4px}.typing-code-char[data-status=correct]{color:#205f4e;background:#dff4e9}.typing-code-char[data-status=incorrect]{color:#8f2e24;background:#ffe0dc}.typing-input{resize:vertical;min-height:170px;color:var(--ink);background:#fff;margin-top:12px;padding:16px}.typing-actions{margin-top:14px}.typing-actions p{color:var(--muted);margin:0;font-size:13px;font-weight:700}.typing-stat-grid{gap:10px;display:grid}.typing-stat-grid>div{border:1px solid var(--line);background:#fffdfa;border-radius:14px;padding:14px}.typing-stat-grid span{color:var(--muted);font-size:12px;font-weight:700;display:block}.typing-stat-grid strong{color:var(--ink);margin-top:5px;font-size:22px;display:block}.typing-complete-state{background:#f8f6f2;border-radius:16px;justify-content:flex-start;margin-top:16px;padding:14px}.typing-complete-state[data-completed]{background:#edf8ef}.typing-attempt-list{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.typing-attempt-list h3{margin:0 0 10px;font-size:15px}.typing-attempt-list ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.typing-attempt-list li{border:1px solid var(--line);background:#fffdfa;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.typing-attempt-list strong,.typing-attempt-list small{display:block}.typing-attempt-list small,.typing-attempt-list p{color:var(--muted);font-size:12px}.typing-attempt-list span{color:#1f6f78;flex:none;font-size:12px;font-weight:800}.typing-attempts-toggle{border:1px dashed var(--line);width:100%;color:var(--muted);text-align:center;cursor:pointer;background:0 0;border-radius:10px;margin-top:10px;padding:8px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:block}.typing-attempts-toggle:hover{color:#1f6f78;background:#f0f9f9;border-color:#1f6f78}.typing-empty{text-align:center;place-items:center;gap:8px;min-height:320px;display:grid}.typing-page{color:#262626;background:#f7f7f5;border-radius:22px;min-height:100%;padding:28px}.typing-page .typing-practice{grid-template-columns:minmax(180px,230px) minmax(520px,1fr) minmax(240px,320px);gap:18px;display:grid}.typing-game-navigation{grid-column:1/-1;justify-items:center;gap:20px;padding:2px 0 8px;display:grid;position:relative}.typing-game-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;width:min(100%,1180px);display:grid}.typing-game-tabs button,.typing-game-tabs .typing-game-tab-link{color:#343434;letter-spacing:0;white-space:nowrap;background:#fff;border:2px solid #1f1f1f;justify-content:center;align-items:center;min-width:0;min-height:54px;padding:0 12px;font-size:22px;font-weight:800;line-height:1;text-decoration:none;transition:background .14s,color .14s,transform .14s;display:inline-flex;position:relative}.typing-game-tabs .typing-game-tab-link:hover,.typing-game-tabs .typing-game-tab-link:focus-visible{color:#fff;background:#1f1f1f;outline:none;transform:translateY(-1px)}.typing-game-tabs .typing-game-tab-link:focus-visible{box-shadow:0 0 0 4px #1f1f1f24}.typing-game-tabs button[data-active]{color:#fff;background:#1f1f1f}.typing-game-tabs button:disabled{color:#adadad;cursor:not-allowed;background:#f2f2f2;border-color:#bdbdbd}.typing-game-tabs button[data-active]:after{display:none}.typing-game-exit-link,.falling-game-exit-link{color:#dce7ff;background:#091128b8;border:1px solid;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.typing-game-exit-link{position:absolute;top:2px;right:0}.typing-game-exit-link svg,.falling-game-exit-link svg{width:16px;height:16px}.typing-position-tabs{justify-content:center;align-items:flex-end;gap:clamp(18px,3vw,38px);width:100%;padding:0 0 6px;display:flex;overflow-x:auto}.typing-position-tabs button{color:#2f2f2f;letter-spacing:0;white-space:nowrap;background:0 0;border:0;min-width:max-content;font-size:20px;font-weight:800;position:relative}.typing-position-tabs button[data-active]{color:#111}.typing-position-tabs button[data-active]:before{content:"";background:#1f1f1f;width:14px;height:14px;position:absolute;top:-24px;left:50%;transform:translate(-50%)}.typing-position-tabs button:disabled{color:#b8b8b8;cursor:not-allowed}.typing-page .typing-sidebar,.typing-page .typing-main-panel,.typing-page .typing-stats-panel{box-shadow:none;background:#17181b;border:1px solid #25272b}.typing-page .typing-main-panel{border-radius:12px;padding:0;overflow:hidden}.typing-page .typing-main-panel>[data-slot=card-content]{padding:0}.typing-page .typing-practice-header{padding:16px 18px 0}.typing-page .typing-practice-header h1,.typing-page .typing-panel-heading h2,.typing-page .typing-attempt-list h3,.typing-page .typing-complete-state strong{color:#e2e2e2}.typing-page .typing-practice-header p:last-child,.typing-page .typing-complete-state p,.typing-page .typing-content-list small,.typing-page .typing-attempt-list small,.typing-page .typing-actions p{color:#8f9298}.typing-page .typing-content-list button{color:#d9d9d9;background:#111216;border-color:#2a2d33}.typing-page .typing-content-list button[data-selected]{background:#1c222d;border-color:#526988}.typing-page .typing-content-list button>span:first-child,.typing-page .typing-panel-heading svg,.typing-page .typing-complete-state svg{color:#9eb6d8;background:#252d3a}.typing-window-bar{color:#8f9298;background:#17181b;grid-template-columns:11px 11px 11px 1fr;align-items:center;gap:8px;height:44px;padding:0 18px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;font-style:italic;display:grid}.typing-window-bar span{background:#5e7698;border-radius:999px;width:10px;height:10px}.typing-window-bar strong{justify-self:center;font-weight:700}.typing-page .typing-code-preview{color:#a9a9aa;background:#17181b;border:0;border-radius:0;min-height:340px;padding:22px 18px 28px;font-size:24px;font-weight:700;line-height:1.35;overflow:auto}.typing-page .typing-code-char{border-radius:3px}.typing-page .typing-code-char[data-status=correct]{color:#d9d9d9;background:0 0}.typing-page .typing-code-char[data-status=incorrect]{color:#ff8c7d;background:#3a1f1f}.typing-page .typing-input{color:#e5e5e5;min-height:72px;box-shadow:none;background:#101114;border:0;border-top:1px solid #25272b;border-radius:0;margin:0}.typing-page .typing-actions{padding:12px 18px 0}.typing-page .typing-actions button{color:#e5e5e5;background:#20232a;border-color:#343842}.typing-reward-summary{color:#d7deea;background:#1b2029;border:1px solid #2f3948;border-radius:10px;gap:4px;margin:12px 18px 0;padding:12px 14px;display:grid}.typing-reward-summary strong{color:#f3f5f8;font-size:15px}.typing-reward-summary span,.typing-reward-summary p{color:#9fa8b8;margin:0;font-size:13px;line-height:1.45}.typing-badge-rewards{border-top:1px solid #2f3948;gap:8px;margin-top:6px;padding-top:10px;display:grid}.typing-badge-rewards ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.typing-badge-rewards li{background:#202735;border-radius:8px;gap:2px;padding:8px 10px;display:grid}.typing-badge-rewards li span{color:#f3f5f8;font-weight:700}.typing-tier-reward{border-top:1px solid #2f3948;gap:4px;margin-top:6px;padding-top:10px;display:grid}.typing-profile-panel{border-top:1px solid #282b31;gap:14px;margin-top:18px;padding-top:18px;display:grid}.typing-profile-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.typing-profile-heading h3{color:#e4e4e5;margin:0;font-size:17px;font-weight:800}.typing-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.typing-profile-stats>div{background:#111216;border:1px solid #282b31;border-radius:10px;gap:4px;min-height:72px;padding:12px;display:grid}.typing-profile-stats span,.typing-earned-badges p{color:#9fa8b8;margin:0;font-size:12px;line-height:1.45}.typing-profile-stats strong{color:#e4e4e5;font-size:14px}.typing-season-summary{border:1px solid var(--border);background:var(--muted);border-radius:8px;gap:14px;padding:16px;display:grid}@supports (color:color-mix(in lab, red, red)){.typing-season-summary{background:color-mix(in srgb, var(--muted) 45%, transparent)}}.typing-season-heading,.typing-season-records{justify-content:space-between;align-items:center;gap:16px;display:flex}.typing-season-heading>div,.typing-season-records>div{gap:4px;min-width:0;display:grid}.typing-season-records>div{flex:1}.typing-season-summary span{color:var(--muted-foreground);font-size:.75rem}.typing-season-summary strong{font-size:.875rem}.typing-growth-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.typing-growth-highlights>div{border:1px solid var(--border);border-radius:8px;gap:4px;padding:10px;display:grid}.typing-growth-highlights span,.typing-growth-highlights small{color:var(--muted-foreground);font-size:.72rem}.typing-growth-highlights strong{font-size:.8rem}.typing-growth-details{border-top:1px solid var(--border);gap:12px;padding:12px 0;display:grid}.typing-growth-details summary{cursor:pointer;font-size:.82rem;font-weight:700}.typing-growth-details>div{gap:6px;display:grid}.typing-growth-details ul{color:var(--muted-foreground);gap:4px;margin:0;padding:0;font-size:.78rem;list-style:none;display:grid}.typing-earned-badges{gap:8px;display:grid}.typing-earned-badges>strong{color:#e4e4e5;font-size:14px}.typing-earned-badges ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.typing-earned-badges li{background:#1b2029;border:1px solid #2f3948;border-radius:10px;gap:3px;padding:9px 10px;display:grid}.typing-earned-badges li span{color:#f3f5f8;font-size:13px;font-weight:800}.typing-keyboard{gap:7px;padding:16px 18px 18px;display:grid}.typing-keyboard-row{justify-content:center;gap:7px;display:flex}.typing-key{color:#9a9da4;background:#111216;border:1px solid #2b2e35;border-radius:8px;place-items:center;width:42px;height:40px;transition:background .15s,color .15s,border-color .15s;display:grid}.typing-key small,.typing-key strong{line-height:1}.typing-key small{color:#60646c;font-size:9px}.typing-key strong{font-size:14px}.typing-key[data-active]{color:#f2f6ff;background:#526988;border-color:#92a8c6}.typing-key[data-active] small{color:#dbe6f8}.typing-page .typing-stat-grid>div,.typing-page .typing-complete-state,.typing-page .typing-attempt-list li{background:#111216;border-color:#282b31}.typing-page .typing-stat-grid strong,.typing-page .typing-attempt-list strong{color:#e4e4e5}.typing-page .typing-attempts-toggle{color:#888;border-color:#282b31}.typing-page .typing-attempts-toggle:hover{color:#4db6ac;background:#1a2328;border-color:#4db6ac}.falling-save-status{min-height:1.25rem;color:var(--muted-foreground);margin:0;font-size:.875rem}.falling-reward-summary{border:1px solid var(--primary);gap:.3rem;width:min(100%,25rem);padding:.875rem;display:grid}@supports (color:color-mix(in lab, red, red)){.falling-reward-summary{border:1px solid color-mix(in srgb, var(--primary) 35%, var(--border))}}.falling-reward-summary{background:var(--primary);border-radius:.5rem}@supports (color:color-mix(in lab, red, red)){.falling-reward-summary{background:color-mix(in srgb, var(--primary) 8%, var(--card))}}.falling-reward-summary{font-size:.875rem}.falling-reward-summary p,.falling-reward-summary span{color:var(--muted-foreground);margin:0}.falling-attempt-history{border:1px solid var(--border);background:var(--card);border-radius:.75rem;gap:.875rem;margin-top:1.25rem;padding:1.25rem;display:grid}.falling-attempt-history h2{margin:.2rem 0 0;font-size:1.125rem}.falling-attempt-history>p{color:var(--muted-foreground);margin:0}.falling-attempt-history ul{gap:.625rem;margin:0;padding:0;list-style:none;display:grid}.falling-attempt-history li{background:var(--muted);border-radius:.5rem;grid-template-columns:minmax(5rem,auto) 1fr auto;align-items:center;gap:.75rem;padding:.75rem;font-size:.875rem;display:grid}.falling-attempt-history small{color:var(--muted-foreground)}.typing-game-board[data-mode=position]{--mode-accent:#4db6ac;--mode-accent-soft:#26363480;--mode-text:#b2dfdb;--mode-label:#80cbc4}.typing-game-board[data-mode=word]{--mode-accent:#d97a4a;--mode-accent-soft:#3a241880;--mode-text:#f5c6a8;--mode-label:#e8a87c}.typing-game-board[data-mode=short_text]{--mode-accent:#5a9ed6;--mode-accent-soft:#1e2d3d80;--mode-text:#aed4f1;--mode-label:#82bde6}.typing-game-board[data-mode=long_text]{--mode-accent:#c49b3e;--mode-accent-soft:#33291580;--mode-text:#e8d5a0;--mode-label:#d4b668}.mode-position-view{background:#17181b;flex-direction:column;align-items:center;gap:28px;min-height:260px;padding:40px 18px 32px;display:flex}.position-carousel{justify-content:center;align-items:center;gap:18px;width:100%;display:flex}.position-prev-chars,.position-next-chars{align-items:center;gap:14px;display:flex}.position-char-ghost{color:#6b6e76;font-size:clamp(28px,4vw,44px);font-weight:800;transition:opacity .3s}.position-current-card{background:var(--mode-accent,#4db6ac);border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:22px 38px;animation:2.5s ease-in-out infinite mode-card-pulse;display:flex;box-shadow:0 8px 32px #4db6ac4d}.position-card-label{color:#ffffffd9;letter-spacing:.5px;text-transform:uppercase;font-size:12px;font-weight:700}.position-card-char{color:#fff;font-size:clamp(52px,8vw,80px);font-weight:900;line-height:1}.position-progress{color:#6b6e76;align-items:center;gap:12px;width:min(100%,360px);font-size:13px;font-weight:700;display:flex}.position-progress-bar{background:#25272b;border-radius:3px;flex:1;height:6px;overflow:hidden}.position-progress-fill{background:var(--mode-accent,#4db6ac);border-radius:3px;height:100%;transition:width .2s}.mode-word-view{background:#17181b;flex-direction:column;align-items:center;gap:24px;min-height:260px;padding:40px 18px 28px;display:flex}.word-carousel{justify-content:center;align-items:center;gap:20px;width:100%;display:flex;overflow:hidden}.word-prev-words,.word-next-words{align-items:center;gap:18px;display:flex}.word-ghost{color:#5a5d64;white-space:nowrap;font-size:clamp(22px,3vw,34px);font-weight:800;transition:opacity .3s}.word-current-card{background:var(--mode-accent,#d97a4a);border-radius:18px;flex-direction:column;flex-shrink:0;align-items:center;gap:10px;padding:20px 34px;animation:2.5s ease-in-out infinite mode-card-pulse;display:flex;box-shadow:0 8px 32px #d97a4a4d}.word-card-label{color:#ffffffd9;letter-spacing:.5px;text-transform:uppercase;font-size:12px;font-weight:700}.word-card-word{color:#fff;white-space:nowrap;font-size:clamp(36px,6vw,56px);font-weight:900;line-height:1.1}.word-input-display{border-bottom:3px solid var(--mode-accent,#d97a4a);justify-content:center;align-items:center;gap:2px;width:min(100%,300px);min-height:48px;padding:0 20px;display:flex}.word-typed-text{color:#e5e5e5;font-size:28px;font-weight:700;line-height:1}.word-input-cursor{background:var(--mode-accent,#d97a4a);width:2px;height:30px;animation:1s step-end infinite cursor-blink}.word-counter{color:#6b6e76;font-size:13px;font-weight:700}.mode-short-view{background:#17181b;flex-direction:column;gap:12px;min-height:260px;padding:28px 18px 24px;display:flex}.short-current-sentence{background:var(--mode-accent-soft,#1e2d3d80);border:1px solid var(--mode-accent,#5a9ed6);letter-spacing:.3px;border-radius:14px;padding:20px 22px;font-size:clamp(18px,2.5vw,24px);font-weight:700;line-height:1.7}.short-char{border-radius:3px;transition:color .12s,background .12s}.short-char[data-status=correct]{color:#d9d9d9;background:0 0}.short-char[data-status=incorrect]{color:#ff8c7d;background:#3a1f1f}.short-char[data-status=pending]{color:var(--mode-text,#aed4f1)}.short-queue{gap:6px;display:grid}.short-queue-item{color:#5a5d64;background:#111216;border:1px solid #25272b;border-radius:12px;padding:14px 18px;font-size:15px;font-weight:600;line-height:1.6;transition:opacity .3s}.mode-long-view{background:#17181b;flex-direction:column;gap:0;min-height:260px;display:flex}.long-title-header{background:var(--mode-accent,#c49b3e);color:#fff;letter-spacing:.3px;border-radius:0;padding:16px 22px;font-size:16px;font-weight:800}.long-lines-container{flex-direction:column;gap:0;max-height:340px;padding:8px 0;display:flex;overflow-y:auto}.long-line-row{border-bottom:1px solid #1f2125;align-items:flex-start;gap:12px;padding:12px 22px;transition:background .2s;display:flex}.long-line-row[data-status=current]{background:var(--mode-accent-soft,#33291580)}.long-line-row[data-status=completed]{opacity:.5}.long-line-indicator{color:#6b6e76;background:#1f2125;border-radius:8px;flex:0 0 28px;place-items:center;height:28px;font-size:12px;font-weight:800;display:grid}.long-line-row[data-status=current] .long-line-indicator{color:var(--mode-accent,#c49b3e);background:var(--mode-accent-soft,#33291580)}.long-line-row[data-status=completed] .long-line-indicator{color:#4db6ac;background:#26363480}.long-line-text{color:#5a5d64;flex:1;font-size:16px;font-weight:600;line-height:1.7}.long-line-row[data-status=completed] .long-line-text{color:#4a4d54;-webkit-text-decoration:line-through #3a3d44;text-decoration:line-through #3a3d44}.long-line-current{flex:1;font-size:18px;font-weight:700;line-height:1.7}.long-char{border-radius:3px;transition:color .12s,background .12s}.long-char[data-status=correct]{color:#d9d9d9;background:0 0}.long-char[data-status=incorrect]{color:#ff8c7d;background:#3a1f1f}.long-char[data-status=pending]{color:var(--mode-text,#e8d5a0)}.mode-code-view{background:#17181b;min-height:340px}.code-lines-container{flex-direction:column;max-height:390px;padding:8px 0 14px;display:flex;overflow:auto}.code-line-row{border-bottom:1px solid #1f2125;align-items:flex-start;gap:12px;padding:9px 18px;display:flex}.code-line-row[data-status=current]{background:#20232a}.code-line-row[data-status=completed]{opacity:.58}.code-line-indicator{color:#777b84;background:#111216;border-radius:8px;flex:0 0 34px;place-items:center;height:26px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:800;display:grid}.code-line-row[data-status=current] .code-line-indicator{color:#dbe6f8;background:#526988}.code-line-current{color:#a9a9aa;white-space:pre-wrap;tab-size:4;flex:1;margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(16px,2vw,22px);font-weight:700;line-height:1.55}.code-char{border-radius:3px;transition:color .12s,background .12s}.code-char[data-status=correct]{color:#e4e4e5;background:0 0}.code-char[data-status=incorrect]{color:#ff8c7d;background:#3a1f1f;-webkit-text-decoration:underline #ff8c7d;text-decoration:underline #ff8c7d}.code-char[data-status=pending]{color:#8f9298}@keyframes completion-fade-in{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.typing-completion-overlay{z-index:50;border-radius:inherit;background:#0006;justify-content:center;align-items:center;animation:.3s ease-out forwards completion-fade-in;display:flex;position:absolute;inset:0}.typing-completion-modal{text-align:center;color:#f8fafc;background:#1e293b;border:1px solid #ffffff1a;border-radius:20px;padding:40px;box-shadow:0 16px 48px #0006}.typing-completion-modal h2{color:#fff;margin-bottom:8px;font-size:28px;font-weight:700}.typing-completion-modal p{color:#94a3b8;margin-bottom:24px;font-size:16px}.typing-completion-actions{justify-content:center;gap:12px;display:flex}@keyframes mode-card-pulse{0%,to{box-shadow:0 8px 32px #ffffff0d}50%{box-shadow:0 12px 40px #ffffff1a}}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.typing-caret{background:var(--mode-accent,#4db6ac);width:2px;height:70%;animation:1s step-end infinite cursor-blink;display:inline-block;position:absolute;top:15%;left:0}.typing-game-board[data-mode=position] .typing-key[data-active]{color:#e0f2f1;background:#00897b;border-color:#80cbc4}.typing-game-board[data-mode=word] .typing-key[data-active]{color:#fff3e0;background:#bf5e28;border-color:#e8a87c}.typing-game-board[data-mode=short_text] .typing-key[data-active]{color:#e3f2fd;background:#3a7dbf;border-color:#82bde6}.typing-game-board[data-mode=long_text] .typing-key[data-active]{color:#fff8e1;background:#9e7c28;border-color:#d4b668}.typing-game-board[data-mode=position] .typing-key[data-active] small,.typing-game-board[data-mode=word] .typing-key[data-active] small,.typing-game-board[data-mode=short_text] .typing-key[data-active] small,.typing-game-board[data-mode=long_text] .typing-key[data-active] small{color:#ffffffbf}.admin-typing-page{gap:20px;display:grid}.admin-typing-layout{grid-template-columns:minmax(380px,.85fr) minmax(460px,1.15fr);align-items:start;gap:18px;display:grid}.typing-admin-form{gap:16px;display:grid}.typing-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.typing-admin-select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:10px;padding:0 12px}.typing-admin-code-input{tab-size:4;min-height:230px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.7}.point-field small{color:var(--muted);font-size:12px}.typing-admin-check{color:var(--ink);align-items:center;gap:9px;font-size:13px;font-weight:700;display:flex}.typing-admin-actions{flex-wrap:wrap;gap:10px;display:flex}.typing-tier-content-settings{border:1px solid var(--line);background:var(--soft);border-radius:8px;gap:14px;padding:16px;display:grid}.typing-growth-settings{min-width:0}.typing-settings-section{border-top:1px solid var(--line);gap:16px;padding:22px 24px;display:grid}.typing-settings-title{align-items:flex-start;gap:12px;display:flex}.typing-settings-title svg{color:#1f6f78;width:20px;height:20px;margin-top:2px}.typing-settings-title h3,.typing-settings-title p{margin:0}.typing-settings-title p{color:var(--muted);margin-top:4px;font-size:13px}.typing-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.typing-settings-grid>div{gap:7px;display:grid}.typing-setting-rows{gap:8px;max-height:420px;display:grid;overflow:auto}.typing-setting-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(90px,.7fr) minmax(130px,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.typing-tier-row{grid-template-columns:minmax(120px,1fr) 90px 110px 110px 72px auto}.typing-badge-row{grid-template-columns:minmax(150px,1.2fr) minmax(200px,2fr) minmax(180px,1.5fr);row-gap:12px}.typing-setting-row label{white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:flex}.typing-setting-row small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.typing-season-create{grid-template-columns:1fr 1.2fr 1fr 1fr auto;gap:10px;display:grid}.typing-season-list{gap:8px;display:grid}.typing-season-list>div{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.typing-season-list strong,.typing-season-list span{display:block}.typing-season-list span{color:var(--muted);margin-top:4px;font-size:12px}.typing-settings-feedback{margin:0 24px 20px}.typing-admin-table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}.typing-admin-table th{color:#4b5563;letter-spacing:.02em;background:#f8f9fc;border-bottom:2px solid #e5e7eb;padding:14px 16px;font-size:13px;font-weight:750}.typing-admin-table td{color:#374151;vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:16px;font-size:14px}.typing-admin-table tbody tr{transition:background-color .2s}.typing-admin-table tbody tr:hover{background-color:#f9fafb}.typing-admin-table th:nth-child(n+2),.typing-admin-table td:nth-child(n+2){text-align:center}.typing-admin-table-wrap{overflow-x:auto}.typing-admin-table-wrap td strong,.typing-admin-table-wrap td small{display:block}.typing-admin-table-wrap td small{color:var(--muted);margin-top:4px;font-size:12px}.typing-admin-pagination{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.typing-admin-pagination-info{color:var(--muted);font-size:13px}.typing-admin-pagination-controls{align-items:center;gap:8px;display:flex}.typing-admin-pagination-controls>span{text-align:center;min-width:60px;font-size:13px;font-weight:600}.typing-attempts-panel{min-width:0}.typing-attempts-section{padding:24px}.typing-attempts-section+.typing-attempts-section{border-top:1px solid var(--line)}.typing-attempts-section-label{color:var(--foreground);margin:0 0 16px;font-size:15px;font-weight:700}.typing-attempts-filter{background:var(--muted-bg);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:16px;display:flex}.typing-attempts-filter-label{color:var(--muted-foreground);white-space:nowrap;font-size:13px;font-weight:600}.typing-attempts-filter-note{color:var(--muted);margin:0 0 0 auto;font-size:12px}.typing-attempts-loading,.typing-attempts-empty-detail{text-align:center;color:var(--muted);padding:40px 0;font-size:14px}.typing-attempts-section .typing-admin-table-wrap{margin:0}.typing-admin-empty{min-height:210px;color:var(--muted);text-align:center;place-items:center;gap:8px;display:grid}.typing-admin-empty svg{color:#1f6f78;width:42px;height:42px}.problem-list,.problem-detail,.code-panel{border:1px solid var(--line);background:#fff;border-radius:24px;min-width:0;padding:22px;box-shadow:0 10px 30px #2d231a0d}.problem-list h2{margin:0;font-size:19px}.problem-list>p{color:var(--muted);margin:7px 0 18px;font-size:11px;line-height:1.5}.problem-list>div{gap:9px;display:grid}.problem-list button{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fffdfa;border-radius:15px;grid-template-columns:29px 1fr;align-items:center;gap:9px;padding:12px;display:grid}.problem-list button[data-selected]{background:#fff4e5;border-color:#ffb163}.problem-list button>span:first-child{color:#fff;background:var(--orange);border-radius:9px;place-items:center;width:29px;height:29px;font-size:12px;font-weight:900;display:grid}.problem-list button>span:last-child{gap:4px;display:grid}.problem-list button strong{font-size:12px;line-height:1.35}.problem-list button small{color:var(--muted);font-size:9px}.problem-detail header,.code-panel>header{justify-content:space-between;align-items:flex-start;gap:13px;display:flex}.problem-detail h2,.code-panel h2{letter-spacing:-.035em;margin:0;font-size:20px}.difficulty{color:#8e4700;background:#fff0d2;border-radius:999px;flex:none;padding:6px 9px;font-size:10px;font-weight:900}.problem-description{color:#4f4843;margin:17px 0;font-size:13px;line-height:1.75}.example-panel{background:#f8f7f4;border-radius:17px;padding:16px}.example-panel h3{margin:0 0 12px;font-size:14px}.example-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.example-grid>div{min-width:0}.example-grid strong{color:var(--muted);font-size:10px}.example-grid pre{color:#f4f4f4;background:#292521;border-radius:9px;min-height:44px;margin:5px 0 0;padding:10px;font-size:10px;line-height:1.5;overflow-x:auto}.example-grid p{color:var(--muted);grid-column:1/-1;margin:2px 0 0;font-size:10px;line-height:1.5}.code-panel>header p{color:var(--muted);margin:5px 0 0;font-size:10px}.code-panel>header>span{font-size:25px}.code-panel textarea{resize:vertical;color:#f3f2ef;tab-size:4;background:#27231f;border:1px solid #3d3833;border-radius:16px;width:100%;min-height:260px;margin-top:16px;padding:17px;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.code-panel textarea:focus{outline:3px solid #3478f659}.algorithm-submit{width:100%;margin-top:11px}.submission-result{background:#f8f7f4;border-radius:15px;margin-top:12px;padding:14px}.submission-result>div{align-items:center;gap:10px;display:flex}.submission-result>div>span{font-size:23px}.submission-result strong{font-size:12px}.submission-result p{margin:3px 0 0;font-size:10px;line-height:1.5}.submission-result .algorithm-message{color:#18764d;font-size:11px;font-weight:850}.submission-result .algorithm-error{color:#a32121;background:#fff0f0;border-radius:9px;padding:9px;font-size:11px;font-weight:850}.algorithm-empty{min-height:240px;color:var(--muted);text-align:center;background:#fff;border:2px dashed #d9d3cd;border-radius:24px;place-items:center;padding:30px;font-weight:800;display:grid}@media (max-width:1100px){.login-landing-main{grid-template-columns:1fr}.social-login-card{justify-self:stretch;width:100%}:is(.shell-body,.shell-body:has(.side-nav[data-collapsed])){grid-template-columns:1fr}.side-nav{z-index:4;border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;padding:10px 16px;position:sticky;top:0;overflow:visible}.side-nav[data-collapsed]{align-items:stretch;padding:10px 16px}.nav-collapse-toggle{display:none}.nav-link{flex:none;min-width:max-content;min-height:43px;padding:0 13px}.side-nav[data-collapsed] .nav-link{width:auto;min-width:max-content;padding:0 13px}.side-nav[data-collapsed] .nav-label,.side-nav[data-collapsed] .nav-group-label{opacity:1;pointer-events:auto;width:auto}.student-home,.student-profile-page,.admin-home,.onboarding-page,.avatar-page,.shop-page,.algorithm-page,.typing-page{padding:30px 24px 50px}.onboarding-grid{grid-template-columns:1fr}.onboarding-preview{display:none;position:static}.activity-grid{grid-template-columns:1fr 1fr}.shop-grid,.point-summary-grid,.student-product-grid{grid-template-columns:repeat(2,1fr)}.student-point-layout,.admin-typing-layout{grid-template-columns:1fr}.typing-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-growth-highlights{grid-template-columns:1fr 1fr}.falling-game-header{align-items:flex-start}.falling-typing-page{min-height:auto}.falling-board{height:clamp(500px,64dvh,720px)}.typing-tier-row,.typing-season-create{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-badge-row{grid-template-columns:1fr}.algorithm-workspace,.typing-practice{grid-template-columns:210px 1fr}.code-panel,.typing-stats-panel{grid-column:1/-1}}@media (max-width:650px){.brand-header{height:72px;padding:0 18px}.header-label{display:none}.shell-body{min-height:calc(100vh - 72px)}.nav-link{font-size:12px}.student-home,.student-profile-page,.admin-home,.onboarding-page,.avatar-page,.shop-page,.algorithm-page,.typing-page{padding:25px 16px 42px}.onboarding-form{border-radius:23px;padding:21px 16px}.onboarding-step{grid-template-columns:30px minmax(0,1fr);padding:16px 12px}.password-grid,.avatar-editor,.avatar-controls{grid-template-columns:1fr}.preset-grid{gap:6px}.preset-card{padding:8px 5px}.preset-card small{display:none}.complete-actions{flex-direction:column}.avatar-editor{padding:16px}.avatar-controls>.primary-button,.avatar-controls>.form-message,.avatar-controls>.form-error{grid-column:auto}.welcome-panel{flex-direction:column;align-items:flex-start}.welcome-name-row{align-items:flex-start}.dashboard-grid,.student-dashboard-grid,.student-profile-page .dashboard-grid,.role-grid{grid-template-columns:1fr}.current-class-card{min-height:0;padding:20px}.profile-form{padding:18px 14px}.profile-section{grid-template-columns:34px minmax(0,1fr);gap:12px}.profile-section-icon{border-radius:11px;width:34px;height:34px}.profile-form button[type=submit]{width:100%}.activity-grid{grid-template-columns:1fr}.world-cta{grid-template-columns:auto 1fr;padding:20px}.world-illustration{font-size:42px}.cta-arrow{display:none}.login-main{padding:28px 16px}.login-card{border-radius:25px}.login-landing-page .brand-header{border-radius:16px;height:78px}.login-landing-main{min-height:calc(100vh - 90px);padding:24px 18px}.login-agency-copy{flex-direction:column;gap:12px;margin-bottom:48px}.login-hero-title{grid-template-columns:1fr;font-size:clamp(44px,16vw,76px)}.login-hero-title:after{grid-area:auto/1;width:132px;height:58px;margin:8px 0}.social-login-card{border-radius:24px;padding:24px}.shop-grid,.point-summary-grid,.student-product-grid,.algorithm-workspace,.typing-practice,.typing-admin-grid,.typing-settings-grid,.typing-setting-row,.typing-tier-row,.typing-badge-row,.typing-season-create,.typing-season-list>div,.typing-growth-highlights{grid-template-columns:1fr}.falling-game-header,.falling-game-controls{flex-direction:column;align-items:stretch}.falling-game-hud{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}.falling-board{height:clamp(430px,56dvh,620px);min-height:430px}.falling-word{padding:8px 10px;font-size:13px}.falling-attempt-history li{grid-template-columns:1fr;gap:.35rem}.typing-settings-section{padding:18px}.code-panel,.typing-stats-panel{grid-column:auto}.shop-card{padding:18px}.student-product-card{grid-template-columns:72px minmax(0,1fr)}.student-product-card button,.student-product-unavailable{grid-column:1/-1;justify-self:stretch}.student-product-media{width:72px;height:72px}.student-transaction-list li,.student-order-list li{grid-template-columns:1fr;align-items:start}.shop-balance{padding:18px}.problem-list>div{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.falling-word{will-change:auto}}.classes-page{width:min(1180px,100%);margin:0 auto;padding:38px 42px 60px}.classes-heading{margin-bottom:20px}.student-classes-card,.student-classes-skeleton,.classes-error{background:linear-gradient(135deg,#fff 55%,#fff7e8);border:1px solid #f2d8b4;border-radius:24px;min-width:0;box-shadow:0 12px 30px #5b3e1d12}.student-classes-card{padding:0}.student-classes-card__content{grid-template-columns:minmax(0,1.65fr) minmax(240px,.85fr);align-items:start;gap:clamp(20px,3vw,34px);padding:clamp(24px,3vw,32px);display:grid}.student-classes-card__main{min-width:0}.student-classes-card__status{color:#8a4200;background:#fff0d2;margin-bottom:14px}.student-classes-card__main h2{overflow-wrap:anywhere;letter-spacing:-.05em;margin:0;font-size:clamp(24px,3vw,34px);line-height:1.18}.student-classes-card__description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:12px 0 20px;font-size:14px;line-height:1.65;display:-webkit-box;overflow:hidden}.student-classes-card__metadata{flex-wrap:wrap;gap:12px 28px;margin:0;display:flex}.student-classes-card__metadata div{gap:4px;min-width:140px;display:grid}.student-classes-card__metadata dt{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.student-classes-card__metadata dt svg{width:15px;height:15px;color:var(--orange-dark)}.student-classes-card__metadata dd{overflow-wrap:anywhere;color:var(--ink);margin:0;font-size:14px;font-weight:800}.student-classes-card__summary{background:#ffffffc2;border:1px solid #eed9b6e6;border-radius:18px;min-width:0;padding:18px}.student-classes-card__summary .eyebrow{margin-bottom:8px}.student-classes-card__summary strong{overflow-wrap:anywhere;font-size:17px;line-height:1.4;display:block}.student-classes-card__summary p:last-child{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.55}.student-classes-skeleton{align-content:start;gap:14px;min-height:230px;padding:clamp(24px,3vw,32px);display:grid}.student-classes-skeleton span{background:linear-gradient(90deg,#f4efe9 20%,#fffaf4 50%,#f4efe9 80%) 0 0/200% 100%;border-radius:999px;animation:1.4s ease-in-out infinite dashboard-skeleton;display:block}.student-classes-skeleton__badge{width:74px;height:24px}.student-classes-skeleton__title{width:min(46%,300px);height:34px}.student-classes-skeleton__line{width:min(65%,430px);height:16px}.student-classes-skeleton__line--short{width:min(34%,230px)}.classes-error{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:24px;display:grid}.classes-error>svg{width:30px;height:30px;color:var(--orange-dark)}.classes-error h2,.classes-error p{margin:0}.classes-error h2{font-size:16px}.classes-error p{color:var(--muted);margin-top:4px;font-size:13px}.classes-error button{min-height:40px}.class-state-badge,.status-badge,.homework-status{color:#8a4200;background:#fff0d2;border-radius:999px;width:fit-content;padding:6px 10px;font-size:11px;font-weight:900}.lesson-summary{gap:12px;margin:0;display:grid}.lesson-summary>div{background:#ffffffc7;border:1px solid #eed9b6e6;border-radius:18px;padding:18px}.lesson-summary dt,.class-catalog-card dt{color:var(--muted);font-size:10px;font-weight:850}.lesson-summary dd{margin:7px 0 0;font-size:15px;font-weight:850;line-height:1.5}.classes-empty{background:#fff;border:2px dashed #dfd6c9;border-radius:26px;align-items:center;gap:18px;padding:30px;display:flex}.classes-empty>span{font-size:44px}.classes-empty h2{margin:0;font-size:21px}.classes-empty p{color:var(--muted);margin:7px 0 0;line-height:1.6}.class-today-grid{grid-template-columns:1fr 1fr;gap:18px;margin:18px 0 34px;display:grid}.class-today-card{border:1px solid var(--line);background:#fff;border-radius:24px;min-height:205px;padding:25px}.mission-today-card{background:linear-gradient(135deg,#fff9e8,#fff0bf);border-color:#ffe09d}.homework-today-card{background:linear-gradient(135deg,#fff,#edf6ff)}.class-today-card h2{margin:7px 0 10px;font-size:20px}.class-today-card>p:not(.eyebrow){min-height:42px;color:var(--muted);margin:0 0 18px;font-size:13px;line-height:1.65}.homework-in-progress{color:#175b8f;background:#e0f1ff}.homework-meta{align-items:center;gap:10px;display:flex}.homework-meta>span{color:var(--muted);font-size:11px;font-weight:800}.all-classes .section-title{justify-content:space-between;align-items:end;gap:20px;display:flex}.all-classes .section-title p{color:var(--muted);margin:0 0 17px;font-size:12px}.all-classes-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.class-catalog-card{border:1px solid var(--line);background:#fff;border-radius:22px;flex-direction:column;justify-content:space-between;gap:22px;min-width:0;padding:22px;display:flex;box-shadow:0 9px 28px #2d231a0d}.class-catalog-card[data-current]{border-color:#ffbd72;box-shadow:0 10px 30px #ff6b191a}.class-catalog-card h3{margin:13px 0 8px;font-size:19px}.class-catalog-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.class-catalog-card dl{border-top:1px solid var(--line);gap:8px;margin:0;padding-top:15px;display:grid}.class-catalog-card dl>div{justify-content:space-between;gap:10px;display:flex}.class-catalog-card dd{margin:0;font-size:11px;font-weight:800}.admin-dashboard-heading{justify-content:space-between;align-items:center;gap:22px;margin-bottom:26px;display:flex}.admin-dashboard-heading p{color:var(--muted);margin:8px 0 0}.admin-dashboard-heading .eyebrow{color:var(--orange-dark)}.admin-metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.admin-metric-card{border:1px solid var(--line);background:#fff;border-radius:21px;align-items:center;gap:13px;min-width:0;padding:21px;display:flex;box-shadow:0 9px 26px #2d231a0d}.admin-metric-card>span{background:#f3f1ee;border-radius:14px;flex:none;place-items:center;width:45px;height:45px;font-size:22px;display:grid}.admin-metric-card p{color:var(--muted);margin:0 0 4px;font-size:11px}.admin-metric-card strong{letter-spacing:-.04em;font-size:clamp(20px,2vw,28px)}.admin-dashboard-grid{grid-template-columns:1.2fr .8fr;gap:18px;margin-top:18px;display:grid}.admin-panel{border:1px solid var(--line);background:#fff;border-radius:24px;padding:24px;box-shadow:0 9px 28px #2d231a0d}.admin-panel-heading{justify-content:space-between;gap:16px;display:flex}.admin-panel-heading h2,.class-management-notice h2{margin:0;font-size:20px}.admin-panel-heading>span{color:var(--muted);font-size:10px}.point-history-list{margin:18px 0 0;padding:0;list-style:none}.point-history-list li{border-top:1px solid var(--line);grid-template-columns:90px 1fr auto;align-items:center;gap:12px;min-height:52px;display:grid}.point-history-list span{font-weight:850}.point-history-list small{color:var(--muted)}.point-history-list strong{color:var(--orange-dark)}.class-management-notice{background:linear-gradient(145deg,#fff,#f2f0ed);align-items:flex-start;gap:16px;display:flex}.class-management-notice>span{font-size:39px}.class-management-notice p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.7}.class-management-notice button:disabled{cursor:not-allowed;opacity:.65}.students-toolbar{border:1px solid var(--line);background:#fff;border-radius:19px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;padding:17px 20px;display:flex}.students-toolbar p{margin:0 0 4px;font-size:13px}.students-toolbar small{color:var(--muted);font-size:10px}.students-table-container{border:1px solid var(--line);background:#fff;border-radius:22px;overflow-x:auto;box-shadow:0 10px 30px #2d231a0d}.students-table{border-collapse:collapse;width:100%;min-width:950px;font-size:12px}.students-table th{color:#625a54;text-align:left;white-space:nowrap;background:#f4f2ef;padding:14px 17px}.students-table td{border-top:1px solid var(--line);vertical-align:middle;padding:16px 17px}.students-table tbody tr:hover{background:#fffaf2}.students-table td:first-child,.students-table td:last-child{gap:3px;display:grid}.students-table td small,.students-table time{color:var(--muted);font-size:9px}.status-complete{color:#176645;background:#ddf7ea}.status-pending{color:#934414;background:#ffead9}.access-status{font-weight:800}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1914118c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.student-modal{background:#fff;border-radius:25px;width:min(570px,100%);max-height:calc(100vh - 40px);padding:25px;overflow-y:auto;box-shadow:0 30px 80px #00000040}.student-modal header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.student-modal header p:last-child{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.5}.student-modal h2{margin:0;font-size:25px}.modal-close{width:40px;height:40px;color:var(--muted);cursor:pointer;background:#f1efec;border:0;border-radius:50%;font-size:25px}.student-modal form{grid-template-columns:1fr;gap:16px;margin-top:20px;display:grid}.student-modal-field{grid-template-columns:170px minmax(0,1fr);align-items:center;gap:16px;display:grid}.student-modal label{color:#554d47;font-size:12px;font-weight:850}.student-modal label small{color:var(--muted);font-weight:600}.student-modal input,.student-modal select{background:#fff;border:1px solid #dcd4cc;border-radius:12px;width:100%;min-height:45px;margin:0;padding:0 12px}.student-modal input:focus,.student-modal select:focus{border-color:#3478f6;outline:3px solid #3478f63d}.student-availability-input{grid-template-columns:minmax(0,1fr) 96px;align-items:center;gap:8px;display:grid}.student-availability-input button{white-space:nowrap;min-height:42px;padding-inline:10px}.field-success{color:#176645}.modal-points,.modal-error,.modal-actions{width:100%}.modal-error{margin:0}.modal-actions{justify-content:flex-end;gap:9px;display:flex}.student-row-actions{align-items:center}.student-class-select{min-width:150px;min-height:34px;color:var(--ink);background:#fff;border:1px solid #dcd4cc;border-radius:10px;padding:0 10px;font-size:12px;font-weight:750}@media (max-width:1100px){.classes-page{padding:30px 24px 50px}.student-classes-card__content{grid-template-columns:minmax(0,1fr) minmax(220px,.7fr)}.admin-metric-grid,.all-classes-grid{grid-template-columns:1fr 1fr}}@media (max-width:650px){.classes-page{padding:25px 16px 42px}.student-classes-card__content,.class-today-grid,.all-classes-grid,.admin-dashboard-grid{grid-template-columns:1fr}.student-classes-card__content{gap:20px}.classes-error{grid-template-columns:auto minmax(0,1fr)}.classes-error button{grid-column:1/-1;width:100%}.all-classes .section-title,.admin-dashboard-heading,.students-toolbar{flex-direction:column;align-items:flex-start}.admin-dashboard-heading .primary-button,.students-toolbar .primary-button{width:100%}.admin-metric-card{padding:16px}.admin-metric-card>span{width:38px;height:38px;font-size:18px}.student-modal{padding:20px 16px}.student-modal form{grid-template-columns:1fr}.student-modal-field{grid-template-columns:1fr;gap:8px}.modal-points,.modal-error,.modal-actions{grid-column:auto}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}@media (max-width:1100px){.falling-typing-page .falling-game-hud{grid-template-columns:repeat(3,minmax(0,1fr))}.falling-typing-page .falling-game-hud-item:nth-child(3){border-right:0}}@media (max-width:650px){.falling-typing-page .falling-game-header{min-height:0;padding:15px 14px 13px}.falling-typing-page .falling-stage-badge{margin-top:8px;position:static}.falling-typing-page .falling-game-hud{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.falling-typing-page .falling-game-hud-item{border-bottom:1px solid #d3e5ff33;min-height:36px;padding:5px 7px;font-size:12px}.falling-typing-page .falling-game-hud-item:nth-child(2n){border-right:0}.falling-typing-page .falling-game-hud-item:last-child{border-bottom:0;grid-column:1/-1}.falling-typing-page .falling-board-lanes{border-radius:16px 16px 10px 10px;width:82%;top:4%;bottom:7%;left:9%}.falling-typing-page .falling-word{max-width:calc((82vw / var(--falling-lanes,3)) - 12px);padding:7px 9px;font-size:13px}}@media (prefers-reduced-motion:reduce){.falling-board,.falling-board:before{background-attachment:scroll}}.falling-typing-page{background:radial-gradient(circle at 16% 12%,#ffb9da38,#0000 28%),radial-gradient(circle at 84% 8%,#63ded72e,#0000 30%),linear-gradient(#071229 0%,#101b44 100%);min-height:calc(100dvh - 82px);padding:clamp(12px,1.45vw,22px);display:block}.falling-typing-page .falling-typing-game{grid-template-rows:auto auto auto minmax(520px,1fr) auto auto;gap:clamp(10px,1.2vw,16px);min-height:calc(100dvh - 112px)}.falling-typing-page .falling-game-header{background:linear-gradient(90deg,#ff9dc838,#0000 20% 80%,#71e9d533),linear-gradient(105deg,#151d55 0%,#2d65b6 52%,#6c5ad1 100%);border:2px solid #b8eaffb8;border-radius:22px;justify-content:center;align-items:center;min-height:clamp(88px,10dvh,118px);padding:14px clamp(86px,10vw,132px);display:flex;overflow:hidden;box-shadow:0 18px 32px #0d194c47}.falling-typing-page .falling-game-header:before,.falling-typing-page .falling-game-header:after{content:"";opacity:.55;background:radial-gradient(circle,#fff4b2 0 18%,#ff8fc0 19% 54%,#8df0e3 55% 100%);border-radius:999px;width:62px;height:62px;position:absolute;top:50%;transform:translateY(-50%)}.falling-typing-page .falling-game-header:before{left:18px}.falling-typing-page .falling-game-header:after{right:18px}.falling-typing-page .falling-game-title-lockup{z-index:1;max-width:100%;position:relative}.falling-typing-page .falling-game-header h1{text-shadow:0 3px #2a3777,0 6px #f87fb8,0 12px 22px #00000057;font-size:clamp(32px,4.6vw,58px);line-height:1}.falling-typing-page .falling-game-header p:last-child{color:#f7fbff;margin-top:8px;font-size:clamp(12px,1.2vw,15px)}.falling-typing-page .falling-stage-badge{z-index:2;top:50%;transform:translateY(-50%)}.falling-typing-page .falling-game-hud{border-radius:18px;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:8px;display:grid}.falling-typing-page .falling-game-hud-item{text-align:center;border-right:1px solid #d8ebff38;border-radius:12px;min-width:0}.falling-typing-page .falling-game-hud-item strong,.falling-typing-page .falling-game-hud-item span{text-overflow:ellipsis;min-width:0;overflow:hidden}.falling-typing-page .falling-board-card{background:0 0;border:0;border-radius:28px;min-height:0;padding:0;overflow:hidden;box-shadow:0 24px 48px #02092257}.falling-typing-page .falling-board{background-repeat:no-repeat;background-size:cover;border:2px solid #a7e0ffbf;border-radius:28px;height:clamp(560px,100dvh - 330px,860px);min-height:520px}.falling-typing-page .falling-board-lanes{border-radius:24px 24px 14px 14px;width:52%;top:6%;bottom:9%;left:24%}.falling-typing-page .falling-word{writing-mode:horizontal-tb;max-width:calc((52vw / var(--falling-lanes,6)) - 10px);white-space:nowrap;word-break:keep-all;text-overflow:ellipsis;min-width:max-content;line-height:1.15;overflow:hidden}.falling-typing-page .falling-game-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1e4cb3;border:1px solid #b2e5ff85;border-radius:24px;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:10px;width:min(100%,760px);padding:10px;display:grid;box-shadow:0 16px 34px #0209223d}.falling-typing-page .falling-game-controls input{color:#17265a;background:linear-gradient(#fff,#e7fbff);border:2px solid #a8e7ff;border-radius:18px;height:54px;font-size:17px;font-weight:850}.falling-typing-page .falling-game-controls button{white-space:nowrap;border-radius:18px;min-height:54px;font-weight:900;box-shadow:0 6px #6d3f1e47}.falling-typing-page .falling-attempt-history{color:#f7fbff;background:#0b1e4cb8;border-color:#b2e5ff73;border-radius:20px;box-shadow:0 14px 30px #02092233}.falling-typing-page .falling-attempt-history li{color:#18265a;background:#f7fcffeb}.typing-game-shell{background:#101116;min-height:100dvh}.typing-game-shell .typing-page{background:#101116;border-radius:0;width:100%;max-width:none;height:100dvh;min-height:100dvh;margin:0;padding:20px;overflow:hidden}.typing-game-shell .typing-page:not(.falling-typing-page) .typing-practice{grid-template:"navigation navigation navigation""sidebar main stats"minmax(0,1fr)/minmax(180px,220px) minmax(0,1fr) minmax(270px,330px);align-items:stretch;height:100%;min-height:0}.typing-game-shell .typing-game-navigation{grid-area:navigation}.typing-game-shell .typing-sidebar{grid-area:sidebar}.typing-game-shell .typing-main-panel{grid-area:main}.typing-game-shell .typing-stats-panel{grid-area:stats}.typing-game-shell .typing-sidebar,.typing-game-shell .typing-main-panel,.typing-game-shell .typing-stats-panel{height:100%;min-height:0;overflow:auto}.typing-game-shell .typing-main-panel{display:block}.typing-game-shell .typing-stats-panel{align-content:start}.typing-game-shell .typing-game-tabs button,.typing-game-shell .typing-game-tabs .typing-game-tab-link{color:#dcecff;background:#182335;border-color:#3a4b65;box-shadow:inset 0 1px #ffffff14}.typing-game-shell .typing-game-tabs button:disabled{color:#748196;background:#121925;border-color:#303846}.typing-game-shell .typing-game-tabs button[data-active]{color:#effffc;text-shadow:0 0 12px #c4fff6cc;background:linear-gradient(#176a71,#134955);border-color:#b5fff4;transform:translateY(-1px);box-shadow:0 0 0 1px #b5fff4,0 0 24px #35ffda8c}.typing-game-shell .typing-game-tabs button:not(:disabled):hover,.typing-game-shell .typing-game-tabs button:focus-visible,.typing-game-shell .typing-game-tab-link:hover,.typing-game-shell .typing-game-tab-link:focus-visible{color:#effffc;background:#174953;border-color:#8cf8e5;box-shadow:0 0 18px #35ffda61}.typing-game-shell .typing-position-tabs button{color:#c8d7ec;text-shadow:0 1px 5px #0000007a}.typing-game-shell .typing-position-tabs button:not(:disabled):hover,.typing-game-shell .typing-position-tabs button:focus-visible,.typing-game-shell .typing-position-tabs button[data-active]{color:#dffff9;text-shadow:0 0 14px #5affdad9}.typing-game-shell .typing-position-tabs button[data-active]:before{background:#4dffe0;box-shadow:0 0 14px #4dffe0e6}.typing-game-shell .typing-keyboard{gap:10px;padding:24px 22px 26px}.typing-game-shell .typing-keyboard-row{gap:10px}.typing-game-shell .typing-key{color:#c9d5e7;background:#141a25;border-color:#364153;border-radius:10px;width:52px;height:50px}.typing-game-shell .typing-key small{color:#8290a6;font-size:10px}.typing-game-shell .typing-key strong{font-size:17px}.typing-game-shell .typing-key[data-active]{transform:translateY(-1px);box-shadow:0 0 16px #5de5ff73}.typing-game-shell .falling-typing-page{overflow:auto}.falling-game-exit-link{z-index:8;position:absolute;top:16px;left:16px}@media (max-width:1100px){.typing-game-shell .typing-page:not(.falling-typing-page) .typing-practice{grid-template-columns:minmax(160px,190px) minmax(0,1fr) minmax(240px,280px)}.typing-game-shell .typing-keyboard,.typing-game-shell .typing-keyboard-row{gap:7px}.typing-game-shell .typing-key{width:46px;height:44px}.falling-typing-page{min-height:auto;padding:16px}.falling-typing-page .falling-typing-game{min-height:auto}.falling-typing-page .falling-board{height:clamp(520px,64dvh,740px);min-height:500px}.falling-typing-page .falling-board-lanes{width:72%;left:14%}.falling-typing-page .falling-word{max-width:calc((72vw / var(--falling-lanes,4)) - 12px)}}@media (max-width:650px){.typing-game-tabs{gap:4px}.typing-game-tabs button,.typing-game-tabs .typing-game-tab-link{min-width:0;min-height:42px;padding:0 4px;font-size:12px}.typing-game-exit-link{justify-self:end;position:static}.typing-game-shell .typing-page{height:auto;min-height:100dvh;padding:10px;overflow:visible}.typing-game-shell .typing-page:not(.falling-typing-page) .typing-practice{grid-template:"navigation""main""stats""sidebar"/minmax(0,1fr);height:auto}.typing-game-shell .typing-sidebar,.typing-game-shell .typing-main-panel,.typing-game-shell .typing-stats-panel{height:auto;overflow:visible}.typing-game-shell .typing-keyboard,.typing-game-shell .typing-keyboard-row{gap:4px}.typing-game-shell .typing-keyboard{padding:14px 4px 18px}.typing-game-shell .typing-key{border-radius:7px;width:30px;height:34px}.typing-game-shell .typing-key small{font-size:7px}.typing-game-shell .typing-key strong{font-size:12px}.falling-game-exit-link{min-height:34px;padding:0 9px;font-size:12px;top:10px;left:10px}.falling-typing-page{padding:10px}.falling-typing-page .falling-game-header{flex-direction:column;min-height:86px;padding:14px 12px}.falling-typing-page .falling-game-header:before,.falling-typing-page .falling-game-header:after{display:none}.falling-typing-page .falling-game-header h1{font-size:clamp(30px,12vw,42px)}.falling-typing-page .falling-stage-badge{position:static;transform:none}.falling-typing-page .falling-game-hud{grid-template-columns:repeat(2,minmax(0,1fr))}.falling-typing-page .falling-game-hud-item:last-child{grid-column:1/-1}.falling-typing-page .falling-board{border-radius:22px;height:clamp(460px,58dvh,640px);min-height:440px}.falling-typing-page .falling-board-lanes{width:84%;left:8%}.falling-typing-page .falling-word{max-width:calc((84vw / var(--falling-lanes,3)) - 14px);padding:7px 9px;font-size:13px}.falling-typing-page .falling-game-controls{border-radius:20px;grid-template-columns:1fr;width:100%}.falling-typing-page .falling-game-controls button{width:100%}}@media print{.brand-header,.side-nav,.students-toolbar .primary-button,.admin-dashboard-heading .primary-button,.modal-backdrop{display:none!important}.shell-body{display:block}.classes-page,.admin-home{width:100%;padding:12px}.student-classes-card,.student-classes-skeleton,.classes-error,.class-today-card,.class-catalog-card,.admin-panel,.admin-metric-card,.students-table-container{break-inside:avoid;box-shadow:none}}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-4{top:calc(var(--spacing) * 4)}.right-4{right:calc(var(--spacing) * 4)}.-left-\[7px\]{left:-7px}.left-1\/2{left:50%}.left-2\.5{left:calc(var(--spacing) * 2.5)}.\!z-\[100\]{z-index:100!important}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-mb-px{margin-bottom:-1px}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:var(--spacing)}.ml-3{margin-left:calc(var(--spacing) * 3)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-\[80px\]{min-height:80px}.min-h-\[100px\]{min-height:100px}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-64{width:calc(var(--spacing) * 64)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[500px\]{max-width:500px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 8) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-blue-100{border-color:var(--color-blue-100)}.border-current{border-color:currentColor}.border-gray-200{border-color:var(--color-gray-200)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-t-transparent{border-top-color:#0000}.bg-\[\#e5720a\]{background-color:#e5720a}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-green-100{background-color:var(--color-green-100)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-primary,.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.bg-purple-100{background-color:var(--color-purple-100)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-100{background-color:var(--color-yellow-100)}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-0{padding-bottom:0}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#1e1b4b\]{color:#1e1b4b}.text-\[\#e5720a\]{color:#e5720a}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-green-800{color:var(--color-green-800)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-800{color:var(--color-indigo-800)}.text-muted{color:var(--muted-bg)}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-800{color:var(--color-orange-800)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-800{color:var(--color-purple-800)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.text-yellow-800{color:var(--color-yellow-800)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.group-\[\.toast\]\:bg-muted:is(:where(.group).toast *){background-color:var(--muted-bg)}.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *){background-color:var(--primary)}.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *){color:var(--muted-foreground)}.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *){color:var(--primary-foreground)}.group-\[\.toaster\]\:rounded-xl:is(:where(.group).toaster *){border-radius:calc(var(--radius) + 4px)}.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *){border-color:var(--border)}.group-\[\.toaster\]\:bg-background:is(:where(.group).toaster *){background-color:var(--background)}.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *){color:var(--foreground)}.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.selection\:bg-primary ::selection,.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection,.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:bg-\[\#d06208\]:hover{background-color:#d06208}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-muted\/50:hover{background-color:var(--muted-bg)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted-bg) 50%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted-bg)}@media (min-width:40rem){.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-3{grid-column:span 3/span 3}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#fffaf1;--foreground:#201b18;--card:#fff;--card-foreground:#201b18;--popover:#fff;--popover-foreground:#201b18;--primary:#ff6b19;--primary-foreground:#fff;--secondary:#fff2dd;--secondary-foreground:#201b18;--muted-bg:#f8f7f4;--muted-foreground:#6f6863;--accent:#fff7eb;--accent-foreground:#9a4212;--destructive:#d92d20;--destructive-foreground:#fff;--border:#ece5db;--input:#dcd4cc;--ring:#ff8a35;--radius:.95rem;--orange:#ff6b19;--orange-dark:#e74d00;--yellow:#ffd84d;--ink:#201b18;--muted:#6f6863;--cream:#fffaf1;--line:#ece5db;background:var(--cream);color:var(--ink);font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,Arial,sans-serif}.point-admin-page{flex-direction:column;gap:1.5rem;display:flex}.point-products-page{width:min(1480px,100%)}.point-admin-actions,.point-admin-shortcuts,.point-refund-tools{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.point-metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.point-admin-shortcuts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.point-shortcut{border:1px solid var(--border);background:var(--card);min-height:56px;color:var(--foreground);border-radius:8px;align-items:center;gap:.65rem;padding:.9rem 1rem;font-weight:700;text-decoration:none;display:flex}.point-shortcut svg{width:1.1rem;height:1.1rem;color:var(--primary)}.point-wide-panel,.point-table-panel{overflow:hidden}.point-management-layout{grid-template-columns:minmax(360px,500px) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.point-products-page .point-management-layout{grid-template-columns:minmax(440px,560px) minmax(620px,1fr);gap:1.5rem}.point-form-panel,.point-table-panel{min-width:0}.point-products-page .admin-panel{padding:30px}.point-products-page .admin-panel-heading{margin-bottom:1.15rem}.point-products-page .admin-panel-heading h2{font-size:1.45rem}.point-admin-form{gap:1rem;display:grid}.point-products-page .point-admin-form{gap:1.15rem}.point-form-actions,.point-row-actions,.point-image-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.point-products-page .point-form-actions{padding-top:.25rem}.point-admin-form select,.point-table-panel select,.students-table select{border:1px solid var(--border);background:var(--background);border-radius:8px;width:100%;min-height:2.75rem;padding:0 .75rem;font-size:.9rem}.point-products-page .point-admin-form input,.point-products-page .point-admin-form textarea,.point-products-page .point-admin-form select{min-height:3rem;font-size:.95rem}.point-admin-form input,.point-admin-form textarea,.point-admin-form select{transition:border-color .16s,box-shadow .16s,background-color .16s}.point-admin-form input:focus,.point-admin-form textarea:focus,.point-admin-form select:focus{border-color:var(--ring);outline:none;box-shadow:0 0 0 3px #ff8a352e}.point-form-section{border:1px solid var(--border);background:#fffefe;border-radius:16px;gap:.9rem;padding:1rem;display:grid}.point-products-page .point-form-section{gap:1rem;padding:1.15rem}.point-form-section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.point-form-section-heading h3{color:var(--foreground);margin:0;font-size:.95rem;font-weight:900}.point-products-page .point-form-section-heading h3{font-size:1rem}.point-form-section-heading span{color:var(--muted-foreground);text-align:right;font-size:.76rem;font-weight:750}.point-field,.point-field-grid{min-width:0}.point-field{gap:.45rem;display:grid}.point-field label,.point-image-upload label{color:#4b4540;font-size:.78rem;font-weight:850}.point-products-page .point-field label,.point-products-page .point-image-upload label{font-size:.82rem}.point-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.point-search-toolbar{padding-bottom:1rem}.point-search{align-items:center;gap:.5rem;min-width:min(360px,100%);display:flex}.point-search svg{width:1rem;height:1rem;color:var(--muted-foreground)}.point-checkbox-row{border:1px solid var(--border);background:var(--muted-bg);border-radius:12px;align-items:center;gap:.65rem;min-height:2.75rem;padding:.75rem .85rem;font-weight:700;display:flex}.point-image-upload{border:1px solid var(--border);background:var(--muted-bg);border-radius:14px;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:.9rem;padding:.75rem;display:grid}.point-products-page .point-image-upload{grid-template-columns:148px minmax(0,1fr);padding:.9rem}.point-image-body{gap:.8rem;min-width:0;display:grid}.point-image-upload p{color:var(--muted-foreground);margin:0;font-size:.78rem;line-height:1.55}.point-image-preview{aspect-ratio:1;border:1px solid var(--border);background:#fff;border-radius:12px;place-items:center;width:128px;display:grid;overflow:hidden}.point-products-page .point-image-preview{width:148px}.point-image-preview span{background-position:50%;background-size:cover;width:100%;height:100%}.point-image-preview svg{width:34px;height:34px;color:var(--muted-foreground)}.point-image-input{display:none}.point-products-page .students-table th,.point-products-page .students-table td{padding-top:1rem;padding-bottom:1rem;font-size:.94rem}.point-products-page .students-table td strong{font-size:.98rem}.point-products-page .students-table td small{margin-top:.28rem;font-size:.8rem;line-height:1.45;display:block}.point-products-page .point-row-actions{flex-wrap:nowrap;justify-content:flex-end}.point-products-page .point-row-actions button{min-width:76px}.point-order-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.point-order-list li{border-bottom:1px solid var(--border);grid-template-columns:1fr 1.2fr 1fr auto;align-items:center;gap:.75rem;padding:.85rem 0;display:grid}.point-order-list li:last-child{border-bottom:0}.point-empty{padding:1.25rem}.point-refund-tools{min-width:240px}.point-refund-tools input{min-width:140px}@media (max-width:980px){.point-management-layout,.point-products-page .point-management-layout,.point-field-grid,.point-image-upload,.point-products-page .point-image-upload{grid-template-columns:1fr}.point-image-preview,.point-products-page .point-image-preview{width:min(180px,100%)}.point-order-list li{grid-template-columns:1fr}}.nav-group{flex-direction:column;gap:4px;display:flex}.nav-group+.nav-group{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.nav-group-label{color:#9a928d;letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px;padding:0 15px;font-size:11px;font-weight:800}.nav-accordion{gap:4px;display:grid}.nav-accordion-trigger{cursor:pointer;text-align:left;background:0 0;border:0;width:100%}.admin-nav .nav-link.nav-accordion-trigger[data-active]{color:#fff;background:var(--ink);box-shadow:0 8px 18px #201b1833}.nav-accordion-chevron{margin-left:auto;transition:transform .18s;width:16px!important;height:16px!important}.nav-accordion-trigger[aria-expanded=true] .nav-accordion-chevron{transform:rotate(90deg)}.nav-submenu{opacity:0;pointer-events:none;border-left:1px solid #e5ded7;grid-template-rows:0fr;min-width:0;margin:0 0 0 38px;padding-left:10px;transition:grid-template-rows .2s,margin .2s,opacity .15s,transform .2s;display:grid;transform:translateY(-6px)}.nav-submenu[data-open=true]{opacity:1;pointer-events:auto;grid-template-rows:1fr;margin-bottom:5px;transform:translateY(0)}.nav-submenu-content{gap:3px;min-height:0;display:grid;overflow:hidden}.nav-submenu-link{color:#756b62;border-radius:8px;align-items:center;min-height:32px;padding:0 10px;font-size:12px;font-weight:750;transition:all .18s;display:flex}.nav-submenu-link:hover,.nav-submenu-link[data-active]{color:var(--orange-dark);background:#fff7eb}.admin-mobile-nav{display:block}.admin-mobile-nav-trigger{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:850;display:inline-flex}.admin-mobile-nav-trigger svg{width:20px;height:20px}.admin-mobile-menu-drawer{background:#fff}.admin-mobile-menu-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:0 18px;display:flex}.admin-mobile-menu-header [data-slot=dialog-title]{letter-spacing:-.03em;font-size:18px}.admin-mobile-menu-close{border:1px solid var(--line);width:44px;min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;place-items:center;padding:0;display:inline-grid}.admin-mobile-menu-close svg{width:20px;height:20px}.admin-mobile-menu-list{align-content:start;gap:20px;height:calc(100dvh - 72px);padding:18px;display:grid;background:#fff!important}.admin-mobile-menu-group{gap:5px;display:grid}.admin-mobile-menu-group+.admin-mobile-menu-group{border-top:1px solid var(--line);padding-top:18px}.admin-mobile-menu-group>p{color:#9a928d;letter-spacing:.05em;margin:0 0 5px;font-size:11px;font-weight:850}.admin-mobile-menu-link{color:#5f5751;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:13px;align-items:center;gap:12px;min-height:48px;padding:0 13px;font-size:14px;font-weight:800;text-decoration:none;display:flex}.admin-mobile-menu-link svg{flex:none;width:18px;height:18px}.admin-mobile-menu-link[data-active]{color:#fff;background:var(--ink)}.admin-mobile-schedule-menu{gap:4px;display:grid}.admin-mobile-schedule-trigger{width:100%}.admin-mobile-schedule-chevron{margin-left:auto;transition:transform .18s}.admin-mobile-schedule-trigger[aria-expanded=true] .admin-mobile-schedule-chevron{transform:rotate(90deg)}.admin-mobile-schedule-submenu{border-left:1px solid var(--line);gap:4px;margin-left:21px;padding:4px 0 4px 16px;display:grid}.admin-mobile-schedule-submenu a{color:#6a625c;border-radius:9px;align-items:center;min-height:38px;padding:0 10px;font-size:13px;font-weight:750;text-decoration:none;display:flex}.admin-mobile-schedule-submenu a[data-active]{color:var(--orange-dark);background:#fff7eb}.admin-mobile-nav :is(button,a):focus-visible,.admin-mobile-menu-drawer :is(button,a):focus-visible{outline:3px solid var(--ring)}@supports (color:color-mix(in lab, red, red)){.admin-mobile-nav :is(button,a):focus-visible,.admin-mobile-menu-drawer :is(button,a):focus-visible{outline:3px solid color-mix(in srgb, var(--ring) 58%, white)}}.admin-mobile-nav :is(button,a):focus-visible,.admin-mobile-menu-drawer :is(button,a):focus-visible{outline-offset:3px}.mobile-fullscreen-overlay{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:1000;overscroll-behavior:contain;opacity:0;pointer-events:none;background:#fffffffa;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100dvh;padding:24px;transition:opacity .3s;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.mobile-fullscreen-overlay[data-open=true]{opacity:1;pointer-events:auto}.mobile-fullscreen-close{top:19px;right:max(16px, env(safe-area-inset-right));border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;transition:background .18s,color .18s;display:flex;position:absolute}.mobile-fullscreen-close svg{width:20px;height:20px}.mobile-fullscreen-overlay .nav-group{flex-direction:column;align-items:center;width:100%;display:flex}.mobile-fullscreen-overlay .nav-link{color:var(--ink);background:0 0;align-items:center;gap:12px;padding:10px;font-size:24px;font-weight:800;text-decoration:none;display:flex;position:relative}.mobile-fullscreen-overlay .nav-link:before{content:"";background:var(--orange-dark);width:0;height:3px;transition:width .3s;position:absolute;bottom:0;left:0}.mobile-fullscreen-overlay .nav-link:hover:before,.mobile-fullscreen-overlay .nav-link[data-active]:before{width:100%}.mobile-fullscreen-overlay .nav-accordion-trigger{cursor:pointer;border:0}.mobile-fullscreen-overlay .nav-submenu{flex-direction:column;align-items:center;gap:8px;margin-top:12px;margin-bottom:24px;display:flex}.mobile-fullscreen-overlay .nav-submenu-link{color:#6a625c;font-size:18px;font-weight:700;text-decoration:none}.mobile-fullscreen-overlay .nav-submenu-link[data-active]{color:var(--orange-dark)}.mobile-nav-toggle{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;transition:background .18s,color .18s;display:none}.mobile-nav-toggle:hover{background:#f8f7f4}.mobile-nav-toggle svg{width:20px;height:20px}@media (max-width:1100px){.brand-header{-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-hidden{display:none!important}.admin-shell .side-nav,.app-shell .side-nav{display:none}.mobile-nav-toggle{display:inline-flex}.admin-shell .shell-content{padding-bottom:0}}@media (min-width:1101px){.admin-mobile-nav{display:none}}@media (max-width:650px){.brand-header-actions{gap:7px}.admin-mobile-nav-trigger{width:42px;min-width:42px;padding:0}.admin-mobile-nav-trigger span{display:none}}.library-section{flex-direction:column;gap:18px;display:flex}.library-toolbar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.library-search{flex:1;align-items:center;min-width:200px;max-width:380px;display:flex;position:relative}.library-search>svg{color:#9a928d;pointer-events:none;width:16px;height:16px;position:absolute;left:12px}.library-search input{padding-left:36px}.library-count{color:#6a625c;margin:0;font-size:13px}.library-count strong{color:var(--ink)}.library-table-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.library-course-info{flex-direction:column;gap:3px;display:flex}.library-course-info strong{font-size:14px;font-weight:700}.library-course-info small{color:#9a928d;font-size:12px;line-height:1.4}.library-actions{justify-content:flex-end;gap:4px;display:flex}.library-empty{text-align:center;color:#9a928d;flex-direction:column;align-items:center;gap:10px;padding:60px 24px;display:flex}.library-empty svg{opacity:.3;width:48px;height:48px}.library-empty h2{color:var(--ink);margin:0;font-size:16px;font-weight:700}.library-empty p{margin:0;font-size:14px}.inline-icon{vertical-align:-2px;width:13px;height:13px;margin-right:3px}.course-form{flex-direction:column;gap:16px;padding-top:8px;display:flex}.course-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.enrollment-section{flex-direction:column;gap:18px;display:flex}.enrollment-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.enrollment-stat{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:14px;padding:18px 22px;display:flex}.enrollment-stat svg{width:22px;height:22px;color:var(--orange);flex-shrink:0}.enrollment-stat p{color:#9a928d;margin:0;font-size:12px}.enrollment-stat strong{color:var(--ink);font-size:18px;font-weight:800}.enrollment-toolbar{align-items:center;gap:14px;display:flex}.enrollment-table-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.enrollment-select-wrap{align-items:center;gap:8px;display:flex}.enrollment-select{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;min-width:160px;padding:6px 10px;font-size:13px}.enrollment-select:focus{outline:2px solid var(--orange);outline-offset:1px}.enrollment-select:disabled{opacity:.5;cursor:not-allowed}.enrollment-saving{color:var(--orange);font-size:12px;font-weight:600}.text-muted{color:#9a928d}.course-modal-form{background:#fff;flex-direction:column;display:flex}.course-modal-top-section{background:#fff;border-bottom:1px solid #f1f5f9;padding:16px 24px 24px}.category-card-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.category-card{color:#94a3b8;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 12px;transition:all .2s;display:flex}.category-card:hover{color:#64748b;border-color:#cbd5e1}.category-card.active{color:#5b50e6;background:#f8f7ff;border:2px solid #5b50e6;font-weight:600}.category-card .icon-wrapper{width:40px;height:40px;color:inherit;background:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.category-card.active .icon-wrapper{color:#5b50e6;background:#eeebff}.category-card span{font-size:13px}.course-modal-middle-section{background:#f8f8fa;border-bottom:1px solid #f1f5f9;padding:24px}.modal-label{color:#334155;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.required-star{color:#ef4444;margin-left:2px}.modal-input{color:#1e293b!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:8px!important;width:100%!important;height:42px!important;padding:10px 14px!important;font-size:13px!important}.modal-input:focus{border-color:#5b50e6!important;outline:none!important;box-shadow:0 0 0 2px #5b50e626!important}.type-card-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.type-card{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:10px;padding:14px 16px;transition:all .2s;display:flex}.type-card:hover{border-color:#cbd5e1}.type-card.active{color:#5b50e6;background:#f8f7ff;border:2px solid #5b50e6;font-weight:600}.type-card .icon-wrapper{color:inherit;justify-content:center;align-items:center;display:flex}.type-card span{font-size:13px}.advanced-toggle-wrapper{justify-content:flex-start;margin-top:20px;display:flex}.advanced-toggle-btn{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:12px;font-weight:600;display:flex}.advanced-toggle-btn:hover{color:#475569}.advanced-fields-container{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:14px;padding:16px;animation:.2s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.admin-schedule-page{gap:20px;width:100%;max-width:none;padding:28px clamp(16px,2vw,30px) 52px;display:grid}.admin-schedule-workspace{gap:16px;min-width:0;display:grid}.admin-schedule-layout{grid-template-columns:minmax(0,1fr) minmax(272px,320px);align-items:start;gap:16px;display:grid}.admin-schedule-layout[data-view=messages],.admin-schedule-layout[data-view=settings]{grid-template-columns:minmax(0,1fr)}.schedule-calendar-panel,.schedule-form-panel{min-width:0}.schedule-panel-heading-actions{align-items:center;gap:8px;display:flex}.schedule-panel-toggle{display:none}.schedule-toolbar{align-items:flex-start}.schedule-toolbar>div:first-child{gap:4px;display:grid}.schedule-toolbar>div:first-child>span{color:var(--muted);font-size:13px}.schedule-toolbar-actions,.schedule-form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-toolbar-actions{justify-content:flex-end}.schedule-filter-row{border-top:1px solid var(--line);background:#fcfbf9;align-items:center;gap:10px;padding:10px 20px;display:flex}.schedule-filter-row label{color:#746b64;white-space:nowrap;font-size:12px;font-weight:850}.schedule-filter-row select{width:min(220px,100%);min-height:34px}.schedule-weekdays,.schedule-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.schedule-weekdays{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#faf9f7}.schedule-weekdays span{color:#776f69;text-align:center;padding:11px 6px;font-size:12px;font-weight:850}.schedule-weekdays span:first-child{color:#d54d42}.schedule-weekdays span:nth-child(7){color:#3478f6}.schedule-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:122px;padding:8px}.schedule-day:nth-child(7n){border-right:0}.schedule-day[data-outside]{background:#fbfaf8}.schedule-day-number{color:#4b4540;cursor:pointer;background:0 0;border-radius:8px;width:28px;height:28px;font-size:12px;font-weight:850}.schedule-day-number:hover,.schedule-day-number:focus-visible{color:var(--orange-dark);background:#fff2dd;outline:none}.schedule-day[data-outside] .schedule-day-number{color:#b8b1aa}.schedule-day[data-today] .schedule-day-number{background:var(--orange);color:#fff}.schedule-day-events{gap:4px;margin-top:5px;display:grid}.schedule-event-chip{border:0;border-left:3px solid var(--schedule-color);color:#342f2b;background:var(--schedule-color);border-radius:5px;min-width:0;padding:5px 7px}@supports (color:color-mix(in lab, red, red)){.schedule-event-chip{background:color-mix(in srgb, var(--schedule-color) 14%, white)}}.schedule-event-chip{text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;font-size:11px;font-weight:800;line-height:1.25;overflow:hidden}.schedule-event-chip:hover,.schedule-event-chip:focus-visible{background:var(--schedule-color)}@supports (color:color-mix(in lab, red, red)){.schedule-event-chip:hover,.schedule-event-chip:focus-visible{background:color-mix(in srgb, var(--schedule-color) 24%, white)}}.schedule-event-chip:hover,.schedule-event-chip:focus-visible{outline:2px solid var(--schedule-color)}@supports (color:color-mix(in lab, red, red)){.schedule-event-chip:hover,.schedule-event-chip:focus-visible{outline:2px solid color-mix(in srgb, var(--schedule-color) 48%, transparent)}}.schedule-event-chip:hover,.schedule-event-chip:focus-visible{outline-offset:1px}.schedule-event-chip[data-cancelled]{opacity:.56;text-decoration:line-through}.schedule-task-chip{color:#213047;background:var(--schedule-color);border-left-width:4px}@supports (color:color-mix(in lab, red, red)){.schedule-task-chip{background:color-mix(in srgb, var(--schedule-color) 20%, white)}}.schedule-task-chip:before{content:"업무";color:var(--schedule-color);margin-right:4px}@supports (color:color-mix(in lab, red, red)){.schedule-task-chip:before{color:color-mix(in srgb, var(--schedule-color) 78%, #1f2937)}}.schedule-task-chip:before{font-size:9px;font-weight:900}.schedule-more-events{color:var(--muted);padding-left:6px;font-size:11px;font-weight:800}.schedule-form{gap:14px;display:grid}.schedule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.schedule-form input[type=color]{padding:5px}.schedule-form-empty{min-height:280px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:12px;padding:28px;display:grid}.schedule-form-empty svg{width:36px;height:36px;color:var(--orange)}.schedule-form-empty p{max-width:230px;margin:0;font-size:13px;line-height:1.6}.schedule-task-details{gap:18px;padding:22px;display:grid}.schedule-task-detail-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.schedule-task-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.schedule-task-detail-header h3{color:#29231e;margin:8px 0 0;font-size:18px;line-height:1.4}.schedule-task-category{min-height:24px;color:var(--schedule-color);border-radius:999px;align-items:center;padding:3px 8px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.schedule-task-category{color:color-mix(in srgb, var(--schedule-color) 78%, #1f2937)}}.schedule-task-category{background:var(--schedule-color)}@supports (color:color-mix(in lab, red, red)){.schedule-task-category{background:color-mix(in srgb, var(--schedule-color) 16%, white)}}.schedule-task-category{font-size:11px;font-weight:850}.schedule-task-detail-list{gap:10px;margin:0;display:grid}.schedule-task-detail-list>div{border-bottom:1px solid #eee9e2;grid-template-columns:68px minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.schedule-task-detail-list dt{color:#857b73;font-size:12px;font-weight:800}.schedule-task-detail-list dd{color:#3c3530;overflow-wrap:anywhere;min-width:0;margin:0;font-size:13px;font-weight:700;line-height:1.5}.schedule-task-detail-note{color:#766c63;background:#faf7f2;border-radius:8px;margin:0;padding:10px 12px;font-size:12px;line-height:1.5}.schedule-message-composer{background:#fffdfa;gap:20px;min-height:460px;padding:22px;display:grid}.schedule-message-heading{border-bottom:1px solid #eee8df;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.schedule-message-heading p{color:#e86a30;letter-spacing:.08em;margin:0 0 5px;font-size:11px;font-weight:900}.schedule-message-heading h2{color:#2e2721;margin:0;font-size:20px;line-height:1.35}.schedule-message-heading>svg{color:#f1b53d;flex:none;width:28px;height:28px}.schedule-message-grid{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:18px;min-width:0;display:grid}.schedule-message-controls,.schedule-message-preview{background:#fff;border:1px solid #ebe4da;border-radius:10px;min-width:0;padding:18px}.schedule-message-controls{align-content:start;gap:14px;display:grid}.schedule-message-controls label{color:#665b50;gap:7px;font-size:12px;font-weight:850;display:grid}.schedule-message-controls select{color:#3d342c;width:100%;min-height:38px;font:inherit;background:#fffdfa;border:1px solid #ddd4c8;border-radius:7px;padding:0 10px}.schedule-message-recipient{border-top:1px solid #f0ece5;gap:8px;margin:2px 0 0;padding-top:14px;display:grid}.schedule-message-recipient>div{grid-template-columns:64px minmax(0,1fr);gap:8px;display:grid}.schedule-message-recipient dt{color:#93877b;font-size:11px;font-weight:800}.schedule-message-recipient dd{color:#493f36;overflow-wrap:anywhere;min-width:0;margin:0;font-size:12px;font-weight:750}.schedule-message-preview{background:linear-gradient(145deg,#fffcf3 0%,#fff 55%);align-content:start;gap:14px;display:grid}.schedule-message-preview-header,.schedule-message-preview-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-message-preview-header strong,.schedule-message-preview-heading span{color:#332b24;font-size:14px;font-weight:800}.schedule-message-preview p{color:#453a31;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff3c9;border-radius:8px;min-height:160px;margin:0;padding:16px;font-size:14px;font-weight:650;line-height:1.75}.schedule-message-empty{color:#84786c;text-align:center;place-items:center;min-height:260px;margin:0;font-size:13px;font-weight:700;display:grid}.schedule-operations-settings{background:#fffdfa;gap:20px;padding:22px;display:grid}.schedule-settings-grid{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:18px;display:grid}.schedule-settings-section{background:#fff;border:1px solid #ebe4da;border-radius:10px;align-content:start;gap:16px;min-width:0;padding:18px;display:grid}.schedule-settings-section-heading,.schedule-settings-form-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-settings-section-heading p{color:#e86a30;letter-spacing:.08em;margin:0 0 4px;font-size:10px;font-weight:900}.schedule-settings-section-heading h3{color:#2f2822;margin:0;font-size:16px}.schedule-settings-section-heading>svg{color:#e9a837;width:22px;height:22px}.schedule-category-list{gap:7px;display:grid}.schedule-category-row{border-bottom:1px solid #f0ece6;grid-template-columns:11px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;padding:9px 0;display:grid}.schedule-category-row:last-child{border-bottom:0}.schedule-category-swatch{border-radius:999px;width:11px;height:32px}.schedule-category-row>div{gap:3px;min-width:0;display:grid}.schedule-category-row strong{color:#443a31;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:850;overflow:hidden}.schedule-category-row span:not(.schedule-category-swatch){color:#8a7e72;font-size:11px;font-weight:700}.schedule-settings-form{border-top:1px solid #eee8e1;gap:14px;padding-top:16px;display:grid}.schedule-settings-form-heading strong{color:#463c33;font-size:13px}.schedule-settings-check{align-self:end;min-height:38px}.schedule-closed-days{border:0;gap:9px;min-width:0;margin:0;padding:0;display:grid}.schedule-closed-days legend{color:#62574d;padding:0;font-size:12px;font-weight:850}.schedule-closed-days>div{flex-wrap:wrap;gap:7px;display:flex}.schedule-closed-days label{color:#685d53;background:#fffcf8;border:1px solid #e4ddd4;border-radius:7px;align-items:center;gap:5px;min-height:29px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.schedule-closed-days input{width:14px;height:14px}@media (max-width:1100px){.admin-schedule-layout{grid-template-columns:1fr}.schedule-form-panel{max-width:none}}@media (max-width:650px){.schedule-toolbar{gap:14px}.schedule-toolbar-actions{justify-content:flex-start}.schedule-filter-row{padding:9px 12px}.schedule-weekdays{display:grid}.schedule-month-grid{background:0 0;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;padding:0}.schedule-day{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:64px;box-shadow:none;background:#fff;border-radius:0;padding:4px}.schedule-day:nth-child(7n){border-right:0}.schedule-day[data-outside]{display:block}.schedule-day-header{min-height:24px}.schedule-day-weekday{display:none}.schedule-weekdays span{padding:8px 2px;font-size:11px}.schedule-day-number{width:24px;height:24px;font-size:11px}.schedule-event-chip{text-overflow:ellipsis;white-space:nowrap;padding:3px 4px;font-size:8px;overflow:hidden}.schedule-panel-heading{align-items:center}.schedule-panel-toggle{border:1px solid var(--line);color:#5d554e;background:#fff;border-radius:9px;place-items:center;width:36px;height:36px;display:inline-grid}.schedule-panel-toggle svg{width:18px;height:18px;transition:transform .16s}.schedule-panel-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.schedule-panel-content:not([data-open]){display:none}.schedule-task-details{padding:18px}.schedule-task-detail-header{display:grid}.schedule-task-detail-actions{justify-content:flex-start}.schedule-form-grid{grid-template-columns:1fr}.schedule-message-composer{padding:16px}.schedule-message-heading{align-items:center}.schedule-message-grid,.schedule-settings-grid{grid-template-columns:1fr}.schedule-message-controls,.schedule-message-preview{padding:14px}.schedule-operations-settings{padding:16px}}.modal-error{color:#ef4444;margin-top:14px;font-size:12px}.course-modal-bottom-section{background:#fff;align-items:center;gap:16px;padding:16px 24px;display:flex}.modal-submit-btn{cursor:pointer;border:none;border-radius:6px;height:40px;padding:0 20px;font-size:13px;font-weight:700;transition:all .2s}.modal-submit-btn.valid{color:#fff!important;background:#5b50e6!important}.modal-submit-btn.valid:hover{background:#4a3fd4!important}.modal-submit-btn.invalid{cursor:not-allowed;color:#fff!important;background:#c3bdfa!important}.modal-cancel-btn{color:#64748b;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px;font-weight:700}.modal-cancel-btn:hover{color:#334155;text-decoration:underline}.meta-badge{letter-spacing:-.02em;border-radius:4px;align-items:center;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.meta-badge.cat-course{color:#5b50e6;background:#eeebff}.meta-badge.cat-test{color:#d97706;background:#fef3c7}.meta-badge.cat-challenge{color:#059669;background:#ecfdf5}.meta-badge.type-free{color:#475569;background:#f1f5f9}.meta-badge.type-progress{color:#0284c7;background:#e0f2fe}.schedule-message-preview textarea{color:#453a31;white-space:pre-wrap;resize:vertical;background:#fff;border:1px solid #ebe4da;border-radius:8px;min-height:160px;margin:0;padding:16px;font-size:14px;line-height:1.6}.schedule-day-header{align-items:center;gap:6px;display:flex}.schedule-day-weekday{display:none}.schedule-day-holiday{color:#dc2626;font-size:11px;font-weight:700}.schedule-day[data-holiday] .schedule-day-number{color:#dc2626}.schedule-day[data-holiday][data-today] .schedule-day-number{color:#fff}.schedule-day[data-saturday] .schedule-day-number{color:#3478f6}.schedule-day[data-saturday][data-today] .schedule-day-number{color:#fff}@media (max-width:650px){.students-table-container{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.students-table,.students-table tbody,.students-table tr,.students-table td{width:100%;min-width:0;display:block}.students-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.students-table tbody{gap:12px;display:grid}.students-table tbody tr{border:1px solid var(--line);background:#fff;border-radius:18px;padding:8px 16px;box-shadow:0 6px 18px #2d231a0d}.students-table td,.students-table td:first-child,.students-table td:last-child{border-top:1px solid var(--line);grid-template-columns:minmax(92px,.8fr) minmax(0,1.2fr);align-items:center;gap:12px;min-height:42px;padding:10px 0;display:grid}.students-table td:first-child{border-top:0}.students-table td:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:750}.student-class-select,.students-table td select{min-width:0}.student-row-actions{justify-content:flex-end}.student-availability-input{grid-template-columns:1fr}.student-availability-input button{width:100%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
