@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--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);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wider:.05em;--radius-sm:.25rem;--radius-md:.375rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.collapse{visibility:collapse}.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}.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}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.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-1{width:var(--spacing);height:var(--spacing)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-64{height:calc(var(--spacing) * 64)}.h-full{height:100%}.min-h-0{min-height:0}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\[66px\]{min-height:66px}.w-12{width:calc(var(--spacing) * 12)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[440px\]{max-width:440px}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-20{min-width:calc(var(--spacing) * 20)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-items-center{justify-items:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[6px\]{border-radius:6px}.rounded-\[10px\]{border-radius:10px}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.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-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-strong\)\]{border-color:var(--border-strong)}.border-\[var\(--primary\)\]{border-color:var(--primary)}.border-transparent{border-color:#0000}.bg-\[var\(--background\)\]{background-color:var(--background)}.bg-\[var\(--primary\)\]{background-color:var(--primary)}.bg-\[var\(--primary-soft\)\]{background-color:var(--primary-soft)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-\[var\(--surface-muted\)\]{background-color:var(--surface-muted)}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--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))}.text-\[15px\]{font-size:15px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-none{--tw-leading:1;line-height:1}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.015em\]{--tw-tracking:-.015em;letter-spacing:-.015em}.tracking-\[-0\.025em\]{--tw-tracking:-.025em;letter-spacing:-.025em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--error\)\]{color:var(--error)}.text-\[var\(--heading\)\]{color:var(--heading)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-on-accent\)\]{color:var(--text-on-accent)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.accent-\[var\(--primary\)\]{accent-color:var(--primary)}.shadow{--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-\[var\(--shadow-md\)\]{--tw-shadow:var(--shadow-md);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow-sm\)\]{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.ring-\[var\(--primary\)\]{--tw-ring-color:var(--primary)}.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,)}.grayscale{--tw-grayscale:grayscale(100%);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{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,box-shadow\,color\,transform\]{transition-property:background-color,border-color,box-shadow,color,transform;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))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[start\:end\]{start:end}@media (hover:hover){.hover\:border-\[var\(--primary\)\]:hover{border-color:var(--primary)}.hover\:bg-\[var\(--primary-hover\)\]:hover{background-color:var(--primary-hover)}.hover\:bg-\[var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[var\(--surface-muted\)\]:hover{background-color:var(--surface-muted)}.hover\:text-\[var\(--heading\)\]:hover{color:var(--heading)}.hover\:text-\[var\(--primary\)\]:hover{color:var(--primary)}}.focus-visible\:ring-2:focus-visible{--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-visible\:ring-\[var\(--focus\)\]:focus-visible{--tw-ring-color:var(--focus)}.focus-visible\:ring-offset-2:focus-visible{--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-visible\:ring-offset-\[var\(--surface\)\]:focus-visible{--tw-ring-offset-color:var(--surface)}.active\:translate-y-px:active{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-7{padding-block:calc(var(--spacing) * 7)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-\[var\(--text-muted\)\] .recharts-cartesian-axis-tick text{fill:var(--text-muted)}.\[\&_\.recharts-cartesian-grid_line\]\:stroke-\[var\(--border\)\] .recharts-cartesian-grid line{stroke:var(--border)}.\[\&_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}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f6f7f9;--surface:#fff;--surface-muted:#eef1f4;--surface-strong:#e2e6ea;--text:#202428;--text-muted:#606970;--heading:#14212b;--primary:#146c5b;--primary-hover:#0d5547;--primary-soft:#e1f1ec;--accent-blue:#245da8;--accent-blue-soft:#e8f0fb;--success:#16734f;--success-soft:#dff3e9;--gold:#a66d00;--gold-soft:#fff1c7;--border:#d4d9de;--border-strong:#aeb6bd;--focus:#1d6fd1;--error:#b3261e;--shadow-sm:0 1px 2px #14212b14;--shadow-md:0 8px 24px #14212b1f;--page-max:1540px;--radius:8px;--font-body:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Microsoft JhengHei UI", Arial, sans-serif;--bg-card:var(--surface);--bg-overlay:#14181c8a;--accent:var(--primary);--accent-dark:var(--primary-hover);--warning:#8c5d00;--text-on-accent:#fff;--text-primary:var(--text);--text-secondary:var(--text-muted);--border-hover:var(--border-strong);--radius-s:var(--radius);--radius-l:var(--radius);--shadow-floating:var(--shadow-md)}*{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%;scroll-padding-top:96px}body{min-height:100vh;color:var(--text);background:var(--background);font-family:var(--font-body);text-rendering:optimizelegibility;margin:0;font-size:16px;font-weight:500;line-height:1.6}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:where(a[href],button,input,select,textarea,summary,[role=button],[role=menuitem],[role=tab]){transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s,filter .18s,opacity .18s,text-decoration-color .18s,transform .18s}img,svg{display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--heading);letter-spacing:-.015em;text-wrap:balance;font-weight:700}p{text-wrap:pretty}h1{margin-bottom:10px;font-size:2.8125rem;line-height:1.2}h2{margin-bottom:12px;font-size:1.875rem;line-height:1.3}h3{margin-bottom:8px;font-size:1.375rem;line-height:1.4}[hidden]{display:none!important}.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}.material-symbols-outlined{letter-spacing:0;text-transform:none;white-space:nowrap;word-wrap:normal;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;direction:ltr;flex:none;justify-content:center;align-items:center;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-flex}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.hub-skip-link{z-index:1000;border:2px solid var(--focus);border-radius:var(--radius);color:var(--text);background:var(--surface);padding:8px 12px;position:fixed;top:12px;left:16px;transform:translateY(-150%)}.hub-skip-link:focus-visible{transform:translateY(0)}.hub-header{z-index:80;min-height:72px;max-height:140px;padding:10px max(28px, calc((100vw - var(--page-max)) / 2));border-bottom:1px solid var(--border);background:#fffffffa;grid-template-columns:minmax(220px,auto) minmax(0,1fr) auto;align-items:center;gap:28px;display:grid}.hub-shell{flex-direction:column;min-height:100dvh;display:flex}.hub-shell-training{height:100dvh;overflow:hidden}.hub-footer{z-index:70;background:var(--surface);border-top:1px solid var(--border);flex:none}.hub-content{flex-direction:column;flex:1 0 auto;display:flex}.hub-content-training{flex:1 1 0;min-height:0}.hub-route-transition{flex-direction:column;flex:1 0 auto;min-width:0;animation:.26s cubic-bezier(.2,.75,.25,1) hubRouteEnter;display:flex}.hub-route-transition-training{flex:1 1 0;min-height:0}.embedded-training-page{background:var(--background);flex-direction:column;flex:1 1 0;min-height:0;display:flex}.embedded-training-bar{z-index:2;min-height:calc(58px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(18px, env(safe-area-inset-right)) 0 max(18px, env(safe-area-inset-left));background:var(--surface);box-shadow:var(--shadow-sm);grid-template-columns:minmax(150px,1fr) minmax(0,2fr) minmax(150px,1fr);align-items:center;display:grid}.embedded-training-bar a,.training-overlay-back{min-height:44px;color:var(--primary);cursor:pointer;background:0 0;border:none;justify-self:start;align-items:center;gap:6px;padding:0;font-weight:800;text-decoration:none;display:inline-flex}.embedded-training-bar strong{color:var(--heading);text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.embedded-training-frame{background:0 0;flex:1 1 0;min-height:0;position:relative}.embedded-training-loading{place-items:center;min-height:100%;margin:0;display:grid}.training-loading-stage{z-index:1;background:var(--background);opacity:1;align-content:center;justify-items:center;padding:32px;transition:opacity .32s,visibility .32s;display:grid;position:absolute;inset:0}.embedded-training-loading .training-loading-stage{width:100%;min-height:100dvh;position:relative}.embedded-training-frame.is-ready .training-loading-stage{visibility:hidden;opacity:0;pointer-events:none}.training-loading-spinner{border:3px solid var(--trainer-color,var(--primary));width:40px;height:40px;display:inline-block}@supports (color:color-mix(in lab, red, red)){.training-loading-spinner{border:3px solid color-mix(in srgb, var(--trainer-color,var(--primary)) 20%, transparent)}}.training-loading-spinner{border-top-color:var(--trainer-color,var(--primary));box-sizing:border-box;will-change:transform;border-radius:50%;animation:.8s linear infinite training-loading-spin}.minimal-loading-spinner{border:3px solid var(--primary);width:40px;height:40px;display:inline-block}@supports (color:color-mix(in lab, red, red)){.minimal-loading-spinner{border:3px solid color-mix(in srgb, var(--primary) 18%, transparent)}}.minimal-loading-spinner{border-top-color:var(--primary);box-sizing:border-box;will-change:transform;border-radius:50%;animation:.8s linear infinite training-loading-spin}.inline-loading-state{place-items:center;min-height:96px;display:grid}@keyframes training-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.embedded-training-frame iframe{z-index:0;opacity:0;background:0 0;border:0;width:100%;height:100%;transition:opacity .32s;display:block;position:relative}.embedded-training-frame.is-ready iframe{opacity:1}.embedded-training-error{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:center;width:min(640px,100% - 32px);margin:auto;padding:40px}.embedded-training-error a{color:var(--primary);margin-top:10px;font-weight:800;display:inline-flex}.training-overlay{z-index:200;touch-action:pinch-zoom;background:0 0;border:none;flex-direction:column;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.training-overlay .embedded-training-frame,.training-overlay .embedded-training-frame iframe{touch-action:pinch-zoom}.training-overlay::backdrop{background:0 0}.training-overlay,.package-game-overlay{--primary:var(--trainer-color);--primary-hover:var(--trainer-color-dark);--primary-soft:var(--trainer-surface)}.training-overlay-config,.package-game-overlay.package-game-overlay-config{justify-content:center;align-items:center;padding:16px}.training-overlay-config::backdrop,.package-game-overlay.package-game-overlay-config::backdrop{background:var(--bg-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.game-settings-form{max-height:calc(100dvh - 32px)}.training-overlay-runtime{background:var(--background)}.training-overlay-score{padding:calc(24px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:var(--background);overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;overflow:hidden auto}.hub-footer-inner{width:min(var(--page-max), calc(100% - 56px));min-height:64px;color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;margin:0 auto;font-size:.82rem;display:flex}.hub-footer-inner strong{color:var(--heading);white-space:nowrap}.hub-footer-inner nav{align-items:center;gap:10px;display:flex}.hub-footer-inner a{color:var(--primary);white-space:nowrap;font-weight:700;text-decoration:none}.hub-brand{align-items:center;gap:11px;min-width:0;text-decoration:none;display:inline-flex}.hub-brand img{object-fit:contain;width:42px;height:42px}.hub-brand>span{min-width:0;display:grid}.hub-brand strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;line-height:1.25;overflow:hidden}.hub-brand small{color:var(--primary);font-size:.78rem;font-weight:700;line-height:1.3}.hub-nav{justify-content:center;align-items:stretch;gap:6px;min-width:0;display:flex}.hub-nav a{color:#485158;white-space:nowrap;justify-content:center;align-items:center;min-height:44px;padding:8px 18px;font-weight:700;text-decoration:none;transition:color .2s,background-color .2s,transform .2s;display:inline-flex;position:relative}.hub-nav a:after{content:"";transform-origin:50%;background:0 0;height:3px;transition:background-color .18s,transform .18s;position:absolute;bottom:2px;left:18px;right:18px;transform:scaleX(0)}.hub-nav a:hover,.hub-nav a.is-active{color:var(--primary)}.hub-nav a.is-active:after{background:var(--primary);transform:scaleX(1)}.hub-nav a:active{transform:translateY(1px)}.hub-nav-icon{display:none}.account-menu{justify-self:end;position:relative}.hub-header-actions{justify-self:end;align-items:center;gap:4px;display:flex}.hub-guide-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);height:36px;color:var(--text);cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;transition:color .2s,background-color .2s,border-color .2s;display:inline-flex}.hub-guide-button:hover,.hub-guide-button:focus-visible{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.hub-guide-button:active{transform:scale(.98)}.hub-guide-button .material-symbols-outlined{width:18px;height:18px;font-size:18px}@media (max-width:640px){.hub-guide-button span:not(.material-symbols-outlined){display:none}.hub-guide-button{border-radius:50%;justify-content:center;width:36px;height:36px;padding:0}}.hub-language-toggle{background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;transition:background-color .2s,transform .2s;display:inline-grid}.hub-language-toggle:hover,.hub-language-toggle:focus-visible{background:var(--primary-soft)}.hub-language-toggle:active,.account-menu-button:active{transform:scale(.96)}.hub-language-toggle img{border:1px solid var(--heading);width:26px;height:20px}@supports (color:color-mix(in lab, red, red)){.hub-language-toggle img{border:1px solid color-mix(in srgb, var(--heading) 20%, transparent)}}.hub-language-toggle img{object-fit:cover;border-radius:3px;box-shadow:0 1px 2px #14212b29}.account-menu-button{color:#39434a;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;transition:color .2s,background-color .2s,transform .2s;display:inline-grid;position:relative}.account-menu-button:hover,.account-menu-button[aria-expanded=true]{color:var(--primary);background:var(--primary-soft)}.account-menu-button.is-signed-in:after{border:2px solid var(--surface);background:var(--success);content:"";border-radius:50%;width:9px;height:9px;position:absolute;bottom:4px;right:4px}.account-menu-button .material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 40;width:34px;font-size:34px;overflow:hidden}.account-avatar{border-radius:inherit;object-fit:cover;width:100%;height:100%}.account-popover{z-index:100;border:1px solid var(--border);border-radius:calc(var(--radius) * 2);background:var(--surface);width:min(340px,100vw - 32px);padding:18px;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 20px 20px #14212b14}.account-popover:before{border-top:1px solid var(--border);border-left:1px solid var(--border);background:var(--surface);content:"";width:12px;height:12px;position:absolute;top:-7px;right:15px;transform:rotate(45deg)}.account-name{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;margin-bottom:12px;padding-bottom:12px;font-weight:700;overflow:hidden}.account-admin-link{border:1px solid var(--border);border-radius:var(--radius);min-height:44px;color:var(--primary);background:var(--primary-soft);align-items:center;gap:9px;margin-bottom:14px;padding:9px 12px;font-weight:800;text-decoration:none;display:flex}.account-admin-link:hover,.account-admin-link[aria-current=page]{border-color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.account-admin-link:hover,.account-admin-link[aria-current=page]{background:color-mix(in srgb, var(--primary) 16%, var(--surface))}}.account-admin-link .material-symbols-outlined{font-size:21px}.hub-auth-panel{box-shadow:none;background:0 0;border:0;padding:0}.hub-auth-panel .auth-panel-actions{justify-content:stretch}.hub-auth-panel .auth-panel-actions .auth-button{flex:auto}.auth-dialog-backdrop{z-index:200}.page-kicker{color:var(--primary);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:.75rem;font-weight:800}.lobby-page,.progress-page,.qa-page,.admin-page,.policy-page,.empty-page{width:min(100%, var(--page-max));min-height:calc(100vh - 72px);margin:0 auto}.qa-page{padding:42px 30px 72px}.qa-page .page-heading{padding-bottom:28px}.about-site-section{border:1px solid var(--border);border-radius:calc(var(--radius) * 1.5);background:var(--surface);box-shadow:var(--shadow-sm);margin-top:36px;padding:28px}.about-site-section h2{margin-bottom:12px}.about-site-section p:last-child{max-width:760px;color:var(--text-muted);margin-bottom:0;line-height:1.75}.lobby-heading{grid-template-columns:minmax(0,1fr) minmax(320px,520px);align-items:end;gap:40px;padding:42px 30px 30px;display:grid}.lobby-heading>div{max-width:46rem}.lobby-heading p:last-child{color:var(--text-muted);margin-bottom:0}.module-search{display:block;position:relative}.module-search .material-symbols-outlined{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.module-search input{border-radius:var(--radius);width:100%;height:50px;color:var(--text);background:var(--surface);border:0;padding:10px 48px}.module-search input::placeholder{color:#737d85}.module-search input::-webkit-search-cancel-button{cursor:pointer}.lobby-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;min-height:600px;display:grid}.lobby-guide{border-top:1px solid var(--border);margin:24px 30px 72px;padding-top:48px}.lobby-guide>header{max-width:860px}.lobby-guide>header>h2+p{color:var(--text-muted);margin:14px 0 0;line-height:1.8}.lobby-guide .lobby-guide-updated{font-size:.85rem}.about-page .page-heading>p:last-child,.about-page-updated{max-width:860px;color:var(--text-muted);line-height:1.8}.about-site-section a{color:var(--primary);text-underline-offset:4px;font-weight:750}.about-page-updated{margin:32px 0 0;font-size:.85rem}.lobby-guide-sections{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;display:grid}.lobby-guide-sections>section{padding:26px 28px 28px 0}.lobby-guide-sections>section:not(:nth-child(3n+1)){border-left:1px solid var(--border);padding-left:28px}.lobby-guide-sections>section:nth-child(n+4){border-top:1px solid var(--border)}.lobby-guide-sections h3{margin-bottom:10px;font-size:1.08rem}.lobby-guide-sections p{color:var(--text-muted);margin:0;line-height:1.75}.lobby-guide-links{flex-wrap:wrap;gap:12px 24px;margin-top:24px;display:flex}.lobby-guide-links a{color:var(--primary);text-underline-offset:4px;font-weight:750}.filter-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-md);margin:30px 0 30px 30px;padding:24px;position:sticky;top:24px;overflow-y:auto}.filter-heading,.filter-header,.result-heading,.result-header,.section-title-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.filter-heading,.filter-header{margin-bottom:16px;padding-bottom:14px}.filter-heading h2,.filter-header h2{margin-bottom:0;font-size:1.2rem}.filter-heading button,.filter-header button,.empty-results button{color:var(--primary);background:0 0;border:0;padding:5px 8px;font-weight:700;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.filter-heading button:hover,.filter-header button:hover,.empty-results button:hover{text-decoration-color:currentColor}.filter-panel fieldset{border:0;gap:4px;margin:0;padding:0;display:grid}.filter-category-groups{gap:14px;display:grid}.filter-category-group{border:1px solid var(--trainer-color);margin:0;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.filter-category-group{border:1px solid color-mix(in srgb, var(--trainer-color) 25%, var(--border))}}.filter-category-group{border-left:4px solid var(--trainer-color);border-radius:var(--radius);background:var(--trainer-color)}@supports (color:color-mix(in lab, red, red)){.filter-category-group{background:color-mix(in srgb, var(--trainer-color) 3%, var(--surface))}}.filter-category-legend{width:100%;margin:0;padding:0}.filter-category-header{border-radius:var(--radius);cursor:pointer;color:var(--trainer-color-dark);grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 6px;font-weight:750;transition:transform .2s,background-color .2s,color .2s,box-shadow .2s;display:grid}.filter-category-legend:hover .filter-category-header,.filter-category-header:hover{color:var(--trainer-color);background:var(--trainer-color)}@supports (color:color-mix(in lab, red, red)){.filter-category-legend:hover .filter-category-header,.filter-category-header:hover{background:color-mix(in srgb, var(--trainer-color) 8%, transparent)}}.filter-category-legend:hover .filter-category-header,.filter-category-header:hover{box-shadow:0 2px 8px var(--trainer-color);transform:translateY(-1px)translate(2px)}@supports (color:color-mix(in lab, red, red)){.filter-category-legend:hover .filter-category-header,.filter-category-header:hover{box-shadow:0 2px 8px color-mix(in srgb, var(--trainer-color) 18%, transparent)}}.filter-category-header input{width:20px;height:20px;accent-color:var(--trainer-color);margin:0}.filter-category-header small{min-width:22px;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.78rem}.filter-subcategory-list{border-left:1px dashed var(--trainer-color);gap:2px;margin-top:2px;padding-left:10px;display:grid}@supports (color:color-mix(in lab, red, red)){.filter-subcategory-list{border-left:1px dashed color-mix(in srgb, var(--trainer-color) 25%, var(--border))}}.filter-subcategory-option{border-radius:var(--radius);min-height:36px;padding:6px 8px;transition:transform .2s,background-color .2s,color .2s,box-shadow .2s}.filter-subcategory-option:hover{background:var(--trainer-color)}@supports (color:color-mix(in lab, red, red)){.filter-subcategory-option:hover{background:color-mix(in srgb, var(--trainer-color) 10%, var(--surface))}}.filter-subcategory-option:hover{color:var(--trainer-color-dark);box-shadow:0 2px 8px var(--trainer-color);transform:translateY(-1px)translate(2px)}@supports (color:color-mix(in lab, red, red)){.filter-subcategory-option:hover{box-shadow:0 2px 8px color-mix(in srgb, var(--trainer-color) 18%, transparent)}}.filter-subcategory-option:has(input:checked){color:var(--trainer-color-dark);background:var(--trainer-color)}@supports (color:color-mix(in lab, red, red)){.filter-subcategory-option:has(input:checked){background:color-mix(in srgb, var(--trainer-color) 12%, var(--surface))}}.filter-subcategory-option:has(input:checked){box-shadow:inset 3px 0 0 var(--trainer-color)}.filter-subcategory-option input{accent-color:var(--trainer-color)}.filter-option{border-radius:var(--radius);cursor:pointer;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:46px;padding:8px;transition:background-color .2s,color .2s,transform .2s;display:grid}.filter-option:hover{background:var(--trainer-color,var(--primary))}@supports (color:color-mix(in lab, red, red)){.filter-option:hover{background:color-mix(in srgb, var(--trainer-color,var(--primary)) 8%, var(--surface))}}.filter-option:hover{color:var(--trainer-color,var(--primary));box-shadow:0 2px 8px var(--trainer-color,var(--primary));transform:translateY(-1px)translate(2px)}@supports (color:color-mix(in lab, red, red)){.filter-option:hover{box-shadow:0 2px 8px color-mix(in srgb, var(--trainer-color,var(--primary)) 16%, transparent)}}.filter-option:has(input:checked){color:var(--primary-hover);background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.filter-option input{width:22px;height:22px;accent-color:var(--primary);margin:0}.filter-option small{min-width:24px;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.78rem}.module-results{min-width:0;padding:30px 30px 56px}.result-heading,.result-header{margin-bottom:20px}.result-heading h2,.result-header h2,.result-heading p,.result-header p{margin-bottom:0}.result-heading p{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.9rem}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.module-card{--trainer-color:var(--primary);--trainer-color-dark:var(--primary-hover);--trainer-surface:var(--trainer-color)}@supports (color:color-mix(in lab, red, red)){.module-card{--trainer-surface:color-mix(in srgb, var(--trainer-color) 8%, var(--surface))}}.module-card{border:1px solid var(--trainer-color);flex-direction:column;min-width:0;min-height:390px;display:flex;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.module-card{border:1px solid color-mix(in srgb, var(--trainer-color) 18%, var(--border))}}.module-card{border-radius:calc(var(--radius) * 2);background:var(--surface);cursor:pointer;outline:none;transition:border-color .2s}.module-card:hover,.module-card:focus-within{border-color:var(--trainer-color)}@supports (color:color-mix(in lab, red, red)){.module-card:hover,.module-card:focus-within{border-color:color-mix(in srgb, var(--trainer-color) 44%, var(--border))}}.module-card:focus-within{outline:3px solid var(--trainer-color);outline-offset:4px}.module-card-visual{height:190px;color:var(--trainer-color);align-content:center;place-items:center;gap:6px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.module-card-visual{color:color-mix(in srgb, var(--trainer-color) 74%, var(--heading))}}.module-card-visual{background:var(--trainer-surface);font-size:.8rem;font-weight:700}.module-card-visual .card-image-placeholder{object-fit:cover;opacity:1;width:100%;height:100%;transition:transform .7s}.module-card:hover .module-card-visual .card-image-placeholder{transform:none}.module-card-content{flex-direction:column;flex:auto;min-height:0;padding:20px 22px 22px;display:flex}.module-card-meta{justify-content:space-between;align-items:center;gap:12px;min-height:30px;margin-bottom:10px;display:flex}.module-card-meta>span{color:var(--trainer-color-dark);font-size:.78rem;font-weight:700}.module-card-labels{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.module-category-tag{background:var(--trainer-color);color:#fff;letter-spacing:.02em;white-space:nowrap;box-shadow:0 1px 3px var(--trainer-color);border-radius:999px;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.module-category-tag{box-shadow:0 1px 3px color-mix(in srgb, var(--trainer-color) 25%, transparent)}}.module-subcategory-tag{border:1px solid var(--trainer-color);border-radius:999px;align-items:center;padding:2px 8px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.module-subcategory-tag{border:1px solid color-mix(in srgb, var(--trainer-color) 35%, var(--border))}}.module-subcategory-tag{background:var(--trainer-color)}@supports (color:color-mix(in lab, red, red)){.module-subcategory-tag{background:color-mix(in srgb, var(--trainer-color) 6%, var(--surface))}}.module-subcategory-tag{color:var(--trainer-color-dark);white-space:nowrap;font-size:.75rem;font-weight:600}.module-card-meta img{object-fit:contain;width:52px;height:36px}.module-card-theme-adornments{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.module-theme-badge{border:1px solid var(--trainer-color);padding:3px 7px}@supports (color:color-mix(in lab, red, red)){.module-theme-badge{border:1px solid color-mix(in srgb, var(--trainer-color) 42%, var(--border))}}.module-theme-badge{color:var(--trainer-color-dark);background:var(--surface);white-space:nowrap;border-radius:999px}.module-card-meta .module-card-theme-icon{width:52px;height:36px;color:var(--trainer-color-dark);font-size:32px}.module-card h3{margin-bottom:8px;font-size:1.5rem}.module-card-content>p{color:var(--text-muted);flex:auto;margin-bottom:20px;font-size:1rem;line-height:1.6}.module-card-footer{margin-top:auto;display:flex}.module-card-footer>span:not(.module-card-action){display:none}.module-card-footer a,.module-card-footer button,.module-card-footer .module-card-action{color:#fff;background:var(--trainer-color);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:5px;width:100%;min-height:44px;padding:10px 16px;font-size:.95rem;font-weight:700;text-decoration:none;transition:background-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.module-card:hover .module-card-action,.module-card:focus-within .module-card-action,.module-card-footer a:hover,.module-card-footer button:hover{background:var(--trainer-color-dark);box-shadow:0 5px 12px var(--trainer-color)}@supports (color:color-mix(in lab, red, red)){.module-card:hover .module-card-action,.module-card:focus-within .module-card-action,.module-card-footer a:hover,.module-card-footer button:hover{box-shadow:0 5px 12px color-mix(in srgb, var(--trainer-color) 24%, transparent)}}.module-card:hover .module-card-action,.module-card:focus-within .module-card-action,.module-card-footer a:hover,.module-card-footer button:hover{transform:scale(.98)}.module-card-footer a:focus-visible,.module-card-footer button:focus-visible{outline:3px solid var(--trainer-color);outline-offset:3px}.module-card-footer a:active,.module-card-footer button:active,.community-game-actions a:active,.community-game-actions button:active{transform:translateY(1px)scale(.98)}.module-card-footer .material-symbols-outlined{font-size:18px}.official-game-card{cursor:default}.official-game-actions{gap:8px}.official-game-actions>a,.official-game-actions>button{white-space:nowrap;flex:1 1 0;width:auto}.official-game-actions>a{border:1px solid var(--trainer-color);color:var(--trainer-color-dark);background:var(--surface)}.official-game-actions>a:hover{color:var(--text-on-accent)}@media (prefers-reduced-motion:reduce){.embedded-training-frame iframe,.training-loading-stage{transition:none}}.empty-results{min-height:360px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;padding:36px;display:grid}.empty-results .material-symbols-outlined{margin-bottom:12px;font-size:42px}.empty-results h3{margin-bottom:4px}.progress-page{padding:42px 30px 56px}.page-heading{margin-bottom:28px}.progress-notice,.progress-error{border-radius:var(--radius);margin-bottom:22px}.progress-notice{color:#264562;background:var(--accent-blue-soft);border:1px solid #bfd1e7;align-items:center;gap:14px;padding:16px 18px;display:flex}.progress-notice .material-symbols-outlined{font-size:30px}.progress-notice h2{margin-bottom:2px;font-size:1.05rem}.progress-notice p{margin-bottom:0}.progress-error{color:var(--error);background:#fff0ef;border:1px solid #e5b5b2;padding:14px 16px}.progress-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:44px;display:grid}.progress-metrics article{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:176px;box-shadow:var(--shadow-sm);grid-template-columns:auto auto 1fr;align-items:baseline;padding:22px 24px;display:grid;position:relative;overflow:hidden}.progress-metrics article:before{background:var(--primary);content:"";width:5px;position:absolute;top:0;bottom:0;left:0}.progress-metrics article:nth-child(2):before{background:var(--accent-blue)}.progress-metrics article>span{color:var(--text-muted);grid-column:1/-1;font-weight:700}.progress-metrics strong{color:var(--heading);margin-right:8px;font-size:3.25rem;line-height:1.1}.progress-metrics small{color:var(--text-muted);font-size:1rem}.progress-metrics p{color:var(--text-muted);grid-column:1/-1;align-self:end;margin-bottom:0;font-size:.85rem}.daily-section,.recent-module-section,.achievement-section{margin-top:40px}.section-title-row{margin-bottom:18px}.section-title-row h2,.section-title-row p{margin-bottom:0}.section-title-row>p,.section-title-row time{color:var(--text-muted);font-size:.88rem}.daily-task-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.daily-task-list article{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:112px;padding:16px;display:grid}.daily-task-list article.is-complete{background:var(--success-soft);border-color:#8ecab1}.daily-task-list .material-symbols-outlined{color:var(--text-muted)}.daily-task-list .is-complete .material-symbols-outlined{color:var(--success);font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}.daily-task-list h3{margin-bottom:9px;font-size:.95rem}.daily-task-list strong{color:var(--text-muted);font-size:.85rem}.task-progress{background:var(--surface-strong);border-radius:3px;width:100%;height:6px;overflow:hidden}.task-progress span{border-radius:inherit;background:var(--primary);min-width:0;height:100%;display:block}.recent-module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.recent-module-card{--trainer-color:var(--primary);--trainer-color-dark:var(--primary-hover);--trainer-surface:var(--trainer-color)}@supports (color:color-mix(in lab, red, red)){.recent-module-card{--trainer-surface:color-mix(in srgb, var(--trainer-color) 8%, var(--surface))}}.recent-module-card{border:1px solid var(--trainer-color);flex-direction:column;align-items:flex-start;min-height:154px;padding:20px;display:flex}@supports (color:color-mix(in lab, red, red)){.recent-module-card{border:1px solid color-mix(in srgb, var(--trainer-color) 30%, var(--border))}}.recent-module-card{border-radius:var(--radius);background:var(--trainer-surface)}.recent-module-card>span{color:var(--trainer-color-dark);font-size:.8rem;font-weight:700}.recent-module-card h3{margin:8px 0 18px;font-size:1.05rem}.recent-module-card a{color:var(--trainer-color-dark);align-items:center;gap:4px;margin-top:auto;font-size:.88rem;font-weight:700;display:inline-flex}.recent-module-card a .material-symbols-outlined{font-size:18px}.recent-module-empty{border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);margin:0;padding:22px}.achievement-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.achievement-grid article{border-radius:var(--radius);color:#697178;text-align:center;background:#e5e8ea;border:1px solid #c9ced3;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:180px;padding:17px 12px;display:flex}.achievement-grid article.is-achieved{color:#744c00;background:var(--gold-soft);box-shadow:var(--shadow-sm);border-color:#d6b45d}.trophy-mark{color:#7a8187;background:#d2d6d9;border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:12px;display:grid}.is-achieved .trophy-mark{color:var(--gold);background:#ffe28a}.trophy-mark svg{width:38px;height:38px}.achievement-grid h3{color:inherit;margin-bottom:5px;font-size:.94rem}.achievement-grid p{color:inherit;margin-bottom:0;font-size:.8rem}.server-date-note{color:var(--text-muted);text-align:right;margin:28px 0 0;font-size:.78rem}.empty-page{padding:48px 30px}.policy-page{max-width:920px;padding:48px 30px 72px}.policy-page>p{color:var(--text-muted);font-size:1.05rem}.policy-page section{padding:24px 0}.policy-page section:first-of-type{margin-top:30px}.policy-page li+li{margin-top:8px}.education-articles-section{margin-top:44px}.education-article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.education-article-card{border:1px solid var(--border);border-radius:calc(var(--radius) * 2);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;overflow:hidden}.education-article-card:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.education-article-card:hover{border-color:color-mix(in srgb, var(--primary) 36%, var(--border))}}.education-article-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.education-article-visual{background:var(--surface-muted);height:180px;overflow:hidden}.education-article-visual img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.education-article-card:hover .education-article-visual img{transform:scale(1.03)}.education-article-content{flex-direction:column;flex:auto;min-height:0;padding:22px;display:flex}.education-article-meta{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:.78rem;display:flex}.education-article-meta>span{color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:3px 9px;font-weight:800}.education-article-card h3{margin-bottom:9px;font-size:1.18rem}.education-article-summary{color:var(--text-muted);flex:auto;margin-bottom:14px;line-height:1.7}.education-article-author{color:var(--text-muted);margin-bottom:16px;font-size:.82rem;font-weight:700}.professional-website-link{margin-top:16px;font-weight:700}.professional-website-link a{color:var(--primary)}.education-article-card details{border-top:1px solid var(--border)}.education-article-card summary{min-height:48px;color:var(--primary);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-weight:800;list-style:none;display:flex}.education-article-card summary::-webkit-details-marker{display:none}.education-article-card summary .material-symbols-outlined{font-size:22px;transition:transform .18s}.education-article-card details[open] summary .material-symbols-outlined{transform:rotate(180deg)}.education-article-body{border-top:1px solid var(--border);padding:16px 0 2px}.education-article-body p{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.8}.education-article-load-error{gap:10px;display:grid}.education-article-load-error button{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--primary);background:var(--surface);font:inherit;cursor:pointer;justify-self:start;padding:8px 12px;font-weight:800}.education-articles-state{border:1px dashed var(--border);border-radius:calc(var(--radius) * 1.5);min-height:150px;color:var(--text-muted);background:var(--surface);text-align:left;justify-content:center;align-items:center;gap:14px;padding:28px;display:flex}.education-articles-state>.material-symbols-outlined{color:var(--primary);font-size:36px}.education-articles-state h3,.education-articles-state p{margin-bottom:0}.education-articles-state.is-error{border-color:var(--error)}@supports (color:color-mix(in lab, red, red)){.education-articles-state.is-error{border-color:color-mix(in srgb, var(--error) 38%, var(--border))}}.education-articles-state.is-error{color:var(--error);background:var(--error)}@supports (color:color-mix(in lab, red, red)){.education-articles-state.is-error{background:color-mix(in srgb, var(--error) 6%, var(--surface))}}.education-articles-state button{border-radius:var(--radius);min-height:42px;color:inherit;background:var(--surface);border:1px solid;margin-left:12px;padding:8px 14px;font-weight:800}.education-articles-load-more{justify-items:center;gap:10px;margin-top:22px;display:grid}.education-articles-load-more p{color:var(--error);margin:0}.education-articles-load-more button{border:1px solid var(--primary);min-height:44px;color:var(--primary);background:var(--surface);font:inherit;cursor:pointer;border-radius:8px;padding:9px 18px;font-weight:800}.education-articles-load-more button:disabled{cursor:progress;opacity:.65}.admin-page{width:min(100%, var(--page-max));padding:42px 30px 72px}.admin-page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.admin-page-heading p:last-child{max-width:760px;color:var(--text-muted);margin-bottom:0}.admin-role-badge{border:1px solid var(--primary);flex:none;align-items:center;gap:8px;min-height:42px;padding:8px 13px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.admin-role-badge{border:1px solid color-mix(in srgb, var(--primary) 32%, var(--border))}}.admin-role-badge{color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:.86rem;font-weight:800}.admin-role-badge .material-symbols-outlined{font-size:20px}.admin-access-notice{border:1px solid var(--border);border-radius:calc(var(--radius) * 1.5);background:var(--surface);max-width:760px;box-shadow:var(--shadow-sm);align-items:center;gap:18px;padding:24px;display:flex}.admin-access-notice>.material-symbols-outlined{width:52px;height:52px;color:var(--primary);background:var(--primary-soft);border-radius:50%;flex:none;place-items:center;font-size:30px;display:grid}.admin-access-notice h2{margin-bottom:4px}.admin-access-notice p{color:var(--text-muted);margin-bottom:0}.admin-tabs{border:1px solid var(--border);border-radius:calc(var(--radius) * 1.5);background:var(--surface);box-shadow:var(--shadow-sm);align-items:stretch;gap:6px;margin-bottom:24px;padding:6px;display:flex;overflow-x:auto}.admin-tabs button{border-radius:var(--radius);min-width:max-content;min-height:46px;color:var(--text-muted);background:0 0;border:0;flex:1 1 0;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:800;display:inline-flex}.admin-tabs button:hover{color:var(--primary);background:var(--surface-muted)}.admin-tabs button.is-active{color:var(--primary);background:var(--primary-soft)}.admin-tabs .material-symbols-outlined{font-size:21px}.admin-tab-panel{border:1px solid var(--border);border-radius:calc(var(--radius) * 2);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);padding:28px}.admin-section-toolbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.admin-section-toolbar h2,.admin-section-toolbar h3{margin-bottom:5px}.admin-section-toolbar p:last-child{max-width:720px;color:var(--text-muted);margin-bottom:0}.admin-button{border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:8px 14px;font-size:.88rem;font-weight:800;line-height:1.3;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.admin-button .material-symbols-outlined{font-size:19px}.admin-button-primary{border-color:var(--primary);color:var(--surface);background:var(--primary)}.admin-button-primary:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover)}.admin-button-secondary{border-color:var(--border-strong);color:var(--text);background:var(--surface)}.admin-button-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.admin-button-danger{border-color:var(--error)}@supports (color:color-mix(in lab, red, red)){.admin-button-danger{border-color:color-mix(in srgb, var(--error) 48%, var(--border))}}.admin-button-danger{color:var(--error);background:var(--error)}@supports (color:color-mix(in lab, red, red)){.admin-button-danger{background:color-mix(in srgb, var(--error) 7%, var(--surface))}}.admin-button-danger:hover:not(:disabled){border-color:var(--error);background:var(--error)}@supports (color:color-mix(in lab, red, red)){.admin-button-danger:hover:not(:disabled){background:color-mix(in srgb, var(--error) 13%, var(--surface))}}.admin-button:disabled,.admin-icon-button:disabled{opacity:.55}.admin-icon-button{border:1px solid var(--border);width:42px;height:42px;color:var(--text-muted);background:var(--surface);border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.admin-icon-button:hover:not(:disabled){color:var(--primary);border-color:var(--primary)}.admin-text-button{color:var(--primary);text-underline-offset:3px;background:0 0;border:0;padding:4px 0;font-weight:800;text-decoration:underline}.admin-alert{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 18px;padding:12px 15px;font-weight:700}.admin-alert-error{border-color:var(--error)}@supports (color:color-mix(in lab, red, red)){.admin-alert-error{border-color:color-mix(in srgb, var(--error) 38%, var(--border))}}.admin-alert-error{color:var(--error);background:var(--error)}@supports (color:color-mix(in lab, red, red)){.admin-alert-error{background:color-mix(in srgb, var(--error) 7%, var(--surface))}}.admin-alert-success{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.admin-alert-success{border-color:color-mix(in srgb, var(--success) 38%, var(--border))}}.admin-alert-success{color:var(--success);background:var(--success-soft)}.admin-alert-warning{border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.admin-alert-warning{border-color:color-mix(in srgb, var(--warning) 38%, var(--border))}}.admin-alert-warning{color:var(--warning);background:var(--warning)}@supports (color:color-mix(in lab, red, red)){.admin-alert-warning{background:color-mix(in srgb, var(--warning) 8%, var(--surface))}}.admin-state{border:1px dashed var(--border);border-radius:var(--radius);min-height:190px;color:var(--text-muted);background:var(--background);text-align:center;align-content:center;place-items:center;gap:8px;padding:28px;display:grid}.admin-state>.material-symbols-outlined{color:var(--primary);font-size:38px}.admin-state h3,.admin-state p{margin-bottom:0}.admin-state-error{border-color:var(--error)}@supports (color:color-mix(in lab, red, red)){.admin-state-error{border-color:color-mix(in srgb, var(--error) 38%, var(--border))}}.admin-state-error{color:var(--error);background:var(--error)}@supports (color:color-mix(in lab, red, red)){.admin-state-error{background:color-mix(in srgb, var(--error) 6%, var(--surface))}}.admin-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.admin-kpi-grid article{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);align-items:flex-start;gap:14px;min-width:0;min-height:142px;padding:20px;display:flex}.admin-kpi-grid article>.material-symbols-outlined{border-radius:var(--radius);width:42px;height:42px;color:var(--primary);background:var(--primary-soft);flex:none;place-items:center;display:grid}.admin-kpi-grid article>div{min-width:0}.admin-kpi-grid p{color:var(--text-muted);margin-bottom:7px;font-size:.83rem;font-weight:800}.admin-kpi-grid strong{color:var(--heading);font-size:2rem;line-height:1.25}.admin-kpi-grid small{color:var(--text-muted);margin-left:5px}.admin-kpi-grid .admin-kpi-latest strong{font-size:1rem;line-height:1.5;display:block}.admin-patient-section{margin-top:36px}.admin-table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.9rem}.admin-record-table{min-width:1040px}.admin-record-details{min-width:170px;margin-top:8px}.admin-record-details summary{color:var(--primary);cursor:pointer;font-weight:800}.admin-record-details pre{border:1px solid var(--border);border-radius:var(--radius);max-width:min(560px,70vw);max-height:320px;color:var(--text);background:var(--surface-muted);white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;font-size:.78rem;line-height:1.5;overflow:auto}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:13px 15px}.admin-table thead th{color:var(--heading);background:var(--surface-muted);white-space:nowrap;font-size:.8rem;font-weight:800}.admin-table tbody th{color:var(--heading);font-weight:800}.admin-table tbody tr:last-child>*{border-bottom:0}.admin-table tbody tr{transition:background-color .18s}.admin-table tbody tr:hover{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.admin-table tbody tr:hover{background:color-mix(in srgb, var(--primary) 5%, var(--surface))}}.admin-table td,.admin-table time{color:var(--text-muted)}.admin-table th>span,.admin-table th>small{display:block}.admin-table th>small{color:var(--text-muted);margin-top:3px;font-size:.76rem;font-weight:500}.admin-filter-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:end;gap:14px;margin-bottom:22px;padding:18px;display:grid}.admin-field{min-width:0;color:var(--heading);align-content:start;gap:6px;font-size:.86rem;font-weight:800;display:grid}.admin-field-wide{grid-column:1/-1}.admin-field input,.admin-field select,.admin-field textarea{border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;min-height:44px;color:var(--text);background:var(--surface);padding:9px 11px;font-weight:500}.admin-field textarea{resize:vertical;min-height:96px;line-height:1.65}.admin-field input[type=file]{padding:7px}.admin-field small{color:var(--text-muted);font-size:.74rem;font-weight:500}.admin-filter-actions,.admin-form-actions{align-items:center;gap:9px;display:flex}.admin-filter-error{color:var(--error);grid-column:1/-1;margin:0;font-size:.84rem;font-weight:800}.admin-record-summary{color:var(--text-muted);text-align:right;margin:0 0 10px;font-size:.84rem}.admin-pagination{justify-content:center;align-items:center;gap:14px;margin-top:20px;display:flex}.admin-pagination>span{min-width:110px;color:var(--text-muted);text-align:center;font-size:.86rem;font-weight:800}.admin-article-manager{min-width:0}.admin-editor-panel{border:1px solid var(--primary);margin-bottom:26px;padding:22px}@supports (color:color-mix(in lab, red, red)){.admin-editor-panel{border:1px solid color-mix(in srgb, var(--primary) 38%, var(--border))}}.admin-editor-panel{border-radius:calc(var(--radius) * 1.5);background:var(--primary-soft)}.admin-editor-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.admin-editor-heading h3{margin-bottom:0}.admin-article-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:20px}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-form-actions{justify-content:flex-end;margin-top:20px}.admin-cover-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);align-items:center;gap:14px;margin-top:16px;padding:12px;display:flex}.admin-cover-preview img,.admin-cover-preview>.material-symbols-outlined{border-radius:var(--radius);object-fit:cover;background:var(--surface-muted);flex:none;width:112px;height:72px}.admin-cover-preview>.material-symbols-outlined{color:var(--text-muted);place-items:center;font-size:32px;display:grid}.admin-cover-preview>div{gap:3px;display:grid}.admin-article-list{gap:14px;display:grid}.admin-article-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);grid-template-columns:164px minmax(0,1fr) auto;align-items:stretch;gap:18px;min-width:0;padding:14px;display:grid}.admin-article-thumbnail{border-radius:var(--radius);background:var(--surface-muted);min-height:116px;overflow:hidden}.admin-article-thumbnail img{object-fit:cover;width:100%;height:100%}.admin-article-card-content{min-width:0}.admin-article-meta{color:var(--text-muted);align-items:center;gap:9px;margin-bottom:7px;font-size:.78rem;font-weight:800;display:flex}.admin-status-badge{border:1px solid var(--border);border-radius:999px;align-items:center;min-height:26px;padding:3px 8px;display:inline-flex}.admin-status-badge.is-published{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.admin-status-badge.is-published{border-color:color-mix(in srgb, var(--success) 38%, var(--border))}}.admin-status-badge.is-published{color:var(--success);background:var(--success-soft)}.admin-status-badge.is-draft{color:var(--text-muted);background:var(--surface-muted)}.admin-article-card h3{margin-bottom:5px;font-size:1.05rem}.admin-article-card-content>p{color:var(--text-muted);margin-bottom:9px;font-size:.88rem}.admin-article-card-content>small{color:var(--text-muted);font-size:.76rem}.admin-article-actions{flex-direction:column;justify-content:center;align-items:stretch;gap:8px;display:flex}@media (max-width:1180px){.module-grid,.education-article-grid,.admin-kpi-grid,.admin-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filter-actions{grid-column:1/-1}.achievement-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:900px){.hub-header{gap:12px;padding-left:20px;padding-right:20px}.hub-nav a{padding-left:10px;padding-right:10px}.lobby-layout{grid-template-columns:244px minmax(0,1fr)}.lobby-guide-sections{grid-template-columns:1fr}.lobby-guide-sections>section{padding:24px 0}.lobby-guide-sections>section:not(:nth-child(3n+1)){border-left:0;padding-left:0}.lobby-guide-sections>section+section{border-top:1px solid var(--border)}.lobby-heading{grid-template-columns:1fr;gap:22px}.module-grid,.daily-task-list{grid-template-columns:1fr}.achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recent-module-grid{grid-template-columns:1fr}.admin-article-card{grid-template-columns:140px minmax(0,1fr)}.admin-article-actions{flex-direction:row;grid-column:1/-1;justify-content:flex-end}}@media (max-width:720px){.hub-header{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:112px;padding:8px 16px 0}.hub-footer{max-height:120px}.hub-footer-inner{flex-wrap:wrap;align-items:flex-start;gap:6px 8px;width:calc(100% - 24px);min-height:0;padding:12px 0}.hub-footer-inner>span{flex:100%;min-width:0}.hub-footer-inner nav{flex-wrap:wrap;gap:6px 8px}.hub-footer-inner a{align-items:center;min-height:36px;display:inline-flex}.embedded-training-bar{padding-right:max(12px, env(safe-area-inset-right));padding-left:max(12px, env(safe-area-inset-left));grid-template-columns:auto minmax(0,1fr);gap:8px}.embedded-training-bar a>span:last-child{display:none}.embedded-training-bar strong{padding-right:44px}.hub-brand{min-width:0}.hub-brand strong{font-size:.92rem}.hub-nav{grid-area:2/1/auto/-1;justify-content:stretch;align-self:end}.hub-nav a{flex:1 1 0;min-width:0;padding:7px 4px 10px;font-size:.88rem}.hub-nav a:after{left:4px;right:4px}.hub-header-actions{grid-area:1/2}.account-popover{position:fixed;top:62px;right:16px}.lobby-page,.progress-page,.qa-page,.admin-page,.policy-page,.empty-page{min-height:calc(100vh - 112px)}.lobby-heading,.progress-page,.qa-page,.admin-page,.policy-page,.empty-page{padding-left:18px;padding-right:18px}.lobby-guide{margin-left:18px;margin-right:18px}h1{font-size:1.9rem}.lobby-layout{display:block}.filter-panel{max-height:none;box-shadow:none;background:0 0;border-width:1px 0 0;border-radius:0;margin:22px 18px 0;padding:16px 0 8px;position:static;overflow:hidden}.filter-heading,.filter-header{margin-bottom:10px;padding-bottom:0}.filter-panel fieldset{scroll-snap-type:x proximity;scrollbar-width:thin;gap:8px;padding:0 0 8px;display:flex;overflow-x:auto}.filter-category-groups{scroll-snap-type:x proximity;scrollbar-width:thin;gap:10px;padding-bottom:8px;display:flex;overflow-x:auto}.filter-category-group{flex:none;min-width:190px}.filter-option{border:1px solid var(--border);background:var(--surface);scroll-snap-align:start;flex:none;grid-template-columns:22px auto auto;min-height:48px;padding:8px 12px}.filter-option:hover{transform:none}.filter-option:has(input:checked){border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.filter-option:has(input:checked){border-color:color-mix(in srgb, var(--primary) 46%, var(--border))}}.filter-option:has(input:checked){box-shadow:inset 0 -3px 0 var(--primary)}.module-results{border-left:0;padding:24px 18px 48px}.progress-metrics{grid-template-columns:1fr}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.education-article-grid,.admin-kpi-grid,.admin-form-grid{grid-template-columns:1fr}.admin-page-heading,.admin-section-toolbar{flex-direction:column;align-items:flex-start}.admin-tab-panel{padding:20px 16px}.admin-section-toolbar>.admin-button{width:100%}.admin-filter-panel{grid-template-columns:1fr}.admin-filter-actions,.admin-field-wide{grid-column:auto}.admin-editor-panel{padding:14px}.admin-article-form{padding:16px}.admin-article-card{grid-template-columns:112px minmax(0,1fr)}}@media (min-width:768px) and (max-width:1023px){.hub-header{grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:10px 20px 0}.hub-nav{grid-area:2/1/auto/-1}.hub-header-actions{grid-area:1/2}}@media (max-width:767px){.hub-shell:not(.hub-shell-training){--hub-mobile-nav-height:calc(80px + env(safe-area-inset-bottom));padding-bottom:var(--hub-mobile-nav-height)}.hub-header{min-height:calc(64px + env(safe-area-inset-top));max-height:none;padding:calc(8px + env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto;gap:4px}.hub-brand{gap:6px}.hub-brand img{width:36px;height:36px}.hub-brand small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hub-header-actions{grid-area:1/2}.hub-guide-button{border-radius:50%;justify-content:center;width:44px;height:44px;padding:0}.hub-guide-button span:not(.material-symbols-outlined){display:none}.hub-nav{z-index:90;height:var(--hub-mobile-nav-height);padding:4px max(8px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid;position:fixed;bottom:0;left:0;right:0}.hub-nav a{text-align:center;white-space:normal;overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;min-height:44px;padding:4px 2px;font-size:.875rem;line-height:1.15}.hub-nav a:after{display:none}.hub-nav-icon{font-size:24px;display:inline-flex}.hub-nav a[aria-current=page] .hub-nav-icon{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}}.admin-game-release-list{gap:18px;margin-top:20px;display:grid}.admin-game-status-filter{min-width:min(260px,100%)}.admin-game-release{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:16px;padding:20px;display:grid}.admin-game-release>header{justify-content:space-between;align-items:start;gap:20px;display:flex}.admin-game-release h3{margin:8px 0 2px}.admin-game-release h3 small,.admin-game-release>header p{color:var(--text-muted);font-size:.9rem}.admin-game-release>header>dl{grid-template-columns:repeat(3,minmax(78px,auto));gap:10px;margin:0;display:grid}.admin-game-release>header>dl div,.admin-game-identifiers div{display:grid}.admin-game-release dt,.admin-game-identifiers dt{color:var(--text-muted);font-size:.78rem}.admin-game-release dd,.admin-game-identifiers dd{color:var(--heading);margin:0;font-weight:700}.admin-game-release details{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);padding:12px 14px}.admin-game-public-metadata{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);padding:14px}.admin-game-public-metadata h4,.admin-game-public-metadata p{margin:0}.admin-game-public-metadata dl{flex-wrap:wrap;gap:10px 24px;margin:10px 0;display:flex}.admin-game-public-metadata dd{color:var(--heading);margin:0;font-weight:700}.admin-game-public-metadata p+p{margin-top:6px}.admin-game-release summary{color:var(--heading);cursor:pointer;font-weight:800}.admin-game-findings{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.admin-game-findings li{border-left:4px solid var(--gold);background:var(--surface);padding:10px 12px;display:grid}.admin-game-findings li strong{color:var(--error)}.admin-game-findings li span{overflow-wrap:anywhere;color:var(--text-muted);font-size:.82rem}.admin-game-findings li p{margin:5px 0 0}.admin-game-identifiers{gap:8px;margin-bottom:0;display:grid}.admin-game-identifiers code{overflow-wrap:anywhere}.admin-game-review-actions{grid-template-columns:minmax(0,1fr);align-items:end;gap:16px;display:grid}.admin-game-review-actions>div{justify-content:flex-end;gap:8px;display:flex}.admin-game-artifact-actions{align-items:center;gap:14px;display:flex}.admin-game-artifact-actions p{color:var(--text-muted);margin:0;font-size:.86rem}.admin-game-evidence{border:1px solid var(--border);border-radius:var(--radius);gap:8px;padding:12px 14px;display:grid}.admin-game-evidence legend{color:var(--heading);padding:0 5px;font-weight:800}.admin-game-evidence label{align-items:flex-start;gap:8px;display:flex}.admin-game-evidence input{width:20px;height:20px;margin-top:2px}@media (max-width:800px){.admin-game-release>header,.admin-game-review-actions{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.admin-game-release>header>dl{grid-template-columns:1fr}.admin-game-review-actions>div{flex-direction:column}.admin-game-artifact-actions{flex-direction:column;align-items:stretch}}@media (max-width:430px){.hub-brand small{display:none}.filter-panel fieldset,.achievement-grid{grid-template-columns:1fr}.module-card{min-height:0}.module-card-footer{align-items:flex-end}.result-heading,.result-header,.section-title-row{flex-direction:column;align-items:flex-start;gap:4px}.progress-metrics article{min-height:158px}.progress-metrics strong{font-size:2.8rem}.education-articles-state{flex-direction:column;align-items:flex-start}.education-articles-state button{width:100%;margin-left:0}.admin-tabs button{flex:none}.admin-role-badge{align-self:flex-start}.admin-access-notice{align-items:flex-start}.admin-article-card{flex-direction:column;display:flex}.admin-article-thumbnail{height:160px}.admin-article-actions,.admin-form-actions,.admin-filter-actions{flex-direction:column;align-items:stretch;width:100%}.admin-article-actions .admin-button,.admin-form-actions .admin-button,.admin-filter-actions .admin-button{width:100%}.admin-pagination{justify-content:space-between;gap:6px}.admin-pagination .admin-button{padding-left:10px;padding-right:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.minimal-loading-spinner,.training-loading-spinner{animation:.8s linear infinite training-loading-spin!important}}@keyframes hubRouteEnter{0%{opacity:0;transform:translateY(8px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@media (forced-colors:active){.hub-nav a.is-active:after,.progress-metrics article:before,.task-progress span{background:highlight}.module-card,.education-article-card,.admin-tab-panel,.admin-kpi-grid article,.admin-article-card,.progress-metrics article,.daily-task-list article,.achievement-grid article{border:1px solid canvastext}}.developer-page{scroll-behavior:smooth;flex-direction:column;gap:0;width:min(100%,1440px);display:flex}.developer-hero{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);align-items:end;gap:clamp(28px,6vw,88px);padding:18px 0 48px;display:grid}.developer-hero h1{letter-spacing:-.055em;text-wrap:balance;max-width:15ch;margin-bottom:16px;font-size:clamp(2.4rem,5.6vw,5.2rem);line-height:.98}.developer-hero>div>p:last-child{max-width:62ch;color:var(--text-muted);letter-spacing:-.008em;text-wrap:pretty;margin:0;font-size:clamp(1.1rem,1.6vw,1.24rem);line-height:1.55}.developer-hero-meta{gap:0;margin:0;display:grid}.developer-hero-meta>div{border-top:1px solid var(--border);padding:16px 0}.developer-hero-meta dt{color:var(--text-muted);letter-spacing:.045em;text-transform:uppercase;margin-bottom:5px;font-size:.8rem;font-weight:800}.developer-hero-meta dd{color:var(--heading);margin:0;font-weight:750;line-height:1.45}.developer-docs-layout{grid-template-columns:minmax(210px,248px) minmax(0,1fr);align-items:start;gap:clamp(34px,5vw,76px);display:grid}.developer-docs-sidebar{overscroll-behavior:contain;max-height:calc(100dvh - 112px);padding:36px 0 20px;position:sticky;top:88px;overflow-y:auto}.developer-docs-sidebar>p{color:var(--text-muted);letter-spacing:.045em;text-transform:uppercase;margin:0 0 12px 42px;font-size:.8rem;font-weight:800}.developer-docs-sidebar ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.developer-docs-sidebar a{min-height:42px;color:var(--text-muted);border-radius:0 8px 8px 0;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px 8px 0;font-size:.98rem;font-weight:700;text-decoration:none;transition:color .18s,background-color .18s,transform .18s;display:grid}.developer-docs-sidebar a:hover{color:var(--heading);background:var(--surface-muted);transform:translate(3px)}.developer-docs-sidebar a:focus-visible,.developer-external-link:focus-visible,.developer-prompt-output button:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.developer-docs-sidebar a span{color:var(--primary);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem}.developer-docs-content{letter-spacing:-.008em;min-width:0;font-size:1.075rem;line-height:1.58}.developer-docs-content :where(p,li,dd){text-wrap:pretty}.developer-page .page-kicker{letter-spacing:.045em;font-size:.8rem}.developer-doc-section{border-top:1px solid var(--border);padding:52px 0 60px;scroll-margin-top:84px}.developer-docs-content>.developer-doc-section:first-child{border-top:0}.developer-doc-section>header{max-width:820px;margin-bottom:20px}.developer-doc-section>header h2{letter-spacing:-.035em;text-wrap:balance;max-width:24ch;margin:0;font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.08}.developer-doc-section>h3,.developer-code-pair h3,.developer-test-columns h3{margin-top:28px;margin-bottom:10px;font-size:1.2rem;line-height:1.3}.developer-docs-lead{max-width:65ch;color:var(--text-muted);letter-spacing:-.01em;text-wrap:pretty;font-size:1.18rem;line-height:1.6}.developer-route-grid{border:1px solid var(--border);border-radius:calc(var(--radius) * 1.3);background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:30px 0;display:grid;overflow:hidden}.developer-route-grid article{background:var(--surface);min-height:226px;padding:26px}.developer-route-number{color:var(--primary);font-variant-numeric:tabular-nums;margin-bottom:30px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;font-weight:800;display:block}.developer-route-grid h3{margin-bottom:8px;font-size:1.3rem}.developer-route-grid p{color:var(--text-muted);line-height:1.55}.developer-route-grid small{color:var(--heading);font-size:.95rem;font-weight:750;line-height:1.45}.developer-callout,.developer-sign-in-notice{border:1px solid var(--primary);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;padding:18px 20px;display:grid}@supports (color:color-mix(in lab, red, red)){.developer-callout,.developer-sign-in-notice{border:1px solid color-mix(in srgb, var(--primary) 32%, var(--border))}}.developer-callout,.developer-sign-in-notice{border-left:4px solid var(--primary);background:var(--primary-soft);border-radius:8px}.developer-callout .developer-native-icon,.developer-sign-in-notice .developer-native-icon{width:24px;height:24px;color:var(--primary);place-items:center;font-size:20px;font-weight:850;line-height:1;display:inline-grid}.developer-callout p,.developer-sign-in-notice p{margin:0;line-height:1.55}.developer-step-list,.developer-number-list{counter-reset:developer-step;margin:24px 0;padding:0;list-style:none}.developer-step-list li{border-top:1px solid var(--border);grid-template-columns:46px minmax(0,1fr);gap:18px;padding:18px 0;display:grid}.developer-step-list li:last-child{border-bottom:1px solid var(--border)}.developer-step-list li>span{color:var(--primary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;font-weight:800}.developer-step-list h3,.developer-step-list p{margin-bottom:4px}.developer-step-list p,.developer-test-columns p{color:var(--text-muted);line-height:1.55}.developer-code-block{border:1px solid var(--heading);margin:18px 0 26px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.developer-code-block{border:1px solid color-mix(in srgb, var(--heading) 18%, var(--border))}}.developer-code-block{background:var(--heading);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.developer-code-block{background:color-mix(in srgb, var(--heading) 94%, var(--surface))}}.developer-code-block{box-shadow:var(--shadow-sm)}.developer-code-block>div{border-bottom:1px solid var(--surface);align-items:center;min-height:40px;padding:0 16px;display:flex}@supports (color:color-mix(in lab, red, red)){.developer-code-block>div{border-bottom:1px solid color-mix(in srgb, var(--surface) 16%, transparent)}}.developer-code-block>div{color:var(--surface)}@supports (color:color-mix(in lab, red, red)){.developer-code-block>div{color:color-mix(in srgb, var(--surface) 74%, transparent)}}.developer-code-block>div{letter-spacing:.015em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem}.developer-code-block pre,.developer-prompt-output pre{max-width:100%;color:var(--surface);letter-spacing:0;scrollbar-color:var(--surface) transparent;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92rem;line-height:1.55;overflow:auto}@supports (color:color-mix(in lab, red, red)){.developer-code-block pre,.developer-prompt-output pre{scrollbar-color:color-mix(in srgb, var(--surface) 34%, transparent) transparent}}.developer-code-block pre{padding:18px 20px 22px}.developer-code-block pre:focus-visible,.developer-prompt-output pre:focus-visible{outline:3px solid var(--primary);outline-offset:-3px}.developer-code-pair,.developer-test-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;margin-top:28px;display:grid}.developer-code-pair>*,.developer-test-columns>*,.developer-prompt-builder>*{min-width:0}.developer-external-link{color:var(--primary);text-underline-offset:4px;align-items:center;gap:8px;margin:8px 0 14px;font-weight:800;display:inline-flex}.developer-external-link .developer-native-icon{place-items:center;width:19px;height:19px;font-size:19px;line-height:1;display:inline-grid}.developer-section-link{color:var(--primary);text-underline-offset:5px;align-items:center;gap:10px;margin-top:6px;font-weight:800;text-decoration-thickness:2px;display:inline-flex}.developer-section-link span{font-size:1.15em;line-height:1}.developer-environment-grid{border:1px solid var(--border);background:var(--border);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:26px 0 32px;display:grid;overflow:hidden}.developer-environment-grid>section{background:var(--surface);min-width:0;padding:24px}.developer-environment-grid h3{margin:0 0 10px;font-size:1.3rem;line-height:1.3}.developer-environment-grid p{color:var(--text-muted);margin-bottom:18px;line-height:1.55}.developer-environment-grid .developer-code-block{margin-bottom:0}.developer-reference-links{flex-wrap:wrap;gap:8px 18px;margin-top:14px;display:flex}.developer-reference-links a{color:var(--primary);text-underline-offset:4px;align-items:center;gap:6px;font-weight:750;line-height:1.4;display:inline-flex}.developer-reference-links a:focus-visible,.developer-section-link:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.developer-check-list{gap:9px;max-width:860px;margin:24px 0;padding:0;list-style:none;display:grid}.developer-check-list li{color:var(--text-muted);padding-left:28px;line-height:1.55;position:relative}.developer-check-list li:before{color:var(--primary);content:"✓";font-weight:900;position:absolute;top:.05em;left:0}.developer-flow{border:1px solid var(--border);background:var(--border);border-radius:10px;grid-template-columns:repeat(6,minmax(100px,1fr));gap:1px;margin:28px 0 34px;display:grid;overflow-x:auto}.developer-flow div{background:var(--surface);align-content:space-between;gap:20px;min-height:118px;padding:16px;display:grid}.developer-flow span{color:var(--primary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.7rem}.developer-flow strong{font-size:.95rem;line-height:1.3}.developer-definition-list{gap:0;margin:20px 0 28px;display:grid}.developer-definition-list>div{border-top:1px solid var(--border);grid-template-columns:minmax(150px,.28fr) minmax(0,1fr);gap:24px;padding:15px 0;display:grid}.developer-definition-list>div:last-child{border-bottom:1px solid var(--border)}.developer-definition-list dt{color:var(--heading);font-weight:800}.developer-definition-list dd{color:var(--text-muted);margin:0;line-height:1.55}.developer-definition-list dd code{white-space:normal;overflow-wrap:anywhere}.developer-definition-list-compact dt code{color:var(--primary)}.developer-research-grid{border:1px solid var(--border);background:var(--border);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:28px 0 36px;display:grid;overflow:hidden}.developer-research-grid article{background:var(--surface);min-height:176px;padding:22px}.developer-research-grid h3{margin-bottom:10px}.developer-research-grid p{color:var(--text-muted);margin:0;line-height:1.55}.developer-inline-checks{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.developer-inline-checks li{border:1px solid var(--border);color:var(--text-muted);background:var(--surface-muted);border-radius:6px;padding:8px 11px;font-size:.92rem;font-weight:700}.developer-number-list{gap:0;display:grid}.developer-number-list li{border-top:1px solid var(--border);color:var(--text-muted);counter-increment:developer-step;padding:15px 18px 15px 54px;line-height:1.55;position:relative}.developer-number-list li:last-child{border-bottom:1px solid var(--border)}.developer-number-list li:before{color:var(--primary);content:counter(developer-step, decimal-leading-zero);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.74rem;font-weight:800;position:absolute;left:8px}.developer-prompt-section{padding-bottom:84px}.developer-prompt-builder{grid-template-columns:minmax(0,.78fr) minmax(380px,1.22fr);align-items:start;gap:24px;margin-top:30px;display:grid}.developer-prompt-builder form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.developer-prompt-builder label{color:var(--heading);gap:7px;font-size:.96rem;font-weight:800;display:grid}.developer-prompt-builder input,.developer-prompt-builder select,.developer-prompt-builder textarea{border:1px solid var(--border);width:100%;min-height:44px;color:var(--text);background:var(--surface);font:inherit;border-radius:7px;padding:10px 12px;font-weight:500}.developer-prompt-builder textarea{resize:vertical;min-height:auto;line-height:1.55}.developer-prompt-builder input:focus,.developer-prompt-builder select:focus,.developer-prompt-builder textarea:focus{border-color:var(--primary);outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.developer-prompt-builder input:focus,.developer-prompt-builder select:focus,.developer-prompt-builder textarea:focus{outline:3px solid color-mix(in srgb, var(--primary) 18%, transparent)}}.developer-prompt-wide{grid-column:1/-1}.developer-prompt-output{border:1px solid var(--heading);position:sticky;top:88px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.developer-prompt-output{border:1px solid color-mix(in srgb, var(--heading) 18%, var(--border))}}.developer-prompt-output{background:var(--heading);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.developer-prompt-output{background:color-mix(in srgb, var(--heading) 94%, var(--surface))}}.developer-prompt-output{box-shadow:var(--shadow-sm)}.developer-prompt-output>div{border-bottom:1px solid var(--surface);justify-content:space-between;align-items:center;gap:14px;min-height:48px;padding:7px 9px 7px 16px;display:flex}@supports (color:color-mix(in lab, red, red)){.developer-prompt-output>div{border-bottom:1px solid color-mix(in srgb, var(--surface) 16%, transparent)}}.developer-prompt-output>div{color:var(--surface)}@supports (color:color-mix(in lab, red, red)){.developer-prompt-output>div{color:color-mix(in srgb, var(--surface) 78%, transparent)}}.developer-prompt-output>div{font-size:.84rem;font-weight:700}.developer-prompt-output button{border:1px solid var(--surface);align-items:center;gap:6px;min-height:34px;padding:5px 10px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.developer-prompt-output button{border:1px solid color-mix(in srgb, var(--surface) 28%, transparent)}}.developer-prompt-output button{color:var(--surface);font:inherit;cursor:pointer;background:0 0;border-radius:6px;font-weight:800;transition:background-color .18s,transform .18s}.developer-prompt-output button:hover{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.developer-prompt-output button:hover{background:color-mix(in srgb, var(--surface) 14%, transparent)}}.developer-prompt-output button:active{transform:translateY(1px)}.developer-prompt-output button .developer-native-icon{place-items:center;width:17px;height:17px;font-size:17px;line-height:1;display:inline-grid}.developer-prompt-output pre{white-space:pre-wrap;max-height:640px;padding:20px}.developer-submission-section{padding-bottom:20px}.developer-sign-in-notice{max-width:760px}.developer-layout{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:start;gap:24px;display:grid}.developer-upload-form,.developer-release-list,.developer-release-card,.developer-release-card ul{gap:16px;display:grid}.developer-field-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.developer-tag-row,.developer-version-row{grid-template-columns:repeat(2,minmax(0,1fr))}.developer-capabilities{border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;gap:10px 18px;padding:16px;display:flex}.developer-capabilities legend{color:var(--heading);padding:0 6px;font-weight:800}.developer-capabilities label,.developer-confirmation{align-items:flex-start;gap:8px;display:flex}.developer-capabilities input,.developer-confirmation input{width:20px;height:20px;margin-top:2px}.developer-release-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:18px}.developer-release-card h3,.developer-release-card h4,.developer-release-card p{margin-bottom:4px}.developer-release-card ul{margin:0;padding:0;list-style:none}.developer-release-card li{border-top:1px solid var(--border);gap:5px;padding-top:12px;display:grid}.developer-release-card li>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.release-status{background:var(--surface-muted);color:var(--text-muted);border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.release-status-approved{background:var(--success-soft);color:var(--success)}.release-status-blocked,.release-status-rejected,.release-status-revoked{color:var(--error)}@media (max-width:920px){.developer-hero,.developer-code-pair,.developer-test-columns,.developer-prompt-builder,.developer-layout,.developer-field-row{grid-template-columns:1fr}.developer-docs-layout{display:block}.developer-docs-sidebar{z-index:5;border-bottom:1px solid var(--border);background:var(--background);max-height:none;padding:10px 0;position:sticky;top:64px;overflow:auto hidden}@supports (color:color-mix(in lab, red, red)){.developer-docs-sidebar{background:color-mix(in srgb, var(--background) 92%, transparent)}}.developer-docs-sidebar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.developer-docs-sidebar>p{display:none}.developer-docs-sidebar ol{gap:4px;width:max-content;display:flex}.developer-docs-sidebar a{border-radius:6px;width:max-content;padding:7px 10px;display:flex}.developer-docs-sidebar a:hover{transform:translateY(-1px)}.developer-prompt-output{position:static}}@media (max-width:640px){.developer-page{padding-top:28px}.developer-hero{padding-bottom:32px}.developer-hero h1{font-size:clamp(2.25rem,13vw,3.4rem)}.developer-doc-section{padding:48px 0 56px}.developer-route-grid,.developer-research-grid,.developer-environment-grid,.developer-prompt-builder form,.developer-definition-list>div{grid-template-columns:1fr}.developer-route-grid article{min-height:0}.developer-route-number{margin-bottom:24px}.developer-prompt-wide{grid-column:auto}.developer-prompt-output>div{align-items:flex-start}.developer-flow{grid-template-columns:repeat(6,minmax(128px,1fr))}}.library-section-heading{justify-content:space-between;align-items:end;gap:18px;margin:26px 0 14px;display:flex}.library-section-heading:first-of-type{margin-top:8px}.library-section-heading h3,.library-section-heading p{margin-bottom:0}.community-library-heading{border-top:1px solid var(--border);margin-top:42px;padding-top:28px}.catalog-load-notice{border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:var(--radius);color:var(--text-muted);background:var(--gold-soft);padding:12px 14px}.community-game-card{cursor:default}.community-game-visual{min-height:196px;color:var(--trainer-color-dark);background:linear-gradient(145deg, var(--trainer-color), var(--trainer-color));align-content:center;justify-items:center;gap:8px;display:grid}@supports (color:color-mix(in lab, red, red)){.community-game-visual{background:linear-gradient(145deg, color-mix(in srgb, var(--trainer-color) 12%, var(--surface)), color-mix(in srgb, var(--trainer-color) 24%, var(--surface)))}}.community-game-visual .material-symbols-outlined{font-size:4rem}.community-game-visual .module-card-theme-image{object-fit:contain;width:104px;height:72px}.community-game-visual small,.verified-release-badge{font-weight:800}.verified-release-badge{color:var(--success);align-items:center;gap:4px;display:inline-flex}.verified-release-badge .material-symbols-outlined{font-size:1rem}.community-game-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 0;display:grid}.community-game-details div{min-width:0}.community-game-details dt{color:var(--text-muted);font-size:.78rem}.community-game-details dd{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:800;overflow:hidden}.community-game-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:auto;display:grid}.community-game-actions button,.community-game-actions a,.package-game-toolbar-actions button,.package-game-toolbar-actions a{border-radius:var(--radius);text-align:center;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:8px 12px;font-weight:800;text-decoration:none;display:inline-flex}.community-game-actions button,.community-game-actions a{border:1px solid var(--trainer-color)}.community-game-actions button{color:var(--text-on-accent);background:var(--trainer-color)}.community-game-actions a{color:var(--trainer-color-dark);background:var(--surface)}.package-game-toolbar-actions button,.package-game-toolbar-actions a{border:1px solid var(--primary);color:var(--text-on-accent);background:var(--primary)}.package-game-toolbar-actions a{color:var(--primary);background:var(--surface)}.package-game-overlay{z-index:210;background:0 0;border:0;flex-direction:column;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.package-game-overlay::backdrop{background:0 0}.package-game-overlay-runtime{background:var(--background)}.package-game-toolbar{z-index:2;min-height:66px;padding:max(8px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));background:var(--surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:16px;display:flex}.package-game-toolbar>div:first-child{min-width:0;display:grid}.package-game-toolbar small,.package-game-toolbar-actions span{color:var(--text-muted)}.package-game-toolbar strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.package-game-privacy-warning{border:1px solid var(--warning-border,var(--border));border-radius:var(--radius-sm,8px);max-width:520px;color:var(--text);background:var(--warning-soft,var(--surface-strong));margin:0;padding:7px 10px;font-size:.78rem;line-height:1.35}.package-game-toolbar-actions{align-items:center;gap:9px;display:flex}.package-game-toolbar-actions button,.package-game-toolbar-actions a{min-height:42px}.package-game-frame{flex:1 1 0;min-height:0;position:relative}.package-game-frame iframe{background:var(--surface);opacity:0;border:0;width:100%;height:100%;transition:opacity .2s;display:block}.package-game-frame.is-ready iframe{opacity:1}.package-game-frame.is-ready .training-loading-stage{visibility:hidden;opacity:0;pointer-events:none}@media (max-width:720px){.community-game-actions{grid-template-columns:1fr}.package-game-toolbar{flex-direction:column;align-items:stretch}.package-game-toolbar-actions{flex-wrap:wrap}.package-game-toolbar-actions>span{width:100%}.package-game-privacy-warning{max-width:none}}@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-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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@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}
