*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.list-item{display:list-item}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.border{border-width:1px}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.\!ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--ink:#0a0b10;--tint:#9b5cff;--bg:#f4efe3;--bg-2:#ece5d2;--bg-gradient:#f4efe3;--bg-alt:#fffdf8;--surface:#fffdf8;--surface-2:#fff;--raised:#fff;--border:rgba(20,23,15,.14);--border-2:rgba(20,23,15,.26);--text:#181b14;--text-2:#4e5245;--text-3:#878c79;--text-4:#a3a895;--pink:#ff1f7a;--mint:#00c97f;--sky:#0093e9;--violet:#7a2bff;--amber:#ffb800;--coral:#ff5a1f;--accent:var(--tint);--primary:var(--tint);--primary-shadow:transparent;--primary-soft:color-mix(in srgb,var(--tint) 18%,transparent);--primary-gradient:var(--tint);--sidebar-bg:#fffdf8;--sidebar-text:#181b14;--sidebar-muted:#878c79;--sidebar-hover:color-mix(in srgb,var(--tint) 12%,transparent);--sidebar-border:rgba(20,23,15,.14);--sidebar-active:color-mix(in srgb,var(--tint) 20%,transparent);--grid-line:rgba(20,23,15,.1);--r-xs:.25rem;--r-sm:.375rem;--r-md:.625rem;--r-lg:.875rem;--r-xl:1.25rem;--r-2xl:1.75rem;--r-full:9999px;--shadow-sm:3px 3px 0 0 var(--ink);--shadow-md:4px 4px 0 0 var(--ink);--shadow-lg:5px 5px 0 0 var(--ink),9px 9px 0 0 color-mix(in srgb,var(--tint) 20%,transparent);--shadow-xl:8px 10px 0 0 var(--ink);--font:"Patrick Hand","Shantell Sans",ui-rounded,"Segoe UI",system-ui,sans-serif;--font-display:"Caveat","Shantell Sans",cursive;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--sidebar-w:260px;--topbar-h:70px}html.dark,html[data-theme=dark]{--ink:#05060a;--bg:#0b0e13;--bg-2:#11151c;--bg-gradient:#0b0e13;--bg-alt:#15171b;--surface:#161b24;--surface-2:#1c222d;--raised:#1c222d;--border:hsla(0,0%,100%,.1);--border-2:hsla(0,0%,100%,.2);--text:#f3f1ea;--text-2:#abb1be;--text-3:#6d7380;--text-4:#565c68;--pink:#ff2e88;--mint:#00f5a0;--sky:#00d4ff;--violet:#9b5cff;--amber:#ffd400;--coral:#ff6b2c;--accent:var(--tint);--sidebar-bg:#101216;--sidebar-text:#f3f1ea;--sidebar-muted:#767c89;--sidebar-hover:color-mix(in srgb,var(--tint) 20%,transparent);--sidebar-border:hsla(0,0%,100%,.09);--grid-line:hsla(0,0%,100%,.07)}html[data-theme=grey]{--ink:#0b0c11;--bg:#7c7f85;--bg-2:#75787e;--bg-gradient:#7c7f85;--bg-alt:#8b8e94;--surface:#86898f;--surface-2:#93969c;--raised:#93969c;--border:rgba(0,0,0,.16);--border-2:rgba(0,0,0,.28);--text:#0d0e10;--text-2:#26282c;--text-3:#44464a;--text-4:#5a5d62;--pink:#e01e6e;--mint:#00a86b;--sky:#0080d6;--violet:#6b25e6;--amber:#e5a500;--coral:#e64e14;--accent:var(--tint);--sidebar-bg:#54565b;--sidebar-text:#f2f2f2;--sidebar-muted:#c4c5c8;--sidebar-hover:color-mix(in srgb,var(--tint) 22%,transparent);--sidebar-border:hsla(0,0%,100%,.12);--grid-line:rgba(0,0,0,.12)}*,:after,:before{box-sizing:border-box}body,html{min-height:100vh;overscroll-behavior-y:none}html[dir=rtl] body{font-family:"Cairo",var(--font)}body,html{width:100%;margin:0;padding:0;overflow-x:clip;color:var(--text);background:var(--bg-gradient);background-attachment:scroll;-webkit-font-smoothing:antialiased;line-height:1.6}body:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 80% 20%,var(--primary-soft) 0,transparent 40%),radial-gradient(circle at 20% 80%,var(--primary-soft) 0,transparent 40%);z-index:-1;pointer-events:none}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font-family:inherit}img{display:block;max-width:100%}::-moz-selection{background:var(--primary);color:#fff}::selection{background:var(--primary);color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-4)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-shell{display:flex;min-height:100vh;background:transparent;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:var(--sidebar-w);border-inline-end:1px solid var(--sidebar-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;z-index:40;overflow-y:auto}.main-content{padding-inline-start:var(--sidebar-w);flex:1;min-height:100vh;background:transparent;transition:padding .25s ease;display:flex;flex-direction:column}.main-content,.page-wrap{width:100%!important;max-width:none!important;box-sizing:border-box;margin:0!important}.page-wrap{padding:2rem 2.5rem;flex:1}@media(max-width:768px){.main-content{padding-inline-start:0}.sidebar{transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-xl)}html[dir=rtl] .sidebar{transform:translateX(100%)}.sidebar.open{transform:translateX(0)}}.topbar{position:relative;justify-content:space-between;gap:1rem;padding:.85rem 1.5rem;background:var(--bg-alt);border:1px solid var(--border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--r-full);box-shadow:var(--shadow-sm);margin-bottom:2rem;z-index:100}.nav-item,.topbar{display:flex;align-items:center}.nav-item{gap:.75rem;padding:.65rem 1rem;margin:.15rem .6rem;border-radius:var(--r-lg);font-size:.875rem;font-weight:500;color:var(--sidebar-muted);border:1px solid transparent;transition:all .2s ease;white-space:nowrap}.nav-item:hover{color:var(--sidebar-text);transform:translateX(3px)}html[dir=rtl] .nav-item:hover{transform:translateX(-3px)}.nav-item.active{background:var(--sidebar-active);border-color:var(--primary-soft);font-weight:600}.nav-item.active,html[data-theme=dark] .nav-item.active{color:var(--primary)}.list-item{display:flex;align-items:center;transition:all .15s ease;cursor:pointer}.list-item:hover{background:var(--surface);transform:translateX(5px)}html[dir=rtl] .list-item:hover{transform:translateX(-5px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--r-full);font-family:var(--font);font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;border:none}.btn:disabled{cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-sm{font-size:.78rem;padding:.35rem .95rem}.btn-md{font-size:.875rem;padding:.65rem 1.35rem}.btn-lg{font-size:1rem;padding:.85rem 2rem}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 15px var(--primary-shadow)}.btn-primary:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px var(--primary-shadow)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border-2)}.btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-soft);transform:translateY(-1px)}.btn-surface{background:var(--surface-2);color:var(--text);border:1px solid var(--border);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.btn-surface:hover:not(:disabled){border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger{background:rgba(220,38,38,.1);color:#dc2626;border:1px solid rgba(220,38,38,.2)}.btn-danger:hover:not(:disabled){background:rgba(220,38,38,.18);transform:translateY(-1px)}.btn-success{background:rgba(22,163,74,.1);color:#16a34a;border:1px solid rgba(22,163,74,.2)}.btn-success:hover:not(:disabled){background:rgba(22,163,74,.18);transform:translateY(-1px)}.card{background:var(--bg-alt);border:1px solid var(--border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--r-2xl);padding:1.75rem 2rem;box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.card-hover:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-xl);border-color:var(--primary-soft)}.field{display:flex;flex-direction:column;gap:.45rem}.label{font-size:.825rem;font-weight:600;color:var(--text-2);letter-spacing:-.01em}.input-wrap{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-radius:var(--r-lg);border:1px solid var(--border-2);background:var(--surface);transition:all .2s ease;box-shadow:inset 0 2px 4px rgba(0,0,0,.02)}.input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);background:var(--bg-alt)}.input{border:none;outline:none;background:transparent;flex:1;font-size:.9rem;color:var(--text);font-family:var(--font)}.input::-moz-placeholder{color:var(--text-4)}.input::placeholder{color:var(--text-4)}select.input{cursor:pointer;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea.input{resize:vertical;min-height:96px}.badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:var(--r-full);padding:.25rem .75rem;font-size:.725rem;font-weight:700;letter-spacing:.02em}.badge-pending{background:linear-gradient(90deg,#fef3c7,#fde68a);color:#92400e;box-shadow:0 2px 5px rgba(245,158,11,.15)}.badge-confirmed{background:linear-gradient(90deg,#d1fae5,#a7f3d0);color:#065f46;box-shadow:0 2px 5px rgba(16,185,129,.15)}.badge-completed{background:linear-gradient(90deg,#dbeafe,#bfdbfe);color:#1d4ed8;box-shadow:0 2px 5px rgba(59,130,246,.15)}.badge-cancelled{background:linear-gradient(90deg,#fee2e2,#fecaca);color:#991b1b;box-shadow:0 2px 5px rgba(239,68,68,.15)}.badge-paid{background:linear-gradient(90deg,#d1fae5,#a7f3d0);color:#065f46}.badge-unpaid{background:linear-gradient(90deg,#fee2e2,#fecaca);color:#991b1b}.badge-pending-v{background:linear-gradient(90deg,#fef3c7,#fde68a);color:#92400e}.badge-accent{background:var(--primary-gradient);color:#fff;box-shadow:0 2px 8px var(--primary-shadow)}.badge-teacher{background:rgba(124,58,237,.1);color:#7c3aed;border:1px solid rgba(124,58,237,.3)}.badge-student{background:rgba(22,163,74,.1);color:#16a34a;border:1px solid rgba(22,163,74,.3)}html[data-theme=dark] .badge-pending{background:rgba(251,191,36,.15);color:#fbbf24;box-shadow:none}html[data-theme=dark] .badge-confirmed{background:rgba(52,211,153,.15);color:#34d399;box-shadow:none}html[data-theme=dark] .badge-completed{background:rgba(96,165,250,.15);color:#60a5fa;box-shadow:none}html[data-theme=dark] .badge-cancelled{background:hsla(0,91%,71%,.15);color:#f87171;box-shadow:none}html[data-theme=dark] .badge-paid{background:rgba(52,211,153,.15);color:#34d399;box-shadow:none}html[data-theme=dark] .badge-unpaid{background:hsla(0,91%,71%,.15);color:#f87171;box-shadow:none}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.tbl th{padding:.85rem 1.15rem;text-align:start;font-size:.725rem;font-weight:700;letter-spacing:.08em;color:var(--text-3);background:var(--surface);border-bottom:1px solid var(--border)}.tbl th:first-child{border-top-left-radius:var(--r-lg)}.tbl th:last-child{border-top-right-radius:var(--r-lg)}.tbl td{padding:1rem 1.15rem;border-bottom:1px solid var(--border);color:var(--text-2);vertical-align:middle;transition:background .2s}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr:hover td{background:var(--surface)}.accent-dropdown{position:absolute;inset-block-start:calc(100% + 12px);inset-inline-end:0;background:var(--bg-alt);border:1px solid var(--border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);padding:1.25rem;z-index:200;min-width:250px}.accent-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-3);font-weight:700;display:block;margin-bottom:.85rem}.accent-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.swatch{width:32px;height:32px;border-radius:var(--r-md);border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),border-color .2s}.swatch:hover{transform:scale(1.2)}.swatch.sel{border-color:#fff;box-shadow:0 0 0 3px var(--border-2);transform:scale(1.1)}.theme-row{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.theme-pill{flex:1;padding:.45rem .5rem;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface);color:var(--text-3);font-size:.78rem;font-weight:600;cursor:pointer;text-align:center;transition:all .2s}.theme-pill.on{background:var(--primary-gradient);border-color:transparent;color:#fff;box-shadow:0 2px 8px var(--primary-shadow)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:var(--shadow-sm);backdrop-filter:blur(10px)}.icon-btn:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.icon-btn.accent-active{background:var(--primary-gradient);border-color:transparent;color:#fff}.composer-pair{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:720px){.composer-pair{grid-template-columns:1fr}}.composer{display:contents}.composer-stage{margin-bottom:18px;position:sticky;top:var(--stage-top,0);z-index:3;display:grid;justify-items:center;gap:12px;width:100%;padding:4px 0 10px;background:var(--surface)}.composer-stage:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--border)}.composer-stage{box-shadow:0 10px 18px -16px rgba(0,0,0,.75)}.composer-portrait{position:relative;display:grid;place-items:center;width:204px;height:204px;border-radius:50%;border:3px solid var(--ink);box-shadow:var(--sh-2)}.composer-portrait svg{width:188px;height:188px}.composer-tabs{display:flex;gap:7px;justify-content:center;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.composer-tabs::-webkit-scrollbar{display:none}@media (max-width:640px){.composer-tabs{justify-content:flex-start}}.composer-panel{display:grid;justify-items:center;align-content:center;width:100%;height:232px}@media (max-width:900px){.composer-panel{height:430px}}@media (max-width:560px){.composer-panel{height:312px}.composer-portrait{width:128px;height:128px;border-width:2.5px}.composer-portrait svg{width:118px;height:118px}.composer-stage{gap:8px;padding:2px 0 7px;margin-bottom:12px}.composer-tabs{gap:6px;padding:1px 3px}.composer-tabs button{padding:6px 12px!important;font-size:12px!important}.composer-stage>div:first-of-type button{padding:6px 13px!important;font-size:12px!important}}.pick-grid{display:grid;gap:8px;width:100%;align-content:start;grid-template-columns:repeat(12,minmax(0,1fr));max-width:1000px;margin-inline:auto}@media (max-width:900px){.pick-grid{grid-template-columns:repeat(6,minmax(0,1fr));max-width:520px}}@media (max-width:560px){.pick-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}}.pick{display:grid;grid-template-rows:auto auto;justify-items:center;padding:0 0 5px;cursor:pointer;border:2px solid var(--ink);border-radius:14px 6px 14px 6px;background:var(--raised);overflow:hidden;font:inherit;color:var(--fg)}.pick-art{aspect-ratio:1;overflow:hidden}.pick-art,.pick-art>svg{display:block;width:100%}.pick-art>svg{height:100%}.pick.zoom-face .pick-art>svg{transform:scale(1.85);transform-origin:50% 42%}.pick.zoom-bust .pick-art>svg{transform:scale(1.45);transform-origin:50% 76%}.pick[aria-pressed=true]{box-shadow:0 0 0 3px var(--tint)}.pick-label{font-family:var(--font-mono);font-size:8.5px;font-weight:700;letter-spacing:.04em;color:var(--fg-3);max-width:100%;padding:0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hair-grid{display:grid;gap:8px;width:100%;align-content:start;grid-template-columns:repeat(15,minmax(0,1fr));max-width:1080px;margin-inline:auto}@media (max-width:900px){.hair-grid{grid-template-columns:repeat(10,minmax(0,1fr));max-width:640px}}@media (max-width:560px){.hair-grid{grid-template-columns:repeat(6,minmax(0,1fr));max-width:none}}.hair-grid svg{width:100%;height:100%}.banner-grid{grid-template-columns:repeat(15,minmax(0,1fr));width:100%}@media (max-width:900px){.banner-grid{grid-template-columns:repeat(9,minmax(0,1fr))}}@media (max-width:560px){.banner-grid{grid-template-columns:repeat(9,minmax(0,1fr));width:100%}}.colour-groups{display:grid;gap:20px;width:100%;justify-items:center;grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.colour-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 26px}}@media (max-width:560px){.colour-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}}.swatch-grid{grid-template-columns:repeat(5,minmax(0,1fr));justify-content:center;width:100%;max-width:236px}.swatch-grid>button{width:100%!important;height:auto!important;aspect-ratio:1}.badge-grid{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width:1024px){.badge-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:640px){.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:2.6rem;column-gap:2.6rem}@media (max-width:720px){.record-grid{grid-template-columns:1fr}}.record-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.78rem 0;border-bottom:1px dashed var(--border);min-width:0}.record-key{display:inline-flex;align-items:center;gap:.42rem;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}.record-val{font-weight:700;font-size:.93rem;color:var(--text);text-align:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.record-row-wide{grid-column:1/-1;flex-direction:column;align-items:flex-start;gap:.42rem}.record-row-wide .record-val{white-space:normal;overflow:visible;text-overflow:clip;text-align:start;font-weight:600;font-size:.9rem;line-height:1.65;color:var(--text-2);max-width:78ch}.record-note{margin-top:1.3rem;padding:1rem 1.15rem;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);border-inline-start:3px solid color-mix(in srgb,var(--primary) 55%,transparent);font-size:.88rem;line-height:1.7;color:var(--text-2)}.week-grid,.week-strip{grid-template-columns:repeat(7,minmax(0,1fr))}@media (max-width:1100px){.week-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:700px){.week-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1300px){.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:900px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.week-grid{grid-template-columns:minmax(0,1fr)}}.teacher-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--shadow-md);overflow:hidden;transition:transform .25s cubic-bezier(.175,.885,.32,1.275),box-shadow .25s}.teacher-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.stat-card{background:var(--bg-alt);border:1px solid var(--border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--r-2xl);padding:1.75rem 2rem;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient);opacity:0;transition:opacity .3s}.stat-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:var(--shadow-lg)}.stat-card:hover:after{opacity:1}.stat-val{font-size:2.5rem;font-weight:800;letter-spacing:-.05em;line-height:1;margin:0;color:var(--text)}.stat-lbl{font-size:.875rem;color:var(--text-3);margin:.4rem 0 0;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.av{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);background:var(--primary-gradient);color:#fff;font-weight:700;flex-shrink:0;line-height:1;box-shadow:0 4px 10px var(--primary-shadow)}.av-xs{width:24px;height:24px;font-size:.68rem;border-radius:var(--r-sm)}.av-sm{width:32px;height:32px;font-size:.85rem;border-radius:var(--r-md)}.av-md{width:42px;height:42px;font-size:1.1rem;border-radius:var(--r-lg)}.av-lg{width:52px;height:52px;font-size:1.3rem;border-radius:var(--r-xl)}.av-xl{width:64px;height:64px;font-size:1.5rem;border-radius:var(--r-2xl)}.av-circle{border-radius:var(--r-full)!important}.filter-pill{padding:.35rem .95rem;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface);font-size:.825rem;font-weight:500;color:var(--text-3);cursor:pointer;transition:all .2s;backdrop-filter:blur(10px)}.filter-pill:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.filter-pill.on{background:var(--primary-gradient);border-color:transparent;color:#fff;font-weight:600;box-shadow:0 2px 8px var(--primary-shadow)}.dropzone{border:2px dashed var(--border-2);border-radius:var(--r-xl);padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--surface);display:block}.dropzone:hover{border-color:var(--primary);background:var(--primary-soft);transform:scale(1.01)}.err-box{border-radius:var(--r-xl);background:rgba(220,38,38,.05);border:1px solid rgba(220,38,38,.2);color:#dc2626}.err-box,.ok-box{padding:1rem 1.25rem;font-size:.9rem;backdrop-filter:blur(10px)}.ok-box{border-radius:var(--r-xl);background:rgba(22,163,74,.05);border:1px solid rgba(22,163,74,.2);color:#16a34a}.kicker{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--primary);margin-bottom:.5rem;display:block}.page-title{font-size:2rem;font-weight:800;letter-spacing:-.04em;color:var(--text);line-height:1.15;margin:0}.page-sub{font-size:.95rem;color:var(--text-3);margin:.3rem 0 0;line-height:1.6}.section-title{font-size:1.1rem;font-weight:700;color:var(--text);margin:0;letter-spacing:-.01em}.divider{border:none;border-top:1px solid var(--border);margin:0}.role-card{border:2px solid var(--border-2);border-radius:var(--r-2xl);padding:1.5rem 1.75rem;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);background:var(--bg-alt);display:flex;align-items:flex-start;gap:1.25rem;backdrop-filter:blur(20px)}.role-card:hover{border-color:var(--primary-soft);transform:translateY(-3px);box-shadow:var(--shadow-md)}.role-card.selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:var(--shadow-md)}.empty{text-align:center;padding:4rem 2rem}.empty-icon{width:56px;height:56px;border-radius:var(--r-2xl);background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;color:var(--text-4);box-shadow:var(--shadow-sm)}.stars{display:flex;gap:.2rem}.star-btn{background:none;border:none;cursor:pointer;padding:.15rem;line-height:1;transition:transform .15s}.star-btn:hover{transform:scale(1.25)}@keyframes fadeUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{to{transform:rotate(1turn)}}.fade-up{animation:fadeUp .5s cubic-bezier(.16,1,.3,1) both}.spin{animation:spin 1s linear infinite}.pulse-glow{animation:pulseGlow 2s cubic-bezier(.4,0,.6,1) infinite}.d1{animation-delay:.05s}.d2{animation-delay:.1s}.d3{animation-delay:.15s}.d4{animation-delay:.2s}.d5{animation-delay:.25s}.d6{animation-delay:.3s}@media(max-width:768px){.main-content{margin-inline-start:0}.sidebar{transform:translateX(-260px);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-xl)}html[dir=rtl] .sidebar{transform:translateX(260px)}.sidebar.open{transform:translateX(0)}.page-wrap{padding:1.5rem}.stat-val{font-size:2rem}}.landing-page{background:var(--bg);min-height:100vh;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.landing-nav{position:fixed;top:0;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;z-index:1000;transition:all .3s ease}.landing-nav.glass{background:var(--bg-alt);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.logo{gap:.75rem}.logo,.logo-icon{display:flex;align-items:center}.logo-icon{width:36px;height:36px;border-radius:10px;background:var(--primary);justify-content:center;box-shadow:0 4px 12px var(--primary-shadow)}.logo-text{font-weight:800;font-size:1.1rem;color:var(--text);letter-spacing:-.03em;margin:0}.logo-sub{font-size:.7rem;color:var(--text-3);font-family:Cairo;margin:-2px 0 0}.nav-actions{display:flex;align-items:center;gap:1.25rem}.lang-switcher{display:flex;background:hsla(0,0%,50%,.1);padding:.25rem;border-radius:var(--r-full)}.lang-btn{padding:.3rem .75rem;border:none;background:none;font-size:.7rem;font-weight:700;color:var(--text-3);cursor:pointer;border-radius:var(--r-full);transition:all .2s}.lang-btn.active{background:var(--bg);color:var(--primary);box-shadow:var(--shadow-sm)}.hero-section{padding:12rem 0 8rem;position:relative;overflow:hidden;background:var(--bg)}.hero-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(/learning_path_schema_1777139040684.png);background-size:80%;background-position:50%;background-repeat:no-repeat;opacity:.08;filter:grayscale(1) invert(var(--is-dark,0));pointer-events:none;z-index:0}[data-theme=dark] .hero-section:before{--is-dark:1;opacity:.12}.hero-container{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;background:var(--primary-soft);border:1px solid var(--primary-soft);border-radius:var(--r-full);color:var(--primary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem}.hero-title{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:900;line-height:1.05;letter-spacing:-.05em;margin-bottom:1.5rem;color:var(--text)}.hero-subtitle{font-size:1.15rem;line-height:1.7;color:var(--text-3);max-width:550px;margin-bottom:2.5rem}.hero-cta{display:flex;gap:1rem;margin-bottom:4rem}.hero-stats{display:flex;gap:3.5rem;padding-top:2.5rem;border-top:1px solid var(--border)}.stat-item .stat-v{font-size:2.25rem;font-weight:900;color:var(--primary);line-height:1;margin-bottom:.25rem;letter-spacing:-.04em}.stat-item .stat-l{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);font-weight:600}.hero-visual{position:relative;display:flex;justify-content:center;align-items:center}.hero-main-visual{position:relative;width:100%;aspect-ratio:1/1;border-radius:2.5rem;overflow:hidden;box-shadow:var(--shadow-xl);border:1px solid var(--border);background:var(--bg-alt)}.visual-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--bg-rgb),.4) 0,transparent 40%);pointer-events:none}.hero-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.hero-main-visual:hover .hero-img{transform:scale(1.05)}.floating-asset{position:absolute;z-index:5;filter:drop-shadow(0 20px 40px rgba(0,0,0,.2));animation:float-asset 6s ease-in-out infinite;will-change:transform}.asset-1{width:300px;top:-10%;right:-10%}.asset-img{width:100%;height:100%}@keyframes float-asset{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(3deg)}}.floating-ui-card{position:absolute;background:rgba(var(--bg-rgb),.8);backdrop-filter:blur(10px);padding:1rem 1.25rem;border-radius:1.25rem;box-shadow:var(--shadow-lg);border:1px solid var(--border);display:flex;align-items:center;gap:.85rem;z-index:10;animation:float 4s ease-in-out infinite}.card-1{top:15%;left:-15%;animation-delay:0s}.card-2{bottom:10%;right:-10%;animation-delay:1s}.card-3{top:-5%;left:20%;animation-delay:.5s;padding:.6rem 1rem}.f-title{margin:0;font-weight:700;font-size:.85rem;color:var(--text)}.f-sub{margin:0;font-size:.7rem;color:var(--text-3)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.blob{position:absolute;border-radius:50%;filter:blur(80px);z-index:-1;opacity:.3;animation:blob-float 15s infinite alternate}.blob-1{width:600px;height:600px;top:-20%;right:-10%;opacity:.2}.blob-1,.blob-2{background:var(--primary)}.blob-2{width:500px;height:500px;bottom:-10%;left:-5%;opacity:.15;animation-delay:-5s}.blob-3{width:300px;height:300px;background:var(--primary);top:40%;left:30%;opacity:.05;animation:blob-float 20s infinite alternate-reverse}@keyframes blob-float{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}.features-section{padding:8rem 0;background:var(--surface)}.section-header{text-align:center;margin-bottom:5rem}.section-title{font-size:2.5rem;font-weight:800;letter-spacing:-.04em;margin-bottom:1rem}.section-subtitle{color:var(--text-3);font-size:1.1rem;max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.feature-card{padding:2.5rem;border-radius:2rem;transition:all .3s ease;border:1px solid var(--border);position:relative;overflow:hidden}.feature-card:hover{transform:translateY(-8px);border-color:var(--primary-soft);box-shadow:var(--shadow-lg)}.feature-icon{width:56px;height:56px;border-radius:1.25rem;background:var(--primary-soft);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.feature-card h3{font-size:1.25rem;font-weight:700;margin-bottom:1rem}.feature-card p{color:var(--text-3);line-height:1.6;font-size:.95rem}.how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;padding:4rem 0}.how-card{position:relative;padding:2rem;background:var(--surface);border-radius:1.5rem;border:1px solid var(--border)}.how-number{font-size:3rem;font-weight:900;color:var(--primary);opacity:.1;margin-bottom:1rem}.landing-footer{padding:4rem 0;border-top:1px solid var(--border)}.footer-content{justify-content:space-between}.footer-content,.footer-logo{display:flex;align-items:center}.footer-logo{gap:.5rem;font-weight:800;color:var(--text)}@media(max-width:992px){.hero-container{grid-template-columns:1fr;text-align:center}.hero-subtitle{margin:0 auto 2.5rem}.hero-cta,.hero-stats{justify-content:center}.hero-visual{margin-top:4rem}.floating-ui-card{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}body,html{font-family:var(--font)}body{background-color:var(--bg);background-image:repeating-linear-gradient(0deg,transparent 0 35px,var(--grid-line) 35px 36px),repeating-linear-gradient(90deg,transparent 0 35px,var(--grid-line) 35px 36px);background-attachment:scroll;color:var(--text)}.blob,.blob-1,.blob-2,.blob-3,body:before{display:none}.f-title,.hero-title,.page-title,.section-title,h1,h2{font-family:var(--font-display);font-weight:700;letter-spacing:0}.page-title{font-size:clamp(34px,5vw,54px);line-height:1.02}.section-title{font-size:clamp(26px,3.4vw,38px)}h3{font-weight:800}.accent-label,.kicker,.label,.mono,.stat-lbl{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:10.5px;font-weight:600}.page-sub,.section-subtitle{color:var(--text-2)}.btn{border:2.5px solid var(--ink);box-shadow:var(--shadow-md);font-weight:800;border-radius:16px 8px 16px 8px;transition:transform .1s ease,box-shadow .1s ease;text-shadow:none}.btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 0 var(--ink)}.btn:active:not(:disabled){transform:translate(3px,3px);box-shadow:0 0 0 0 var(--ink)}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.btn:disabled{opacity:.55;box-shadow:2px 2px 0 0 var(--ink)}.btn-primary{background:var(--tint);color:var(--tint-fg,#fff)}.btn-outline,.btn-surface{background:var(--surface);color:var(--text)}.btn-danger{background:var(--coral);color:#fff}.btn-success{background:var(--mint);color:var(--ink)}.btn-sm{border-radius:12px 6px 12px 6px;box-shadow:3px 3px 0 0 var(--ink)}.btn-lg{border-radius:18px 9px 18px 9px}.card,.feature-card,.how-card,.list-item,.role-card,.stat-card{background:var(--surface);border:2.5px solid var(--ink);border-radius:26px 12px 26px 12px;box-shadow:var(--shadow-lg);backdrop-filter:none;transition:transform .16s cubic-bezier(.2,1.4,.4,1),box-shadow .16s ease}.card-hover:hover,.list-item:hover,.stat-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 0 var(--ink),15px 15px 0 0 color-mix(in srgb,var(--tint) 72%,transparent)}.feature-card:nth-child(2n),.stat-card:nth-child(2n){border-radius:12px 26px 12px 26px}.input,input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],input[type=time],select,textarea{background:var(--bg-alt);color:var(--text);border:2.5px solid var(--ink);border-radius:14px 7px 14px 7px;box-shadow:inset 3px 3px 0 0 color-mix(in srgb,var(--ink) 18%,transparent);font-family:var(--font)}.input:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink);box-shadow:inset 3px 3px 0 0 color-mix(in srgb,var(--ink) 18%,transparent),0 0 0 3px color-mix(in srgb,var(--tint) 55%,transparent)}.field .label{color:var(--text-2)}.badge{border:2px solid var(--ink);border-radius:999px;font-weight:800;box-shadow:2px 2px 0 0 var(--ink);text-transform:none;letter-spacing:0;font-family:var(--font)}.badge-teacher{background:var(--violet);color:#fff}.badge-student{background:var(--sky);color:var(--ink)}.badge-completed,.badge-confirmed,.badge-paid{background:var(--mint);color:var(--ink)}.badge-pending,.badge-pending-v{background:var(--amber);color:var(--ink)}.badge-cancelled,.badge-unpaid{background:var(--coral);color:#fff}.badge-accent{background:var(--tint);color:var(--tint-fg,#fff)}.sidebar{background:var(--sidebar-bg);border-right:3px solid var(--ink);backdrop-filter:none}html[dir=rtl] .sidebar{border-right:none;border-left:3px solid var(--ink)}.topbar{background:var(--sidebar-bg);border-bottom:3px solid var(--ink);backdrop-filter:none}.nav-item{border-radius:12px 6px 12px 6px;font-weight:700;border:2px solid transparent}.nav-item:hover{background:var(--sidebar-hover)}.nav-item.active{background:var(--tint);border-color:var(--ink);box-shadow:3px 3px 0 0 var(--ink)}.nav-item.active,html[data-theme=dark] .nav-item.active{color:var(--tint-fg,#fff)}.logo-icon{border:2.5px solid var(--ink);box-shadow:3px 3px 0 0 var(--ink);border-radius:12px 6px 12px 6px;background:var(--tint)}.logo-text{font-family:var(--font-display);font-size:26px;font-weight:700}.av,.av-circle{border:2.5px solid var(--ink);box-shadow:2px 2px 0 0 var(--ink);background:var(--surface);overflow:hidden}.err-box{background:color-mix(in srgb,var(--coral) 22%,var(--surface))}.err-box,.ok-box{border:2.5px solid var(--ink);color:var(--text);border-radius:14px 7px 14px 7px;box-shadow:3px 3px 0 0 var(--ink)}.ok-box{background:color-mix(in srgb,var(--mint) 22%,var(--surface))}.empty{border:2.5px dashed var(--border-2);border-radius:26px 12px 26px 12px;background:transparent}.filter-pill,.lang-btn,.theme-pill{border:2px solid var(--ink);border-radius:999px;font-weight:700;box-shadow:2px 2px 0 0 var(--ink)}.filter-pill.active,.lang-btn.active{background:var(--tint);color:var(--tint-fg,#fff)}.divider{border-color:var(--border)}.tbl th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:10.5px}.tbl td,.tbl th{border-color:var(--border)}.icon-btn{border:2px solid var(--ink);border-radius:10px 5px 10px 5px;box-shadow:2px 2px 0 0 var(--ink);background:var(--surface)}.icon-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 0 var(--ink)}.landing-page{background:transparent}@media (prefers-reduced-motion:reduce){.fade-up,.pulse-glow,.spin{animation:none!important}.btn,.card,.list-item{transition:none!important}}@media (max-width:900px){.dash-split{grid-template-columns:minmax(0,1fr)!important}}@media (max-width:1024px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:560px){.stat-grid{grid-template-columns:minmax(0,1fr)!important}.page-head{text-align:center}.page-head p{margin-inline:auto}.stat-card{text-align:center}.stat-card>div{justify-content:center}}@media (max-width:620px){.dn header .nav-label{display:none}}@media (max-width:760px){.dn.app>header{flex-wrap:nowrap!important;justify-content:space-between!important;gap:8px!important;padding:9px 12px!important}.dn.app>header .app-lang,.dn.app>header .app-logout,.dn.app>header .app-streak,.dn.app>header .app-theme,.dn.app>header .app-tint{display:none!important}.dn.app>header .app-logo{margin-inline-end:auto}.dn.app>header .app-logo .script{font-size:23px!important}.dn.app>header .app-nav{position:fixed;inset-inline:0;bottom:0;z-index:60;justify-content:space-around;gap:0!important;border-radius:0!important;border:none!important;border-top:3px solid var(--ink)!important;background:var(--glass-bg-2)!important;padding:6px 4px calc(6px + env(safe-area-inset-bottom))!important}.dn.app>header .app-nav a{flex:1;justify-content:center;padding:10px 0!important;border-radius:12px!important}.dn.app>header .app-nav a svg{width:20px;height:20px}.dn>main{padding:18px 14px calc(84px + env(safe-area-inset-bottom))!important}}.dn.app>header .app-more{display:block}.dn.app>header .app-tint{display:none!important}.dn .sheet-phone-only{display:none}@media (max-width:760px){.dn.app>header .app-more{display:block}.dn .sheet-phone-only{display:grid}}.dn [style*=backdrop-filter],.dn header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.dn .blob{display:none!important}@media (max-width:860px){.dn.auth-grid{grid-template-columns:1fr!important}.dn.auth-grid .auth-panel{display:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dn-splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#0e1117;overflow:hidden;pointer-events:auto;animation:dnSplashOut 5s linear forwards}@keyframes dnSplashOut{0%,86%{opacity:1;visibility:visible;pointer-events:auto}to{opacity:0;visibility:hidden;pointer-events:none}}html.dn-seen .dn-splash{display:none}.dn-splash-sweep{left:50%;top:50%;width:145vmax;height:145vmax;margin:-72.5vmax 0 0 -72.5vmax;background:conic-gradient(from 0deg,transparent 0deg 24deg,rgba(255,212,0,.16) 34deg 46deg,transparent 56deg 180deg,rgba(255,46,136,.14) 194deg 206deg,transparent 216deg 1turn);animation:dnSweep 7s linear infinite}.dn-splash-blobs,.dn-splash-sweep{position:absolute;will-change:transform}.dn-splash-blobs{inset:-25%;background:radial-gradient(38vmax 38vmax at 22% 28%,rgba(255,212,0,.2),transparent 62%),radial-gradient(34vmax 34vmax at 78% 72%,rgba(255,46,136,.2),transparent 62%),radial-gradient(26vmax 26vmax at 62% 18%,hsla(47,27%,94%,.09),transparent 64%);animation:dnDrift 9s ease-in-out infinite alternate}.dn-splash-grid{background-image:linear-gradient(90deg,hsla(47,27%,94%,.07) 0 1px,transparent 1px),linear-gradient(180deg,hsla(47,27%,94%,.07) 0 1px,transparent 1px);background-size:calc(100% / var(--page-cols, 12)) 100%,100% calc(100% / var(--page-rows, 10));animation:dnGridPulse 3s ease-in-out infinite}.dn-splash-grid,.dn-splash-pix{position:absolute;inset:0}.dn-splash-pix i{position:absolute;bottom:-8vmin;left:calc(3% + var(--i) * 5.4%);width:10px;height:10px;border-radius:2px;background:#ffd400;opacity:0;animation:dnPix 2.9s cubic-bezier(.3,.7,.3,1) infinite;animation-delay:calc(var(--i) * -.17s);will-change:transform,opacity}@media (max-width:640px){.dn-splash-pix i:nth-child(n+11){display:none}}.dn-splash-pix i:nth-child(3n+1){background:#ff2e88;width:8px;height:8px}.dn-splash-pix i:nth-child(3n+2){background:#f3f1ea;width:6px;height:6px}@keyframes dnSweep{to{transform:rotate(1turn)}}@keyframes dnDrift{0%{transform:translate3d(-3%,-2%,0) scale(1)}50%{transform:translate3d(2%,3%,0) scale(1.08)}to{transform:translate3d(3%,-3%,0) scale(1.02)}}@keyframes dnGridPulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes dnPix{0%{opacity:0;transform:translateY(0) rotate(0deg)}12%{opacity:1}80%{opacity:.85}to{opacity:0;transform:translateY(-108vh) rotate(300deg)}}.dn-splash-mark{position:relative;display:grid;place-items:center;gap:18px}.dn-m-plate{transform-origin:center;animation:dnPlate .55s cubic-bezier(.2,1.3,.35,1) .2s both}.dn-m-hl,.dn-m-plate{transform-box:fill-box}.dn-m-hl{transform-origin:left center;animation:dnHl .6s cubic-bezier(.3,1.2,.4,1) .45s both}.dn-m-bowl{stroke-dasharray:66;animation:dnDraw66 .9s cubic-bezier(.4,0,.2,1) .95s both}.dn-m-stem{stroke-dasharray:34;animation:dnDraw34 .55s cubic-bezier(.4,0,.2,1) 1.8s both}.dn-m-dot{transform-box:fill-box;transform-origin:center;animation:dnPop .5s cubic-bezier(.2,1.7,.4,1) 2.35s both}@keyframes dnPlate{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}@keyframes dnHl{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes dnDraw66{0%{stroke-dashoffset:66}to{stroke-dashoffset:0}}@keyframes dnDraw34{0%{stroke-dashoffset:34}to{stroke-dashoffset:0}}@keyframes dnPop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.35)}to{opacity:1;transform:scale(1)}}.dn-splash-word{display:flex;font-family:Caveat,Shantell Sans,cursive;font-size:30px;line-height:1;color:#f3f1ea}.dn-splash-word b{font-weight:inherit;animation:dnLetter .34s cubic-bezier(.2,1.3,.35,1) both;animation-delay:calc(2.75s + var(--i) * 70ms)}.dn-splash-stop{color:#ff2e88}@keyframes dnLetter{0%{opacity:0;transform:translateY(8px) rotate(-6deg)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.dn-splash{animation:dnSplashOut 5s steps(1) forwards}.dn-splash-blobs,.dn-splash-grid,.dn-splash-pix,.dn-splash-sweep{animation:none}.dn-splash-pix{display:none}.dn-m-bowl,.dn-m-dot,.dn-m-hl,.dn-m-plate,.dn-m-stem,.dn-splash-word b{animation:none;opacity:1;transform:none;stroke-dashoffset:0}}@media (max-width:560px){.profile-banner{height:96px!important}.profile-cover{padding:0 1rem 1.1rem!important;margin-top:-38px!important}.profile-id{flex-direction:column!important;align-items:center!important;text-align:center;gap:.6rem!important}.profile-id>div{min-width:0!important;padding-bottom:0!important}.profile-id h1{font-size:1.6rem!important}.profile-id>div>div{justify-content:center}.profile-facts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .8rem!important;justify-items:center}.profile-facts>div{justify-content:center;max-width:100%}.composer-card{padding:1rem .7rem!important}.composer-card>h2,.composer-card>p{text-align:center}.profile-save-row{justify-content:center!important;text-align:center}.profile-save-row p{width:100%}.profile-card-head{justify-content:center!important;gap:.8rem;flex-wrap:wrap}.record-row{flex-direction:column;align-items:center;gap:.15rem;padding:.6rem 0}.record-key{justify-content:center}.record-note,.record-val{text-align:center}.record-row-wide{align-items:center}.record-row-wide .record-val{text-align:center}}.tint-grid{display:grid;gap:7px;grid-template-columns:repeat(6,minmax(0,1fr))}@media (min-width:520px){.tint-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (min-width:900px){.tint-grid{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (max-width:760px){.dn:not(.app)>header{flex-wrap:wrap!important;justify-content:center!important;text-align:center;gap:10px!important;padding:12px 14px!important}.dn:not(.app)>header>*{flex:0 0 auto}.dn:not(.app)>header>a:first-child{flex-basis:100%;justify-content:center}}.avatar-fit{display:grid;place-items:center;overflow:hidden}.avatar-fit>svg{width:100%;height:100%;display:block;transform:scale(1.1) translateY(5.5%);transform-origin:50% 50%}