/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.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,)}}:root{--ground:#f7f8fa;--panel:#fff;--panel-2:#eef1f5;--stage:#111a24;--ink:#16202b;--ink-2:#5a6672;--ink-3:#8d98a4;--line:#e2e7ed;--line-2:#cfd7e0;--accent:#205888;--accent-soft:#dde8f4;--accent-ink:#1a4a73;--shadow:0 1px 2px #16202b0f,0 8px 30px #16202b14;--lv-beg:#3e9e8f;--lv-easy:#5f9b45;--lv-int:#c98a2e;--lv-adv:#c1543a;--r:14px;--r-sm:9px;--maxw:1180px;--mono:ui-monospace,"Cascadia Code","JetBrains Mono","SF Mono",Menlo,Consolas,monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0f1418;--panel:#182028;--panel-2:#202a34;--stage:#0a0e12;--ink:#e8eef4;--ink-2:#a3b0bc;--ink-3:#6f7c88;--line:#26313b;--line-2:#33404c;--accent:#4e9bd8;--accent-soft:#14293a;--accent-ink:#7db8e8;--shadow:0 1px 2px #0006,0 10px 34px #00000073}}:root[data-theme=dark]{--ground:#0f1418;--panel:#182028;--panel-2:#202a34;--stage:#0a0e12;--ink:#e8eef4;--ink-2:#a3b0bc;--ink-3:#6f7c88;--line:#26313b;--line-2:#33404c;--accent:#4e9bd8;--accent-soft:#14293a;--accent-ink:#7db8e8;--shadow:0 1px 2px #0006,0 10px 34px #00000073}:root[data-theme=light]{--ground:#f7f8fa;--panel:#fff;--panel-2:#eef1f5;--stage:#111a24;--ink:#16202b;--ink-2:#5a6672;--ink-3:#8d98a4;--line:#e2e7ed;--line-2:#cfd7e0;--accent:#205888;--accent-soft:#dde8f4;--accent-ink:#1a4a73;--shadow:0 1px 2px #16202b0f,0 8px 30px #16202b14}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55;transition:background .35s,color .35s}.mono,h1,h2,h3{font-family:var(--mono)}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);font-size:11px}.top{z-index:50;background:var(--ground);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.top{background:color-mix(in srgb,var(--ground) 88%,transparent)}}.top{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.top-in{gap:22px;height:64px}.brand,.top-in{align-items:center;display:flex}.brand{gap:10px}.mark{width:26px;height:26px;color:var(--accent);flex:none;display:block}.wordmark{font-family:var(--mono);letter-spacing:.12em;font-size:15px;font-weight:700}.wordmark b{color:var(--ink)}.wordmark span{color:var(--ink-2);font-weight:500}.nav{gap:6px;margin-left:8px;display:flex}.nav a{color:var(--ink-2);border-radius:8px;padding:8px 12px;font-size:13.5px}.nav a:hover{color:var(--ink);background:var(--panel-2)}.spacer{flex:1}.only-desktop{align-items:center;display:flex}.mnav{display:none}.toggle{border:1px solid var(--line-2);background:var(--panel);color:var(--ink-2);cursor:pointer;font-family:var(--mono);letter-spacing:.08em;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:11.5px;display:inline-flex}.toggle:hover{color:var(--ink);border-color:var(--accent)}.toggle svg{width:15px;height:15px}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;font-size:13.5px;font-weight:600;font-family:var(--sans);border:none;border-radius:999px;padding:9px 16px}:root[data-theme=dark] .btn-primary{color:#08131d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn-primary{color:#08131d}}.btn-primary:hover{filter:brightness(1.05)}.hero{padding:46px 0 8px}.hero h1{letter-spacing:-.01em;text-wrap:balance;margin:8px 0 10px;font-size:34px}.hero p{color:var(--ink-2);max-width:60ch;margin:0;font-size:15.5px}.sec{padding:40px 0 8px}.sec-h{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.sec-h h2{letter-spacing:-.01em;margin:6px 0 0;font-size:22px}.sec-h p{color:var(--ink-2);max-width:52ch;margin:0;font-size:14px}.grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.grid{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);color:inherit;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow);border-color:var(--line-2);transform:translateY(-3px)}.thumb{aspect-ratio:16/10;background:linear-gradient(160deg,#20588857,#0a0e129e),radial-gradient(120% 90% at 30% 0,#4e9bd84d,transparent 60%),var(--stage);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.thumb img{object-fit:cover;z-index:0;mix-blend-mode:luminosity;opacity:.9;width:100%;height:100%;position:absolute;inset:0}.thumb.has-photo{background:var(--stage)}.thumb.has-photo img{mix-blend-mode:normal;opacity:1}.thumb.has-photo:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0a0e1257,#0000 34% 62%,#0a0e1275);position:absolute;inset:0}.thumb .mono-init{z-index:1;font-family:var(--mono);color:#e2eef829;letter-spacing:.02em;-webkit-user-select:none;user-select:none;font-size:76px;font-weight:700;line-height:1;position:absolute}.thumb .strings{opacity:.4;z-index:1;position:absolute;inset:0}.thumb .strings i{background:#ffffff24;height:1px;position:absolute;left:0;right:0}.thumb .plw{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000059;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative}.thumb .plw svg{fill:#fff;width:18px;height:18px;margin-left:2px}.thumb .lvtag{letter-spacing:.08em;text-transform:uppercase;color:#fff;border-radius:7px;padding:4px 8px;font-size:10.5px;font-weight:700;top:10px;left:10px}.thumb .dur,.thumb .lvtag{z-index:2;font-family:var(--mono);position:absolute}.thumb .dur{color:#e9ddcc;background:#00000073;border-radius:6px;padding:3px 7px;font-size:11px;bottom:10px;right:10px}.card .body{padding:13px 15px 15px}.card .song{margin-bottom:2px;font-size:15px;font-weight:600}.card .art{color:var(--ink-2);font-size:13px}.card .tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag{font-family:var(--mono);color:var(--ink-2);border:1px solid var(--line);border-radius:6px;padding:3px 7px;font-size:11px}.admin{min-height:60vh;max-width:var(--maxw);grid-template-columns:220px 1fr;gap:0;margin:0 auto;display:grid}@media (max-width:760px){.admin{grid-template-columns:1fr}}.admin-side{border-right:1px solid var(--line);flex-direction:column;gap:18px;padding:24px 16px;display:flex}@media (max-width:760px){.admin-side{border-right:none;border-bottom:1px solid var(--line)}}.admin-brand{letter-spacing:.12em;color:var(--ink-2);font-size:11px}.admin-nav{flex-direction:column;gap:2px;display:flex}@media (max-width:760px){.admin-nav{flex-flow:wrap}}.admin-nav a{color:var(--ink);border-radius:8px;padding:9px 12px;font-size:14.5px}.admin-nav a:hover{background:var(--panel-2);color:var(--accent-ink)}.admin-side-foot{color:var(--ink-3);margin-top:auto;font-size:12px}.admin-main{min-width:0;padding:24px}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.admin-head h1{margin:0;font-size:24px}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.admin-stat{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:18px}.admin-stat-v{font-family:var(--mono);color:var(--ink);font-size:26px;font-weight:700}.admin-stat-l{color:var(--ink-2);margin-top:4px;font-size:12.5px}.admin-quick{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.admin-charts{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:24px;display:grid}.admin-chart{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:18px}.admin-chart-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.admin-chart-h h2{letter-spacing:.02em;margin:0;font-size:14px}.admin-chart-sub{font-family:var(--mono);color:var(--ink-3);font-size:11px}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table td,.admin-table th{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px}.admin-table th{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:11px}.admin-form{flex-direction:column;gap:4px;max-width:520px;display:flex}.admin-form select{border:1px solid var(--line-2);background:var(--ground);color:var(--ink);font-size:14.5px;font-family:var(--sans);border-radius:10px;padding:11px 13px}.admin-form input[type=file]{color:var(--ink-2);font-size:13.5px}.field-hint{color:var(--ink-3);font-size:12px}.field-check{align-items:center;gap:8px;margin:6px 0 16px;font-size:14.5px;display:flex}.admin-photo-preview{object-fit:cover;border:1px solid var(--line-2);border-radius:10px;width:110px;height:110px;margin-top:10px}.admin-flash,.admin-table tr:hover td{background:var(--panel-2)}.admin-flash{border:1px solid var(--accent);color:var(--accent-ink);border-radius:10px;margin-bottom:18px;padding:10px 14px;font-size:14px}.list-filters{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:18px;display:flex}.list-filters .lf-q{border:1px solid var(--line-2);background:var(--ground);min-width:0;color:var(--ink);font-size:14px;font-family:var(--sans);border-radius:10px;flex:220px;padding:9px 13px}.list-filters .lf-q:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lf-sel{flex-direction:column;gap:4px;display:flex}.lf-sel span{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:10px}.lf-sel select{border:1px solid var(--line-2);background:var(--ground);color:var(--ink);font-size:13.5px;border-radius:10px;padding:9px 11px}.lf-go,.lf-sel select{font-family:var(--sans)}.lf-go{background:var(--accent);color:#fff;cursor:pointer;font-size:14px;font-weight:600;border:none;border-radius:10px;padding:10px 18px}:root[data-theme=dark] .lf-go{color:#08131d}.lf-clear{color:var(--ink-2);padding:10px 2px;font-size:13px;text-decoration:underline}.lf-clear:hover{color:var(--accent-ink)}.lf-total{color:var(--ink-3);white-space:nowrap;margin-left:auto;padding-bottom:10px;font-size:12px}@media (max-width:620px){.list-filters .lf-q{flex-basis:100%}.lf-total{margin-left:0}}.pill{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding:3px 9px;font-size:10.5px;display:inline-block}.pill.on{color:#1c6b45;background:#d9f0e3}.pill.off{background:var(--panel-2);color:var(--ink-2)}.pill.muted{color:var(--ink-3);border:1px solid var(--line);background:0 0}:root[data-theme=dark] .pill.on{color:#6ed3a4;background:#14352a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pill.on{color:#6ed3a4;background:#14352a}}.admin-main .pager{justify-content:flex-start;margin:22px 0 8px}.auth-ok{color:#1c6b45;background:#e8f6ee;border:1px solid #9bd4b4;border-radius:10px;margin-bottom:16px;padding:11px 14px;font-size:14px}:root[data-theme=dark] .auth-ok{color:#6ed3a4;background:#14352a;border-color:#24614a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .auth-ok{color:#6ed3a4;background:#14352a;border-color:#24614a}}.auth-forgot{margin:-6px 0 16px;font-size:13px}.auth-forgot a{color:var(--ink-2)}.auth-forgot a:hover{color:var(--accent-ink)}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.faq-wrap{max-width:760px}.faq-jump{flex-wrap:wrap;gap:8px;margin:0 0 34px;display:flex}.faq-jump a{font-family:var(--mono);letter-spacing:.04em;border:1px solid var(--line-2);color:var(--ink-2);background:var(--panel);border-radius:999px;padding:7px 14px;font-size:12px}.faq-jump a:hover{border-color:var(--accent);color:var(--accent-ink)}.faq-group{margin-bottom:38px;scroll-margin-top:90px}.faq-group h2{font-size:13px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px}.faq-list{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);overflow:hidden}.faq-item+.faq-item{border-top:1px solid var(--line)}.faq-item summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;font-size:15.5px;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{background:var(--panel-2)}.faq-item summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.faq-chev{width:18px;height:18px;color:var(--ink-3);flex:none;transition:transform .18s}.faq-item[open] .faq-chev{transform:rotate(180deg)}.faq-item[open] summary{color:var(--accent-ink)}.faq-item p{color:var(--ink-2);max-width:62ch;margin:0;padding:0 20px 18px;font-size:15px;line-height:1.65}@media (prefers-reduced-motion:reduce){.faq-chev{transition:none}}.faq-cta{border:1px solid var(--line);border-radius:var(--r);background:var(--panel-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:60px;padding:22px 24px;display:flex}.faq-cta p{margin:0;font-size:15.5px;font-weight:600}.contact-wrap{max-width:680px}.contact-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:26px}.contact-row{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}@media (max-width:560px){.contact-row{grid-template-columns:1fr}}.contact-card textarea{border:1px solid var(--line-2);background:var(--ground);color:var(--ink);font-size:14.5px;font-family:var(--sans);resize:vertical;border-radius:10px;width:100%;padding:11px 13px;line-height:1.6}.contact-card textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.contact-as{background:var(--panel-2);color:var(--ink-2);border-radius:10px;margin:0 0 18px;padding:11px 14px;font-size:13.5px}.contact-as .mono{color:var(--ink-3);font-size:12.5px}.turnstile{min-height:65px;margin:4px 0 16px}.m-name{margin-bottom:3px;font-weight:600;display:block}.m-line{color:var(--ink-2);align-items:center;gap:6px;font-size:12px;line-height:1.7;display:flex}.m-line .ic{width:12px;height:12px}.m-line .mono{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.m-access{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);margin-bottom:24px;padding:18px 20px}.m-access-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.m-access-h h2{letter-spacing:.02em;margin:0;font-size:14px}.m-access-sub{font-family:var(--mono);color:var(--ink-3);font-size:11px}.m-access-form{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.m-access-form .field{gap:7px;margin-bottom:0}.m-access-form input[type=date],.m-access-form select{box-sizing:border-box;border:1px solid var(--line-2);background:var(--ground);height:42px;color:var(--ink);font-size:14px;font-family:var(--sans);border-radius:10px;padding:0 12px}.m-access-form select{min-width:150px}.m-access-form input[type=date]{min-width:170px}.m-access-form .btn-primary{height:42px;padding:0 22px}.m-access-note{color:var(--ink-3);flex-basis:100%;max-width:60ch;margin:4px 0 0;font-size:12.5px}.ic{width:14px;height:14px;color:var(--ink-3);flex:none}.m-facts{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:0 0 24px;display:grid}.m-fact{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0;padding:14px 16px}.m-fact dt{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:7px;margin-bottom:7px;font-size:10.5px;display:flex}.m-fact dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:14px}.m-fact dd.mono{font-size:13px}.m-fact dd a{color:var(--accent-ink)}.m-ip,.m-origin{display:block}.m-ip{color:var(--ink-2);margin-top:4px;font-size:12px}.m-flag{font-size:15px;line-height:1}.m-none{color:var(--ink-3)}.combo{position:relative}.combo-drop{z-index:30;background:var(--panel);border:1px solid var(--line-2);box-shadow:var(--shadow);border-radius:10px;max-height:260px;margin-top:4px;padding:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.combo-opt{text-align:left;width:100%;color:var(--ink);cursor:pointer;font-size:14.5px;font-family:var(--sans);background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 10px;display:flex}.combo-opt:hover:not(:disabled){background:var(--panel-2);color:var(--accent-ink)}.combo-create{color:var(--accent-ink);border-top:1px solid var(--line);border-radius:0 0 7px 7px;font-weight:600}.combo-empty{color:var(--ink-3);padding:9px 10px;font-size:13px}.combo-slug{color:var(--ink-3);font-size:11px}.combo-picked{border:1px solid var(--line-2);background:var(--panel-2);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14.5px;display:flex}.combo-picked>span:first-child{font-weight:600}.combo-clear{color:var(--ink-2);cursor:pointer;font-size:12px;font-family:var(--sans);background:0 0;border:0;margin-left:auto;text-decoration:underline}.combo-clear:hover{color:var(--accent-ink)}.combo-err{color:#c0392b;font-size:12px}.lesson-form{flex-direction:column;gap:20px;max-width:860px;display:flex}.lf-card{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:22px}.lf-h{letter-spacing:.04em;text-transform:uppercase;font-size:15px;font-family:var(--mono);color:var(--ink-2);margin:0 0 16px}.lf-count{color:var(--ink-3);border:1px solid var(--line-2);border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11px}.lf-row{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.lf-row-3{grid-template-columns:repeat(3,1fr)}@media (max-width:700px){.lf-row,.lf-row-3{grid-template-columns:1fr}}.lesson-form select,.lesson-form textarea{border:1px solid var(--line-2);background:var(--ground);color:var(--ink);font-size:14.5px;font-family:var(--sans);border-radius:10px;width:100%;padding:11px 13px}.lesson-form textarea{resize:vertical}.lf-tab{font-family:var(--mono);white-space:pre;font-size:13px;line-height:1.55;overflow-x:auto}.lf-part{border:1px solid var(--line);background:var(--ground);border-radius:12px;margin-bottom:14px;padding:16px}.lf-part-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.lf-part-n{background:var(--panel-2);width:26px;height:26px;color:var(--ink-2);border-radius:999px;flex:none;place-items:center;font-size:12px;display:grid}.lf-part-title{min-width:0;font-size:14.5px;font-family:var(--sans);flex:200px;font-weight:600}.lf-part-len,.lf-part-title{border:1px solid var(--line-2);background:var(--panel);color:var(--ink);border-radius:9px;padding:9px 11px}.lf-part-len{width:82px;font-size:13px;font-family:var(--mono);text-align:center;flex:none}.lf-part-tools{gap:4px;margin-left:auto;display:flex}.lf-part-tools button{border:1px solid var(--line-2);background:var(--panel);width:30px;height:30px;color:var(--ink-2);cursor:pointer;border-radius:8px;font-size:13px;line-height:1}.lf-part-tools button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink)}.lf-part-tools button:disabled{opacity:.35;cursor:default}.lf-uploads{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px;display:grid}@media (max-width:700px){.lf-uploads{grid-template-columns:1fr}}.lf-up{flex-direction:column;gap:6px;min-width:0;display:flex}.lf-up label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:11px}.lf-up input[type=file]{color:var(--ink-2);font-size:13px}.lf-ok{color:var(--accent-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px}.lf-bar,.lf-ok{overflow:hidden}.lf-bar{background:var(--panel-2);border-radius:999px;height:5px}.lf-bar i{background:var(--accent);height:100%;transition:width .2s;display:block}.lf-actions{gap:12px;display:flex}.pricing-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:18px;margin-top:12px;display:grid}@media (max-width:820px){.pricing-grid{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}}.price-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;padding:26px 22px;display:flex;position:relative}.price-card.featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}.price-badge{background:var(--accent);color:#fff;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:10.5px;font-weight:700;position:absolute;top:-11px;left:50%;transform:translate(-50%)}:root[data-theme=dark] .price-badge{color:#08131d}.price-name{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);font-size:15px;font-family:var(--mono);margin:4px 0 14px}.price-amount{align-items:baseline;gap:4px;display:flex}.price-value{font-family:var(--mono);color:var(--ink);letter-spacing:-.01em;font-size:40px;font-weight:700}.price-sub{color:var(--ink-2);font-variant-numeric:tabular-nums;margin-top:6px;font-size:13px}.price-save{font-family:var(--mono);color:var(--lv-easy);background:var(--lv-easy);align-self:flex-start;margin:14px 0;font-size:12px;font-weight:600;display:inline-block}@supports (color:color-mix(in lab,red,red)){.price-save{background:color-mix(in srgb,var(--lv-easy) 13%,var(--panel))}}.price-save{border:1px solid var(--lv-easy)}@supports (color:color-mix(in lab,red,red)){.price-save{border:1px solid color-mix(in srgb,var(--lv-easy) 30%,transparent)}}.price-save{border-radius:999px;padding:4px 11px}.price-save-empty{visibility:hidden}.price-cta{text-align:center;border:1px solid var(--line-2);color:var(--ink);background:var(--panel);cursor:pointer;font-size:14.5px;font-weight:600;font-family:var(--sans);border-radius:999px;margin-top:auto;padding:12px;display:block}.price-card form{margin-top:auto;display:flex}.price-card form .price-cta{width:100%;margin-top:0}.price-cta:hover{border-color:var(--accent);color:var(--accent-ink)}.price-cta.primary{background:var(--accent);color:#fff;border-color:#0000}:root[data-theme=dark] .price-cta.primary{color:#08131d}.price-cta.primary:hover{filter:brightness(1.05);color:#fff}:root[data-theme=dark] .price-cta.primary:hover{color:#08131d}.price-guarantee{text-align:center;color:var(--ink-3);font-size:13px;font-family:var(--mono);margin:22px 0 0}.member-banner{border:1px solid var(--lv-beg);flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;max-width:620px;margin:8px auto 22px;display:flex}@supports (color:color-mix(in lab,red,red)){.member-banner{border:1px solid color-mix(in srgb,var(--lv-beg) 40%,transparent)}}.member-banner{background:var(--lv-beg)}@supports (color:color-mix(in lab,red,red)){.member-banner{background:color-mix(in srgb,var(--lv-beg) 9%,var(--panel))}}.member-banner{border-radius:var(--r);color:var(--ink);padding:14px 20px;font-size:14.5px}.price-card.current{border-color:var(--lv-beg)}@supports (color:color-mix(in lab,red,red)){.price-card.current{border-color:color-mix(in srgb,var(--lv-beg) 55%,transparent)}}.price-card.current{box-shadow:0 0 0 1px var(--lv-beg),var(--shadow)}@supports (color:color-mix(in lab,red,red)){.price-card.current{box-shadow:0 0 0 1px color-mix(in srgb,var(--lv-beg) 55%,transparent),var(--shadow)}}.current-badge{background:var(--lv-beg);color:#fff}.price-cta-current{text-align:center;border:1px dashed var(--lv-beg);margin-top:auto}@supports (color:color-mix(in lab,red,red)){.price-cta-current{border:1px dashed color-mix(in srgb,var(--lv-beg) 50%,transparent)}}.price-cta-current{color:var(--lv-beg);cursor:default;background:0 0;border-radius:999px;padding:12px;font-size:14.5px;font-weight:600}.benefit-list{grid-template-columns:repeat(2,1fr);gap:12px 22px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:600px){.benefit-list{grid-template-columns:1fr}}.benefit-list li{color:var(--ink);align-items:flex-start;gap:10px;font-size:14.5px;display:flex}.benefit-list svg{fill:none;width:20px;height:20px;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:1px}.faq-link{color:var(--accent-ink);font-weight:600}.faq-link:hover{text-decoration:underline}.testimonials{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (max-width:820px){.testimonials{grid-template-columns:1fr}}.testimonial{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);flex-direction:column;gap:14px;margin:0;padding:20px;display:flex}.testimonial blockquote{color:var(--ink);margin:0;font-size:14.5px;line-height:1.6;position:relative}.testimonial blockquote:before{content:"“";color:var(--accent);font-family:var(--mono);vertical-align:-.35em;margin-right:4px;font-size:28px;line-height:0}.testimonial figcaption{flex-direction:column;gap:1px;font-size:13px;display:flex}.testimonial figcaption strong{color:var(--ink)}.testimonial figcaption span{color:var(--ink-3);font-family:var(--mono);font-size:11.5px}.gp-dl{color:var(--accent-ink);text-decoration:none}.gp-dl:hover{border-color:var(--accent);background:var(--accent-soft)}.auth-wrap{max-width:430px;margin:0 auto;padding:48px 0 40px}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:28px}.auth-card h1{margin:0 0 6px;font-size:24px}.auth-card .sub{color:var(--ink-2);margin:0 0 20px;font-size:14px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:11px}.field input{border:1px solid var(--line-2);background:var(--ground);color:var(--ink);font-size:14.5px;font-family:var(--sans);border-radius:10px;padding:11px 13px}.field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auth-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;width:100%;margin-top:4px;padding:12px;font-size:15px;font-weight:600}:root[data-theme=dark] .auth-submit{color:#08131d}.auth-submit:hover{filter:brightness(1.05)}.auth-err{background:var(--lv-adv)}@supports (color:color-mix(in lab,red,red)){.auth-err{background:color-mix(in srgb,var(--lv-adv) 12%,var(--panel))}}.auth-err{color:var(--lv-adv);border:1px solid var(--lv-adv)}@supports (color:color-mix(in lab,red,red)){.auth-err{border:1px solid color-mix(in srgb,var(--lv-adv) 34%,transparent)}}.auth-err{border-radius:9px;margin-bottom:16px;padding:10px 12px;font-size:13px}.picked-plan{border:1px solid var(--accent);background:var(--accent-soft);color:var(--ink);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:14px;display:flex}.picked-plan .pp-price,.picked-plan strong{font-family:var(--mono)}.picked-plan .pp-price{color:var(--accent-ink);font-weight:700}.auth-sep{color:var(--ink-3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:18px 0;font-size:11px;display:flex}.auth-sep:after,.auth-sep:before{content:"";background:var(--line);flex:1;height:1px}.oauth{flex-direction:column}.oauth,.oauth button{gap:10px;display:flex}.oauth button{border:1px solid var(--line-2);background:var(--panel);color:var(--ink);cursor:pointer;width:100%;font-size:14px;font-weight:500;font-family:var(--sans);border-radius:10px;justify-content:center;align-items:center;padding:11px}.oauth button:hover{border-color:var(--accent)}.member-status{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);flex-direction:column;gap:4px;padding:16px;font-size:14px;display:flex}.member-status.on{border-color:var(--lv-beg)}@supports (color:color-mix(in lab,red,red)){.member-status.on{border-color:color-mix(in srgb,var(--lv-beg) 40%,transparent)}}.member-status.on{background:var(--lv-beg)}@supports (color:color-mix(in lab,red,red)){.member-status.on{background:color-mix(in srgb,var(--lv-beg) 8%,var(--panel))}}.member-status strong{color:var(--lv-beg);font-family:var(--mono);letter-spacing:.04em;font-size:13px}.auth-alt{text-align:center;color:var(--ink-2);margin-top:18px;font-size:13.5px}.auth-alt a{color:var(--accent-ink);font-weight:600}.user-menu{align-items:center;gap:10px;display:inline-flex}.user-menu .uname{color:var(--ink);font-size:13px;font-family:var(--mono)}.user-menu .uname:hover{color:var(--accent-ink)}.signout-btn{border:1px solid var(--line-2);background:var(--panel);color:var(--ink-2);cursor:pointer;font-size:13px;font-family:var(--sans);border-radius:999px;padding:7px 12px}.signout-btn:hover{border-color:var(--accent);color:var(--accent-ink)}.notfound{text-align:center;max-width:560px;margin:0 auto;padding:70px 0 40px}.notfound .nf-code{color:var(--accent);letter-spacing:.06em;font-size:68px;font-weight:700;line-height:1}.notfound h1{text-wrap:balance;margin:14px 0 10px;font-size:26px}.notfound p{color:var(--ink-2);max-width:46ch;margin:0 auto 6px;font-size:15px}.notfound .searchbar{margin:18px auto}.notfound .nf-links{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:6px;display:flex}.notfound .nf-links .toggle{text-decoration:none}.page-head{padding:40px 0 20px}.page-head h1{letter-spacing:-.01em;text-wrap:balance;margin:8px 0;font-size:28px}.page-head p{color:var(--ink-2);max-width:60ch;margin:0;font-size:14.5px}.count{font-family:var(--mono);color:var(--ink-3);font-size:12px}.empty-state{color:var(--ink-2);padding:20px 0;font-size:14.5px}.pager{flex-wrap:wrap;gap:6px;margin:34px 0 8px;display:flex}.pager,.pg{justify-content:center;align-items:center}.pg{border:1px solid var(--line-2);min-width:36px;height:36px;font-family:var(--mono);color:var(--ink);background:var(--panel);border-radius:9px;padding:0 10px;font-size:13px;display:inline-flex}.pg:hover{border-color:var(--accent);color:var(--accent-ink)}.pg.on{background:var(--accent);color:#fff;border-color:#0000}:root[data-theme=dark] .pg.on{color:#08131d}.pg.disabled,.pg.gap{color:var(--ink-3);cursor:default;background:0 0;border-color:#0000}.searchbar{gap:10px;max-width:520px;margin:14px 0 6px;display:flex}.searchbar input{border:1px solid var(--line-2);background:var(--panel);color:var(--ink);font-size:14.5px;font-family:var(--sans);border-radius:999px;flex:1;padding:11px 16px}.searchbar input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.searchbar button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:0 20px;font-weight:600}:root[data-theme=dark] .searchbar button{color:#08131d}.az{flex-wrap:wrap;gap:6px;margin:6px 0 24px;display:flex}.az a{border:1px solid var(--line);width:34px;height:34px;font-family:var(--mono);color:var(--ink-2);background:var(--panel);border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.az a:hover{border-color:var(--accent);color:var(--accent-ink)}.letter-group{margin-bottom:30px}.letter-group .lg-h{font-family:var(--mono);color:var(--accent-ink);border-bottom:1px solid var(--line);margin:0 0 14px;padding-bottom:8px;font-size:18px;font-weight:700}.lang{border:1px solid var(--line-2);border-radius:999px;display:inline-flex;overflow:hidden}.lang button{background:var(--panel);color:var(--ink-2);font-family:var(--mono);letter-spacing:.06em;cursor:pointer;border:none;padding:7px 10px;font-size:11px}.lang button+button{border-left:1px solid var(--line-2)}.lang button.on{background:var(--accent);color:#fff}:root[data-theme=dark] .lang button.on{color:#08131d}.lang[data-pending="1"]{opacity:.6}.benefits{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px;display:grid}@media (max-width:900px){.benefits{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.benefits{grid-template-columns:1fr}}.benefit{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:16px}.benefit .bi{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-ink);border-radius:9px;justify-content:center;align-items:center;margin-bottom:11px;display:flex}.benefit .bi svg{fill:currentColor;width:18px;height:18px}.benefit h3{font-family:var(--sans);margin:0 0 4px;font-size:14.5px;font-weight:600}.benefit p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.cta{border:1px solid var(--line);border-radius:var(--r);background:radial-gradient(120% 120% at 100% 0,var(--accent-soft),transparent 55%),var(--panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:40px 0 8px;padding:30px 28px;display:flex}.cta .ctx h2{margin:0 0 4px;font-size:22px}.cta .ctx p{color:var(--ink-2);margin:0;font-size:14.5px}.cta .btn-primary{padding:12px 22px;font-size:15px}.portrait{background:var(--stage);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.portrait:before{content:"";z-index:1;background:radial-gradient(120% 100% at 30% 0,#4e9bd857,#0000 60%),linear-gradient(160deg,#20588852,#0a0e1294);position:absolute;inset:0}.portrait img{object-fit:cover;z-index:0;mix-blend-mode:luminosity;width:100%;height:100%;position:absolute;inset:0}.portrait .mono-init{z-index:2;font-family:var(--mono);color:#e2eef8;letter-spacing:.02em;text-shadow:0 2px 8px #0006;font-size:30px;font-weight:700;position:relative}.portrait .strings{z-index:1;opacity:.35;position:absolute;inset:0}.portrait .strings i{background:#ffffff29;height:1px;position:absolute;left:0;right:0}.portrait.has-photo{background:var(--stage)}.portrait.has-photo:before{display:none}.portrait.has-photo img{mix-blend-mode:normal}.artist-strip{grid-template-columns:repeat(6,1fr);gap:16px;display:grid}@media (max-width:900px){.artist-strip{grid-template-columns:repeat(3,1fr)}}@media (max-width:520px){.artist-strip{grid-template-columns:repeat(2,1fr)}}.artist-card{color:inherit;text-align:center}.artist-card .portrait{aspect-ratio:1;width:100%;box-shadow:var(--shadow);border-radius:999px;transition:transform .2s}.artist-card:hover .portrait{transform:translateY(-3px)}.artist-card .artist-name{margin-top:10px;font-size:14px;font-weight:600}.artist-card .artist-genre{font-family:var(--mono);color:var(--ink-2);margin-top:1px;font-size:11px}.crumb{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px;margin:28px 0 14px;font-size:13px;display:flex}.crumb .sep{color:var(--ink-3)}.crumb a:hover{color:var(--accent-ink)}.lesson-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.lesson-title{align-items:center;gap:16px;display:flex}.lesson-title .portrait{width:72px;height:72px;box-shadow:var(--shadow);border-radius:14px;flex:none}.lesson-title .portrait .mono-init{font-size:26px}.lesson-title h1{letter-spacing:-.01em;text-wrap:balance;margin:0 0 4px;font-size:30px}.lesson-title .by{color:var(--ink-2);font-size:15px}.lesson-title .by b{color:var(--ink);font-weight:600}.meta{flex-wrap:wrap;gap:8px;display:flex}.meta,.pill{align-items:center}.pill{border:1px solid var(--line-2);font-size:12.5px;font-family:var(--mono);letter-spacing:.03em;background:var(--panel);border-radius:999px;gap:7px;padding:6px 12px;display:inline-flex}.pill .k{color:var(--ink-3)}.pill .v{color:var(--ink)}.lv,.pill .v{font-weight:600}.lv{font-size:12.5px;font-family:var(--mono);letter-spacing:.03em;border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:6px 12px}.lv,.lv .bars{display:inline-flex}.lv .bars{align-items:flex-end;gap:2px;height:12px}.lv .bars i{opacity:.35;background:currentColor;border-radius:1px;width:3px}.lv .bars i:first-child{height:4px}.lv .bars i:nth-child(2){height:7px}.lv .bars i:nth-child(3){height:10px}.lv .bars i:nth-child(4){height:13px}.lv[data-on="1"] .bars i:nth-child(-n+1),.lv[data-on="2"] .bars i:nth-child(-n+2),.lv[data-on="3"] .bars i:nth-child(-n+3),.lv[data-on="4"] .bars i:nth-child(-n+4){opacity:1}.tool-pill{border:1px solid var(--line-2);font-size:12.5px;font-family:var(--mono);letter-spacing:.03em;background:var(--panel);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;display:inline-flex}.tool-pill.on,.tool-pill:hover{border-color:var(--accent)}.tool-pill.on{background:var(--accent-soft);color:var(--accent-ink)}.tool-pill .k{color:var(--ink-3)}.tool-pill.on .k{color:var(--accent-ink)}.tool-pill .v{font-weight:600}.tool-pill .beat-dot{background:var(--ink-3);border-radius:999px;width:8px;height:8px;transition:transform 80ms,background 80ms}.tool-pill.on .beat-dot{background:var(--accent)}.tool-pill.on .beat-dot.flash{background:var(--accent-ink);transform:scale(1.6)}.tuner{border:1px solid var(--line-2);background:var(--panel);font-family:var(--mono);border-radius:999px;align-items:center;gap:6px;padding:5px 8px 5px 12px;font-size:12.5px;display:inline-flex}.tuner .k{color:var(--ink-3);letter-spacing:.03em}.tuner button{border:1px solid var(--line-2);background:var(--panel);width:27px;height:27px;color:var(--ink);font-family:var(--mono);cursor:pointer;border-radius:8px;font-size:12.5px;font-weight:600}.tuner button:hover{border-color:var(--accent);color:var(--accent-ink)}.tuner button.ringing{border-color:var(--accent);background:var(--accent);color:#fff}:root[data-theme=dark] .tuner button.ringing{color:#08131d}.console{grid-template-columns:1fr 316px;align-items:start;gap:16px;display:grid}@media (max-width:900px){.console{grid-template-columns:1fr}}.stage-card{background:var(--stage);border-radius:var(--r);box-shadow:var(--shadow);max-width:var(--stage-maxw,100%);position:relative;overflow:hidden}.stage{aspect-ratio:var(--stage-ar,16/9);background:repeating-linear-gradient(0deg,transparent 0 33px,#ffffff0d 33px 34px),radial-gradient(120% 80% at 50% 0,#4e9bd833,transparent 60%),var(--stage);justify-content:center;align-items:center;display:flex;position:relative}.stage .stage-video,.stage video{object-fit:contain;z-index:1;background:#000;width:100%;height:100%;position:absolute;inset:0}.stage .strings{pointer-events:none;opacity:.5;position:absolute;inset:0}.stage .strings i{background:linear-gradient(90deg,#0000,#ffffff29,#0000);height:1px;position:absolute;left:0;right:0}.stage .now{color:#f3e9dc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000059;border-radius:8px;padding:5px 10px;font-size:12px;left:16px}.stage .now,.stage .qtag{z-index:2;font-family:var(--mono);letter-spacing:.05em;position:absolute;top:14px}.stage .qtag{color:#e9ddcc;background:#0006;border-radius:7px;padding:4px 8px;font-size:11px;right:14px}.gate{z-index:3;text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a08068c;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:0}.gate p{color:#f0e6d7;max-width:32ch;margin:0;font-size:14px}.play{cursor:pointer;z-index:2;background:var(--accent);border:none;border-radius:999px;justify-content:center;align-items:center;width:74px;height:74px;display:flex;position:relative;box-shadow:0 8px 30px #0006}.play:hover{transform:scale(1.05)}.play svg{fill:#08131d;width:30px;height:30px;margin-left:3px}.transport{border-top:1px solid var(--line);flex-wrap:wrap;gap:14px;padding:12px 14px}.tp-btn,.transport{background:var(--panel);align-items:center;display:flex}.tp-btn{border:1px solid var(--line-2);width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center}.tp-btn:hover{border-color:var(--accent);color:var(--accent-ink)}.tp-btn svg{fill:currentColor;width:16px;height:16px}.tp-btn.big{background:var(--accent);color:#fff;border-color:#0000;width:44px;height:44px}:root[data-theme=dark] .tp-btn.big{color:#08131d}.tp-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.speed{border:1px solid var(--line-2);border-radius:9px;display:inline-flex;overflow:hidden}.speed button{background:var(--panel);color:var(--ink-2);font-family:var(--mono);cursor:pointer;border:none;padding:8px 9px;font-size:12px}.speed button+button{border-left:1px solid var(--line-2)}.speed button.on{background:var(--accent);color:#fff}:root[data-theme=dark] .speed button.on{color:#08131d}.toggle-mini{border:1px solid var(--line-2);background:var(--panel);color:var(--ink-2);font-family:var(--mono);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:8px 11px;font-size:12px;display:inline-flex}.toggle-mini.on{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.toggle-mini svg{fill:currentColor;width:14px;height:14px}.playlist{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.pl-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.pl-head .t{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}.pl-head .c,.pl-head .t{font-family:var(--mono);font-size:12px}.pl-head .c{color:var(--ink-3)}.clip{cursor:pointer;border-left:3px solid #0000;border-bottom:1px solid var(--line);text-align:left;width:100%;font:inherit;color:inherit;background:0 0;align-items:center;gap:13px;padding:13px 16px;display:flex}.clip:last-child{border-bottom:none}.clip:hover{background:var(--panel-2)}.clip .n{font-family:var(--mono);color:var(--ink-3);text-align:center;width:16px;font-size:12px}.clip .ico{background:var(--panel-2);border-radius:8px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.clip .ico svg{width:15px;height:15px;fill:var(--ink-2)}.clip .meta2{flex:1;min-width:0}.clip .name{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.clip .sub{font-family:var(--mono);color:var(--ink-2);align-items:center;gap:8px;font-size:11.5px;display:flex}.clip .gp{color:var(--accent-ink)}.clip.active{background:var(--accent-soft);border-left-color:var(--accent)}.clip.active .ico{background:var(--accent)}.clip.active .ico svg{fill:#fff}:root[data-theme=dark] .clip.active .ico svg{fill:#08131d}.tab-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin-top:16px;overflow:hidden}.tab-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;padding:14px 18px}.tab-bar,.tab-bar .t{align-items:center;gap:12px;display:flex}.tab-bar .t h2{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:14px}.tab-bar .part-name{font-family:var(--mono);color:var(--accent-ink);font-size:13px;font-weight:600}.tab-scroll{padding:8px 0;overflow-x:auto}.tab-block{border-left:3px solid #0000;padding:12px 18px}.tab-block+.tab-block{border-top:1px dashed var(--line)}.tab-block.active{border-left-color:var(--accent);background:var(--accent-soft)}@supports (color:color-mix(in lab,red,red)){.tab-block.active{background:color-mix(in srgb,var(--accent-soft) 45%,transparent)}}.tab-block .lbl{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;font-size:11px}.tab-block.active .lbl{color:var(--accent-ink)}.tab{font-family:var(--mono);white-space:pre;color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:13.5px;line-height:1.5}.tab .f{color:var(--accent);font-weight:700}.tab-block:not(.active) .tab .f{color:var(--ink)}.tab-empty{color:var(--ink-2);padding:20px 18px;font-size:13.5px}.tab-foot{border-top:1px solid var(--line);color:var(--ink-2);font-size:12.5px;font-family:var(--mono);gap:16px;padding:12px 18px;display:flex}.tab-foot,.tab-foot .dl-group{flex-wrap:wrap;align-items:center}.tab-foot .dl-group{gap:10px;margin-left:auto;display:inline-flex}.tab-foot .dl{color:var(--accent-ink);border:1px solid var(--line-2);border-radius:9px;align-items:center;gap:7px;padding:7px 11px;font-weight:600;display:inline-flex}.tab-foot .dl:hover{border-color:var(--accent);background:var(--accent-soft)}.tab-foot .dl svg{fill:currentColor;width:15px;height:15px}.lock-badge{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line);border-radius:6px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;display:inline-flex}.lock-badge svg{fill:currentColor;width:11px;height:11px}footer{border-top:1px solid var(--line);color:var(--ink-2);margin-top:64px;padding:34px 0 40px}.foot-in{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.foot-brand{flex-direction:column;gap:6px;display:flex}.foot-wordmark{align-items:center;gap:9px;display:flex}.foot-wordmark .mark{width:22px;height:22px;color:var(--accent)}.foot-tag{color:var(--ink-3);font-size:12px}.foot-nav{flex-wrap:wrap;gap:20px;font-size:13.5px;display:flex}.foot-nav a{color:var(--ink-2)}.foot-nav a:hover{color:var(--accent-ink)}.foot-controls{align-items:center;gap:10px;display:flex}.foot-credit{border-top:1px solid var(--line);font-family:var(--mono);color:var(--ink-3);letter-spacing:.02em;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;margin-top:26px;padding-top:18px;font-size:12px;display:flex}.foot-legal{gap:16px;display:flex}.foot-legal a{color:var(--ink-3)}.foot-legal a:hover{color:var(--ink-2);text-decoration:underline}@media (max-width:600px){.foot-controls{width:100%}}.legal-wrap{max-width:720px}.legal-head{margin:34px 0 30px}.legal-head h1{letter-spacing:-.01em;margin:0 0 8px;font-size:clamp(26px,4vw,34px)}.legal-updated{color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;margin:0 0 16px;font-size:11.5px}.legal-intro{color:var(--ink-2);max-width:62ch;margin:0;font-size:16px;line-height:1.65}.legal-body section{margin-bottom:30px}.legal-body h2{letter-spacing:-.005em;margin:0 0 10px;font-size:15.5px}.legal-body p{color:var(--ink-2);max-width:66ch;margin:0 0 12px;font-size:15px;line-height:1.72}.legal-body p:last-child{margin-bottom:0}.legal-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin:10px 0 70px;padding-top:20px;display:flex}.legal-foot p{color:var(--ink-3);margin:0;font-size:12px}.legal-foot a{color:var(--accent-ink)}.pay-methods{flex-direction:column;align-items:center;gap:10px;margin-top:14px;display:flex}.pay-row{flex-wrap:wrap;gap:8px;display:flex}.pay-badge,.pay-row{justify-content:center}.pay-badge{border:1px solid var(--line-2);border-radius:6px;align-items:center;width:46px;height:30px;box-shadow:0 1px 2px #0000000f}.pay-badge,.pay-mc{display:inline-flex}.pay-mc{position:relative}.pay-mc i{border-radius:999px;width:14px;height:14px;display:block}.pay-mc i:last-child{mix-blend-mode:multiply;margin-left:-6px}.pay-note{font-family:var(--mono);color:var(--ink-3);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.pay-note svg{color:var(--lv-easy)}.mnav-btn{border:1px solid var(--line-2);background:var(--panel);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex}.mnav-btn:hover{border-color:var(--accent);color:var(--accent-ink)}.mnav-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}.mnav-scrim{z-index:55;background:#00000059;position:fixed;inset:64px 0 0}.mnav-panel{background:var(--panel);border:1px solid var(--line);width:min(86vw,320px);box-shadow:var(--shadow);z-index:60;border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex;position:absolute;top:50px;right:0}.mnav-search{gap:8px;margin-bottom:8px;display:flex}.mnav-search input{background:var(--ground);min-width:0;color:var(--ink);font-size:15px;font-family:var(--sans);flex:1;padding:10px 12px}.mnav-search button,.mnav-search input{border:1px solid var(--line-2);border-radius:9px}.mnav-search button{background:var(--panel);color:var(--ink-2);cursor:pointer;justify-content:center;align-items:center;width:42px;display:flex}.mnav-search button svg{width:16px;height:16px}.mlink{text-align:left;width:100%;color:var(--ink);font-size:15px;font-family:var(--sans);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:11px 12px;display:block}.mlink:hover{background:var(--panel-2)}.mlink-primary{background:var(--accent);color:#fff;text-align:center;font-weight:600}:root[data-theme=dark] .mlink-primary{color:#08131d}.mlink-btn{color:var(--ink-2)}.mdiv{background:var(--line);height:1px;margin:6px 2px}.mnav-lang{padding:4px 2px}@media (max-width:820px){.only-desktop{display:none!important}.mnav{display:block;position:relative}.top-in{gap:12px}}@media (max-width:600px){.wrap{padding:0 16px}.hero{padding:30px 0 6px}.hero h1{font-size:25px}.hero p{font-size:14.5px}.sec{padding:34px 0 6px}.page-head h1,.sec-h h2{font-size:20px}.lesson-title h1{font-size:23px}.lesson-title .portrait{width:56px;height:56px}.lesson-title .portrait .mono-init{font-size:20px}.cta{padding:22px 20px}.cta .ctx h2{font-size:19px}.tab{font-size:12px}.transport{gap:10px;padding:10px}.tp-tools{justify-content:space-between;width:100%;margin-left:0}footer{margin-top:44px}.wordmark{font-size:14px}}@media (max-width:380px){.speed button{padding:8px 6px}.tuner button{width:24px;height:24px}}.admin-thumb{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.admin-thumb img{object-fit:cover;width:100%;height:100%}.admin-thumb span{color:var(--ink-3);font-size:13px;font-weight:700}.photo-slot{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.photo-slot-img{cursor:pointer;border:1px solid var(--line-2);background:var(--panel-2);border-radius:10px;justify-content:center;align-items:center;width:180px;height:180px;padding:0;display:flex;position:relative;overflow:hidden}.photo-slot-img img{object-fit:cover;width:100%;height:100%;display:block}.photo-slot-img span.mono{color:var(--ink-3);font-size:12px}.photo-slot-img:hover{border-color:var(--accent)}.photo-slot-hint{color:#fff;font-family:var(--mono);opacity:0;background:#0000008c;padding:6px;font-size:11px;transition:opacity .15s;position:absolute;inset:auto 0 0}.photo-slot-img:hover .photo-slot-hint{opacity:1}.photo-slot-side{flex-direction:column;gap:8px;max-width:260px;display:flex}.pp-scrim{z-index:80;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.pp-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);width:min(720px,100%);max-height:88vh;padding:22px;overflow-y:auto}.pp-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.pp-head h2{margin:0;font-size:18px}.pp-close{color:var(--ink-2);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:26px;line-height:1}.pp-close:hover{color:var(--accent-ink)}.pp-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.pp-item{border:1px solid var(--line-2);background:var(--panel-2);cursor:pointer;border-radius:10px;flex-direction:column;padding:0;display:flex;overflow:hidden}.pp-item:hover{border-color:var(--accent)}.pp-item img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.pp-name{color:var(--ink);text-align:left;padding:7px 8px;font-size:12px}.pp-preview{flex-wrap:wrap;gap:16px;display:flex}.pp-preview img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line-2);border-radius:10px;width:min(360px,100%)}.pp-preview-side{flex-direction:column;flex:1;gap:6px;min-width:200px;display:flex}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}