:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-page:#171717;--color-editor-grid:#00000038;--color-surface-deep:#19191b;--color-surface:#202022;--color-surface-raised:#242426;--color-surface-card:#252527;--color-control:#292929;--color-control-alt:#29292b;--color-track:#29292c;--color-control-hover:#383838;--color-option-hover:#303034;--color-skeleton-base:#2d2d30;--color-skeleton-highlight:#3a3a3e;--color-text:#eee;--color-text-strong:#fff;--color-text-soft:#ddd;--color-text-muted:#bbb;--color-text-subtle:#aaa;--color-text-dim:#999;--color-text-faint:#8f8f95;--color-text-disabled:#777;--color-border:#4b4b4b;--color-border-soft:#3b3b3e;--color-border-card:#3a3a3d;--color-border-input:#454548;--color-border-dialog:#454549;--color-border-track:#414146;--color-border-checkbox:#55555a;--color-scrollbar:#4b4b50;--color-accent:#22af4d;--color-accent-dark:#188b3e;--color-accent-gradient-start:#3acb66;--color-accent-gradient-end:#168b3c;--color-accent-light:#45c96a;--color-accent-pale:#69dc8b;--color-accent-soft-text:#82dca1;--color-accent-soft-surface:#173724;--color-accent-18:#22af4d2e;--color-accent-25:#22af4d40;--color-accent-90:#22af4de6;--color-danger:#ff8b8b;--color-danger-surface:#3a2024;--color-difficulty-easy:#7cc7ff;--color-difficulty-easy-bg:#182f40;--color-notification:#d95f66;--color-notification-text:#fff4f4;--color-difficulty-hard:#ff987a;--color-difficulty-hard-bg:#3b201b;--color-difficulty-harder:#ffca7a;--color-difficulty-harder-bg:#3b2c16;--color-xp:#ffe36c;--color-xp-bright:#ffe052;--color-xp-surface:#28230f;--color-xp-border:#66591f;--color-rating-total:#d96cff;--color-rating-student:var(--color-xp);--color-rating-author:var(--color-rating-total);--color-ranking-first:var(--color-xp);--color-ranking-second:var(--color-text-soft);--color-ranking-third:var(--color-difficulty-harder);--color-favorite:var(--color-rating-total);--color-favorite-text:var(--color-text-strong);--color-social-primary:var(--color-accent-dark);--color-social-primary-border:var(--color-accent);--color-navigation-item:var(--color-white-68);--color-navigation-item-hover:var(--color-text-strong);--color-navigation-hover-surface:var(--color-white-10);--color-navigation-hover-border:var(--color-white-10);--color-navigation-active:var(--color-accent);--color-navigation-active-border:var(--color-white-12);--color-glass-border:var(--color-white-12);--color-premium-base:#f4c84a;--color-premium-text:#f6d86c;--color-premium-dark:#b87812;--color-premium-deep:#c88b1c;--color-premium-mid:#d99b20;--color-premium-warm:#e7ad2e;--color-premium-light:#fff084;--color-premium-bright:#fff18f;--color-premium-highlight:#fff3a5;--color-overlay:#0000009e;--color-glass:#202022c7;--color-card-action:#141416c7;--color-card-action-hover:#2a2a2df0;--color-card-gradient:#0f0f11eb;--color-white-08:#ffffff14;--color-white-10:#ffffff1a;--color-white-12:#ffffff1f;--color-white-13:#ffffff21;--color-white-22:#ffffff38;--color-white-36:#ffffff5c;--color-white-68:#ffffffad;--color-white-88:#ffffffe0;--color-shadow-soft:#00000047;--color-shadow:#0000004d;--color-shadow-35:#0005;--color-shadow-50:#0008;--color-shadow-60:#0009;--color-shadow-67:#000a;--color-black:#000;--font-family-base:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:11px;--font-size-sm:12px;--font-size-label:13px;--font-size-body-sm:14px;--font-size-body:16px;--font-size-emphasis:18px;--font-size-title:20px;--font-size-heading-sm:22px;--font-size-level:23px;--font-size-heading:28px;--font-size-display-min:30px;--font-size-display-max:48px;--font-weight-bold:700;--font-weight-heavy:750;--font-weight-black:800;--line-height-tight:1;--line-height-title:1.15;--line-height-compact:1.2;--line-height-body:1.5;--letter-spacing-label:.05em;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-12:12px;--space-18:18px;--space-24:24px;--space-48:48px;--space-64:64px;--radius-2:2px;--radius-4:4px;--radius-6:6px;--radius-8:8px;--radius-12:12px;--radius-18:18px;--radius-24:24px;--radius-48:48px;--radius-64:64px;--control-height-compact:40px;--control-height-default:48px;--control-height-large:56px;--control-size-icon:var(--control-height-default);--control-icon-size:21px;--control-width-text:120px;--control-width-field:280px;--card-size-default:224px}.ui-button{justify-content:center;align-items:center;gap:var(--space-8);width:max-content;min-width:var(--control-width-text);height:var(--control-height-default);min-height:var(--control-height-default);padding:0 var(--space-18);font-family:var(--font-family-base);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);line-height:var(--line-height-compact);display:inline-flex}.ui-button svg{width:var(--control-icon-size);height:var(--control-icon-size);flex:none}.ui-button .ui-icon--outline{width:18px;height:18px}.ui-button--icon{width:var(--control-height-default);min-width:var(--control-height-default);padding:0}.ui-button--primary{color:var(--color-text-strong);background:var(--color-accent);border-color:var(--color-accent-light)}.ui-button--danger{color:var(--color-danger)}.ui-button--borderless{min-width:var(--control-height-default);box-shadow:none;background:0 0;border-color:#0000;padding:0}.ui-button--borderless:hover{background:var(--color-white-08);border-color:#0000}.ui-button--compact{height:var(--control-height-compact);min-height:var(--control-height-compact)}.ui-button--compact.ui-button--icon,.ui-button--compact.ui-button--borderless{width:var(--control-height-compact);min-width:var(--control-height-compact)}.ui-button--large{height:var(--control-height-large);min-height:var(--control-height-large)}.ui-field{gap:var(--space-8);width:min(100%, var(--control-width-field));color:var(--color-text-muted);font:var(--font-size-body-sm)/var(--line-height-compact) var(--font-family-base);display:grid}.ui-field small{color:var(--color-text-dim);font-size:var(--font-size-sm)}.ui-field--error small{color:var(--color-danger)}.ui-field--error .ui-input,.ui-field--error .ui-textarea{border-color:var(--color-danger)}.ui-input,.ui-textarea,.ui-color-picker{width:100%;min-width:0;height:var(--control-height-default);padding:0 var(--space-12);color:var(--color-text-strong);background:var(--color-control-alt);border:1px solid var(--color-border-input);border-radius:var(--radius-12);font:var(--font-size-body)/var(--line-height-compact) var(--font-family-base)}.ui-input:focus-visible,.ui-textarea:focus-visible,.ui-color-picker:focus-visible{border-color:var(--color-accent-light);box-shadow:0 0 0 3px var(--color-accent-25);outline:0}.ui-input:disabled,.ui-textarea:disabled,.ui-color-picker:disabled{opacity:.55;cursor:default}.ui-textarea{height:calc(var(--control-height-default) * 2);padding-block:var(--space-12);resize:vertical}.ui-color-field{position:relative}.ui-color-picker{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-6);cursor:pointer;display:flex}.ui-color-picker>span{border-radius:var(--radius-8);width:100%;height:100%;min-height:34px}.ui-color-picker>svg{flex:none;width:18px;height:18px;transform:rotate(90deg)}.ui-color-field--open .ui-color-picker{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-18)}.ui-popover-dismiss-layer{z-index:19;touch-action:none;position:fixed;inset:0}.ui-popover-dismiss-layer--raised{z-index:219}.ui-color-popover{z-index:220;gap:var(--space-12);min-width:0;padding:var(--space-12);color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-white-12);border-radius:var(--radius-12);box-shadow:0 8px 24px var(--color-shadow);font:var(--font-size-body-sm)/var(--line-height-compact) var(--font-family-base);display:grid;overflow:hidden}.ui-color-popover__current{align-items:center;gap:var(--space-8);min-width:0;display:flex}.ui-color-popover__current>span{width:var(--control-height-compact);height:var(--control-height-compact);border:1px solid var(--color-white-12);border-radius:var(--radius-8);flex:none}.ui-color-popover__current .ui-input{height:var(--control-height-compact);min-height:var(--control-height-compact);font-variant-numeric:tabular-nums;text-transform:uppercase}.ui-color-popover__current .ui-button{width:var(--control-height-compact);min-width:var(--control-height-compact);height:var(--control-height-compact);min-height:var(--control-height-compact);flex:none}.ui-color-popover__saturation{border:1px solid var(--color-white-12);border-radius:var(--radius-8);cursor:crosshair;touch-action:none;background-image:linear-gradient(#0000,#000),linear-gradient(90deg,#fff,#0000);background-clip:padding-box;width:100%;height:150px;position:relative;overflow:hidden}.ui-color-popover__saturation i{width:14px;height:14px;box-shadow:0 0 0 1px #000, 0 2px 5px var(--color-shadow);pointer-events:none;border:2px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.ui-color-popover__hue{appearance:none;border-radius:var(--radius-64);cursor:pointer;touch-action:none;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border:0;width:100%;height:20px;min-height:20px;margin:0;padding:0;display:block}.ui-color-popover__hue::-webkit-slider-thumb{appearance:none;border:3px solid var(--color-surface-raised);width:18px;height:18px;box-shadow:0 0 0 1px var(--color-text-strong);background:#fff;border-radius:50%}.ui-color-popover__hue::-moz-range-thumb{border:3px solid var(--color-surface-raised);width:12px;height:12px;box-shadow:0 0 0 1px var(--color-text-strong);background:#fff;border-radius:50%}.ui-choice{align-items:center;gap:var(--space-12);width:max-content;min-width:var(--control-width-text);height:var(--control-height-default);padding:0 var(--space-12);color:var(--color-text-soft);background:var(--color-control-alt);border:1px solid var(--color-border-input);border-radius:var(--radius-12);font:var(--font-size-body-sm)/var(--line-height-compact) var(--font-family-base);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex;position:relative}.ui-choice:hover{background:var(--color-control-hover)}.ui-choice input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ui-choice__control{background:var(--color-surface-deep);border:1px solid var(--color-border-checkbox);border-radius:var(--radius-8);flex:none;place-items:center;width:24px;height:24px;transition:background .15s,border-color .15s,box-shadow .15s;display:grid}.ui-choice--radio .ui-choice__control{border-radius:50%}.ui-choice__control>span{opacity:0;transition:opacity .15s,transform .15s;display:block;transform:scale(.6)}.ui-choice--checkbox .ui-choice__control>span{border-bottom:2px solid var(--color-text-strong);border-left:2px solid var(--color-text-strong);width:11px;height:6px;transform:translateY(-1px)rotate(-45deg)scale(.6)}.ui-choice--radio .ui-choice__control>span{background:var(--color-text-strong);border-radius:50%;width:10px;height:10px}.ui-choice input:checked+.ui-choice__control{background:var(--color-accent);border-color:var(--color-accent-light)}.ui-choice input:checked+.ui-choice__control>span{opacity:1;transform:scale(1)}.ui-choice--checkbox input:checked+.ui-choice__control>span{transform:translateY(-1px)rotate(-45deg)scale(1)}.ui-choice:has(input:focus-visible){border-color:var(--color-accent-light);box-shadow:0 0 0 3px var(--color-accent-25)}.ui-choice:has(input:disabled){color:var(--color-text-disabled);cursor:default}.ui-choice input:disabled+.ui-choice__control{opacity:.55}.ui-choice--icon-only{width:var(--control-height-default);min-width:var(--control-height-default);justify-content:center;padding:0}.ui-choice--bare{border-radius:var(--radius-8);background:0 0;border:0;width:24px;min-width:24px;height:24px;padding:0}.ui-choice--bare:hover{background:0 0}.ui-tooltip{width:max-content;display:inline-flex;position:relative}.ui-tooltip__content{z-index:1000;width:max-content;max-width:240px;padding:var(--space-8) var(--space-12);color:var(--color-text-strong);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-8);box-shadow:0 8px 24px var(--color-shadow-60);font:var(--font-size-sm)/var(--line-height-body) var(--font-family-base);text-align:center;white-space:normal;pointer-events:none;position:fixed}.ui-tooltip__content:after{content:"";width:var(--space-8);height:var(--space-8);background:var(--color-surface-raised);border:solid var(--color-border);position:absolute;transform:rotate(45deg)}.ui-tooltip__content--top{transform:translate(-50%,-100%)}.ui-tooltip__content--top:after{top:calc(100% - var(--space-4));left:calc(50% - var(--space-4));border-width:0 1px 1px 0}.ui-tooltip__content--bottom{transform:translate(-50%)}.ui-tooltip__content--bottom:after{bottom:calc(100% - var(--space-4));left:calc(50% - var(--space-4));border-width:1px 0 0 1px}.ui-tooltip__content--right{transform:translateY(-50%)}.ui-tooltip__content--right:after{top:calc(50% - var(--space-4));right:calc(100% - var(--space-4));border-width:0 0 1px 1px}.ui-tooltip__content--left{transform:translate(-100%,-50%)}.ui-tooltip__content--left:after{top:calc(50% - var(--space-4));left:calc(100% - var(--space-4));border-width:1px 1px 0 0}.ui-avatar{width:54px;height:54px;color:var(--color-text-strong);border-radius:var(--radius-12);font-size:var(--font-size-heading-sm);font-weight:var(--font-weight-heavy);flex:none;place-items:center;display:grid;overflow:hidden}.ui-avatar--large{border-radius:var(--radius-24);width:96px;height:96px;font-size:var(--font-size-display-max)}.ui-avatar>*{grid-area:1/1}.ui-avatar img{object-fit:cover;width:100%;height:100%}.ui-avatar img[hidden]{display:none}.ui-identity{width:max-content;min-width:0;max-width:180px;display:grid}.ui-identity__name-line{align-items:center;gap:var(--space-6);min-width:0;display:flex}.ui-identity__name-line>.ui-tooltip{flex:none}.ui-identity__name-line strong,.ui-identity__username{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-identity__name-line svg{flex:none;width:20px;height:20px}.ui-identity--compact .ui-identity__name-line .premium-crown{width:14px;height:14px}.ui-identity__name-line .ui-identity__relationship{width:14px;height:14px;color:var(--color-text-strong);fill:currentColor;stroke:none}.ui-identity__username{margin-top:var(--space-4);color:var(--color-text-faint);font-size:var(--font-size-sm)}.ui-identity__meta{margin-top:var(--space-2);color:var(--color-text-dim);font-size:var(--font-size-xs)}.ui-identity--compact .ui-identity__name-line{font-size:var(--font-size-body-sm)}.ui-identity--right{text-align:right;justify-items:end}.ui-profile-hero{align-items:center;gap:var(--space-24);padding:var(--space-24);background:var(--color-surface-raised);border:1px solid var(--color-border-soft);border-radius:var(--radius-24);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ui-profile-hero__details{grid-column:1/-1}.ui-profile-hero>.ui-stats{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.ui-profile-details{gap:var(--space-8);grid-template-columns:minmax(0,2fr) minmax(180px,1fr);display:grid}.ui-profile-details__section{min-width:0;padding:var(--space-12);background:var(--color-surface-deep);border-radius:var(--radius-12)}.ui-profile-details h3{color:var(--color-text-soft);font-size:var(--font-size-label);margin:0}.ui-profile-details p{margin:var(--space-6) 0 0;color:var(--color-text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body);overflow-wrap:anywhere}.ui-profile-details .ui-profile-details__empty{color:var(--color-text-faint)}.ui-profile-details__links{gap:var(--space-6);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.ui-profile-details__links a{min-height:28px;padding:var(--space-4) var(--space-8);color:var(--color-accent-soft-text);background:var(--color-accent-soft-surface);border-radius:var(--radius-64);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);align-items:center;text-decoration:none;display:inline-flex}.ui-profile-details__links a:hover{color:var(--color-text-strong);background:var(--color-accent-25)}.ui-badge{align-items:center;gap:var(--space-4);width:max-content;min-height:28px;padding:var(--space-4) var(--space-8);color:var(--color-text-muted);background:var(--color-control);border-radius:var(--radius-64);font-size:var(--font-size-sm);display:inline-flex}.ui-badge--success{color:var(--color-accent-pale);background:var(--color-accent-soft-surface)}.ui-badge--easy{color:var(--color-difficulty-easy);background:var(--color-difficulty-easy-bg)}.ui-badge--warning{color:var(--color-difficulty-harder);background:var(--color-difficulty-harder-bg)}.ui-badge--danger{color:var(--color-danger);background:var(--color-danger-surface)}.ui-badge--xp{color:var(--color-xp);background:var(--color-xp-surface)}.ui-badge--author{color:var(--color-rating-author)}.ui-badge--premium{color:var(--color-premium-text);background:var(--color-difficulty-harder-bg)}.ui-badge>svg{flex:none;width:14px;height:14px}.ui-badge>.ui-icon--outline{width:12px;height:12px}.drawing-rating-badge{flex:none;display:inline-flex}.ui-difficulty{align-items:center;gap:0;display:inline-flex}.ui-difficulty svg{flex:none;width:12px;height:12px}.ui-slider-control__label{justify-content:space-between;align-items:center;gap:var(--space-12);min-height:24px;color:var(--color-text-muted);font-size:var(--font-size-body-sm);display:flex}.ui-slider-control__label output{min-width:48px;padding:var(--space-2) var(--space-8);color:var(--color-text-soft);background:var(--color-control-alt);border-radius:var(--radius-64);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-align:center;font-variant-numeric:tabular-nums}.ui-stats{gap:var(--space-8);margin:0;display:grid}.ui-stats--grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.ui-stats div{padding:var(--space-12);background:var(--color-surface-deep);border-radius:var(--radius-12)}.ui-stats--rows{border:1px solid var(--color-border-soft);border-radius:var(--radius-12);gap:0;overflow:hidden}.ui-stats--rows div{border-radius:0;justify-content:space-between;display:flex}.ui-stats--rows div+div{border-top:1px solid var(--color-border-soft)}.ui-stats dt{color:var(--color-text-dim);font-size:var(--font-size-label)}.ui-stats dd{margin:var(--space-4) 0 0;color:var(--color-text-strong);font-weight:var(--font-weight-bold)}.ui-stats__item--xp dd{color:var(--color-rating-student)}.ui-stats__item--author dd{color:var(--color-rating-author)}.ui-stats--rows dd{margin:0}.ui-state{min-height:180px;padding:var(--space-24);color:var(--color-text-dim);background:var(--color-surface);border:1px dashed var(--color-border-card);border-radius:var(--radius-12);place-content:center;justify-items:center;gap:var(--space-8);text-align:center;display:grid}.ui-state>svg{width:28px;height:28px}.ui-state strong{color:var(--color-text-soft)}.ui-state p{margin:0}.ui-state--danger,.ui-state--danger strong{color:var(--color-danger)}.ui-state--danger{border-style:solid}.ui-state--section{width:min(100%, var(--card-size-default));aspect-ratio:1;height:auto;min-height:0}.ui-state>.ui-empty-artwork{width:var(--space-48);height:var(--space-48);color:var(--color-text-disabled);stroke-width:1.5px}.ui-skeleton-card{width:min(100%, var(--card-size-default));aspect-ratio:1;background:var(--color-page);border:1px solid var(--color-border-card);border-radius:var(--radius-18);position:relative;overflow:hidden}.ui-skeleton-card:after{content:"";z-index:2;background:linear-gradient(100deg, transparent 20%, var(--color-skeleton-highlight) 50%, transparent 80%);animation:1.5s ease-in-out infinite ui-skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.ui-skeleton-card__preview{background:var(--color-skeleton-base);display:block;position:absolute;inset:0}.ui-skeleton-card__details{z-index:1;justify-content:flex-start;align-items:center;gap:var(--space-6);padding:var(--space-24) var(--space-12) var(--space-12);background:linear-gradient(transparent, var(--color-card-gradient) 38%);display:flex;position:absolute;bottom:0;left:0;right:0}.ui-skeleton-card__tag{background:var(--color-skeleton-highlight);border-radius:var(--radius-64);height:24px;display:block}.ui-skeleton-card__tag--1{width:68px}.ui-skeleton-card__tag--2{width:48px}@keyframes ui-skeleton-shimmer{to{transform:translate(100%)}}.ui-slider-control{gap:var(--space-8);width:min(100%, var(--control-width-field));display:grid}.ui-slider{appearance:none;width:100%;height:24px;color:var(--color-accent);cursor:pointer;background:0 0;border:0;margin:0;padding:0}.ui-slider:focus-visible{outline:0}.ui-slider:disabled{opacity:.55;cursor:default}.ui-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--color-accent) 0 var(--ui-slider-percent), var(--color-control-alt) var(--ui-slider-percent) 100%);border:1px solid var(--color-border-track);border-radius:var(--radius-64);height:10px}.ui-slider::-webkit-slider-thumb{appearance:none;background:var(--color-text-strong);border:var(--space-4) solid var(--color-accent);border-radius:50%;width:20px;height:20px;margin-top:-6px;transition:box-shadow .15s,transform .15s}.ui-slider:hover::-webkit-slider-thumb{transform:scale(1.08)}.ui-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 var(--space-4) var(--color-accent-25)}.ui-slider::-moz-range-track{background:var(--color-control-alt);border:1px solid var(--color-border-track);border-radius:var(--radius-64);height:10px}.ui-slider::-moz-range-progress{background:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-64);height:10px}.ui-slider::-moz-range-thumb{background:var(--color-text-strong);border:var(--space-4) solid var(--color-accent);border-radius:50%;width:12px;height:12px;transition:box-shadow .15s,transform .15s}.ui-slider:hover::-moz-range-thumb{transform:scale(1.08)}.ui-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 var(--space-4) var(--color-accent-25)}.ui-dialog-open{overflow:hidden}.ui-dialog-backdrop{z-index:100;padding:var(--space-18);background:var(--color-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);place-items:center;display:grid;position:fixed;inset:0}.ui-dialog{gap:var(--space-18);width:min(100%,430px);min-width:0;max-width:100%;max-height:calc(100dvh - var(--space-48));padding:var(--space-24);color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border-dialog);border-radius:var(--radius-18);scrollbar-width:none;display:grid;position:relative;overflow:hidden auto}.ui-dialog::-webkit-scrollbar{display:none}.ui-dialog h2{min-width:0;padding-right:var(--space-48);overflow-wrap:anywhere;margin:0}.ui-dialog__close{top:var(--space-12);right:var(--space-12);position:absolute}.ui-dialog__body{min-width:0;color:var(--color-text-muted);line-height:var(--line-height-body)}.ui-dialog__body>:first-child{margin-top:0}.ui-dialog__body>:last-child{margin-bottom:0}.ui-dialog__actions{justify-content:flex-end;gap:var(--space-12);flex-wrap:wrap;min-width:0;display:flex}.ui-dialog__actions>.ui-button{max-width:100%}@media (width<=480px){.ui-dialog-backdrop{padding:var(--space-12)}.ui-dialog{width:100%;max-height:calc(100dvh - var(--space-24));padding:var(--space-18)}.ui-dialog__actions{flex-direction:column}.ui-dialog__actions>.ui-button{width:100%}}.ui-training-settings,.training-intro{gap:var(--space-18);display:grid}.training-intro__canvas{border:1px solid var(--color-border-track);border-radius:var(--radius-12);width:100%;overflow:hidden}.training-intro__canvas .drawing-trainer{aspect-ratio:16/9;width:100%!important;height:auto!important}.training-intro__steps{gap:var(--space-12);display:grid}.training-intro__steps>div{grid-template-columns:var(--space-24) 1fr;gap:var(--space-12);align-items:start;display:grid}.training-intro__steps svg{width:var(--space-24);height:var(--space-24);color:var(--color-accent)}.training-intro__steps p{gap:var(--space-2);margin:0;display:grid}.training-intro__steps strong{color:var(--color-text-strong)}.training-intro__steps span{color:var(--color-text-muted)}.ui-progress{gap:var(--space-8);width:100%;display:grid}.ui-progress__header{justify-content:space-between;align-items:center;gap:var(--space-12);color:var(--color-text-muted);display:flex}.ui-progress__header strong{color:var(--color-text-strong);font-variant-numeric:tabular-nums}.ui-progress__track{background:var(--color-control-alt);border:1px solid var(--color-border-track);border-radius:var(--radius-64);width:100%;height:10px;overflow:hidden}.ui-progress__track>div{background:var(--color-accent);border-radius:inherit;height:100%;transition:width .1s linear}.editor-drawing-settings{gap:var(--space-12);display:grid}.editor-drawing-settings>p{margin:0}.editor-drawing-settings>.ui-button{width:100%}.ui-training-settings__field{gap:var(--space-8);min-width:0;color:var(--color-text-muted);font-size:var(--font-size-body-sm);display:grid}.ui-training-settings__field>.custom-select{width:100%}.ui-training-completion{justify-items:center;gap:var(--space-18);width:100%;display:grid}.ui-training-completion>.ui-stats{width:100%}.training-completion-vote{justify-items:center;gap:var(--space-12);color:var(--color-text-strong);text-align:center;display:grid}.training-completion-vote__choices{gap:var(--space-12);display:flex}.training-completion-vote>small{color:var(--color-danger);font-size:var(--font-size-sm)}.guest-login-content,.ui-auth-form{gap:var(--space-18);display:grid}.guest-login-content>p{margin:0}.ui-auth-form .ui-field{width:100%}.ui-auth-form>h1{margin:var(--space-4) 0 var(--space-6)}.ui-auth-form>.ui-button{width:100%}.ui-auth-form__links{justify-content:space-between;align-items:center;gap:var(--space-12);margin-top:calc(var(--space-8) * -1);display:flex}.ui-auth-form__links button{min-width:0;min-height:auto;color:var(--color-accent-light);font:inherit;font-size:var(--font-size-body-sm);text-align:left;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0;text-decoration:underline;text-decoration-thickness:1px}.ui-auth-form__links button:last-child{text-align:right}.ui-auth-form__links button:hover{color:var(--color-accent)}.ui-auth-form__links button:focus-visible{border-radius:var(--radius-2);outline:2px solid var(--color-accent-light);outline-offset:var(--space-4)}.ui-context-menu{width:var(--control-height-compact);position:relative}.ui-context-menu__trigger{width:var(--control-height-compact);min-width:var(--control-height-compact);height:var(--control-height-compact);min-height:var(--control-height-compact);color:var(--color-text-strong);background:0 0;border:0;place-items:center;padding:0;display:grid}.ui-context-menu__trigger:hover,.ui-context-menu--open .ui-context-menu__trigger{background:var(--color-white-08);border-color:#0000}.ui-context-menu__trigger svg{width:24px;height:24px}.ui-context-menu__content{z-index:40;top:calc(100% + var(--space-8));gap:var(--space-4);width:220px;padding:var(--space-8);background:var(--color-glass);border:1px solid var(--color-glass-border);border-radius:var(--radius-12);box-shadow:0 8px 24px var(--color-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;position:absolute;right:0}.ui-context-menu__content--portal{z-index:200;overscroll-behavior:contain;scrollbar-width:none;position:fixed;right:auto;overflow:hidden auto}.ui-context-menu__content--portal::-webkit-scrollbar{display:none}.ui-context-menu__item{justify-content:flex-start;align-items:center;gap:var(--space-8);width:100%;min-height:var(--control-height-default);padding:var(--space-8) var(--space-12);text-align:left;background:0 0;border:0;display:flex}.ui-context-menu__item:hover{background:var(--color-white-08);border-color:#0000}.ui-context-menu__item svg{width:var(--control-icon-size);height:var(--control-icon-size);flex:none}.ui-context-menu__item--danger{color:var(--color-danger)}.relationship-actions{gap:var(--space-8);flex-wrap:wrap;display:flex}.relationship-actions button{justify-content:center;align-items:center;gap:var(--space-8);background:var(--color-social-primary);border-color:var(--color-social-primary-border);display:inline-flex}.relationship-actions button svg{width:var(--control-icon-size);height:var(--control-icon-size);flex:none}.relationship-actions .relationship-actions__favorite{color:var(--color-favorite);background:var(--color-control);border-color:var(--color-border)}.relationship-actions .relationship-actions__favorite.active{color:var(--color-favorite-text);background:var(--color-favorite);border-color:var(--color-favorite)}.relationship-actions--compact{flex-wrap:nowrap}.relationship-actions--compact button{width:var(--control-height-compact);min-width:var(--control-height-compact);height:var(--control-height-compact);min-height:var(--control-height-compact);white-space:nowrap;padding:0}.relationship-actions--compact button svg{width:20px;height:20px}.relationship-actions--compact .relationship-actions__share{color:var(--color-text-soft);background:var(--color-control);border-color:var(--color-border)}.relationship-actions--menu{gap:var(--space-4);display:grid}.relationship-actions--menu button,.relationship-actions--menu .relationship-actions__favorite,.relationship-actions--menu .relationship-actions__favorite.active,.relationship-actions--menu .relationship-actions__share{width:100%;color:var(--color-text);background:0 0;border-color:#0000;justify-content:flex-start}.relationship-actions--menu .relationship-actions__favorite.active{color:var(--color-favorite)}.relationship-actions__error{color:var(--color-danger);font-size:var(--font-size-xs);flex-basis:100%}.ui-navigation{align-items:center;gap:var(--space-4);width:max-content;max-width:100%;padding:var(--space-8);background:var(--color-glass);border:1px solid var(--color-glass-border);border-radius:var(--radius-18);box-shadow:0 8px 24px var(--color-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-width:none;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:relative;overflow-x:auto}.ui-navigation::-webkit-scrollbar{display:none}.ui-navigation:before{content:"";z-index:0;top:var(--space-8);bottom:var(--space-8);left:calc(var(--ui-active-left,var(--space-8)) + var(--space-2));width:calc(var(--ui-active-width,88px) - var(--space-4));background:var(--color-navigation-active);border-radius:var(--radius-18);will-change:left, width;pointer-events:none;transition:left .26s cubic-bezier(.22,1,.36,1),width .26s cubic-bezier(.22,1,.36,1);position:absolute}.ui-navigation button{z-index:1;min-width:88px;min-height:var(--control-height-large);padding:var(--space-4) var(--space-12);color:var(--color-navigation-item);border-radius:var(--radius-18);font-size:var(--font-size-xs);background:0 0;border-color:#0000;grid-template-rows:25px auto;place-items:center;display:grid;position:relative}.ui-navigation button svg{width:24px;height:24px}.ui-navigation button .ui-icon--outline{width:21px;height:21px}.ui-navigation__icon-wrap{place-items:center;display:grid;position:relative}.ui-navigation__badge{min-width:18px;height:18px;padding-inline:var(--space-4);color:var(--color-notification-text);background:var(--color-notification);border-radius:var(--radius-64);box-shadow:none;font-size:var(--font-size-xs);font-weight:var(--font-weight-black);text-shadow:none;font-variant-numeric:tabular-nums;border:0;place-items:center;line-height:1;display:grid;position:absolute;top:-5px;right:-9px}.ui-navigation button.active{color:var(--color-text-strong);background:0 0;border-color:#0000}.ui-toolbar{align-items:center;gap:var(--space-8);width:max-content;max-width:100%;padding:var(--space-8);background:var(--color-glass);border:1px solid var(--color-glass-border);border-radius:var(--radius-18);box-shadow:0 8px 24px var(--color-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex}.ui-toolbar .ui-button{border:0}.ui-toolbar--vertical{flex-direction:column}.canvas-toolbar__primary{align-items:center;gap:var(--space-8);padding-right:var(--space-8);border-right:1px solid var(--color-white-12);display:flex}.canvas-toolbar__zoom{align-items:center;gap:var(--space-8);padding-left:var(--space-8);border-left:1px solid var(--color-white-12);display:flex}.canvas-zoom-value{width:var(--control-size-icon);min-width:var(--control-size-icon);min-height:var(--control-size-icon);color:var(--color-text);text-align:center;font-size:var(--font-size-label);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;line-height:1;display:inline-flex}.editor-toolbar__playback,.editor-toolbar__invite{align-items:center;gap:var(--space-8);padding-left:var(--space-8);border-left:1px solid var(--color-white-12);display:flex}.ui-drawing-card{width:100%;max-width:var(--card-size-default);aspect-ratio:1;min-width:0;min-height:0;color:var(--color-text);background:var(--color-surface-card);border:1px solid var(--color-border-card);border-radius:var(--radius-18);text-align:left;padding:0;display:block;position:relative;overflow:hidden;container-type:inline-size}.ui-drawing-card .training-card__preview{position:absolute;inset:0}.ui-drawing-card__actions{z-index:2;gap:var(--space-8);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ui-moderation-card .ui-drawing-card__actions{grid-template-columns:repeat(2, var(--control-size-icon));display:grid}.ui-drawing-card__meta{align-items:center;gap:var(--space-6);padding:var(--space-24) var(--space-12) var(--space-12);background:linear-gradient(transparent, var(--color-card-gradient));display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.ui-drawing-card__meta .ui-badge{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;max-width:100%;overflow:hidden}.ui-drawing-card--locked{color:var(--color-text-faint);background:repeating-linear-gradient(135deg, var(--color-surface-deep) 0, var(--color-surface-deep) 12px, var(--color-surface) 12px, var(--color-surface) 24px);border-style:solid;place-items:center;display:grid}.ui-drawing-card--locked>svg{width:var(--space-48);height:var(--space-48);color:var(--color-text-disabled);stroke-width:1.5px}.ui-create-card{width:min(100%, var(--card-size-default));aspect-ratio:1;min-width:0;padding:var(--space-18);color:var(--color-accent-pale);background:var(--color-accent-soft-surface);border:1px dashed var(--color-accent-light);border-radius:var(--radius-18);place-content:center;justify-items:center;gap:var(--space-12);text-align:center;transition:background .15s,border-color .15s,transform .15s;display:grid;container-type:inline-size}.ui-create-card:hover{background:var(--color-accent-dark);border-color:var(--color-accent-pale);transform:translateY(-1px)}.ui-create-card svg{width:var(--space-64);height:var(--space-64)}.ui-create-card span{color:var(--color-text-strong);font-weight:var(--font-weight-bold)}.ui-card-action{color:var(--color-white-88);background:var(--color-card-action);border-color:var(--color-white-22);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ui-card-action:hover{background:var(--color-card-action-hover);border-color:var(--color-white-36)}.ui-card-action[aria-pressed=true],.ui-card-action.ui-button--primary{color:var(--color-text-strong);background:var(--color-accent-90);border-color:var(--color-accent-light)}.ui-section-header{justify-content:space-between;align-items:end;gap:var(--space-18);display:flex}.ui-section-header__actions{align-items:center;gap:var(--space-8);display:flex}.ui-section-header h2,.ui-section-header p{margin:0}.ui-section-header h2{margin-top:var(--space-4)}.ui-section-header p{margin-top:var(--space-8);color:var(--color-text-dim)}.ui-horizontal-scroller-shell{min-width:0;position:relative}.ui-horizontal-scroller{grid-auto-flow:column;grid-auto-columns:min(var(--card-size-default), calc((100% - var(--space-48)) / 5));gap:var(--space-12);width:100%;padding-bottom:var(--space-6);cursor:grab;overscroll-behavior-x:contain;scrollbar-width:none;display:grid;overflow:auto hidden}.ui-horizontal-scroller-shell--start:not(.ui-horizontal-scroller-shell--end) .ui-horizontal-scroller{-webkit-mask-image:linear-gradient(90deg, transparent, var(--color-black) var(--space-48));-webkit-mask-image:linear-gradient(90deg, transparent, var(--color-black) var(--space-48));mask-image:linear-gradient(90deg, transparent, var(--color-black) var(--space-48))}.ui-horizontal-scroller-shell--end:not(.ui-horizontal-scroller-shell--start) .ui-horizontal-scroller{-webkit-mask-image:linear-gradient(90deg, var(--color-black) calc(100% - var(--space-48)), transparent);-webkit-mask-image:linear-gradient(90deg, var(--color-black) calc(100% - var(--space-48)), transparent);mask-image:linear-gradient(90deg, var(--color-black) calc(100% - var(--space-48)), transparent)}.ui-horizontal-scroller-shell--start.ui-horizontal-scroller-shell--end .ui-horizontal-scroller{-webkit-mask-image:linear-gradient(90deg, transparent, var(--color-black) var(--space-48), var(--color-black) calc(100% - var(--space-48)), transparent);-webkit-mask-image:linear-gradient(90deg, transparent, var(--color-black) var(--space-48), var(--color-black) calc(100% - var(--space-48)), transparent);mask-image:linear-gradient(90deg, transparent, var(--color-black) var(--space-48), var(--color-black) calc(100% - var(--space-48)), transparent)}.ui-horizontal-scroller--dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.ui-horizontal-scroller::-webkit-scrollbar{display:none}.ui-leaderboard{background:var(--color-surface-raised);border:1px solid var(--color-border-soft);border-radius:var(--radius-24);touch-action:pan-y;width:fit-content;max-width:100%;overflow:hidden}.ui-leaderboard ol{margin:0;padding:0;list-style:none;display:grid}.ui-leaderboard--virtual{width:min(594px,100%)}.ui-leaderboard .ui-leaderboard__virtual-list{width:100%;display:block;position:relative}.ui-leaderboard__virtual-list .ui-leaderboard__row:last-child{border-bottom:1px solid var(--color-border-soft)}.ui-leaderboard__virtual-list .ui-leaderboard__row.ui-leaderboard__row--last{border-bottom:0}.ui-leaderboard__row{align-items:center;gap:var(--space-18);min-height:82px;padding:var(--space-12) var(--space-24);border-bottom:1px solid var(--color-border-soft);grid-template-columns:48px 54px minmax(130px,220px) 112px 40px;display:grid}.ui-leaderboard:not(.ui-leaderboard--virtual) .ui-leaderboard__row:first-child,.ui-leaderboard__row--first{border-radius:var(--radius-24) var(--radius-24) 0 0}.ui-leaderboard:not(.ui-leaderboard--virtual) .ui-leaderboard__row:last-child,.ui-leaderboard__row--last{border-radius:0 0 var(--radius-24) var(--radius-24)}.ui-leaderboard:not(.ui-leaderboard--virtual) .ui-leaderboard__row:only-child,.ui-leaderboard__row--first.ui-leaderboard__row--last{border-radius:var(--radius-24)}.ui-leaderboard__row:has(.ui-context-menu){cursor:pointer}.ui-person-link{width:max-content;min-width:0;max-width:100%;color:inherit;text-decoration:none}.ui-person-link--avatar{width:max-content;display:block}.ui-person-link:hover .ui-identity__name-line strong{color:var(--color-text-strong)}.ui-person-static{width:max-content;min-width:0;max-width:100%}.ui-person-static--avatar{display:block}.ui-person-static .ui-identity__name-line strong{color:var(--color-text-strong)}.ui-leaderboard__row--current{background:var(--color-accent-18)}.ui-people-table{width:min(430px,100%)}.ui-people-table__row{grid-template-columns:54px minmax(130px,280px) 40px;width:100%}.ui-people-table__row--selectable{cursor:pointer}.ui-people-table__row--disabled{cursor:default;opacity:.55}.ui-empty-state{width:max-content;max-width:calc(100vw - var(--space-48));color:var(--color-text-dim);text-align:center;margin:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.ui-empty-state--embedded{width:100%;max-width:none;min-height:calc(var(--space-64) + var(--space-48));place-items:center;display:grid;position:static;transform:none}.ui-leaderboard__row:last-child{border-bottom:0}.ui-leaderboard__place{color:var(--color-text-dim);font-size:var(--font-size-title);font-weight:var(--font-weight-black);text-align:center;font-variant-numeric:tabular-nums}.ui-leaderboard__row--place-1 .ui-leaderboard__place{color:var(--color-ranking-first);font-size:var(--font-size-heading)}.ui-leaderboard__row--place-2 .ui-leaderboard__place{color:var(--color-ranking-second);font-size:var(--font-size-heading-sm)}.ui-leaderboard__row--place-3 .ui-leaderboard__place{color:var(--color-ranking-third);font-size:var(--font-size-heading-sm)}.ui-leaderboard__score{justify-items:end;display:grid}.ui-leaderboard__score strong{font-size:var(--font-size-emphasis);font-variant-numeric:tabular-nums}.ui-leaderboard__score small{margin-top:var(--space-4);color:var(--color-text-dim);font-size:var(--font-size-xs);white-space:nowrap}.ui-leaderboard__score--students strong{color:var(--color-rating-student)}.ui-leaderboard__score--authors strong{color:var(--color-rating-author)}.ui-leaderboard-skeleton{position:relative;overflow:hidden}.ui-leaderboard-skeleton:after{content:"";z-index:2;background:linear-gradient(100deg, transparent 20%, var(--color-skeleton-highlight) 50%, transparent 80%);pointer-events:none;animation:1.5s ease-in-out infinite ui-skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.ui-leaderboard-skeleton__place,.ui-leaderboard-skeleton__avatar,.ui-leaderboard-skeleton__identity span,.ui-leaderboard-skeleton__score span,.ui-leaderboard-skeleton__menu{background:var(--color-skeleton-base);display:block}.ui-leaderboard-skeleton__place{border-radius:var(--radius-6);justify-self:center;width:28px;height:20px}.ui-leaderboard-skeleton__avatar{border-radius:var(--radius-12);width:54px;height:54px}.ui-leaderboard-skeleton__identity,.ui-leaderboard-skeleton__score{justify-items:end;gap:var(--space-6);display:grid}.ui-leaderboard-skeleton__identity{justify-items:start}.ui-leaderboard-skeleton__identity span:first-child{border-radius:var(--radius-6);width:132px;max-width:100%;height:14px}.ui-leaderboard-skeleton__identity span:last-child{border-radius:var(--radius-6);width:54px;height:10px}.ui-leaderboard-skeleton__score span:first-child{border-radius:var(--radius-6);width:48px;height:16px}.ui-leaderboard-skeleton__score span:last-child{border-radius:var(--radius-6);width:62px;height:9px}.ui-leaderboard-skeleton__menu{border-radius:var(--radius-64);justify-self:center;width:24px;height:8px}@media (width<=760px){.ui-leaderboard__row{gap:var(--space-8);padding-inline:var(--space-12);grid-template-columns:34px 54px minmax(0,1fr) 76px 40px}.ui-people-table__row{grid-template-columns:54px minmax(0,1fr) 40px}.ui-leaderboard__score strong{font-size:var(--font-size-body-sm)}.ui-leaderboard__score small{font-size:var(--font-size-xs)}}@media (width<=420px){.ui-leaderboard__row{gap:var(--space-6);padding-inline:var(--space-8);grid-template-columns:28px 42px minmax(0,1fr) 64px 36px}.ui-people-table__row{grid-template-columns:42px minmax(0,1fr) 36px}.ui-leaderboard__row .ui-avatar,.ui-leaderboard-skeleton__avatar{width:42px;height:42px}}@media (width<=620px){.ui-create-card{padding:var(--space-8);gap:var(--space-6)}.ui-create-card svg{width:var(--space-24);height:var(--space-24)}.app-navigation-shell{width:calc(100vw - var(--space-24))}.app-navigation-shell .ui-navigation{grid-auto-columns:minmax(0,1fr);width:100%;overflow:hidden}.app-navigation-shell .ui-navigation button{min-width:0;padding-inline:var(--space-4)}}@media (width<=599px){.ui-horizontal-scroller{grid-auto-columns:calc((100% - var(--space-12)) / 2)}}@container (width<=150px){.ui-create-card{gap:var(--space-4);padding:var(--space-6)}.ui-create-card svg{width:var(--space-24);height:var(--space-24)}.ui-create-card span{font-size:var(--font-size-xs)}.training-card__actions,.ui-drawing-card__actions{gap:var(--space-4)}.ui-moderation-card .ui-drawing-card__actions{grid-template-columns:repeat(2,36px)}.training-card__action,.ui-drawing-card__actions .ui-button{width:36px;min-width:36px;height:36px;min-height:36px;padding:0}.training-card__details,.ui-drawing-card__meta{gap:var(--space-4);padding:var(--space-18) var(--space-6) var(--space-6)}.ui-drawing-card__meta .ui-badge{min-height:24px;padding:var(--space-2) var(--space-6);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.training-card__details>span,.training-card__details small{font-size:var(--font-size-xs)}}@media (prefers-reduced-motion:reduce){.ui-navigation:before{transition:none}.ui-skeleton-card:after,.ui-leaderboard-skeleton:after{opacity:.35;animation:none;transform:none}}@media (width<=620px){.ui-avatar{width:48px;height:48px;font-size:var(--font-size-title)}.ui-profile-hero{gap:var(--space-18);padding:var(--space-18);grid-template-columns:auto minmax(0,1fr)}.ui-profile-hero>.ui-avatar--large{border-radius:var(--radius-18);width:64px;height:64px;font-size:var(--font-size-heading)}.ui-profile-hero>.relationship-actions{grid-column:1/-1}.ui-profile-hero>.relationship-actions .ui-button{flex:1 1 0}.ui-profile-hero>.ui-stats{grid-template-columns:repeat(2,1fr)}.ui-profile-details{grid-template-columns:1fr}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-family-base);background:var(--color-page);color:var(--color-text)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:100%}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;min-width:320px;min-height:100dvh;margin:0}button{min-height:var(--control-height-default);padding:var(--space-8) var(--space-18);color:var(--color-text);background:var(--color-control);border:1px solid var(--color-border);border-radius:var(--radius-12);font:inherit;cursor:pointer;touch-action:manipulation;transition:color .15s,background .15s,border-color .15s,opacity .15s}button:hover{background:var(--color-control-hover)}button:focus-visible{border-color:var(--color-accent-light);box-shadow:0 0 0 3px var(--color-accent-25);outline:0}button:disabled{opacity:.55;cursor:default}.app{min-height:100%;overflow:hidden}.app-layout{width:100%;height:100%;min-height:100dvh;position:relative;overflow:hidden}.app-content{overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;height:100%;min-height:0;overflow:hidden auto}.app-content::-webkit-scrollbar{display:none}.app-content--canvas{overscroll-behavior:none;overflow:hidden}.app-content--canvas>div{width:100%;height:100%;overflow:hidden}.app-layout--with-status .app-content{padding-top:110px}.app-layout--with-status .training-page{padding-top:0}.user-status{z-index:30;top:max(var(--space-12), env(safe-area-inset-top));justify-content:space-between;align-items:center;gap:calc(var(--space-64) + var(--space-12) + var(--space-4));width:max-content;max-width:calc(100vw - var(--space-24));min-height:calc(var(--space-64) + var(--space-18));padding:var(--space-12);color:var(--color-text);background:var(--color-glass);border:1px solid var(--color-white-12);border-radius:var(--radius-18);box-shadow:0 8px 24px var(--color-shadow);pointer-events:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.user-status--embedded{z-index:1;max-width:100%;position:relative;top:auto;left:auto;transform:none}.user-status--skeleton{overflow:hidden}.user-status--skeleton:after{content:"";z-index:2;background:linear-gradient(100deg, transparent 20%, var(--color-skeleton-highlight) 50%, transparent 80%);pointer-events:none;animation:1.5s ease-in-out infinite ui-skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.user-status-skeleton__level,.user-status-skeleton__avatar{background:var(--color-skeleton-base);border-radius:var(--radius-12);flex:none;width:54px;height:54px;display:block}.user-status-skeleton__xp{gap:var(--space-8);width:150px;display:grid}.user-status-skeleton__xp span,.user-status-skeleton__names span{background:var(--color-skeleton-base);border-radius:var(--radius-6);display:block}.user-status-skeleton__xp span:first-child{border-radius:var(--radius-64);width:100%;height:15px}.user-status-skeleton__xp span:last-child{width:96px;height:12px}.user-status-skeleton__names{justify-items:end;gap:var(--space-6);width:138px;display:grid}.user-status-skeleton__names span:first-child{width:118px;height:18px}.user-status-skeleton__names span:nth-child(2){width:82px;height:10px}.user-status-skeleton__names span:nth-child(3){width:132px;height:10px}.user-status__progress{align-items:center;gap:var(--space-12);display:flex}.user-status__identity{justify-content:flex-end;align-items:center;gap:var(--space-12);min-width:64px;color:inherit;pointer-events:auto;text-decoration:none;display:flex}.user-status__avatar-link{color:inherit;flex:none;text-decoration:none;display:block}.user-status__avatar>span,.user-status__avatar img,.profile-avatar>span,.profile-avatar img,.public-profile__avatar>span,.public-profile__avatar img{grid-area:1/1}.user-status__avatar img,.profile-avatar img,.public-profile__avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.user-status__avatar img[hidden],.profile-avatar img[hidden],.public-profile__avatar img[hidden]{display:none}.user-status__names{text-align:right;justify-items:end;min-width:0;display:grid}.user-status .ui-identity{max-width:180px}.user-status__profile-link{min-width:0;color:inherit;justify-items:end;text-decoration:none;display:grid}.user-status__name-line{justify-content:flex-end;align-items:center;gap:var(--space-6);min-height:23px;display:flex}.user-status__display-name,.user-status__username{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.user-status__display-name{font-size:var(--font-size-title);line-height:var(--line-height-title)}.premium-name{color:var(--color-premium-text);background:linear-gradient(110deg, var(--color-premium-dark) 0%, var(--color-premium-base) 26%, var(--color-premium-highlight) 43%, var(--color-premium-mid) 60%, var(--color-premium-light) 78%, var(--color-premium-dark) 100%);-webkit-text-fill-color:transparent;background-size:240% 100%;-webkit-background-clip:text;background-clip:text;animation:3.2s linear infinite premium-name-shimmer}.user-status__username{color:var(--color-text-faint);font-size:var(--font-size-sm);line-height:var(--line-height-compact)}.user-status__rating-place{min-height:0;color:var(--color-text-disabled);font-size:var(--font-size-sm);line-height:var(--line-height-compact);background:0 0;border:0;border-radius:0;padding:0}.user-status__rating-place:hover{background:0 0}.user-status__rating-current{color:var(--color-xp)}.user-status__rating-total{color:var(--color-rating-total)}.premium-crown{color:var(--color-premium-base);fill:currentColor;stroke:currentColor;animation:3.2s linear infinite premium-crown-shimmer}.user-status__premium{stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:21px;height:21px}@keyframes premium-name-shimmer{0%{background-position:120% 0}45%{background-position:0 0}to{background-position:-120% 0}}@keyframes premium-crown-shimmer{0%,to{color:var(--color-premium-deep)}45%{color:var(--color-premium-bright)}70%{color:var(--color-premium-warm)}}@media (prefers-reduced-motion:reduce){.premium-name,.premium-crown,.training-card__preview-skeleton:after,.user-status--skeleton:after{animation:none}}.user-status__level{width:54px;height:54px;color:var(--color-text-strong);background:linear-gradient(145deg, var(--color-accent-gradient-start), var(--color-accent-gradient-end));border:1px solid var(--color-white-22);border-radius:var(--radius-12);text-align:center;place-content:center;display:grid}.user-status__level strong{font-size:var(--font-size-level);line-height:var(--line-height-tight)}.user-status__level small{margin-top:var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.user-status__xp{align-self:center;gap:var(--space-8);width:150px;color:var(--color-text-subtle);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;display:grid}.user-status__xp strong{color:var(--color-text-strong)}.user-status__track{background:var(--color-track);border:1px solid var(--color-border-track);border-radius:var(--radius-64);height:15px;box-shadow:inset 0 2px 5px var(--color-shadow-35);overflow:hidden}.user-status__track>div{background:linear-gradient(90deg, var(--color-accent), var(--color-accent-pale));border-radius:inherit;height:100%;transition:width .3s}.app-navigation-shell{z-index:30;bottom:max(var(--space-12), env(safe-area-inset-bottom));max-width:calc(100vw - var(--space-24));position:fixed;left:50%;transform:translate(-50%)}.trainer-page{width:100%;height:100%;position:relative;overflow:hidden}.app-controls{z-index:20;top:max(var(--space-12), env(safe-area-inset-top));max-width:calc(100vw - var(--space-24));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-width:none;position:absolute;left:50%;overflow-x:auto;transform:translate(-50%)}.app-controls::-webkit-scrollbar{display:none}.app-message{margin:var(--space-24);color:var(--color-text-muted)}.app-message--error{color:var(--color-danger)}.app-loader{pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.app-loader__spinner{width:var(--space-48);height:var(--space-48);border:var(--space-4) solid var(--color-white-12);border-top-color:var(--color-accent);border-radius:var(--radius-64);animation:.7s linear infinite app-loader-spin}.app-loader--inline{width:100%;min-height:var(--space-64);position:relative;inset:auto}.realtime-waiting{justify-items:center;gap:var(--space-24);width:100%;padding-block:var(--space-8);text-align:center;grid-template-rows:auto auto;display:grid}.realtime-waiting .app-loader{min-height:var(--space-64)}.realtime-waiting p{margin:0}.collaboration-invite-state{min-height:calc(var(--space-64) + var(--space-48));padding-block:var(--space-24);box-sizing:border-box;place-items:center;display:grid}.collaboration-invite-state .app-loader--inline,.collaboration-invite-state .ui-empty-state--embedded{min-height:0}.battle-results{gap:var(--space-18);width:min(460px,100%);display:grid}.battle-results__duel{gap:var(--space-12);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.battle-results__player.ui-button{align-content:start;justify-items:center;gap:var(--space-8);width:100%;min-width:0;height:auto;min-height:0;padding:var(--space-18) var(--space-12);color:var(--color-text);background:var(--color-white-08);border-color:var(--color-border);border-radius:var(--radius-18);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);text-align:center;display:grid;position:relative}.battle-results__player.ui-button:hover{background:var(--color-control-hover)}.battle-results__player--winner.ui-button{background:var(--color-accent-18);border-color:var(--color-accent-light)}.battle-results__player--winner.ui-button:hover{background:var(--color-accent-soft-surface)}.battle-results__avatar{margin-bottom:var(--space-4);position:relative}.battle-results__player .ui-identity{justify-items:center;max-width:100%}.battle-results__xp{margin-top:var(--space-4);color:var(--color-rating-student);font-size:var(--font-size-heading-sm);font-variant-numeric:tabular-nums}.battle-results__xp small{font-size:var(--font-size-xs)}.battle-results__time{color:var(--color-text-dim);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.battle-results__player>.ui-badge{margin-top:var(--space-4)}.battle-results__versus{z-index:1;top:50%;left:calc((var(--space-12) / 2 + 1px) * -1);width:calc(var(--space-24) + var(--space-8));height:calc(var(--space-24) + var(--space-8));color:var(--color-text-dim);background:var(--color-surface-raised);border:1px solid var(--color-border-soft);border-radius:var(--radius-64);font-size:var(--font-size-xs);font-weight:var(--font-weight-black);place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}@media (width<=420px){.battle-results__duel{grid-template-columns:1fr}.battle-results__versus{top:calc((var(--space-12) / 2 + 1px) * -1);left:50%}}@keyframes app-loader-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.app-loader__spinner{animation-duration:1.8s}}.placeholder-page{max-width:800px;padding:var(--space-48) var(--space-24) calc(var(--space-48) + var(--space-48) + var(--space-24));margin:0 auto}.placeholder-page h1{margin:0 0 var(--space-12)}.placeholder-page p{color:var(--color-text-dim)}.rating-page{width:min(100%,736px);min-height:100%;padding:calc(var(--space-64) + var(--space-48)) var(--space-24) calc(var(--space-64) + var(--space-48) + var(--space-24) + env(safe-area-inset-bottom));margin:0 auto}.rating-tabs-shell{z-index:30;top:max(var(--space-12), env(safe-area-inset-top));max-width:calc(100vw - var(--space-24));position:fixed;left:50%;transform:translate(-50%)}.rating-board{justify-items:center;min-height:320px;display:grid;position:relative}.rating-list-sentinel{width:100%;height:1px}.people-page{width:min(100%,736px);min-height:100%;padding:calc(var(--space-64) + var(--space-48)) var(--space-24) calc(var(--space-64) + var(--space-48) + var(--space-24) + env(safe-area-inset-bottom));margin:0 auto}.people-tabs-shell{z-index:30;top:max(var(--space-12), env(safe-area-inset-top));max-width:calc(100vw - var(--space-24));position:fixed;left:50%;transform:translate(-50%)}.people-board{justify-items:center;display:grid}.people-board__actions{width:min(430px,100%);margin-top:var(--space-12);justify-content:center;display:flex}.people-board__busy{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:fixed;overflow:hidden}.moderation-page{width:min(100%,1180px);min-height:100%;padding:max(var(--space-24), env(safe-area-inset-top)) var(--space-24) calc(var(--space-64) + var(--space-48) + env(safe-area-inset-bottom));margin:0 auto}.moderation-page>.ui-section-header{margin-bottom:var(--space-18)}.moderation-grid{grid-template-columns:repeat(5, minmax(0, min(var(--card-size-default), calc((100% - var(--space-48)) / 5))));gap:var(--space-12);display:grid}.moderation-load-more{margin-top:var(--space-24);justify-content:center;display:flex}.public-profile-page{min-height:100%;padding:max(var(--space-24), env(safe-area-inset-top)) var(--space-24) calc(var(--space-64) + var(--space-48) + env(safe-area-inset-bottom));background:var(--color-page)}.public-profile-page>*{width:min(100%,1180px);margin-inline:auto}.public-profile__back{align-items:center;gap:var(--space-8);width:max-content;margin-bottom:var(--space-24);display:flex}.public-profile__back svg{width:18px;height:18px}.public-profile__gallery{margin-top:var(--space-48)}.public-profile__gallery>.ui-section-header{margin-bottom:var(--space-18)}.public-profile__gallery>.ui-section-header .custom-select{width:min(260px,100%)}.public-profile__gallery h2,.public-profile__gallery p{margin-top:0}.public-profile__gallery h2{font-size:var(--font-size-heading);margin-bottom:0}.public-profile__drawing{width:100%}.public-profile__virtual-gallery{width:100%;position:relative}.public-profile__virtual-row{width:100%;padding-bottom:var(--space-12);position:absolute;top:0;left:0}.profile-page{min-height:100%;padding:max(var(--space-24), env(safe-area-inset-top)) var(--space-24) calc(var(--space-64) + var(--space-48) + env(safe-area-inset-bottom));background:var(--color-page);place-items:center;display:grid}.auth-card,.profile-card{width:min(100%,460px);padding:var(--space-24);background:var(--color-surface-raised);border:1px solid var(--color-border-soft);border-radius:var(--radius-18)}.auth-card h1,.profile-card h1{margin:var(--space-4) 0 var(--space-24)}.auth-error{color:var(--color-danger);margin:0}.profile-card{align-items:center;gap:var(--space-18);grid-template-columns:auto 1fr;display:grid}.profile-card h1{margin-bottom:0}.profile-name-form{align-items:end;gap:var(--space-12);grid-column:1/-1;grid-template-columns:1fr auto;display:grid}.language-select{gap:var(--space-8);grid-column:1/-1;width:100%;display:grid}.language-select>span{color:var(--color-text-muted);font-size:var(--font-size-body-sm)}.profile-error,.profile-card>.ui-button,.profile-card>.ui-stats{grid-column:1/-1}.training-page{min-height:100%;padding:max(var(--space-24), env(safe-area-inset-top)) var(--space-24) calc(var(--space-64) + var(--space-48) + env(safe-area-inset-bottom));background:var(--color-page)}.custom-select{color:var(--color-text-strong);font-size:var(--font-size-body);position:relative}.custom-select__trigger{width:100%;min-height:var(--control-height-default);padding:0 var(--space-12) 0 var(--space-18);color:var(--color-text-strong);background:var(--color-control-alt);border:1px solid var(--color-border-input);border-radius:var(--radius-12);text-align:left;justify-content:space-between;align-items:center;display:flex}.custom-select__trigger span,.custom-select__option span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.custom-select__trigger svg{width:var(--control-icon-size);height:var(--control-icon-size);stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s;transform:rotate(90deg)}.custom-select--open .custom-select__trigger{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-18)}.custom-select--open .custom-select__trigger svg{transform:rotate(-90deg)}.custom-select__menu{z-index:10;top:calc(100% + var(--space-8));gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-input);border-radius:var(--radius-12);box-shadow:0 16px 36px var(--color-shadow-60);display:grid;position:absolute;left:0;right:0}.custom-select__menu--portal{z-index:200;overscroll-behavior:contain;scrollbar-width:none;position:fixed;right:auto;overflow:hidden auto}.custom-select__menu--portal::-webkit-scrollbar{display:none}.custom-select__option{justify-content:space-between;align-items:center;gap:var(--space-8);width:100%;min-width:0;min-height:var(--control-height-default);padding:var(--space-8) var(--space-12);color:var(--color-text);border-radius:var(--radius-8);text-align:left;background:0 0;border:0;display:flex}.custom-select__option:hover{background:var(--color-option-hover)}.custom-select__option[aria-selected=true]{color:var(--color-text-strong);background:var(--color-accent-dark)}.custom-select__option svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.training-rows{gap:var(--space-24);width:100%;display:grid}.training-row{width:min(100%,1180px);min-width:0;margin-inline:auto}.training-row__header{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-12);margin-bottom:var(--space-12);display:flex;position:relative}.training-row h2{font-size:var(--font-size-heading-sm);margin:0}.training-row__filter{z-index:11;width:220px;max-width:100%;position:relative}.training-row__filter .custom-select__trigger{min-height:var(--control-height-default);padding-left:var(--space-12)}.training-grid-shell{min-width:0;position:relative}.training-grid{grid-template-columns:repeat(5, minmax(0, min(var(--card-size-default), calc((100% - var(--space-48)) / 5))));gap:var(--space-12);width:100%;display:grid}.training-virtual-gallery{width:100%;position:relative}.training-virtual-row{width:100%;padding-bottom:var(--space-12);position:absolute;top:0;left:0}.training-gallery-sentinel{height:1px}.training-card{aspect-ratio:1;min-width:0;min-height:0;color:var(--color-text);background:var(--color-page);border:1px solid var(--color-white-12);border-radius:var(--radius-18);text-align:left;padding:0;position:relative;overflow:hidden;container-type:inline-size}.training-card__preview{color:var(--color-text-disabled);background:0 0;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.training-card__preview img{opacity:0;object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none;width:100%;height:100%;transition:opacity .18s ease-out}.training-card__preview canvas{width:100%;height:100%;display:block}.training-card__preview img.training-card__preview-loaded{opacity:1}.training-card__preview-skeleton{z-index:1;background:var(--color-skeleton-base);position:absolute;inset:0;overflow:hidden}.training-card__preview-skeleton:after{content:"";background:linear-gradient(100deg, transparent 20%, var(--color-skeleton-highlight) 50%, transparent 80%);animation:1.5s ease-in-out infinite ui-skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.training-card__preview-blur{filter:blur(12px);image-rendering:auto;transform:scale(1.16)}.training-card__preview-full{filter:blur(9px);transform:scale(1.1)}.training-card--revealed .training-card__preview-blur{filter:blur(12px);transform:scale(1.16)}.training-card--revealed .training-card__preview-full{filter:none;transform:none}.training-card__preview span{color:var(--color-text-disabled);background:var(--color-text);place-items:center;display:grid;position:absolute;inset:0}.training-card__details{align-items:center;gap:var(--space-8);padding:var(--space-24) var(--space-12) var(--space-12);background:linear-gradient(transparent, var(--color-card-gradient) 38%);grid-template-columns:1fr auto;display:grid;position:absolute;bottom:0;left:0;right:0}.training-card__details>span{color:var(--color-text-subtle);font-size:var(--font-size-label);white-space:nowrap}.training-card__actions{z-index:3;justify-content:center;align-items:center;gap:var(--space-12);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.training-card__action{width:var(--control-size-icon);min-height:var(--control-size-icon);color:var(--color-white-88);background:var(--color-card-action);border:1px solid var(--color-white-22);border-radius:var(--radius-12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-items:center;padding:0;transition:background .15s,border-color .15s,transform .15s;display:grid}.training-card__action:hover{background:var(--color-card-action-hover);border-color:var(--color-white-36);transform:translateY(-1px)}.training-card__action svg{width:var(--control-icon-size);height:var(--control-icon-size);stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.training-card__action[aria-pressed=true],.training-card__action--start{color:var(--color-text-strong);background:var(--color-accent-90);border-color:var(--color-accent-light)}.training-card__action:disabled{opacity:.55;cursor:wait}.training-card__difficulty{width:max-content;padding:var(--space-4) var(--space-8);border-radius:var(--radius-64);font-size:var(--font-size-sm)}.training-card__difficulty--easy{color:var(--color-difficulty-easy);background:var(--color-difficulty-easy-bg)}.training-card__difficulty--normal{color:var(--color-difficulty-harder);background:var(--color-difficulty-harder-bg)}.training-card__difficulty--hard{color:var(--color-difficulty-hard);background:var(--color-difficulty-hard-bg)}.training-card__difficulty--easier{color:var(--color-difficulty-easy);background:var(--color-difficulty-easy-bg)}.training-card__difficulty--harder{color:var(--color-difficulty-harder);background:var(--color-difficulty-harder-bg)}.training-card__difficulty--starter{color:var(--color-difficulty-easy);background:var(--color-difficulty-easy-bg)}.editor-sections{gap:var(--space-24);width:min(100%,1180px);margin-inline:auto;display:grid}.editor-section{min-width:0}.editor-section h2{margin:0 0 var(--space-12);font-size:var(--font-size-heading-sm)}.editor-section__header{justify-content:space-between;align-items:center;gap:var(--space-12);margin-bottom:var(--space-12);display:flex}.editor-section__header h2{margin:0}.editor-gallery-sort{z-index:11;width:280px;max-width:100%;position:relative}.editor-gallery-sort .custom-select__trigger{min-height:var(--control-height-default);padding-left:var(--space-12)}.editor-recent-grid,.editor-gallery-grid{grid-template-columns:repeat(5, minmax(0, min(var(--card-size-default), calc((100% - var(--space-48)) / 5))));gap:var(--space-12);display:grid}.editor-virtual-gallery{width:100%;position:relative}.editor-virtual-row{width:100%;padding-bottom:var(--space-12);position:absolute;top:0;left:0}.editor-card{cursor:pointer;width:100%;transition:border-color .15s,transform .15s}.editor-card__detail-hover{display:none}.editor-card__detail-group{align-items:center;gap:var(--space-6);min-width:0}.editor-card__detail-default.editor-card__detail-group{display:inline-flex}.editor-card__detail-hover.editor-card__detail-group{display:none}.editor-card__detail-value{align-items:center;gap:var(--space-4);white-space:nowrap;display:inline-flex}.editor-card__detail-value>.ui-icon{flex:none;width:14px;height:14px}@media (hover:hover){.editor-card:hover .editor-card__detail-default{display:none}.editor-card:hover .editor-card__detail-hover,.editor-card--draft:hover .editor-card__detail-default{display:inline-flex}.editor-card--draft:hover .editor-card__detail-hover{display:none}}.editor-card:hover{border-color:var(--color-white-36);transform:translateY(-1px)}.editor-card--draft{cursor:default;transition:none}.editor-card--draft:hover{border-color:var(--color-border-card);transform:none}.editor-card:focus-visible{border-color:var(--color-accent-light);box-shadow:0 0 0 3px var(--color-accent-25);outline:0}.editor-gallery-sentinel{height:1px}.graphic-editor-page{width:100%;height:100%;position:relative;overflow:hidden}.drawing-view-page{background:var(--color-editor-canvas);width:100%;height:100%;min-height:100dvh;position:relative;overflow:hidden}.drawing-view-toolbar{z-index:20;top:max(var(--space-12), env(safe-area-inset-top));position:fixed;left:50%;transform:translate(-50%)}.drawing-editor{background:var(--color-page);position:relative;overflow:hidden}.drawing-editor canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;position:absolute;inset:0}.drawing-editor__remote-cursor{z-index:2;pointer-events:none;width:28px;height:28px;transition:left 40ms linear,top 40ms linear;display:block;position:absolute;transform:translate(-4px,-24px)rotate(-12deg)}.drawing-editor__remote-cursor .ui-icon{stroke-width:2.4px;width:28px;height:28px}.graphic-editor-top{z-index:20;top:max(var(--space-12), env(safe-area-inset-top));justify-items:center;gap:var(--space-8);width:max-content;max-width:calc(100% - var(--space-24));pointer-events:none;display:grid;position:absolute;left:50%;transform:translate(-50%)}.graphic-editor-side{z-index:20;top:calc(max(var(--space-12), env(safe-area-inset-top)) + var(--space-64) + var(--space-12));bottom:max(var(--space-12), env(safe-area-inset-bottom));pointer-events:none;align-items:center;display:flex;position:absolute}.graphic-editor-side--left{left:max(var(--space-12), env(safe-area-inset-left));z-index:21}.graphic-editor-side--right{right:max(var(--space-12), env(safe-area-inset-right))}.graphic-editor-side .graphic-editor-toolbar{scrollbar-width:none;flex-direction:column;max-height:100%;position:relative;overflow:hidden auto}.graphic-editor-side .graphic-editor-toolbar::-webkit-scrollbar{display:none}.graphic-editor-side .graphic-editor-toolbar--tools{overflow:visible}.graphic-editor-toolbar{pointer-events:auto;scrollbar-width:none;min-width:0;max-width:100%;margin:0;overflow-x:auto}.graphic-editor-toolbar::-webkit-scrollbar{display:none}.graphic-editor-toolbar fieldset{align-items:center;gap:var(--space-8);border:0;flex:none;min-width:0;margin:0;padding:0;display:flex}.graphic-editor-color{width:var(--control-size-icon);min-height:var(--control-size-icon);justify-content:center;align-items:center;display:flex}.graphic-editor-color .ui-color-picker{border-radius:var(--radius-8);cursor:pointer;background:0 0;border:0;width:40px;height:40px;padding:0;overflow:hidden}.graphic-editor-width{align-items:center;gap:var(--space-8);white-space:nowrap;font-size:var(--font-size-body-sm);display:flex}.graphic-editor-width input{width:96px;accent-color:var(--color-accent)}.graphic-editor-width output{min-width:24px;color:var(--color-accent-pale);font-variant-numeric:tabular-nums}.graphic-editor-toolbar .ui-field{width:var(--control-size-icon);color:#0000;gap:0;font-size:0}.graphic-editor-toolbar .graphic-editor-color-input{width:var(--control-size-icon);min-width:var(--control-size-icon);height:var(--control-size-icon);min-height:var(--control-size-icon);aspect-ratio:1;box-sizing:border-box}.graphic-editor-toolbar .ui-color-picker>span{min-height:100%}.graphic-editor-toolbar .ui-color-picker>svg{display:none}.graphic-editor-zoom{font-variant-numeric:tabular-nums}.graphic-editor-status,.graphic-editor-error{padding:var(--space-6) var(--space-12);color:var(--color-text);background:var(--color-glass);border-radius:var(--radius-12);font-size:var(--font-size-label);margin:0}.graphic-editor-error{color:var(--color-danger)}.graphic-editor-toolbar--actions{justify-content:center}.artist-zoom{align-items:center;gap:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-white-12);flex-direction:column;display:flex}.artist-zoom .canvas-zoom-value{min-height:var(--space-24)}.graphic-editor-side .graphic-editor-zoom{padding-inline:var(--space-2)}.artist-brush__settings{top:50%;left:calc(100% + var(--space-12));gap:var(--space-12);width:min(240px, calc(100vw - var(--space-64) - var(--space-24) - var(--space-18) - env(safe-area-inset-left) - env(safe-area-inset-right)));min-width:0;padding:var(--space-12);color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-white-12);border-radius:var(--radius-12);box-shadow:0 8px 24px var(--color-shadow);font-size:var(--font-size-body-sm);display:grid;position:absolute;transform:translateY(-50%)}.artist-brush__settings .ui-slider-control{min-width:0}.artist-brush__settings input{width:100%;min-height:48px;accent-color:var(--color-accent);margin:0}.artist-brush__sizes{gap:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;display:grid}.artist-brush__sizes .ui-button{width:100%;min-width:0;padding-inline:var(--space-8)}.artist-shapes__settings{grid-template-columns:repeat(2, var(--control-size-icon));width:auto;min-width:0}.artist-shapes__settings .ui-button[aria-checked=true]{color:var(--color-accent-pale);background:var(--color-accent-soft-surface)}@media (width<=380px){.graphic-editor-save span{display:none}}@media (height<=540px){.graphic-editor-side .graphic-editor-toolbar,.artist-zoom{gap:var(--space-2)}}.rating-info-dialog{gap:var(--space-24);display:grid}.rating-info-dialog__places{gap:var(--space-12);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rating-info-dialog__place{align-items:center;gap:var(--space-4) var(--space-8);min-width:0;padding:var(--space-18);background:var(--color-control-alt);border:1px solid var(--color-border-soft);border-radius:var(--radius-12);grid-template-columns:auto 1fr;display:grid}.rating-info-dialog__place>svg{width:22px;height:22px}.rating-info-dialog__place>strong{font-size:var(--font-size-heading);line-height:var(--line-height-tight);font-variant-numeric:tabular-nums}.rating-info-dialog__place>span{color:var(--color-text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-compact);grid-column:1/-1}.rating-info-dialog__place--xp>svg,.rating-info-dialog__place--xp>strong{color:var(--color-xp)}.rating-info-dialog__place--author>svg,.rating-info-dialog__place--author>strong{color:var(--color-rating-total)}.rating-info-dialog__explanation{gap:var(--space-12);display:grid}.rating-info-dialog__explanation h3,.rating-info-dialog p{margin:0}.rating-info-dialog__explanation h3{color:var(--color-text-strong);font-size:var(--font-size-title)}.rating-info-dialog p{color:var(--color-text-muted);line-height:var(--line-height-body)}.rating-info-dialog__note{gap:var(--space-12);padding:var(--space-12);background:var(--color-accent-18);border:1px solid var(--color-white-12);border-radius:var(--radius-12);grid-template-columns:auto 1fr;display:grid}.rating-info-dialog__note>svg{width:20px;height:20px;margin-top:var(--space-2);color:var(--color-accent-light)}.rating-info-dialog__actions{justify-content:flex-end;display:flex}@media (width<=480px){.rating-info-dialog__places{grid-template-columns:1fr}}.completion-confetti{z-index:3;pointer-events:none;position:fixed;inset:0;overflow:hidden}.completion-confetti i{top:calc(100% + var(--space-64) + var(--space-64));width:var(--space-18);height:calc(var(--space-24) + var(--space-4));opacity:0;background:var(--confetti-color);border-radius:var(--radius-4);animation:completion-confetti-burst 3.2s linear var(--confetti-delay) both;position:absolute;left:50%}.completion-confetti i:nth-child(3n){width:var(--space-12);height:var(--space-12);border-radius:var(--radius-64)}.completion-confetti i:nth-child(4n){width:calc(var(--space-24) + var(--space-4));height:var(--space-8)}@keyframes completion-confetti-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(0)}8%{opacity:0}14%{opacity:1}42%{opacity:1;transform:translate(calc(-50% + var(--confetti-x-1)), calc(-50% + var(--confetti-y-1))) scale(1) rotate(var(--confetti-rotate-1))}70%{opacity:1;transform:translate(calc(-50% + var(--confetti-x-2)), calc(-50% + var(--confetti-y-2))) scale(.94) rotate(var(--confetti-rotate-2))}88%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--confetti-x-3)), calc(-50% + var(--confetti-y-3))) scale(.78) rotate(var(--confetti-rotate-3))}}@media (prefers-reduced-motion:reduce){.completion-confetti{display:none}}.drawing-trainer{background:var(--color-page);max-width:100%;position:relative;overflow:hidden}.drawing-trainer canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.drawing-trainer__placeholder{pointer-events:none}.drawing-trainer__guide{cursor:crosshair;-webkit-user-select:none;user-select:none}.drawing-trainer__xp-fly{z-index:20;color:var(--color-xp-bright);font-size:var(--font-size-emphasis);font-weight:var(--font-weight-black);text-shadow:0 1px 3px var(--color-black);pointer-events:none;position:fixed}@media (pointer:coarse){button{font-size:var(--font-size-body)}}@media (width<=620px){.user-status{gap:var(--space-8)}.user-status__progress{gap:var(--space-8);min-width:0}.user-status__level{width:48px;height:48px}.user-status__level small{font-size:var(--font-size-xs)}.user-status__xp{width:calc(var(--space-64) + var(--space-24) + var(--space-8))}.user-status__avatar{width:48px;height:48px;font-size:var(--font-size-title)}.user-status-skeleton__level,.user-status-skeleton__avatar{width:48px;height:48px}.user-status-skeleton__xp{width:calc(var(--space-64) + var(--space-24) + var(--space-8))}.user-status-skeleton__names{width:100px}.user-status__display-name,.user-status__username,.user-status .ui-identity{max-width:100px}.profile-name-form{grid-template-columns:1fr}.completion-dialog__actions{flex-direction:column-reverse}.training-page{padding-inline:var(--space-18)}.training-row__header{flex-direction:column;align-items:flex-start}.training-row__header>.ui-section-header__actions{width:100%}.training-row__header>.ui-section-header__actions .training-row__filter{flex:1}.editor-section__header{flex-direction:column;align-items:flex-start}.rating-page{padding:calc(var(--space-64) + var(--space-48)) var(--space-12) calc(var(--space-64) + var(--space-48) + var(--space-24) + env(safe-area-inset-bottom))}.public-profile-page{padding-inline:var(--space-12)}.public-profile__gallery>.ui-section-header{flex-direction:column;align-items:stretch}}@media (width<=599px){.training-grid,.editor-recent-grid,.editor-gallery-grid,.moderation-grid{grid-template-columns:repeat(2, minmax(0, min(var(--card-size-default), calc((100% - var(--space-12)) / 2))))}}.ui-kit-page{min-height:100dvh;padding:var(--space-48) var(--space-24) var(--space-64);color:var(--color-text);background:var(--color-page);font-family:var(--font-family-base)}.ui-kit-page>*{width:min(100%,1040px);margin-inline:auto}.ui-kit-header{margin-bottom:var(--space-48)}.ui-kit-header h1{margin:0 0 var(--space-8);font-size:var(--font-size-display-max)}.ui-kit-header span,.ui-kit-section>p{color:var(--color-text-dim)}.ui-kit-tier{align-items:center;gap:var(--space-18);margin-top:var(--space-64);padding-bottom:var(--space-12);border-bottom:1px solid var(--color-border-soft);display:flex}.ui-kit-tier>span{width:var(--control-height-default);height:var(--control-height-default);color:var(--color-accent-pale);background:var(--color-accent-soft-surface);border-radius:var(--radius-12);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);flex:none;place-items:center;display:grid}.ui-kit-tier h2,.ui-kit-tier p{margin:0}.ui-kit-tier h2{font-size:var(--font-size-heading)}.ui-kit-tier p{margin-top:var(--space-4);color:var(--color-text-dim)}.ui-kit-section{margin-top:var(--space-24);padding:var(--space-24);background:var(--color-surface-raised);border:1px solid var(--color-border-soft);border-radius:var(--radius-24)}.ui-kit-section h2{margin:0 0 var(--space-8)}.ui-kit-section>p{margin:0 0 var(--space-24)}.ui-kit-row{align-items:center;gap:var(--space-12);flex-wrap:wrap;display:flex}.ui-kit-row+.ui-kit-row{margin-top:var(--space-18)}.ui-kit-grid{align-items:start;gap:var(--space-24);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.ui-kit-icons{gap:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.ui-kit-icons div{min-height:88px;padding:var(--space-12);color:var(--color-text-muted);background:var(--color-surface-deep);border-radius:var(--radius-12);font-size:var(--font-size-xs);place-items:center;display:grid}.ui-kit-icons svg{width:var(--control-icon-size);height:var(--control-icon-size);color:var(--color-text-strong);stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.ui-kit-icons .ui-icon--outline{width:18px;height:18px}.ui-kit-type-scale{gap:var(--space-4);margin-top:var(--space-24);display:grid}.ui-kit-type-scale>div{align-items:baseline;gap:var(--space-18);padding:var(--space-12) 0;border-bottom:1px solid var(--color-border-soft);grid-template-columns:150px minmax(0,1fr);display:grid}.ui-kit-type-scale span{color:var(--color-text-dim);font-size:var(--font-size-sm)}.ui-kit-type-scale p{overflow-wrap:anywhere;margin:0}.ui-type-display p{font-size:var(--font-size-display-max);font-weight:var(--font-weight-black);line-height:var(--line-height-title)}.ui-type-heading p{font-size:var(--font-size-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-title)}.ui-type-heading-sm p{font-size:var(--font-size-heading-sm);font-weight:var(--font-weight-bold);line-height:var(--line-height-title)}.ui-type-title p{font-size:var(--font-size-title);font-weight:var(--font-weight-bold);line-height:var(--line-height-title)}.ui-type-emphasis p{font-size:var(--font-size-emphasis);font-weight:var(--font-weight-bold)}.ui-type-body p{font-size:var(--font-size-body);line-height:var(--line-height-body)}.ui-type-body-sm p{font-size:var(--font-size-body-sm);line-height:var(--line-height-body)}.ui-type-label p{font-size:var(--font-size-label);font-weight:var(--font-weight-bold)}.ui-type-caption p{font-size:var(--font-size-sm);line-height:var(--line-height-compact)}.ui-kit-type-weights{gap:var(--space-24);font-size:var(--font-size-body);flex-wrap:wrap;display:flex}.ui-kit-type-weights strong{font-weight:var(--font-weight-bold)}.ui-kit-type-weights b{font-weight:var(--font-weight-heavy)}.ui-kit-type-weights em{font-style:normal;font-weight:var(--font-weight-black)}.ui-kit-token-list{gap:var(--space-8);display:grid}.ui-kit-space-token{align-items:center;gap:var(--space-12);min-height:var(--control-height-compact);grid-template-columns:110px minmax(0,1fr) 48px;display:grid}.ui-kit-space-token code,.ui-kit-radius-grid code{color:var(--color-text-muted);font:var(--font-size-sm)/var(--line-height-compact) var(--font-family-base)}.ui-kit-space-token b,.ui-kit-radius-grid b{color:var(--color-text-dim);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular)}.ui-kit-space-token__track{height:var(--space-12);background:var(--color-surface-deep);border-radius:var(--radius-64);align-items:center;display:flex;overflow:hidden}.ui-kit-space-token__track i{width:var(--ui-token-size);min-width:var(--space-2);background:var(--color-accent);border-radius:var(--radius-64);height:100%;display:block}.ui-kit-radius-grid{gap:var(--space-18);grid-template-columns:repeat(auto-fit,minmax(112px,1fr));display:grid}.ui-kit-radius-grid>div{justify-items:center;gap:var(--space-8);padding:var(--space-12);background:var(--color-surface-deep);border-radius:var(--radius-12);text-align:center;display:grid}.ui-kit-radius-sample{width:var(--space-64);height:var(--space-64);background:var(--color-accent-soft-surface);border:1px solid var(--color-accent);border-radius:var(--ui-token-radius);display:block}.ui-kit-subtitle{margin:var(--space-24) 0 var(--space-12);color:var(--color-text-muted);font-size:var(--font-size-body-sm)}.ui-kit-context-menu-variants{align-items:start;gap:var(--space-24);grid-template-columns:repeat(4,minmax(0,1fr));min-height:280px;display:grid}.ui-kit-context-menu-variants>div{justify-items:start;gap:var(--space-12);display:grid}.ui-kit-context-menu-variants .ui-kit-subtitle{margin:0}.ui-kit-menu-variants{justify-items:start;gap:var(--space-24);display:grid}.ui-kit-menu-variants>div{justify-items:start;gap:var(--space-12);display:grid}.ui-kit-menu-variants .ui-kit-subtitle{margin:0}.ui-kit-context{width:var(--control-height-compact);position:relative}.ui-kit-context>summary,.ui-kit-context__trigger{width:var(--control-height-compact);min-width:var(--control-height-compact);height:var(--control-height-compact);min-height:var(--control-height-compact);color:var(--color-text-soft);border-radius:var(--radius-12);cursor:pointer;background:0 0;border-color:#0000;place-items:center;padding:0;list-style:none;display:grid}.ui-kit-context>summary::-webkit-details-marker{display:none}.ui-kit-context>summary:hover,.ui-kit-context[open]>summary,.ui-kit-context__trigger:hover{background:var(--color-white-08)}.ui-kit-context>summary svg,.ui-kit-context__trigger svg{width:24px;height:24px;color:var(--color-text-strong)}.ui-kit-context>div{z-index:2;top:calc(100% + var(--space-8));gap:var(--space-4);width:220px;padding:var(--space-8);background:var(--color-glass);border:1px solid var(--color-glass-border);border-radius:var(--radius-12);box-shadow:0 8px 24px var(--color-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;position:absolute;right:0}.ui-kit-context>div button{align-items:center;gap:var(--space-8);width:100%;min-height:var(--control-height-default);padding:var(--space-8) var(--space-12);text-align:left;background:0 0;border-color:#0000;display:flex}.ui-kit-context>div button svg{width:var(--control-icon-size);height:var(--control-icon-size);flex:none}.ui-kit-context>div button:hover{background:var(--color-white-08)}.ui-kit-context>div button.danger{color:var(--color-danger)}.ui-kit-context--open{margin-left:220px}.ui-kit-context--open>div{display:grid}.ui-kit-status{padding:var(--space-8) var(--space-12);color:var(--color-text-muted);background:var(--color-control);border-radius:var(--radius-64);font-size:var(--font-size-label)}.ui-kit-status--success{color:var(--color-accent-pale);background:var(--color-accent-soft-surface)}.ui-kit-status--danger{color:var(--color-danger)}.ui-kit-row .app-loader__spinner{width:var(--space-24);height:var(--space-24);border-width:var(--space-2)}.ui-kit-loader-preview{background:var(--color-surface-deep);border-radius:var(--radius-12);min-height:180px;position:relative;overflow:hidden}.ui-kit-loader-preview .app-loader{position:absolute}.ui-kit-tooltip-demo{padding:var(--space-48)}.ui-kit-card-examples{grid-template-columns:repeat(5, minmax(0, min(var(--card-size-default), calc((100% - var(--space-48)) / 5))));gap:var(--space-12);margin-top:var(--space-24);display:grid}.ui-kit-card-examples>.ui-state--section{width:100%;max-width:var(--card-size-default);aspect-ratio:1;border-radius:var(--radius-18);min-width:0}.ui-kit-status-preview{max-width:100%;margin-top:var(--space-24);padding:var(--space-8);scrollbar-width:none;overflow-x:auto}.ui-kit-status-preview::-webkit-scrollbar{display:none}@media (width<=620px){.ui-kit-page{padding:var(--space-24) var(--space-12) var(--space-48)}.ui-kit-section{padding:var(--space-18)}.ui-kit-type-scale>div{gap:var(--space-6);grid-template-columns:1fr}.ui-type-display p{font-size:var(--font-size-heading)}.ui-kit-space-token{grid-template-columns:96px minmax(0,1fr)}.ui-kit-space-token>b{display:none}.ui-kit-context-menu-variants{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=599px){.ui-kit-card-examples{grid-template-columns:repeat(2, minmax(0, min(var(--card-size-default), calc((100% - var(--space-12)) / 2))))}}
