@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-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-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}}}:root{--bg:#f7f8fa;--bg2:#fff;--bg3:#f1f2f6;--border:#e5e7eb;--text:#111827;--ink-2:#374151;--muted:#6b7280;--accent:#4f46e5;--accent-hover:#4338ca;--accent-light:#eef2ff;--accent-text:#4338ca;--on-accent:#fff;--stabilo:#ffedd5;--on-stabilo:#c2410c;--hl:#f9731638;--success-bg:#ecfdf5;--success-text:#059669;--warning-bg:#fffbeb;--warning-text:#b45309;--danger-bg:#fef2f2;--danger-text:#dc2626;--info-bg:#eff6ff;--info-text:#1d4ed8;--gap:16px;--gap-section:24px;--pad:18px;--r-sm:8px;--r-md:8px;--r-lg:12px;--shadow:0 1px 2px #1118270a;--shadow-lg:0 24px 56px -24px #11182747;--chalk:#ffffff14;--f-display:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--f-ui:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--purple:var(--accent);--purple-dark:var(--accent-text);--orange:#f97316;--orange-light:#fb923c}@media(min-width:640px){:root{--gap:20px;--gap-section:28px;--pad:22px}}@media(min-width:1280px){:root{--gap:20px;--gap-section:32px;--pad:24px}}[data-theme=dark]{--bg:#0b0e14;--bg2:#12151d;--bg3:#1a1e29;--border:#232733;--text:#f3f4f6;--ink-2:#d1d5db;--muted:#9ca3af;--accent:#6366f1;--accent-hover:#818cf8;--accent-light:#6366f129;--accent-text:#a5b4fc;--on-accent:#fff;--stabilo:#fb923c;--on-stabilo:#1c0a00;--hl:#f9731647;--success-bg:#10b98124;--success-text:#34d399;--warning-bg:#f59e0b24;--warning-text:#fbbf24;--danger-bg:#dc262624;--danger-text:#f87171;--info-bg:#3b82f624;--info-text:#93c5fd;--shadow:0 1px 2px #0000004d;--shadow-lg:0 26px 60px -26px #000000bf;--chalk:#ffffff0d;--orange:#f97316;--orange-light:#fb923c;color-scheme:dark}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.btn:focus-visible,.nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--color-blue-300:oklch(80.9% .105 251.813);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wider:.05em;--radius-md:.375rem;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-0{top:0}.right-0{right:0}.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}}.mx-auto{margin-inline:auto}.-mt-px{margin-top:-1px}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-ml-px{margin-left:-1px}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-12{margin-left:calc(var(--spacing) * 12)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-16{height:calc(var(--spacing) * 16)}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-auto{width:auto}.max-w-6xl{max-width:var(--container-6xl)}.max-w-xl{max-width:var(--container-xl)}.border-collapse{border-collapse:collapse}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-items-center{justify-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.rounded-md{border-radius:var(--radius-md)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.text-center{text-align:center}.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))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.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))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media(hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--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)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-start{justify-content:flex-start}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pt-0{padding-top:0}}@media(min-width:64rem){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}.rtl\:flex-row-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.dark\:border-gray-600:where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-gray-600)}.dark\:bg-gray-700:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-gray-700)}.dark\:bg-gray-800:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-gray-800)}.dark\:bg-gray-900:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-gray-900)}.dark\:text-gray-200:where([data-theme=dark],[data-theme=dark] *){color:var(--color-gray-200)}.dark\:text-gray-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-gray-300)}.dark\:text-gray-400:where([data-theme=dark],[data-theme=dark] *){color:var(--color-gray-400)}.dark\:text-gray-600:where([data-theme=dark],[data-theme=dark] *){color:var(--color-gray-600)}@media(hover:hover){.dark\:hover\:bg-gray-900:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--color-gray-900)}.dark\:hover\:text-gray-200:where([data-theme=dark],[data-theme=dark] *):hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:where([data-theme=dark],[data-theme=dark] *):hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:where([data-theme=dark],[data-theme=dark] *):focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:where([data-theme=dark],[data-theme=dark] *):focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:where([data-theme=dark],[data-theme=dark] *):active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:where([data-theme=dark],[data-theme=dark] *):active{color:var(--color-gray-300)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:400 1rem/1.6 var(--f-ui);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{text-wrap:balance}img{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.display{font-family:var(--f-display);letter-spacing:-.015em;font-weight:700}.mono{font-family:var(--f-mono);letter-spacing:-.01em;font-size:.92em}.num,.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.soft{color:var(--ink-2)}.fs-xs{font-size:.75rem}.fs-sm{font-size:.8125rem}.fs-md{font-size:.875rem}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.hl{background:linear-gradient(transparent 56%,var(--hl) 56% 90%,transparent 90%);padding:0 .06em}.page{gap:var(--gap-section);flex-direction:column;width:100%;min-width:0;margin:0 auto;display:flex}.page>*{min-width:0;margin-top:0;margin-bottom:0}.page--sm{max-width:640px}.page--md{max-width:880px}.page--lg{max-width:1120px}.page--full{max-width:none}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.page-header>div:first-child{flex:280px;min-width:0}.page-header__actions,.page-header>.btn,.page-header>.form-actions{flex:none}.page-header__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-title{font:700 clamp(1.45rem,1.1rem + 1.2vw,1.9rem)/1.15 var(--f-display);letter-spacing:-.015em;color:var(--text);overflow-wrap:anywhere;margin:0}.page-sub{color:var(--muted);margin:6px 0 0;font-size:.875rem;line-height:1.55}.block{gap:var(--gap);flex-direction:column;min-width:0;display:flex}.block>*{margin-top:0;margin-bottom:0}.block__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.block__head>div:first-child{flex:220px;min-width:0}.block__title,.section-heading{font:600 1.05rem/1.3 var(--f-ui);color:var(--text);margin:0}.block__sub{color:var(--muted);margin:4px 0 0;font-size:.84rem;line-height:1.5}.stack{gap:var(--gap);flex-direction:column;display:flex}.stack>*{margin-top:0;margin-bottom:0}.stack--tight{gap:10px}.cluster{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cluster--end{justify-content:flex-end}.cluster--between{justify-content:space-between}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--min,240px)),1fr));gap:var(--gap);display:grid}.grid--fill{grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--min,240px)),1fr))}.grid-2{gap:18px var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px;display:grid}.grid-3{gap:18px var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px;display:grid}.grid-2:last-child,.grid-3:last-child,.grid-2>.form-group,.grid-3>.form-group{margin-bottom:0}@media(max-width:760px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}}.split{grid-template-columns:minmax(0,1fr) minmax(0,var(--aside,340px));gap:var(--gap);align-items:start;display:grid}.split--wide{--aside:420px}.split--even{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}@media(max-width:1024px){.split{grid-template-columns:minmax(0,1fr)}}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar>.search-box,.toolbar>form.search-box{flex:260px;max-width:480px}.toolbar>select.form-control,.toolbar .form-control--auto{flex:0 220px;width:auto}.toolbar__end{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.search-box{gap:8px;min-width:0;display:flex;position:relative}.search-box>i{color:var(--muted);pointer-events:none;position:absolute;top:22px;left:14px;transform:translateY(-50%)}.search-box>.btn{flex:none}.search-box .form-control{flex:1;min-width:0;padding-left:40px}.text-right{text-align:right}.text-center{text-align:center}.nowrap{white-space:nowrap}.w-full{width:100%}.self-start{align-self:flex-start}.strong{color:var(--text);font-weight:600}.link{color:var(--accent-text);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.divider{border:0;border-top:1px solid var(--border);margin:0}.prewrap{white-space:pre-line}.break{overflow-wrap:anywhere}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--pad);min-width:0}.card--spaced{margin-bottom:var(--gap)}.card--spaced-lg{margin-bottom:var(--gap-section)}.card--flush{padding:0;overflow:hidden}.card--muted{background:var(--bg3)}.card>:last-child{margin-bottom:0}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:16px;display:flex}.card-head .card-label{margin-bottom:0}.card--flush>.card-head{padding:var(--pad) var(--pad) 0}.card-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-size:.72rem;font-weight:700}.card-label--normal{text-transform:none;letter-spacing:0;color:var(--text);font-size:.875rem}.card-label--md{margin-bottom:18px}.card-label--lg{margin-bottom:24px}.card-label--flush{margin-bottom:0}.btn{border-radius:var(--r-md);min-height:42px;font:600 .875rem/1 var(--f-ui);cursor:pointer;white-space:nowrap;background:var(--bg3);color:var(--text);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;transition:background .15s,border-color .15s,transform .15s,filter .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn .ti{font-size:1.1em}.btn-primary,.btn-purple{background:var(--accent);color:var(--on-accent)}.btn-primary:hover,.btn-purple:hover{background:var(--accent-hover)}.btn-stabilo{background:var(--stabilo);color:var(--on-stabilo)}.btn-stabilo:hover{filter:brightness(.96)}.btn-ghost{border-color:var(--border);color:var(--text);background:0 0}.btn-ghost:hover{background:var(--bg3)}.btn-danger{background:var(--danger-bg);color:var(--danger-text)}.btn-danger:hover{filter:brightness(.97)}.btn-quiet{color:var(--ink-2);background:0 0}.btn-quiet:hover{background:var(--bg3);color:var(--text)}.btn-sm{border-radius:var(--r-sm);min-height:34px;padding:0 12px;font-size:.78rem}.btn-lg{min-height:52px;padding:0 24px;font-size:1rem}.btn-block{width:100%}.badge{white-space:nowrap;background:var(--bg3);color:var(--ink-2);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;font-weight:700;line-height:1.5;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success-text)}.badge-warning{background:var(--warning-bg);color:var(--warning-text)}.badge-danger{background:var(--danger-bg);color:var(--danger-text)}.badge-accent{background:var(--accent-light);color:var(--accent-text)}.badge-info{background:var(--info-bg);color:var(--info-text)}.badge-stabilo,.badge-free{background:var(--stabilo);color:var(--on-stabilo)}.tag{letter-spacing:.03em;border-radius:var(--r-sm);background:var(--accent-light);color:var(--accent-text);padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-block}.alert{border-radius:var(--r-md);border:1px solid #0000;margin-bottom:18px;padding:13px 16px;font-size:.875rem;line-height:1.55}.alert-success{background:var(--success-bg);color:var(--success-text)}.alert-error{background:var(--danger-bg);color:var(--danger-text)}.alert-info{background:var(--info-bg);color:var(--info-text)}.alert-warning{background:var(--warning-bg);color:var(--warning-text)}.alert--with-icon{align-items:flex-start;gap:12px;display:flex}.alert__icon{flex:none;margin-top:1px;font-size:1.2rem}.alert--spaced-lg{margin-bottom:26px}.alert--flush{margin-bottom:0}.form-group{min-width:0;margin-bottom:18px}.form-group:last-child{margin-bottom:0}.form-label{color:var(--text);margin-bottom:7px;font-size:.84rem;font-weight:600;display:block}.form-control{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg2);width:100%;min-height:44px;color:var(--text);font:400 .9rem/1.45 var(--f-ui);padding:10px 14px;transition:border-color .15s,box-shadow .15s}textarea.form-control{resize:vertical;min-height:110px;line-height:1.6}select.form-control{padding-right:34px}.form-control::placeholder{color:var(--muted)}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.form-hint{color:var(--muted);margin-top:6px;font-size:.75rem;line-height:1.5}.form-error{color:var(--danger-text);margin-top:6px;font-size:.75rem;line-height:1.5}.help{display:inline-flex;position:relative}.help__btn{color:var(--muted);cursor:pointer;border-radius:50%;line-height:0;list-style:none;display:inline-flex}.help__btn::-webkit-details-marker{display:none}.help__btn:hover,.help[open] .help__btn{color:var(--text)}.help__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.help__btn .ti{font-size:15px}.help__text{z-index:20;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-sm);width:max-content;max-width:280px;box-shadow:var(--shadow-lg);color:var(--text);padding:8px 10px;font-size:.78rem;font-weight:400;line-height:1.5;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.help[open]>.help__text{display:block}.form-check{cursor:pointer;align-items:flex-start;gap:10px;font-size:.875rem;display:flex}.form-check input{width:17px;height:17px;accent-color:var(--accent);flex:none;margin-top:2px}.form-check+.form-check{margin-top:10px}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card+.form-actions,form>.form-actions{margin-top:var(--gap)}.inline-form{display:inline}.password-field{position:relative}.password-field .form-control,.password-field input{padding-right:46px}.password-field__toggle{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-field__toggle:hover{color:var(--text);background:var(--bg3)}.avatar-field{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.avatar-field input[type=file]{font-size:.8rem}.avatar-preview{background:var(--accent-light);width:72px;height:72px;font:700 1.5rem/1 var(--f-ui);color:var(--accent-text);border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}.avatar-preview img{object-fit:cover;width:100%;height:100%}.switch{cursor:pointer;align-items:center;gap:10px;font-size:.875rem;display:inline-flex;position:relative}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch span.track{background:var(--border);border-radius:999px;flex:none;width:40px;height:23px;transition:background .15s;position:relative}.switch span.track:after{content:"";background:var(--bg2);border-radius:50%;width:17px;height:17px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.switch input:checked+span.track{background:var(--accent)}.switch input:checked+span.track:after{transform:translate(17px)}.switch input:focus-visible+span.track{outline:2px solid var(--accent);outline-offset:2px}.table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}.table-scroll table,table.table{border-collapse:collapse;width:100%;font-size:.875rem}.table-scroll th,table.table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 18px;font-size:.7rem;font-weight:700}.table-scroll td,table.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 18px}.table-scroll tbody tr:last-child td,table.table tbody tr:last-child td{border-bottom:0}.table-scroll tbody tr:hover td,table.table tbody tr:hover td{background:var(--bg3)}.card:not(.card--flush)>.table-scroll{margin:calc(-1 * var(--pad))}.card:not(.card--flush)>.card-head+.table-scroll{margin-top:0}@media(max-width:640px){.table-scroll table.is-stacked thead{display:none}.table-scroll table.is-stacked,.table-scroll table.is-stacked tbody{width:100%;display:block}.table-scroll table.is-stacked tr{padding:12px var(--pad);border-bottom:1px solid var(--border);display:block}.table-scroll table.is-stacked tbody tr:last-child{border-bottom:0}.table-scroll table.is-stacked tbody tr:hover td{background:0 0}.table-scroll table.is-stacked td{text-align:right;white-space:normal;border:0;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;display:flex}.table-scroll table.is-stacked td:before{content:attr(data-label);text-align:left;letter-spacing:.06em;text-transform:uppercase;max-width:45%;color:var(--muted);flex:none;font-size:.72rem;font-weight:700}.table-scroll table.is-stacked td:first-child{text-align:left;padding-top:0;display:block}.table-scroll table.is-stacked td:first-child:before,.table-scroll table.is-stacked td[data-label=""]:before{display:none}.table-scroll table.is-stacked td.cell-actions,.table-scroll table.is-stacked td[data-label=""]{justify-content:flex-end;padding-top:10px}.table-scroll table.is-stacked td.table-empty{text-align:center;display:block;padding:24px 0!important}.card:not(.card--flush)>.table-scroll table.is-stacked tr{padding-left:0;padding-right:0}}.table-empty{text-align:center;color:var(--muted);padding:32px!important}.table-empty--sm{padding:22px!important}.cell-title{color:var(--text);font-weight:600}.cell-emoji{font-size:1.2rem}.cell-actions{text-align:right;white-space:nowrap}.cell-actions>*+*{margin-left:6px}@media(max-width:700px){.cell-actions{white-space:normal}}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--stat-min,170px)),1fr));gap:var(--gap);margin-bottom:var(--gap);display:grid}.stat-grid--spaced-lg{margin-bottom:var(--gap-section)}.stat-grid--flush{margin-bottom:0}.stat{align-items:center;gap:14px;padding:18px 20px;display:flex}.stat__icon{border-radius:var(--r-md);background:var(--accent-light);width:44px;height:44px;color:var(--accent-text);flex:none;place-items:center;font-size:1.3rem;display:grid}.stat__value{font:700 1.55rem/1.1 var(--f-display);letter-spacing:-.01em}.stat__label{color:var(--muted);margin-top:2px;font-size:.78rem}.stat--success .stat__icon{background:var(--success-bg);color:var(--success-text)}.stat--warning .stat__icon{background:var(--warning-bg);color:var(--warning-text)}.stat--info .stat__icon{background:var(--info-bg);color:var(--info-text)}@media(max-width:560px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px}.stat__icon{width:36px;height:36px;font-size:1.1rem}.stat__value{font-size:1.35rem}}.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px}.stat-value{font:700 1.55rem/1.1 var(--f-display)}.stat-label{color:var(--muted);font-size:.78rem}.progress-bar{background:var(--bg3);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:inherit;height:100%;transition:width .3s}.progress-bar.thin{height:5px}.blank-slate{text-align:center;background:var(--bg2);border:1px dashed var(--border);border-radius:var(--r-lg);padding:clamp(36px,6vw,56px) clamp(18px,4vw,24px)}.blank-slate--spaced{margin-bottom:var(--gap-section)}.blank-slate__icon{color:var(--accent);margin-bottom:12px;font-size:2.2rem;line-height:1}.blank-slate__title{font:700 1.3rem/1.25 var(--f-display);margin-bottom:8px}.blank-slate__text{color:var(--muted);max-width:46ch;margin:0 auto 20px;font-size:.9rem}.blank-slate__text--last{margin-bottom:0}.blank-slate__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.media-row{align-items:center;gap:var(--media-gap,14px);color:inherit;flex-wrap:wrap;text-decoration:none;display:flex}a.media-row:hover{border-color:var(--accent)}.media-row__body{flex:1;min-width:200px}.icon-tile{border-radius:var(--r-md);background:var(--accent-light);width:44px;height:44px;color:var(--accent-text);flex:none;place-items:center;font-size:1.3rem;display:grid}.panel-switch{position:relative}.panel-switch-trigger{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg2);width:100%;color:var(--text);cursor:pointer;font:600 .84rem/1 var(--f-ui);align-items:center;gap:10px;padding:10px 12px;display:flex}.panel-switch-trigger:hover{border-color:var(--accent)}.panel-switch-trigger i{color:var(--accent-text);font-size:1.05rem}.panel-switch-label{text-align:left;flex:1}.panel-switch-caret{color:var(--muted)!important}.panel-switch-menu{z-index:30;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0}.panel-switch-item{border-radius:var(--r-sm);color:var(--text);align-items:center;gap:10px;padding:9px 10px;font-size:.85rem;text-decoration:none;display:flex}.panel-switch-item:hover{background:var(--bg3)}.panel-switch-item.is-active{background:var(--accent-light);color:var(--accent-text);font-weight:600}.panel-switch-item i{text-align:center;width:18px}.panel-switch-check{margin-left:auto}.mode-pilih,.pemilik-pilih,.pw-metode{text-align:center;border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;color:var(--muted);background:var(--bg2);flex:1;padding:10px;font-size:.82rem;transition:all .15s}.mode-pilih.active,.pemilik-pilih.active,.pw-metode.active{border-color:var(--accent);background:var(--accent-light);color:var(--accent-text);font-weight:600}.pw-metode{min-width:110px;padding:9px 8px;font-size:.78rem}.av{--s:40px;width:var(--s);height:var(--s);font-weight:700;font-size:calc(var(--s) * .36);background:var(--accent-light);color:var(--accent-text);border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}.av img{object-fit:cover;width:100%;height:100%}.av--sm{--s:30px}.av--lg{--s:64px}.av--xl{--s:96px}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--text);color:var(--bg);border-radius:var(--r-md);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;z-index:1000;padding:12px 18px;font-size:.875rem;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tabs a,.tabs button{font:600 .875rem/1 var(--f-ui);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:11px 14px;text-decoration:none}.tabs [aria-current=page],.tabs [aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}code,kbd{font-family:var(--f-mono);background:var(--bg3);border-radius:5px;padding:1px 6px;font-size:.88em}.theme-toggle{background:var(--bg3);border:1px solid var(--border);border-radius:999px;gap:2px;padding:2px;display:inline-flex}.theme-toggle button{cursor:pointer;min-width:34px;min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:999px;place-items:center;padding:0 9px;display:inline-grid}.theme-toggle button.on{background:var(--bg2);color:var(--text);box-shadow:0 1px 2px #0000001f}.facts{grid-template-columns:max-content 1fr;gap:10px 24px;margin:0;font-size:.9rem;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.crumb{color:var(--muted);align-items:center;gap:6px;margin-bottom:12px;font-size:.82rem;text-decoration:none;display:inline-flex}.crumb:hover{color:var(--text)}.erow{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:13px 18px;display:flex}.erow:last-child{border-bottom:0}a.erow{color:inherit;text-decoration:none}a.erow:hover{background:var(--bg3)}.erow__no{font:500 .78rem/1 var(--f-mono);color:var(--muted);text-align:right;flex:none;width:26px}.erow__icon{border-radius:var(--r-sm);background:var(--accent-light);width:34px;height:34px;color:var(--accent-text);flex:none;place-items:center;display:grid}.erow__body{flex:1;min-width:0}.erow__title{font-size:.9rem;font-weight:600}.erow__meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:.74rem;display:flex}.erow__actions{flex:none;gap:6px;display:flex}.erow.is-inactive{opacity:.55}@media(max-width:640px){.erow{flex-wrap:wrap}.erow__actions{justify-content:flex-end;width:100%}}.link-plain{color:var(--text);text-decoration:none}.link-plain:hover{color:var(--accent-text);text-decoration:underline}.bars{align-items:flex-end;gap:clamp(3px,.8vw,8px);height:160px;display:flex}.bars__col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.card.stack>.bars:last-child{flex:160px;height:auto}.bars__bar{background:var(--bg3);border-radius:5px 5px 0 0;width:100%;min-height:3px}.bars__bar.is-filled{background:var(--accent)}.bars__val,.bars__label{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.7rem;line-height:1}@media(max-width:480px){.bars__val{display:none}.bars__col:nth-child(2n) .bars__label{visibility:hidden}}.modal{z-index:500;grid-template-columns:minmax(0,1fr);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal__backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#11182780;position:absolute;inset:0}.modal__panel{background:var(--bg2);border:1px solid var(--border);width:100%;max-height:calc(100dvh - 48px);box-shadow:var(--shadow-lg);border-radius:18px;flex-direction:column;animation:.18s ease-out modal-in;display:flex;position:relative}.modal__panel--md{max-width:560px}.modal__panel--lg{max-width:760px}.modal__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 16px;display:flex}.modal__title{font:700 1.4rem/1.2 var(--f-display);letter-spacing:-.01em;margin:0}.modal__sub{color:var(--muted);margin:4px 0 0;font-size:.84rem;line-height:1.5}.modal__x{border-radius:var(--r-sm);width:36px;height:36px;color:var(--muted);flex:none;place-items:center;margin:-4px -6px 0 0;font-size:1.15rem;text-decoration:none;display:grid}.modal__x:hover{background:var(--bg3);color:var(--text)}.modal__body{overscroll-behavior:contain;padding:20px 24px;overflow-y:auto}.modal__body .alert:first-child{margin-top:0}.modal__foot{border-top:1px solid var(--border);background:var(--bg);border-radius:0 0 18px 18px;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 24px;display:flex}body:has(.modal){overflow:hidden}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}@media(max-width:640px){.modal{align-items:end;padding:0}.modal__panel{border-radius:18px 18px 0 0;max-height:94dvh}.modal__foot{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));border-radius:0}.modal__foot .btn{flex:1 1 0}.modal__head,.modal__body,.modal__foot{padding-left:18px;padding-right:18px}}.settings{flex-direction:column;display:flex}.fsec{border-top:1px solid var(--border);grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:20px 48px;padding:28px 0;display:grid}.settings>.fsec:first-of-type{border-top:0;padding-top:4px}.fsec__title{font:600 1rem/1.35 var(--f-ui);margin:0 0 6px}.fsec__desc{color:var(--muted);max-width:38ch;margin:0;font-size:.86rem;line-height:1.6}.fsec__body{min-width:0}.settings__foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:24px;display:flex}@media(max-width:900px){.fsec{grid-template-columns:minmax(0,1fr);gap:12px;padding:22px 0}}.emoji-pick{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;display:grid}.emoji-pick label{position:relative}.emoji-pick input{opacity:0;cursor:pointer;position:absolute;inset:0}.emoji-pick span{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg2);cursor:pointer;place-items:center;height:44px;font-size:1.35rem;transition:border-color .12s,background .12s;display:grid}.emoji-pick input:checked+span{border-color:var(--accent);background:var(--accent-light);box-shadow:inset 0 0 0 1px var(--accent)}.emoji-pick input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.modal__body textarea.form-control{min-height:84px}.input-affix{align-items:stretch;display:flex}.input-affix>span{white-space:nowrap;border:1px solid var(--border);border-radius:var(--r-md) 0 0 var(--r-md);background:var(--bg3);color:var(--ink-2);border-right:0;place-items:center;padding:0 12px;font-size:.86rem;font-weight:600;display:grid}.input-affix>.form-control{border-radius:0 var(--r-md) var(--r-md) 0}.input-affix--end>span{border-left:0;border-right:1px solid var(--border);border-radius:0 var(--r-md) var(--r-md) 0;order:2}.input-affix--end>.form-control{border-radius:var(--r-md) 0 0 var(--r-md)}.cover-field{grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.cover-field>*{min-width:0}.cover-field__preview{aspect-ratio:16/9;border-radius:var(--r-md);border:1px dashed var(--border);background:var(--bg3);place-items:center;display:grid;position:relative;overflow:hidden}.cover-field__preview img{object-fit:cover;width:100%;height:100%}.cover-field__empty{color:var(--muted);align-items:center;gap:8px;font-size:.84rem;display:flex}@media(max-width:640px){.cover-field{grid-template-columns:minmax(0,1fr)}}.file-pick{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg2);align-items:center;gap:12px;min-width:0;max-width:100%;min-height:44px;padding:5px;display:flex;position:relative}.file-pick:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.file-pick input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-pick__btn{flex:none;min-height:34px}.file-pick__name{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.86rem;overflow:hidden}.file-pick.has-file .file-pick__name{color:var(--text)}.form-check__hint{color:var(--muted);margin-top:3px;font-size:.75rem;line-height:1.5;display:block}.form-check__hint--warning{color:var(--warning-text)}.threshold-row{grid-template-columns:auto 88px auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}@media(max-width:480px){.threshold-row{grid-template-columns:auto minmax(0,1fr) auto}.threshold-row__arrow{display:none}.threshold-row__label{grid-area:2/1/auto/-1}}.choice-row{align-items:center;gap:10px;display:flex}.choice-row>input[type=radio]{width:17px;height:17px;accent-color:var(--accent);flex:none}.layout-public{--pub-max:1100px;--pub-gutter:24px;--pub-section:80px;background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--f-ui);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;line-height:1.6;display:flex}@media(max-width:600px){.layout-public{--pub-gutter:16px;--pub-section:56px}}.layout-public main{flex:1}:where(.layout-public) a{color:inherit;text-decoration:none}:where(.layout-public) :where(h1,h2,h3,h4,p){margin:0}.pub-wrap{width:100%;max-width:calc(var(--pub-max) + var(--pub-gutter) * 2);padding-inline:var(--pub-gutter);margin:0 auto}.pub-wrap--narrow{--pub-max:760px}.pub-wrap--slim{--pub-max:640px}.navbar{z-index:100;background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.navbar{background:color-mix(in srgb,var(--bg) 85%,transparent)}}.navbar{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.navbar-inner{align-items:center;gap:32px;height:64px;display:flex}.navbar-brand{white-space:nowrap;color:var(--accent);align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:flex}.navbar-brand .ti{font-size:1.15rem}.navbar-links{color:var(--muted);align-items:center;gap:24px;font-size:.88rem;font-weight:500;display:flex}.navbar-links>a{transition:color .15s}.navbar-links>a:hover,.navbar-links>a[aria-current=page]{color:var(--text)}.navbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.navbar-auth{align-items:center;gap:10px;display:flex}.navbar-auth form{display:contents}.navbar-links-auth{display:none}.navbar-toggle{border:1px solid var(--border);width:38px;height:38px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:1.1rem;display:none}@media(max-width:900px){.navbar-inner{gap:16px}.navbar-toggle{display:inline-flex}.navbar-auth,.navbar-right .theme-toggle{display:none}.navbar-links{padding:0 var(--pub-gutter);background:var(--bg2);border-bottom:1px solid var(--border);visibility:hidden;flex-direction:column;align-items:stretch;gap:0;max-height:0;transition:max-height .25s,visibility .25s;position:absolute;top:64px;left:0;right:0;overflow:hidden}.navbar-links.open{visibility:visible;max-height:calc(100vh - 64px);padding-block:8px 16px;overflow-y:auto}.navbar-links>a{border-bottom:1px solid var(--border);padding:12px 0;font-size:.95rem}.navbar-links-auth{flex-direction:column;gap:10px;padding-top:16px;display:flex}.navbar-links-auth form{display:block}.navbar-links-auth .btn{width:100%}.navbar-links-auth .theme-toggle{align-self:flex-start}}.layout-public .btn{border-radius:8px;gap:6px;min-height:40px;padding:0 20px;font-size:.875rem}.layout-public .btn-sm{min-height:34px;padding:0 14px;font-size:.8rem}.layout-public .btn-lg{min-height:50px;padding:0 28px;font-size:1rem}.layout-public .btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.layout-public .card{border-radius:14px;padding:24px}.layout-public .form-label{color:var(--muted);margin-bottom:6px;font-size:.8rem;font-weight:600}.layout-public .form-control{background:var(--bg3);border-radius:10px;min-height:46px;padding:12px 14px;font-size:.9rem}.layout-public .alert{border-radius:10px}.layout-public .alert-success{border-color:#05966933}.layout-public .alert-error{border-color:#dc262633}.layout-public .alert-info{background:var(--accent-light);color:var(--accent-text);border-color:#6366f133}.layout-public .badge{border-radius:100px;padding:3px 10px;font-size:.72rem;font-weight:700}.flash-wrap{width:100%;max-width:calc(var(--pub-max) + var(--pub-gutter) * 2);padding-inline:var(--pub-gutter);margin:16px auto 0}.flash-wrap .alert{margin:0}.footer{margin-top:var(--pub-section);background:var(--bg2);border-top:1px solid var(--border);padding:48px 0 24px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;display:grid}.footer-brand{align-items:center;gap:8px;margin-bottom:12px;font-size:1.05rem;font-weight:700;display:flex}.footer-brand .ti{color:var(--accent)}.footer-desc{max-width:40ch;color:var(--muted);font-size:.85rem;line-height:1.7}.footer-col h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 12px;font-size:.8rem;font-weight:700}.footer-col a{color:var(--muted);margin-bottom:8px;font-size:.88rem;transition:color .15s;display:block}.footer-col a:hover{color:var(--text)}.footer-bottom{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:32px;padding-top:20px;font-size:.82rem;display:flex}.layout-public main:has(>.pub-flush-end:last-child)+.footer{margin-top:0}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}.footer-grid>:first-child{grid-column:1/-1}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}.hero{text-align:center;justify-content:center;align-items:center;min-height:min(88vh,760px);padding:80px 0 64px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(80% 60% at 50% 0,#6c3ff52e,#0000 70%);position:absolute;inset:0}.hero>.pub-wrap{position:relative}.hero-eyebrow{color:#a78bfa;background:#6c3ff51a;border:1px solid #6c3ff540;border-radius:100px;align-items:center;gap:8px;margin-bottom:28px;padding:6px 16px;font-size:.8rem;font-weight:700;display:inline-flex}[data-theme=light] .hero-eyebrow{color:#7c3aed}.hero h1{letter-spacing:-.02em;text-wrap:wrap;max-width:900px;margin:0 auto 20px;font-size:clamp(2.2rem,6vw,4.2rem);font-weight:800;line-height:1.15}.grad{background:linear-gradient(135deg,var(--orange),var(--orange-light),var(--purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-sub{max-width:580px;color:var(--muted);margin:0 auto 36px;font-size:1.05rem;line-height:1.75}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.hero-badges{flex-wrap:wrap;justify-content:center;gap:12px 24px;margin-top:48px;display:flex}.hero-badge{color:var(--muted);align-items:center;gap:8px;font-size:.82rem;display:flex}.hero-badge:before{content:"";background:var(--purple);border-radius:50%;flex:none;width:7px;height:7px}.stats{border-block:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid}.stat-item{text-align:center;padding:32px 24px}.stat-item+.stat-item{border-left:1px solid var(--border)}.stat-num{font-variant-numeric:tabular-nums;background:linear-gradient(135deg,var(--orange),var(--purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;line-height:1.2}.stat-label{color:var(--muted);margin-top:4px;font-size:.82rem}.section{padding-block:var(--pub-section)}.section--band{background:var(--bg2);border-block:1px solid var(--border)}.section--center{text-align:center}.section--center .section-sub{margin-inline:auto}.section-eyebrow{color:var(--purple);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-size:.78rem;font-weight:700}.section-title{letter-spacing:-.01em;text-wrap:balance;margin-bottom:16px;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;line-height:1.2}.section-sub{max-width:560px;color:var(--muted);font-size:.95rem;line-height:1.75}.section-more{text-align:center;margin-top:32px}.persona-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:40px;display:grid}.persona-card{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:28px;transition:border-color .3s,transform .3s}.persona-card:hover{border-color:#6c3ff54d;transform:translateY(-3px)}.persona-icon{color:var(--accent);margin-bottom:14px;font-size:2rem;line-height:1}.persona-title{margin-bottom:12px;font-size:1.05rem;font-weight:700}.persona-points{margin:0;padding:0;list-style:none}.persona-points li{color:var(--muted);gap:8px;padding:5px 0;font-size:.875rem;display:flex}.persona-points li:before{content:"✓";color:var(--purple);flex:none;font-weight:700}.steps{grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px;display:grid;position:relative}.steps:before{content:"";background:linear-gradient(90deg,var(--purple),var(--orange));opacity:.3;height:2px;position:absolute;top:28px;left:calc(12.5% + 12px);right:calc(12.5% + 12px)}.step{text-align:center;position:relative}.step-num{background:linear-gradient(135deg,var(--purple),var(--purple-dark));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;font-size:1.1rem;font-weight:800;display:flex;box-shadow:0 0 24px #6c3ff54d}.step-title{margin-bottom:8px;font-weight:700}.step-desc{color:var(--muted);font-size:.82rem;line-height:1.6}.instructors-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;display:grid}.instructor-card{background:var(--bg2);border:1px solid var(--border);text-align:center;border-radius:20px;padding:24px}.section--band .instructor-card{background:var(--bg)}.instructor-avatar{background:linear-gradient(135deg,var(--purple),var(--orange));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 14px;font-size:2rem;font-weight:700;display:flex;overflow:hidden}.instructor-avatar img{object-fit:cover;width:100%;height:100%}.instructor-name{margin-bottom:4px;font-size:.9rem;font-weight:700}.instructor-title{color:var(--purple);margin-bottom:4px;font-size:.78rem;font-weight:600}.instructor-uni{color:var(--muted);font-size:.75rem}.instructor-count{color:var(--muted);margin-top:10px;font-size:.75rem}.trust{background:var(--bg3);border:1px solid var(--border);text-align:center;border-radius:20px;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;padding:28px;display:grid}.trust__icon{color:var(--accent);margin-bottom:8px;font-size:1.5rem;line-height:1}.trust__title{margin-bottom:6px;font-weight:700}.trust__text{color:var(--muted);font-size:.8rem;line-height:1.6}.cert-cta{text-align:center;max-width:640px;margin:0 auto}.cert-cta .section-sub{margin:0 auto 28px}.cert-cta__form{gap:10px;max-width:440px;margin:0 auto;display:flex}.cert-cta__form .form-control{background:var(--bg2);min-width:0;font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;flex:1}.cert-cta__note{color:var(--muted);margin-top:14px;font-size:.78rem}.faq-list{text-align:left;max-width:720px;margin:40px auto 0}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:.9rem;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--purple);flex:none;font-size:1.2rem;font-weight:400;line-height:1;transition:transform .3s}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{color:var(--muted);padding-bottom:18px;font-size:.875rem;line-height:1.75}.cta-section{padding-block:var(--pub-section);background:linear-gradient(135deg,var(--bg2),var(--bg3));border-bottom:1px solid var(--border);text-align:center}.cta-section h2{text-wrap:balance;margin-bottom:16px;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;line-height:1.2}.cta-section p{max-width:500px;color:var(--muted);margin:0 auto 32px;font-size:.95rem}@media(max-width:900px){.instructors-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr);row-gap:32px}.steps:before{display:none}.trust{grid-template-columns:1fr;gap:20px}}@media(max-width:600px){.hero{min-height:0;padding:56px 0 48px}.hero-sub{margin-bottom:28px;font-size:1rem}.hero-ctas .btn{flex:100%}.hero-badges{flex-direction:column;align-items:center;gap:10px;margin-top:36px}.stats{grid-template-columns:repeat(2,1fr)}.stat-item{padding:24px 12px}.stat-item:nth-child(odd){border-left:0}.stat-item:nth-child(n+3){box-shadow:inset 0 1px var(--border)}.stat-num{font-size:1.6rem}.persona-grid{grid-template-columns:1fr}.persona-card{padding:22px}.steps{grid-template-columns:1fr}.instructors-grid{grid-template-columns:1fr 1fr;gap:12px}.instructor-card{padding:20px 12px}.cert-cta__form{flex-direction:column}.cta-section .hero-ctas .btn{flex:100%}}.mgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,272px),1fr));gap:20px;display:grid}.mcard{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;min-width:0;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;overflow:hidden}.mcard:hover{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-3px)}@supports (color:color-mix(in lab,red,red)){.mcard:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}}.mcard__cover{aspect-ratio:16/9;background:linear-gradient(135deg,transparent 0 46%,var(--chalk) 46% 54%,transparent 54%) 0 0 / 22px 22px,linear-gradient(150deg,#4f46e5,#312e81);color:#fff;place-items:center;text-decoration:none;display:grid;position:relative;overflow:hidden}.mcard__cover img{object-fit:cover;width:100%;height:100%}.mcard__glyph{color:#ffffffe6;filter:drop-shadow(0 6px 14px #0000004d);font-size:2.6rem;line-height:1}.mcard__flag{position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #0000002e}.mcard__body{flex-direction:column;flex:1;gap:10px;padding:16px 18px 18px;display:flex}.mcard__meta{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:.74rem;font-weight:600;display:flex}.mcard__meta span+span:before{content:"·";margin-right:6px}.mcard__title{font:700 1.12rem/1.3 var(--f-display);letter-spacing:-.005em;margin:0}.mcard__title a{color:var(--text);text-decoration:none}.mcard__title a:hover{color:var(--accent-text)}.mcard__by{align-items:center;gap:9px;font-size:.8rem;line-height:1.25;display:flex}.mcard__by strong{font-weight:600;display:block}.mcard__by small{color:var(--muted);font-size:.74rem}.mcard__progress{color:var(--muted);align-items:center;gap:10px;font-size:.74rem;display:flex}.mcard__progress .progress-bar{flex:1}.mcard__foot{border-top:1px dashed var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.mcard__price{font:700 1.1rem/1 var(--f-display);font-variant-numeric:tabular-nums}.mcard__foot .btn{min-height:36px;padding:0 14px;font-size:.8rem}.catalog-head{padding:48px 0 24px}.catalog-head h1{font:700 clamp(2rem,4.2vw,2.8rem)/1.05 var(--f-display);letter-spacing:-.02em;margin:0 0 8px}.catalog-head p{color:var(--muted);margin:0}.catalog-tools{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:28px;display:flex}.search-box{flex:280px;max-width:420px;position:relative}.search-box i{color:var(--muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-box .form-control{padding-left:40px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);background:var(--bg2);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--accent);color:var(--text)}.chip[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip small{opacity:.65;font-weight:500}.mhero{border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--bg3),var(--bg));padding:40px 0 36px}.mhero__grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:40px;display:grid}.mhero__crumb{color:var(--muted);align-items:center;gap:6px;font-size:.82rem;text-decoration:none;display:inline-flex}.mhero__crumb:hover{color:var(--text)}.mhero__tags{flex-wrap:wrap;gap:8px;margin:18px 0 14px;display:flex}.mhero h1{font:700 clamp(2rem,4.4vw,3rem)/1.06 var(--f-display);letter-spacing:-.02em;margin:0 0 14px}.mhero__lead{color:var(--ink-2);max-width:62ch;margin:0 0 22px;font-size:1.04rem;line-height:1.7}.mhero__facts{color:var(--ink-2);flex-wrap:wrap;gap:22px;font-size:.86rem;display:flex}.mhero__facts span{align-items:center;gap:7px;display:inline-flex}.mhero__facts i{color:var(--accent-text);font-size:1.1rem}.buybox{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);position:sticky;top:88px;overflow:hidden}.buybox__cover{aspect-ratio:16/9;background:linear-gradient(150deg,#4f46e5,#312e81);place-items:center;font-size:3rem;display:grid}.buybox__cover img{object-fit:cover;width:100%;height:100%}.buybox__body{flex-direction:column;gap:14px;padding:22px;display:flex}.buybox__price{font:700 2rem/1 var(--f-display);font-variant-numeric:tabular-nums}.buybox__note{color:var(--muted);font-size:.8rem;line-height:1.55}.buybox__list{gap:9px;margin:0;padding:0;font-size:.86rem;list-style:none;display:grid}.buybox__list li{align-items:flex-start;gap:9px;display:flex}.buybox__list i{color:var(--accent-text);margin-top:2px}.buybox__state{align-items:center;gap:8px;font-weight:700;display:flex}.mbody{padding-top:36px}.mbody__main{flex-direction:column;gap:36px;min-width:0;max-width:760px;display:flex}.mbody h2{font:700 1.4rem/1.2 var(--f-display);letter-spacing:-.01em;margin:0 0 14px}.desc{color:var(--ink-2);white-space:pre-line;line-height:1.85}.syllabus{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg2);overflow:hidden}.syllabus__head{border-bottom:1px solid var(--border);color:var(--muted);background:var(--bg3);justify-content:space-between;gap:10px;padding:14px 18px;font-size:.8rem;display:flex}.lrow{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:14px;padding:14px 18px;text-decoration:none;display:flex}.lrow:last-child{border-bottom:0}a.lrow:hover{background:var(--bg3)}.lrow__no{width:30px;height:30px;font:600 .78rem/1 var(--f-mono);background:var(--bg3);color:var(--ink-2);border-radius:50%;flex:none;place-items:center;display:grid}.lrow.is-done .lrow__no{background:var(--accent);color:var(--on-accent)}.lrow.is-current{background:var(--accent-light)}.lrow__body{flex:1;min-width:0}.lrow__title{font-size:.92rem;font-weight:600;line-height:1.35}.lrow__sub{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:3px;font-size:.75rem;display:flex}.lrow__sub span{align-items:center;gap:4px;display:inline-flex}.lrow__end{color:var(--muted);flex:none;align-items:center;gap:8px;font-size:.78rem;display:flex}.lrow.is-locked .lrow__title{color:var(--ink-2)}.lrow.is-locked .lrow__end i{font-size:1.05rem}.callout{border-radius:var(--r-lg);background:var(--bg2);border:1px solid var(--border);flex-wrap:wrap;align-items:flex-start;gap:14px;padding:18px 20px;display:flex}.callout>div{flex:220px;min-width:0}.callout>.btn{flex:none;align-self:center}.callout__icon{border-radius:var(--r-md);background:var(--stabilo);width:42px;height:42px;color:var(--on-stabilo);flex:none;place-items:center;font-size:1.25rem;display:grid}.callout h3{margin:0 0 4px;font-size:.98rem}.callout p{color:var(--ink-2);margin:0;font-size:.86rem;line-height:1.6}.callout a{color:var(--accent-text);font-weight:600}.teacher__name{font:700 1.15rem/1.2 var(--f-display)}.teacher__role{color:var(--muted);margin:3px 0 10px;font-size:.84rem}.teacher__bio{color:var(--ink-2);margin:0;font-size:.9rem;line-height:1.75}@media(max-width:960px){.mhero__grid{grid-template-columns:minmax(0,1fr)}.buybox{position:static}}.pub-page{padding-block:48px}.pub-page--roomy{padding-block:64px}.pub-head{margin-bottom:28px}.pub-head--spaced{margin-bottom:40px}.pub-head--center{text-align:center}.pub-head h1{letter-spacing:-.01em;margin-bottom:8px;font-size:clamp(1.6rem,4vw,2rem);font-weight:800;line-height:1.25}.pub-head p{color:var(--muted)}.pub-back{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.pub-back:hover{color:var(--text)}.pub-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:32px;display:flex}.pub-stack{gap:16px;display:grid}.pub-stack--lg{gap:24px}.pub-card h2{align-items:center;gap:8px;margin-bottom:12px;font-size:1.1rem;font-weight:600;display:flex}.pub-card h2 .ti{color:var(--accent)}.pub-card p{color:var(--muted);line-height:1.8}.pub-card--legal h2{margin-bottom:8px;font-size:1rem}.pub-card--legal p{font-size:.9rem}.pub-card a{color:var(--accent)}.contact-card{align-items:center;gap:16px;display:flex}.contact-card__icon{background:var(--accent-light);width:44px;height:44px;color:var(--accent);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.contact-card__label{margin-bottom:2px;font-weight:600}.contact-card__value{color:var(--accent);overflow-wrap:anywhere;font-size:.9rem}.hours{color:var(--muted);margin:0;font-size:.9rem;line-height:1.8}.catalog-search{gap:10px;max-width:420px;margin-bottom:20px;display:flex}.catalog-search .form-control{flex:1;min-width:0}.catalog-search .btn{flex:none;width:46px;min-height:46px;padding:0}.catalog-filter{flex-wrap:wrap;gap:10px;margin-bottom:32px;display:flex}.catalog-filter small{opacity:.6;font-size:inherit}.courses-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;display:grid}.courses-grid--catalog{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:0}.course-card{background:var(--bg2);border:1px solid var(--border);border-radius:20px;flex-direction:column;transition:border-color .3s,transform .3s,box-shadow .3s;display:flex;overflow:hidden}.section--band .course-card{background:var(--bg)}.course-card:hover{border-color:#6366f159;transform:translateY(-4px);box-shadow:0 20px 40px #0000002e}.course-thumb{background:linear-gradient(135deg,var(--bg3),var(--bg2));height:160px;color:var(--accent);justify-content:center;align-items:center;font-size:3rem;display:flex;overflow:hidden}.courses-grid--catalog .course-thumb{height:140px}.course-thumb img{object-fit:cover;width:100%;height:100%;display:block}.course-body{flex-direction:column;flex:1;padding:20px;display:flex}.course-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.course-meta__cat{color:var(--muted);font-size:.72rem}.course-title{margin-bottom:8px;font-size:.98rem;font-weight:700;line-height:1.4}.course-desc{color:var(--muted);flex:1;font-size:.82rem;line-height:1.6}.course-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;display:flex}.course-price{color:var(--orange);white-space:nowrap;font-size:.9rem;font-weight:700}.courses-grid--catalog .course-price{color:var(--text)}.course-instructor{min-width:0;color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.course-action{margin-top:12px}.pager{margin-top:32px}.detail-tags{flex-wrap:wrap;gap:8px;margin:20px 0 12px;display:flex}.detail-title{margin-bottom:12px;font-size:clamp(1.6rem,4vw,2rem);font-weight:800;line-height:1.3}.detail-by{color:var(--muted);margin-bottom:28px;font-size:.9rem}.detail-by strong{color:var(--text)}.detail-buy{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 20px;margin-bottom:32px;display:flex}.detail-buy__state{margin-bottom:4px;font-weight:700}.detail-buy__state .ti{color:var(--success-text)}.detail-buy__price{font-size:1.5rem;font-weight:800;line-height:1.3}.detail-buy__note{color:var(--muted);font-size:.85rem}.detail-buy__actions{flex-wrap:wrap;gap:10px;display:flex}.detail-progress{margin:-16px 0 28px}.detail-block{margin-bottom:36px}.detail-block h2{margin-bottom:12px;font-size:1.1rem;font-weight:700}.detail-block h2 small{color:var(--muted);font-size:.9rem;font-weight:400}.detail-desc{color:var(--muted);white-space:pre-line;line-height:1.8}.lesson-row{background:var(--bg2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:14px;margin-bottom:8px;padding:14px 16px;display:flex}a.lesson-row:hover{border-color:#6366f159}.lesson-row__no{min-width:22px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.lesson-row__icon{color:var(--accent)}.lesson-row__body{flex:1;min-width:0}.lesson-row__title{font-size:.9rem;font-weight:600;display:block}.lesson-row__sub{color:var(--muted);font-size:.75rem;display:block}.lesson-row__end{color:var(--muted);flex:none;align-items:center;gap:8px;font-size:.8rem;display:flex}.lesson-row.is-done .lesson-row__icon{color:var(--success-text)}.detail-note{align-items:center;gap:12px;margin-bottom:28px;display:flex}.detail-note>.ti{color:var(--accent);flex:none;font-size:1.4rem}.detail-note__title{font-weight:700}.detail-note__text{color:var(--muted);font-size:.85rem}.detail-plans{background:var(--bg2);border:1px solid var(--border);text-align:center;border-radius:16px;padding:24px}.detail-plans p{color:var(--muted);margin-bottom:14px;font-size:.9rem}.teacher{align-items:flex-start;gap:14px;display:flex}.teacher__avatar{background:linear-gradient(135deg,var(--purple),var(--orange));color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:52px;height:52px;font-weight:700;display:flex;overflow:hidden}.teacher__avatar img{object-fit:cover;width:100%;height:100%}.teacher__name{font-weight:700}.teacher__role{color:var(--purple);font-size:.8rem;font-weight:600}.teacher__bio{color:var(--muted);margin-top:6px;font-size:.85rem;line-height:1.7}.plan-heading{margin-bottom:6px;font-size:1.2rem;font-weight:700}.plan-sub{color:var(--muted);margin-bottom:20px;font-size:.9rem}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:48px;display:grid}.plan-grid:last-child{margin-bottom:0}.plan-card{flex-direction:column;gap:14px;display:flex}.plan-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.plan-card__name{font-size:1.05rem;font-weight:700}.plan-card__term{color:var(--muted);font-size:.85rem}.plan-card__price{font-size:1.8rem;font-weight:800;line-height:1}.plan-card__was{color:var(--muted);margin-left:8px;font-size:.9rem;font-weight:400;text-decoration:line-through}.plan-card__desc{color:var(--muted);flex:1;font-size:.85rem;line-height:1.6}.plan-card__list{color:var(--muted);flex-direction:column;gap:6px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.plan-card__list .ti-check{color:#22c55e}.plan-card__list .ti-book{color:var(--accent)}.plan-card .btn{margin-top:auto}.cert-icon{color:var(--accent);margin-bottom:12px;font-size:2.5rem;line-height:1}.cert-icon--valid{color:var(--success-text)}.cert-icon--revoked{color:var(--warning-text)}.cert-form__row{gap:8px;display:flex}.cert-form__row .form-control{min-width:0;font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;flex:1;font-size:1rem}.cert-form__row .btn{min-height:46px}.cert-why{color:var(--muted);margin-top:28px;font-size:.85rem;line-height:1.8}.cert-why strong{color:var(--text);margin-bottom:8px;display:block}.cert-result{text-align:left}.cert-result--valid{border-color:#22c55e4d}.cert-result--revoked{border-color:#ef44444d}.cert-facts{grid-template-columns:auto 1fr;align-items:start;gap:12px 24px;margin:0;font-size:.9rem;display:grid}.cert-facts dt{color:var(--muted)}.cert-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.auth-shell{min-height:calc(100vh - 64px);padding:32px var(--pub-gutter);justify-content:center;align-items:center;display:flex}.auth-shell__box{width:100%;max-width:var(--auth-w,420px)}.auth-head{text-align:center;margin-bottom:32px}.auth-head__icon{color:var(--accent);margin-bottom:12px;font-size:2.5rem;line-height:1;display:block}.auth-head h1{margin-bottom:6px;font-size:1.6rem;font-weight:800;line-height:1.3}.auth-head p{color:var(--muted);font-size:.9rem}.auth-head a,.auth-foot a,.auth-card a{color:var(--accent);font-weight:600}.auth-card{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:28px}.auth-card .form-group{margin-bottom:16px}.auth-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;font-size:.85rem;display:flex}.auth-row .form-check{color:var(--muted);font-size:.85rem}.auth-row a{font-weight:400}.auth-note{background:var(--accent-light);color:var(--accent-text);border:1px solid #6366f133;border-radius:10px;margin-bottom:20px;padding:12px 14px;font-size:.85rem;line-height:1.6}.auth-terms{color:var(--muted);margin-bottom:20px;font-size:.85rem}.auth-terms a{font-weight:400}.auth-foot{color:var(--muted);text-align:center;margin-top:20px;font-size:.85rem}.tombol-google{border:1px solid var(--border);background:var(--bg3);width:100%;color:var(--text);border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:11px 16px;font-size:.875rem;font-weight:600;transition:border-color .15s,background .15s;display:flex}.tombol-google:hover{background:var(--bg2);border-color:#6366f173}.auth-card a.tombol-google{color:var(--text)}.pemisah-atau{color:var(--muted);align-items:center;gap:12px;margin:18px 0;font-size:.75rem;display:flex}.pemisah-atau:before,.pemisah-atau:after{content:"";background:var(--border);flex:1;height:1px}@media(max-width:600px){.pub-page,.pub-page--roomy{padding-block:36px}.courses-grid{grid-template-columns:1fr}.catalog-search{max-width:none}.catalog-filter{gap:8px;margin-bottom:24px}.detail-buy{flex-direction:column;align-items:stretch}.detail-buy__actions .btn{flex:100%}.lesson-row{gap:10px;padding:12px}.lesson-row__icon{display:none}.cert-form__row{flex-direction:column}.cert-facts{grid-template-columns:1fr;gap:2px}.cert-facts dd{margin-bottom:10px}.auth-shell{align-items:flex-start;min-height:0;padding-top:40px}.auth-card{padding:22px 18px}}@media(min-width:601px)and (max-width:900px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-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}
