html{color-scheme:light dark;scrollbar-gutter:stable}body{margin:0}img{max-width:100%}[hidden]{display:none!important}@font-face{font-family:Apercu Mono;src:url(/assets/ApercuMonoProLight-B0ZuAgsn.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Apercu Mono;src:url(/assets/ApercuMonoProRegular-Dn67qFi1.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Apercu Mono;src:url(/assets/ApercuMonoProMedium-BU3E_jiX.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Apercu Mono;src:url(/assets/ApercuMonoProBold-DOkiwniR.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#E4E1D7;--panel:#F6F4EF;--panel-2:#EDEAE2;--ink:#191612;--ink-2:#6A6255;--ink-3:#948B7B;--line:#D3CDBF;--line-2:#BBB3A2;--brass:#A07A26;--brass-ink:#7A5A17;--brass-soft:rgba(160,122,38,.16);--slowbar:#B3A48C;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--preview:#9AACBA;--felt:#9C3128;--felt-strip:#D42A1E;--verd:#2F6B52;--key-w:#FCFBF8;--key-w-edge:#C6BFAF;--key-b:#1B1814;--key-b-edge:#3A342B;--shadow:0 1px 0 rgba(25,22,18,.1), 0 10px 24px -18px rgba(25,22,18,.55);--radius:10px}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg:#131109;--panel:#1E1B15;--panel-2:#26221B;--ink:#F1ECE1;--ink-2:#A79D8B;--ink-3:#7C7466;--line:#332E25;--line-2:#463F33;--brass:#DCA945;--brass-ink:#E8BC63;--brass-soft:rgba(220,169,69,.18);--slowbar:#6E6552;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--preview:#7A93A8;--felt:#DA6053;--verd:#6CB794;--key-w:#DFDACE;--key-w-edge:#8B8474;--key-b:#0B0908;--key-b-edge:#2B2620;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}}:root[data-theme=dark]{--bg:#131109;--panel:#1E1B15;--panel-2:#26221B;--ink:#F1ECE1;--ink-2:#A79D8B;--ink-3:#7C7466;--line:#332E25;--line-2:#463F33;--brass:#DCA945;--brass-ink:#E8BC63;--brass-soft:rgba(220,169,69,.18);--slowbar:#6E6552;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--preview:#7A93A8;--felt:#DA6053;--verd:#6CB794;--key-w:#DFDACE;--key-w-edge:#8B8474;--key-b:#0B0908;--key-b-edge:#2B2620;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=lipiano]{--bg:#DCDCDC;--panel:#FFFFFF;--panel-2:#F0F0F0;--ink:#2B2B2B;--ink-2:#5D5D5D;--ink-3:#7E7E7E;--line:#D6D6D6;--line-2:#BDBDBD;--brass:#3893E8;--brass-ink:#1A6DBB;--brass-soft:rgba(56,147,232,.14);--slowbar:#A5A5A5;--series-1:#6d4bd1;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--preview:#8E9AA3;--felt:#B03A30;--felt-strip:#8C8C8C;--verd:#2F6B52;--key-w:#FFFFFF;--key-w-edge:#BFBFBF;--key-b:#2B2B2B;--key-b-edge:#454545;--shadow:0 1px 0 rgba(0,0,0,.08), 0 10px 24px -18px rgba(0,0,0,.45)}:root[data-theme=lipiano-dark]{--bg:#161512;--panel:#262421;--panel-2:#2E2C29;--ink:#DEDEDE;--ink-2:#A0A0A0;--ink-3:#7C7C7C;--line:#3A3835;--line-2:#4A4744;--brass:#3692E7;--brass-ink:#63ABEE;--brass-soft:rgba(54,146,231,.2);--slowbar:#5E5C58;--series-1:#8b6fe0;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--preview:#8A9299;--felt:#DA6053;--felt-strip:#57544F;--verd:#6CB794;--key-w:#CFCFCF;--key-w-edge:#828282;--key-b:#121212;--key-b-edge:#2E2E2E;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=gruvbox-dark]{--bg:#282828;--panel:#3C3836;--panel-2:#504945;--ink:#EBDBB2;--ink-2:#BDAE93;--ink-3:#928374;--line:#504945;--line-2:#665C54;--brass:#FABD2F;--brass-ink:#FABD2F;--brass-soft:rgba(250,189,47,.18);--slowbar:#7C6F64;--series-1:#83A598;--series-2:#FE8019;--series-3:#8EC07C;--series-4:#D3869B;--series-5:#B16286;--preview:#83A598;--felt:#FB4934;--felt-strip:#CC241D;--verd:#B8BB26;--key-w:#EBDBB2;--key-w-edge:#A89984;--key-b:#1D2021;--key-b-edge:#3C3836;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=gruvbox-light]{--bg:#F2E5BC;--panel:#FBF1C7;--panel-2:#EBDBB2;--ink:#3C3836;--ink-2:#665C54;--ink-3:#928374;--line:#D5C4A1;--line-2:#BDAE93;--brass:#B57614;--brass-ink:#B57614;--brass-soft:rgba(181,118,20,.16);--slowbar:#A89984;--series-1:#076678;--series-2:#AF3A03;--series-3:#427B58;--series-4:#8F3F71;--series-5:#D65D0E;--preview:#458588;--felt:#9D0006;--felt-strip:#CC241D;--verd:#79740E;--key-w:#F9F5D7;--key-w-edge:#A89984;--key-b:#282828;--key-b-edge:#504945;--shadow:0 1px 0 rgba(60,56,54,.1), 0 10px 24px -18px rgba(60,56,54,.55)}:root[data-theme=dracula]{--bg:#21222C;--panel:#282A36;--panel-2:#343746;--ink:#F8F8F2;--ink-2:#B4B7C7;--ink-3:#6272A4;--line:#44475A;--line-2:#565A75;--brass:#BD93F9;--brass-ink:#BD93F9;--brass-soft:rgba(189,147,249,.18);--slowbar:#4F5370;--series-1:#8BE9FD;--series-2:#FFB86C;--series-3:#50FA7B;--series-4:#F1FA8C;--series-5:#FF79C6;--preview:#6272A4;--felt:#FF5555;--felt-strip:#FF5555;--verd:#50FA7B;--key-w:#F8F8F2;--key-w-edge:#A9ABB8;--key-b:#191A21;--key-b-edge:#343746;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=dracula-light]{--bg:#F5F1E1;--panel:#FFFBEB;--panel-2:#F1EDDD;--ink:#1F1F1F;--ink-2:#4E4A38;--ink-3:#6C664B;--line:#DCD8C8;--line-2:#C9C5B3;--brass:#644AC9;--brass-ink:#644AC9;--brass-soft:rgba(100,74,201,.14);--slowbar:#A8A48F;--series-1:#036A96;--series-2:#A34D14;--series-3:#14710A;--series-4:#846E15;--series-5:#A3144D;--preview:#7E7BA3;--felt:#CB3A2A;--felt-strip:#CB3A2A;--verd:#14710A;--key-w:#FFFEF7;--key-w-edge:#B9B5A3;--key-b:#1F1F1F;--key-b-edge:#44475A;--shadow:0 1px 0 rgba(31,31,31,.1), 0 10px 24px -18px rgba(31,31,31,.55)}:root[data-theme=catppuccin-mocha]{--bg:#181825;--panel:#1E1E2E;--panel-2:#313244;--ink:#CDD6F4;--ink-2:#BAC2DE;--ink-3:#9399B2;--line:#313244;--line-2:#45475A;--brass:#89B4FA;--brass-ink:#89B4FA;--brass-soft:rgba(137,180,250,.18);--slowbar:#585B70;--series-1:#CBA6F7;--series-2:#FAB387;--series-3:#94E2D5;--series-4:#F9E2AF;--series-5:#F5C2E7;--preview:#7F849C;--felt:#F38BA8;--felt-strip:#F38BA8;--verd:#A6E3A1;--key-w:#CDD6F4;--key-w-edge:#7F849C;--key-b:#11111B;--key-b-edge:#313244;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=catppuccin-latte]{--bg:#E6E9EF;--panel:#EFF1F5;--panel-2:#DCE0E8;--ink:#4C4F69;--ink-2:#6C6F85;--ink-3:#8C8FA1;--line:#CCD0DA;--line-2:#BCC0CC;--brass:#1E66F5;--brass-ink:#1E66F5;--brass-soft:rgba(30,102,245,.14);--slowbar:#9CA0B0;--series-1:#8839EF;--series-2:#FE640B;--series-3:#179299;--series-4:#DF8E1D;--series-5:#EA76CB;--preview:#7C7F93;--felt:#D20F39;--felt-strip:#D20F39;--verd:#40A02B;--key-w:#FAFBFD;--key-w-edge:#ACB0BE;--key-b:#4C4F69;--key-b-edge:#6C6F85;--shadow:0 1px 0 rgba(76,79,105,.1), 0 10px 24px -18px rgba(76,79,105,.55)}:root[data-theme=solarized-light]{--bg:#EEE8D5;--panel:#FDF6E3;--panel-2:#EEE8D5;--ink:#4D6269;--ink-2:#657B83;--ink-3:#839496;--line:rgba(88,110,117,.18);--line-2:#93A1A1;--brass:#268BD2;--brass-ink:#1D6FA8;--brass-soft:rgba(38,139,210,.15);--slowbar:#93A1A1;--series-1:#6C71C4;--series-2:#CB4B16;--series-3:#2AA198;--series-4:#B58900;--series-5:#D33682;--preview:#839496;--felt:#DC322F;--felt-strip:#DC322F;--verd:#627100;--key-w:#FDF6E3;--key-w-edge:#93A1A1;--key-b:#073642;--key-b-edge:#586E75;--shadow:0 1px 0 rgba(0,43,54,.1), 0 10px 24px -18px rgba(0,43,54,.55)}:root[data-theme=one-light]{--bg:#F0F0F1;--panel:#FAFAFA;--panel-2:#E5E5E6;--ink:#383A42;--ink-2:#696C77;--ink-3:#A0A1A7;--line:#E5E5E6;--line-2:#A0A1A7;--brass:#4078F2;--brass-ink:#2F60C9;--brass-soft:rgba(64,120,242,.14);--slowbar:#A0A1A7;--series-1:#A626A4;--series-2:#D75F00;--series-3:#0184BC;--series-4:#C18401;--series-5:#986801;--preview:#696C77;--felt:#CA1243;--felt-strip:#CA1243;--verd:#367A35;--key-w:#FAFAFA;--key-w-edge:#A0A1A7;--key-b:#202227;--key-b-edge:#696C77;--shadow:0 1px 0 rgba(9,10,11,.08), 0 10px 24px -18px rgba(9,10,11,.45)}:root[data-theme=nord]{--bg:#2E3440;--panel:#3B4252;--panel-2:#434C5E;--ink:#E5E9F0;--ink-2:#D8DEE9;--ink-3:#8F9AAF;--line:#434C5E;--line-2:#4C566A;--brass:#88C0D0;--brass-ink:#8FBCBB;--brass-soft:rgba(136,192,208,.18);--slowbar:#4C566A;--series-1:#B48EAD;--series-2:#D08770;--series-3:#8FBCBB;--series-4:#EBCB8B;--series-5:#5E81AC;--preview:#81A1C1;--felt:#F0969E;--felt-strip:#BF616A;--verd:#A3BE8C;--key-w:#ECEFF4;--key-w-edge:#8F9AAF;--key-b:#242933;--key-b-edge:#4C566A;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=tokyo-night-dark]{--bg:#16161E;--panel:#1A1B26;--panel-2:#2F3549;--ink:#A9B1D6;--ink-2:#9AA2C7;--ink-3:#858CAA;--line:#2F3549;--line-2:#444B6A;--brass:#2AC3DE;--brass-ink:#B4F9F8;--brass-soft:rgba(42,195,222,.18);--slowbar:#444B6A;--series-1:#BB9AF7;--series-2:#A9B1D6;--series-3:#B4F9F8;--series-4:#0DB9D7;--series-5:#F7768E;--preview:#787C99;--felt:#F7768E;--felt-strip:#F7768E;--verd:#9ECE6A;--key-w:#CBCCD1;--key-w-edge:#787C99;--key-b:#111119;--key-b-edge:#2F3549;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=midnight]{--bg:#0B0E13;--panel:#141A24;--panel-2:#1B2330;--ink:#9FADC6;--ink-2:#8998B3;--ink-3:#697A99;--line:#202A39;--line-2:#394760;--brass:#60759F;--brass-ink:#91A4C9;--brass-soft:rgba(96,117,159,.22);--slowbar:#394760;--series-1:#8E7DBE;--series-2:#C28B70;--series-3:#75A58C;--series-4:#B9A36A;--series-5:#C27070;--preview:#60759F;--felt:#D17D7D;--felt-strip:#A95252;--verd:#75A58C;--key-w:#B8C1D0;--key-w-edge:#60708A;--key-b:#080A0E;--key-b-edge:#202A39;--shadow:0 1px 0 rgba(0,0,0,.6), 0 12px 28px -18px rgba(0,0,0,.95)}:root[data-theme=watermelon]{--bg:#102B23;--panel:#1F4437;--panel-2:#2D5D4D;--ink:#F0E8DD;--ink-2:#D6CEC3;--ink-3:#A7BEB5;--line:#356B58;--line-2:#4B8A73;--brass:#F47C84;--brass-ink:#FFABB0;--brass-soft:rgba(244,124,132,.22);--slowbar:#4B8A73;--series-1:#83A8C7;--series-2:#E79A68;--series-3:#93BE91;--series-4:#D7B96E;--series-5:#C986B4;--preview:#7FB09E;--felt:#E77D83;--felt-strip:#C82931;--verd:#93BE91;--key-w:#EEE8DE;--key-w-edge:#83A497;--key-b:#0B211A;--key-b-edge:#356B58;--shadow:0 1px 0 rgba(0,0,0,.45), 0 12px 28px -18px rgba(0,0,0,.85)}:root[data-theme=greenhouse]{--bg:#7B9C98;--panel:#EAF1F3;--panel-2:#D9E5E5;--ink:#1F2928;--ink-2:#495755;--ink-3:#657572;--line:#C4D4D3;--line-2:#9CB5B2;--brass:#495755;--brass-ink:#34403F;--brass-soft:rgba(73,87,85,.15);--slowbar:#9CB5B2;--series-1:#486F91;--series-2:#B66A48;--series-3:#47785F;--series-4:#92742D;--series-5:#9A5D7C;--preview:#72908D;--felt:#A84436;--felt-strip:#D8785B;--verd:#3F7058;--key-w:#F6F9F9;--key-w-edge:#8EA9A6;--key-b:#34403F;--key-b-edge:#566865;--shadow:0 1px 0 rgba(52,64,63,.12), 0 10px 24px -18px rgba(52,64,63,.55)}:root[data-theme=charcoal]{--bg:#1F1F1F;--panel:#262626;--panel-2:#303030;--ink:#D2DFF4;--ink-2:#A9B8CC;--ink-3:#768F95;--line:#353535;--line-2:#494949;--brass:#F2C17B;--brass-ink:#F2C17B;--brass-soft:rgba(242,193,123,.18);--slowbar:#59676B;--series-1:#7FA6D9;--series-2:#D98B61;--series-3:#79AB8F;--series-4:#D8AE59;--series-5:#C980A4;--preview:#768F95;--felt:#E06A6A;--felt-strip:#B84848;--verd:#79AB8F;--key-w:#D8DEE8;--key-w-edge:#76818F;--key-b:#141414;--key-b-edge:#383838;--shadow:0 1px 0 rgba(0,0,0,.55), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=night-owl]{--bg:#011627;--panel:#0B2942;--panel-2:#13344F;--ink:#D6DEEB;--ink-2:#BEC5D4;--ink-3:#8394A8;--line:#1D3B53;--line-2:#44596B;--brass:#82AAFF;--brass-ink:#82AAFF;--brass-soft:rgba(130,170,255,.18);--slowbar:#44596B;--series-1:#C792EA;--series-2:#FFCB8B;--series-3:#7FDBCA;--series-4:#ADDB67;--series-5:#EF5350;--preview:#637777;--felt:#F78C6C;--felt-strip:#EF5350;--verd:#ADDB67;--key-w:#D6DEEB;--key-w-edge:#637777;--key-b:#010E1A;--key-b-edge:#1D3B53;--shadow:0 1px 0 rgba(0,0,0,.55), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=monokai-pro]{--bg:#29282A;--panel:#363537;--panel-2:#413F41;--ink:#F7F1FF;--ink-2:#BAB6C0;--ink-3:#8B888F;--line:#413F41;--line-2:#525053;--brass:#FCE566;--brass-ink:#FCE566;--brass-soft:rgba(252,229,102,.16);--slowbar:#69676C;--series-1:#4DCBE0;--series-2:#FD9353;--series-3:#7BD88F;--series-4:#948AE3;--series-5:#FC618D;--preview:#8B888F;--felt:#FC618D;--felt-strip:#F8467B;--verd:#7BD88F;--key-w:#F7F1FF;--key-w-edge:#8B888F;--key-b:#19181A;--key-b-edge:#413F41;--shadow:0 1px 0 rgba(0,0,0,.55), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=ayu-light]{--bg:#F0EEE4;--panel:#FAFAFA;--panel-2:#F3F1E8;--ink:#5C6773;--ink-2:#69737E;--ink-3:#8A9199;--line:#E6E4DA;--line-2:#D3D1C6;--brass:#FF6A00;--brass-ink:#B84D00;--brass-soft:rgba(255,106,0,.14);--slowbar:#C9C6BA;--series-1:#41A6D9;--series-2:#F07178;--series-3:#4DBF99;--series-4:#A37ACC;--series-5:#86B300;--preview:#ABB0B6;--felt:#D92B2B;--felt-strip:#FF3333;--verd:#4F7A00;--key-w:#FFFFFF;--key-w-edge:#ABB0B6;--key-b:#323232;--key-b-edge:#5C6773;--shadow:0 1px 0 rgba(50,50,50,.1), 0 10px 24px -18px rgba(50,50,50,.5)}:root[data-theme=red-sands]{--bg:#5A1A15;--panel:#7A251E;--panel-2:#88302A;--ink:#F2E8D2;--ink-2:#D7C9A7;--ink-3:#CDB396;--line:#8E3A31;--line-2:#A4544A;--brass:#E7B000;--brass-ink:#F2C94C;--brass-soft:rgba(231,176,0,.2);--slowbar:#A4544A;--series-1:#7FB6E0;--series-2:#F2A36B;--series-3:#8FD18F;--series-4:#C9A0DC;--series-5:#6FD6D6;--preview:#A4A390;--felt:#FFB199;--felt-strip:#FF3F00;--verd:#8FD18F;--key-w:#EFE4CC;--key-w-edge:#A4A390;--key-b:#2A0B08;--key-b-edge:#5A1A15;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=dumbledore]{--bg:#36203F;--panel:#4F2F61;--panel-2:#5B3870;--ink:#ECE8EF;--ink-2:#C5C8C6;--ink-3:#BFA5C7;--line:#5B3870;--line-2:#72508A;--brass:#F0C75E;--brass-ink:#F0C75E;--brass-soft:rgba(240,199,94,.2);--slowbar:#72508A;--series-1:#6FA8FF;--series-2:#E58B6B;--series-3:#5FBF7F;--series-4:#B294BB;--series-5:#D98BA0;--preview:#8C84B8;--felt:#FF8A80;--felt-strip:#AE0001;--verd:#5FBF7F;--key-w:#E6E1EA;--key-w-edge:#9A86A8;--key-b:#1E1528;--key-b-edge:#423F54;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=belafonte-day]{--bg:#D5CCBA;--panel:#E8E2D5;--panel-2:#DDD5C5;--ink:#45373C;--ink-2:#5E5252;--ink-3:#7A6D66;--line:#CFC5B2;--line-2:#AFA491;--brass:#97522C;--brass-ink:#7A3F20;--brass-soft:rgba(151,82,44,.16);--slowbar:#AFA491;--series-1:#426A79;--series-2:#C9832A;--series-3:#6E7A4E;--series-4:#8A5C7A;--series-5:#5E8C99;--preview:#968C83;--felt:#9E0D0B;--felt-strip:#BE100E;--verd:#45602A;--key-w:#F3EEE4;--key-w-edge:#AFA491;--key-b:#20111B;--key-b-edge:#5E5252;--shadow:0 1px 0 rgba(32,17,27,.1), 0 10px 24px -18px rgba(32,17,27,.5)}:root[data-theme=c64]{--bg:#362A78;--panel:#4A3B9A;--panel-2:#5646A8;--ink:#E4DFFA;--ink-2:#C4BCEE;--ink-3:#A89DE0;--line:#5646A8;--line-2:#6A5ABB;--brass:#BFCE72;--brass-ink:#BFCE72;--brass-soft:rgba(191,206,114,.2);--slowbar:#6A5ABB;--series-1:#67B6BD;--series-2:#E08A6A;--series-3:#7CC46F;--series-4:#D9A0E6;--series-5:#E6C36A;--preview:#7869C4;--felt:#FFB0A6;--felt-strip:#D9584B;--verd:#9BD68F;--key-w:#F7F7F7;--key-w-edge:#7869C4;--key-b:#1A1340;--key-b-edge:#40318D;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=zenburn]{--bg:#3F3F3F;--panel:#4F4F4F;--panel-2:#5A5A5A;--ink:#DCDCCC;--ink-2:#C8C8B8;--ink-3:#A9B9A9;--line:#555555;--line-2:#6F6F6F;--brass:#F0DFAF;--brass-ink:#F0DFAF;--brass-soft:rgba(240,223,175,.16);--slowbar:#709080;--series-1:#94BFF3;--series-2:#DFAF8F;--series-3:#60B48A;--series-4:#DC8CC3;--series-5:#8CD0D3;--preview:#709080;--felt:#ECB3B3;--felt-strip:#BC6C6C;--verd:#7FD4A4;--key-w:#DCDCCC;--key-w-edge:#709080;--key-b:#2B2B2B;--key-b-edge:#4F4F4F;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=sulphurpool]{--bg:#202746;--panel:#293256;--panel-2:#313B63;--ink:#A3A9C0;--ink-2:#979DB4;--ink-3:#7D86A8;--line:#343E68;--line-2:#5E6687;--brass:#3D8FD1;--brass-ink:#6FAEE3;--brass-soft:rgba(61,143,209,.2);--slowbar:#5E6687;--series-1:#6679CC;--series-2:#C76B29;--series-3:#AC9739;--series-4:#9C637A;--series-5:#22A2C9;--preview:#6B7394;--felt:#E8836A;--felt-strip:#C94922;--verd:#9DB860;--key-w:#DFE2F1;--key-w-edge:#898EA4;--key-b:#151A30;--key-b-edge:#293256;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=espresso-libre]{--bg:#2A211C;--panel:#3A2E27;--panel-2:#45382F;--ink:#B8A898;--ink-2:#A89888;--ink-3:#8A7B6E;--line:#45382F;--line-2:#5A4B40;--brass:#C5656B;--brass-ink:#E08A8E;--brass-soft:rgba(197,101,107,.2);--slowbar:#5A4B40;--series-1:#43A8ED;--series-2:#E0B25A;--series-3:#7CC46A;--series-4:#34B8B8;--series-5:#D3D7CF;--preview:#7E7368;--felt:#F27C7C;--felt-strip:#CC0000;--verd:#8FCB7C;--key-w:#D3D7CF;--key-w-edge:#8A7B6E;--key-b:#15100D;--key-b-edge:#3A2E27;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=paraiso-dark]{--bg:#2F1E2E;--panel:#3A2838;--panel-2:#433241;--ink:#A39E9B;--ink-2:#9A9592;--ink-3:#857C7F;--line:#45343F;--line-2:#4F424C;--brass:#5BC4BF;--brass-ink:#5BC4BF;--brass-soft:rgba(91,196,191,.18);--slowbar:#4F424C;--series-1:#06B6EF;--series-2:#FEC418;--series-3:#48B685;--series-4:#A383C4;--series-5:#EF6155;--preview:#776E71;--felt:#F27266;--felt-strip:#EF6155;--verd:#48B685;--key-w:#E7E9DB;--key-w-edge:#776E71;--key-b:#1E131D;--key-b-edge:#4F424C;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=softserver]{--bg:#242626;--panel:#2E3131;--panel-2:#373B3B;--ink:#99A3A2;--ink-2:#909A99;--ink-3:#7A8382;--line:#373B3B;--line-2:#4A5050;--brass:#6BA58F;--brass-ink:#7FBBA4;--brass-soft:rgba(107,165,143,.18);--slowbar:#4A5050;--series-1:#6B8FA3;--series-2:#A3906A;--series-3:#9AA56A;--series-4:#8A90C3;--series-5:#C4888A;--preview:#666C6C;--felt:#DD7C80;--felt-strip:#DD5C60;--verd:#AAB57A;--key-w:#D2E0DE;--key-w-edge:#7F8786;--key-b:#151717;--key-b-edge:#373B3B;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=ciapre]{--bg:#191C27;--panel:#212534;--panel-2:#282D3F;--ink:#AEA47A;--ink-2:#A09770;--ink-3:#7F7A63;--line:#2A2F42;--line-2:#3E4560;--brass:#CC8B3F;--brass-ink:#DCA25C;--brass-soft:rgba(204,139,63,.18);--slowbar:#3E4560;--series-1:#3097C6;--series-2:#D8607F;--series-3:#A6A75D;--series-4:#9A78A4;--series-5:#F3DBB2;--preview:#576D8C;--felt:#E07070;--felt-strip:#AC3835;--verd:#7FB069;--key-w:#F3DBB2;--key-w-edge:#7F7A63;--key-b:#101218;--key-b-edge:#2A2F42;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=chalice-dark]{--bg:#0C1011;--panel:#141B1C;--panel-2:#1B2425;--ink:#73A1A4;--ink-2:#6A9497;--ink-3:#56787A;--line:#1E2829;--line-2:#2E3B3C;--brass:#D4984D;--brass-ink:#D4984D;--brass-soft:rgba(212,152,77,.18);--slowbar:#2E3B3C;--series-1:#509CE7;--series-2:#CC6DC2;--series-3:#74C766;--series-4:#D9C27A;--series-5:#ADADAD;--preview:#3E5A5C;--felt:#E06264;--felt-strip:#CB1D27;--verd:#74C766;--key-w:#B8CCCD;--key-w-edge:#56787A;--key-b:#050707;--key-b-edge:#1E2829;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=ollie]{--bg:#222125;--panel:#2A292F;--panel-2:#323139;--ink:#9295B6;--ink-2:#8C90B0;--ink-3:#75789A;--line:#34333C;--line-2:#45445A;--brass:#C29A3E;--brass-ink:#D1AC56;--brass-soft:rgba(194,154,62,.18);--slowbar:#45445A;--series-1:#6A9BF0;--series-2:#D0704A;--series-3:#4DBF7A;--series-4:#3FB8BE;--series-5:#D85A6A;--preview:#5B6EA7;--felt:#EC7078;--felt-strip:#AC2E31;--verd:#4DBF7A;--key-w:#C9CBDD;--key-w-edge:#6B6E8C;--key-b:#151418;--key-b-edge:#34333C;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=belafonte-night]{--bg:#20111B;--panel:#2B1C25;--panel-2:#35252E;--ink:#968C83;--ink-2:#928880;--ink-3:#75696A;--line:#3A2A33;--line-2:#45373C;--brass:#EAA549;--brass-ink:#EAA549;--brass-soft:rgba(234,165,73,.18);--slowbar:#45373C;--series-1:#6A93A3;--series-2:#B8764F;--series-3:#A7A382;--series-4:#D5CCBA;--series-5:#C86A6A;--preview:#5E5252;--felt:#E06A5E;--felt-strip:#BE100E;--verd:#8FB07A;--key-w:#D5CCBA;--key-w-edge:#75696A;--key-b:#140A11;--key-b-edge:#3A2A33;--shadow:0 1px 0 rgba(0,0,0,.5), 0 12px 28px -18px rgba(0,0,0,.9)}:root[data-theme=light],:root[data-theme=lipiano],:root[data-theme=gruvbox-light],:root[data-theme=dracula-light],:root[data-theme=catppuccin-latte],:root[data-theme=solarized-light],:root[data-theme=one-light],:root[data-theme=greenhouse],:root[data-theme=ayu-light],:root[data-theme=belafonte-day]{color-scheme:light}:root[data-theme=dark],:root[data-theme=lipiano-dark],:root[data-theme=gruvbox-dark],:root[data-theme=dracula],:root[data-theme=catppuccin-mocha],:root[data-theme=nord],:root[data-theme=tokyo-night-dark],:root[data-theme=midnight],:root[data-theme=watermelon],:root[data-theme=charcoal],:root[data-theme=night-owl],:root[data-theme=monokai-pro],:root[data-theme=red-sands],:root[data-theme=dumbledore],:root[data-theme=c64],:root[data-theme=zenburn],:root[data-theme=sulphurpool],:root[data-theme=espresso-libre],:root[data-theme=paraiso-dark],:root[data-theme=softserver],:root[data-theme=ciapre],:root[data-theme=chalice-dark],:root[data-theme=ollie],:root[data-theme=belafonte-night]{color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Archivo,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}.app-layout{display:block;min-height:100vh}.nav{display:flex;align-items:center;gap:16px;margin-left:-9px}.nav-btn{font-family:Apercu Mono,ui-monospace,monospace;font-size:17px;font-weight:600;letter-spacing:-.01em;background:none;border:none;border-radius:8px;cursor:pointer;padding:3px 9px;color:var(--ink-2);transition:color .12s,background .12s}.nav-btn:hover{color:var(--ink);background:var(--panel-2)}.nav-btn[aria-expanded=true],.nav-btn[aria-pressed=true]{color:var(--brass-ink);background:var(--brass-soft)}.nav-btn.brand{color:var(--ink);font-weight:700;display:inline-flex;align-items:center}.nav-btn.brand:hover{color:var(--brass-ink);background:none}.brand-mark{display:block;height:18px;aspect-ratio:212.157/76.326;background:currentColor;-webkit-mask:url(/assets/ppp-B-12i2fe.svg) no-repeat center/contain;mask:url(/assets/ppp-B-12i2fe.svg) no-repeat center/contain}body.drills-mode .wrap{height:100vh;min-height:0}body.drills-mode .topbar{position:static;flex:0 0 auto}body.drills-mode .hero{min-height:0;gap:12px}body.drills-mode .stage{flex:0 0 auto;justify-content:flex-end;padding-top:0}body.drills-mode .stage-hud,body.drills-mode .stage-meta,body.drills-mode .readout,body.drills-mode .verdict,body.drills-mode .summary{display:none}body.drills-mode .kbd-scroll{--ann-gutter:0}.library{flex:1 1 auto;min-height:200px;display:flex;align-items:stretch;gap:16px;overflow:hidden}body.drawer-moving{overflow:hidden}.lib-side{flex:0 0 236px;min-width:0;display:flex;flex-direction:column;gap:9px;border-right:1px solid var(--line);padding-right:8px}.lib-views{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;display:flex;flex-direction:column;gap:1px}.lib-search{position:relative;display:flex;align-items:center;flex:0 0 auto}.lib-search-icon{position:absolute;left:11px;width:14px;height:14px;color:var(--ink-3);pointer-events:none}.lib-search-input{font:inherit;font-size:12.5px;width:100%;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 31px;transition:border-color .12s}.lib-search-input::placeholder{color:var(--ink-3)}.lib-search-input:focus{outline:none;border-color:var(--brass)}.lib-sort{position:relative;flex:0 0 auto}.lib-sort[hidden]{display:block!important;visibility:hidden}.sort-btn{font:inherit;width:100%;cursor:pointer;display:flex;align-items:center;gap:7px;padding:5px 10px;border-radius:8px;background:var(--brass-soft);color:var(--brass-ink);border:1px solid var(--brass)}.sort-eyebrow{font-size:9.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;opacity:.7;flex:0 0 auto}.sort-now{font-size:12px;font-weight:600;flex:1 1 auto;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fold-caret{flex:0 0 auto;width:13px;height:13px;opacity:.6;transition:transform .16s ease}.sort-btn[aria-expanded=true] .fold-caret{transform:rotate(180deg)}.sort-pop{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;display:flex;flex-direction:column;gap:1px;padding:4px;background:var(--panel);border:1px solid var(--line-2);border-radius:10px;box-shadow:var(--shadow)}.sort-item{font:inherit;font-size:12px;text-align:left;cursor:pointer;padding:5px 9px;border-radius:6px;background:none;border:none;color:var(--ink-2)}.sort-item:hover{background:var(--panel-2);color:var(--ink)}.sort-item[aria-checked=true]{color:var(--brass-ink);background:var(--brass-soft);font-weight:600}.view-btn{font:inherit;width:100%;cursor:pointer;display:flex;align-items:center;gap:8px;padding:7px 9px;background:none;border:none;border-radius:7px;color:var(--ink-3);text-align:left;transition:background-color .12s,color .12s}.view-btn:hover{background:var(--panel-2);color:var(--ink-2)}.view-btn .view-label{flex:1 1 auto;min-width:0;font-size:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-btn b{flex:0 0 auto;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;font-weight:500;color:var(--ink-3);opacity:.8}.view-btn[aria-current=true]{background:var(--brass-soft);color:var(--brass-ink)}.view-btn[aria-current=true] b{color:inherit;opacity:.65}.view-btn.view-free{margin-top:14px}.lib-main{position:relative;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:8px}.lib-main:after,.lib-side:after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;background:linear-gradient(transparent,var(--bg));pointer-events:none}.lib-side{position:relative}.lib-scroll,.lib-views{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.lib-mainhead{display:flex;align-items:baseline;gap:10px;flex:0 0 auto}.lib-mainhead .cap{margin:0;font-size:11.5px;color:var(--ink-3)}.lib-back{font:inherit;font-size:11.5px;font-weight:600;color:var(--ink-2);cursor:pointer;background:none;border:0;padding:0;margin:0;display:inline-flex;align-items:baseline;gap:5px}.lib-back:hover{color:var(--ink)}.lib-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px}.lib-group{display:flex;flex-direction:column;gap:3px;margin-bottom:8px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:var(--radius);padding:8px 11px}.dg-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.dg-kind{font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--brass-ink);border:1px solid var(--brass);border-radius:999px;padding:1px 7px}.dg-kind[data-kind=collection]{color:var(--ink-3);border-color:var(--line-2)}.dg-kind[data-kind=theme]{color:var(--ink-3);border-color:var(--line-2);border-style:dashed}.dg-name{margin:0;font-size:24px;font-weight:700;color:var(--ink);line-height:1.15;letter-spacing:-.01em}.dg-count{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;color:var(--ink-3)}.dg-desc{margin:0;font-size:11.5px;line-height:1.4;color:var(--ink-2);max-width:80ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dg-goal{margin:1px 0 0;font-size:11.5px;line-height:1.4;color:var(--ink-2);max-width:80ch}.dg-goal span{font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-right:6px}.dg-missing{margin:1px 0 0;font-size:11px;color:var(--felt)}.lib-shelves{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.lib-shelves:empty{display:none}.shelf-card{font:inherit;cursor:pointer;text-align:left;display:flex;align-items:baseline;gap:9px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:var(--radius);padding:11px 13px;transition:border-color .12s,background-color .12s}.shelf-card:hover{background:var(--panel-2);border-color:var(--brass)}.sc-name{flex:1 1 auto;min-width:0;font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-count{flex:0 0 auto;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;color:var(--ink-3)}.drill-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(214px,1fr));gap:8px}.drill-card{position:relative;display:flex;flex-direction:column;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:9px 11px;cursor:pointer;box-shadow:var(--shadow);transition:border-color .12s,background .12s}.drill-card:hover{border-color:var(--brass);background:var(--panel-2)}.drill-card.active{border-color:var(--brass);background:linear-gradient(var(--brass-soft),var(--brass-soft)),var(--panel)}.dc-head{display:flex;align-items:baseline;justify-content:space-between;gap:7px}.drill-card-name{font-size:17px;font-weight:600;line-height:1.2;color:var(--ink)}.dc-diff{flex:0 0 auto;white-space:nowrap;font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:1px 6px}.dc-diff[data-diff="0"],.dc-diff[data-diff="1"],.dc-diff[data-diff="2"]{color:var(--verd)}.dc-diff[data-diff="3"],.dc-diff[data-diff="4"],.dc-diff[data-diff="5"]{color:var(--brass-ink)}.dc-diff[data-diff="6"],.dc-diff[data-diff="7"],.dc-diff[data-diff="8"]{color:var(--felt)}.drill-card-desc{font-size:11.5px;line-height:1.35;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dc-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:1px}.dc-tag{font-size:10px;line-height:1.6;color:var(--ink-3);background:var(--panel-2);border-radius:999px;padding:0 7px}.dc-tag.domain{color:var(--ink-2);background:var(--panel-2);border:1px solid var(--line)}.dc-tag.shape{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9.5px}.dc-step{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;margin-right:6px;padding:0 4px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9.5px;font-weight:600;color:var(--brass-ink);background:var(--brass-soft);border:1px solid var(--brass);border-radius:999px;vertical-align:1px}.drill-card-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:5px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;color:var(--ink-3)}.drill-card:has(.dc-rank) .drill-card-meta{padding-right:46px}.dc-rank{position:absolute;right:-1px;bottom:-1px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;font-family:Apercu Mono,ui-monospace,monospace;font-size:24px;font-weight:700;line-height:1;letter-spacing:-.03em;border-radius:0 0 calc(var(--radius) - 1px) 0;color:var(--panel);background:var(--ink-3)}.dc-rank[data-grade=a]{background:var(--verd)}.dc-rank[data-grade=s],.dc-rank[data-grade=ss]{background:var(--brass)}.dc-rank[data-grade=ss]{box-shadow:0 0 14px -2px var(--brass)}.lib-scroll{display:flex;flex-direction:column}.lib-scroll>*{flex:0 0 auto}.drill-list.path-view{display:block;position:relative;flex:1 1 0;min-height:320px}.pv-tree{position:relative;height:100%;overflow-y:auto;overflow-x:hidden;display:flex;justify-content:center;padding-right:440px;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.pv-area{position:absolute;top:0;bottom:0;left:0;z-index:3;width:64px;pointer-events:none;border-left:3px solid var(--brass-soft);background:linear-gradient(to right,var(--brass-soft),transparent);opacity:0;transition:opacity .3s}.pv-area.on{opacity:1}.pv-area-name{display:block;padding:24px 0 0 10px;white-space:nowrap;font-size:13px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--brass-ink)}.pv-track{position:relative;flex:0 0 auto}.pv-route{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.pv-line{fill:none;stroke:var(--line-2);stroke-width:10;stroke-linecap:round}.pv-node{position:absolute;width:190px;padding:0;border:0;background:none;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px}.pv-dot{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;font-family:Apercu Mono,ui-monospace,monospace;font-size:22px;font-weight:700;color:var(--ink-2);background:var(--panel-2);border:3px solid var(--line-2);box-shadow:0 4px 0 var(--line-2);transition:transform .12s,border-color .12s}.pv-node:hover .pv-dot{transform:translateY(-2px);border-color:var(--brass)}.pv-dot[data-grade]{color:var(--panel);background:var(--ink-3);border-color:var(--ink-3)}.pv-dot[data-grade=a]{background:var(--verd);border-color:var(--verd)}.pv-dot[data-grade=s],.pv-dot[data-grade=ss]{background:var(--brass);border-color:var(--brass)}.pv-node.active .pv-dot{border-color:var(--brass)}.pv-node.selected .pv-dot{outline:3px solid var(--brass);outline-offset:4px}.pv-name{max-width:190px;font-size:15px;font-weight:600;line-height:1.2;color:var(--ink-2);text-align:center}.pv-node.selected .pv-name{color:var(--ink)}.pv-pop{position:absolute;z-index:2;width:400px;min-height:240px;box-sizing:border-box;display:flex;flex-direction:column;gap:7px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow),0 12px 32px -12px #00000040}.pv-step{margin:0;font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}.pv-title{margin:0;font-size:24px;font-weight:700;line-height:1.15;color:var(--ink)}.pv-desc{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink-2)}.pv-pop .drill-card-meta{margin-top:0}.pv-foot{margin-top:auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:12px}.pv-best{margin-right:auto;display:flex;align-items:center;gap:8px;font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}.pv-best .dc-rank{position:static;width:36px;height:36px;font-size:19px;border-radius:var(--radius)}.pv-play{font-size:14px;padding:8px 18px}.paths-switch{position:absolute;top:12px;right:16px;z-index:4;display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.ps-btn{border:0;background:none;padding:6px 14px;border-radius:calc(var(--radius) - 3px);font:inherit;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer}.ps-btn.on{background:var(--panel-2);color:var(--ink)}.drill-list.unit-view{display:block;position:relative;flex:1 1 0;overflow:auto;padding:56px 16px 16px}.unit-grid{display:grid;grid-template-columns:120px repeat(5,minmax(0,1fr));gap:10px;align-items:start}.ug-grade{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:0 4px}.ug-strand{display:flex;flex-direction:column;gap:2px;padding-top:10px;font-size:15px;font-weight:700;color:var(--ink)}.ug-optional{font-size:11px;font-weight:500;color:var(--ink-3)}.ug-cell{display:flex;flex-direction:column;gap:8px;min-height:40px;padding-top:8px;border-top:1px solid var(--line)}.ug-unit{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}.ug-unit[data-state=not-yet]{opacity:.55}.ug-unit[data-state=complete]{border-color:var(--verd)}.ug-head{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:10px 12px;border:0;background:none;font:inherit;text-align:left;color:var(--ink);cursor:pointer}.ug-head:hover{background:var(--panel-2)}.ug-name{font-size:15px;font-weight:700}.ug-topic{font-size:12.5px;line-height:1.35;color:var(--ink-2)}.ug-progress{font-size:12px;color:var(--ink-3)}.ug-state{font-size:12px;font-weight:600;color:var(--brass-ink)}.ug-unit[data-state=complete] .ug-state{color:var(--verd)}.ug-drills{list-style:none;margin:0;padding:6px 12px 10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.ug-drill{display:flex;align-items:center;gap:8px}.ug-drill-name{flex:1;font-size:13.5px;color:var(--ink)}.ug-drill .dc-rank{position:static;width:26px;height:26px;font-size:13px}.ug-play{font-size:12.5px;padding:4px 12px}.ug-empty{color:var(--ink-2)}.drill-list.work-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.work-card{position:relative;display:flex;flex-direction:column;gap:7px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:15px 17px 14px;cursor:pointer;box-shadow:var(--shadow);transition:border-color .12s,background .12s}.work-card:hover{border-color:var(--brass);background:var(--panel-2)}.work-card.active{border-color:var(--brass);background:linear-gradient(var(--brass-soft),var(--brass-soft)),var(--panel)}.work-card:has(.dc-rank){padding-bottom:44px}.wc-head{display:flex;align-items:baseline;justify-content:space-between;gap:9px}.wc-title{min-width:0;overflow-wrap:anywhere;font-size:20px;font-weight:600;line-height:1.2;color:var(--ink)}.work-panel{display:flex;align-items:flex-start;gap:0 28px;flex:1 1 auto;min-width:0}.work-panel .wc-title{font-size:30px;font-weight:600;line-height:1.1;letter-spacing:-.01em}.wp-col{display:flex;flex-direction:column;gap:7px;min-width:0}.wp-col:first-child{flex:1 1 60%}.wp-col:last-child{flex:1 1 40%}.wp-col .wc-row:first-child{border-top:none;padding-top:0}.stage-meta:has(.work-panel:not([hidden])){width:100%;max-width:min(100%,1060px)}.stage-meta:has(.work-panel:not([hidden])) .stage-row{gap:32px}.stage-meta:has(.practice-panel:not([hidden])){max-width:min(100%,920px)}.practice-panel{display:flex;flex-direction:column;gap:7px;min-width:280px;flex:0 0 auto}.practice-panel .wc-row:first-child{border-top:none;padding-top:0}body.sprint-active .practice-panel{display:none}.wc-head{align-items:center}.wc-head .wc-label{flex:0 0 auto;padding-top:0;font-size:12px;letter-spacing:.08em;color:var(--ink-2)}.wc-switch{display:flex;align-items:center;gap:10px}.wc-switch .ladder-dots,.wc-off,.wc-goal{font-family:Apercu Mono,ui-monospace,monospace;font-size:11px;font-weight:600;color:var(--ink-2);letter-spacing:.02em;line-height:1.25}.wc-off{color:var(--ink-3)}.wc-goal-row .wc-label{flex-basis:auto}.wc-goal{padding-top:2px;font-size:14px;color:var(--ink);letter-spacing:.01em}.wc-level-select{max-width:240px;padding:4px 24px 4px 7px;border:1px solid var(--line-2);border-radius:4px;background:var(--panel);color:var(--ink);font:600 13px/1.25 Apercu Mono,ui-monospace,monospace}.wc-level-select:focus{outline:none;border-color:var(--ink-3)}.wc-grade-goals{display:grid;grid-template-columns:max-content 1fr;gap:3px 10px;padding-top:1px;font-family:Apercu Mono,ui-monospace,monospace;font-size:11px;font-weight:600;color:var(--ink);letter-spacing:.01em;line-height:1.3}.wc-grade-goals>div{display:contents}.wc-grade-mark{color:var(--ink)}.wc-circle .wc-chip .wc-grade-mark{margin-left:.35em}.wc-circle-count .wc-label{min-width:0}.wc-grade-mark[data-grade=a]{color:var(--verd)}.wc-grade-mark[data-grade=s],.wc-grade-mark[data-grade=ss]{color:var(--brass)}.wc-chip:disabled{cursor:default;pointer-events:none}.wc-facts{display:flex;flex-wrap:wrap;gap:0 6px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;color:var(--ink-3)}.wc-dot{color:var(--ink-3);opacity:.6}.wc-notes{margin:0;font-size:11.5px;line-height:1.4;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wc-row{display:flex;align-items:flex-start;gap:12px;padding-top:8px;border-top:1px solid var(--line)}.wc-label{flex:0 0 46px;padding-top:4px;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.wc-field{flex:1 1 auto;min-width:0}.wc-chips{display:flex;flex-wrap:wrap;gap:5px}.wc-chip{display:inline-flex;align-items:center;white-space:nowrap;font:inherit;font-size:11.5px;line-height:1;cursor:pointer;padding:6px 10px;border-radius:999px;color:var(--ink-2);background:var(--panel-2);border:1px solid var(--line);transition:border-color .12s,background-color .12s,color .12s}.wc-chip:hover{border-color:var(--brass)}.wc-chip.on{color:var(--brass-ink);background:var(--brass-soft);border-color:var(--brass)}.wc-chip.small{padding:3px 8px;font-size:10.5px}.wc-chip.wc-toggle:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;border:1px solid currentColor;vertical-align:0}.wc-chip.wc-toggle.on:before{background:currentColor}.wc-strip{display:flex;flex-direction:column;gap:3px;-webkit-user-select:none;user-select:none;touch-action:none}.wc-bars{display:grid;gap:1px;height:18px;padding:3px 0}.wc-bar{position:relative;display:block;min-width:0;border-radius:2px;background:var(--panel-2);border:1px solid var(--line)}.wc-bar.on{background:var(--brass);border-color:var(--brass)}.wc-bracket{position:absolute;top:-4px;bottom:-4px;width:9px;z-index:1;cursor:ew-resize;touch-action:none}.wc-bracket[data-edge=from]{left:-5px}.wc-bracket[data-edge=to]{right:-5px}.wc-bracket:before{content:"";position:absolute;top:0;bottom:0;width:4px;border:2px solid var(--brass-ink)}.wc-bracket[data-edge=from]:before{left:3px;border-right:none;border-radius:2px 0 0 2px}.wc-bracket[data-edge=to]:before{right:3px;border-left:none;border-radius:0 2px 2px 0}.wc-bracket:hover:before{border-color:var(--ink)}.wc-sections{display:grid;gap:1px}.wc-section{font:inherit;font-size:10px;line-height:1;cursor:pointer;min-width:0;padding:4px 2px;border-radius:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3);background:transparent;border:1px solid var(--line);transition:border-color .12s,color .12s}.wc-section:hover{border-color:var(--brass);color:var(--ink-2)}.wc-section.on{color:var(--brass-ink);border-color:var(--brass);background:var(--brass-soft)}.wc-rowlabel{display:flex;align-items:center;justify-content:flex-start;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;color:var(--ink-3)}.wc-accrow{display:grid;gap:1px;height:7px}.wc-acc{display:block;min-width:0;border-radius:1px;border:1px solid var(--line);background:transparent}.wc-acc.clean{background:var(--verd);border-color:var(--verd)}.wc-acc.weak{background:color-mix(in srgb,var(--felt) calc(var(--depth) * 100%),var(--panel-2));border-color:color-mix(in srgb,var(--felt) calc(var(--depth) * 100%),var(--line))}.wc-progress{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.wc-spark{display:block;overflow:visible}.wc-spark-target{stroke:var(--line-2);stroke-width:1;stroke-dasharray:2 3}.wc-spark-line{fill:none;stroke:var(--brass);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.wc-spark-dots circle{fill:var(--panel);stroke:var(--brass);stroke-width:2}.wc-progressread{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;color:var(--ink-2)}.wc-rangeread{display:flex;align-items:center;gap:8px;margin-top:6px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;color:var(--ink-2)}.wc-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:9px;border-top:1px solid var(--line)}.wc-record{font-size:11.5px;color:var(--ink-2)}.wc-record.muted{color:var(--ink-3)}.wc-record b{font-weight:600;color:var(--ink)}.wc-grade{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:19px;padding:0 6px;margin-right:8px;font-family:Apercu Mono,ui-monospace,monospace;font-size:11px;font-weight:700;line-height:1;border-radius:5px;border:1px solid var(--line-2);color:var(--ink-3);background:var(--panel-2)}.wc-grade[data-grade=a]{color:var(--preview);border-color:color-mix(in srgb,var(--preview) 60%,transparent);background:color-mix(in srgb,var(--preview) 13%,transparent)}.wc-grade[data-grade=s],.wc-grade[data-grade=ss]{color:var(--brass);border-color:var(--brass);background:var(--brass-soft)}@media(max-width:720px){.library{flex-direction:column;gap:10px}.lib-side{flex:0 0 auto;flex-direction:row;flex-wrap:wrap;align-items:center;overflow:visible;padding-right:0;border-right:none;border-bottom:1px solid var(--line);padding-bottom:8px}.lib-search{flex:1 1 200px}.lib-sort{flex:0 0 170px}.lib-side:after{display:none}.lib-views{flex:1 1 100%;min-height:0;overflow:visible;padding-right:0;flex-direction:row;flex-wrap:wrap;gap:4px}.view-btn{width:auto;padding:5px 10px;background:var(--panel-2)}.view-btn .view-label{font-size:13px}}.wrap{max-width:1260px;margin:0 auto;padding:14px 20px 20px;display:flex;flex-direction:column;gap:14px;min-height:100vh}.hero{position:relative;flex:1 1 auto;display:flex;flex-direction:column}.topbar{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;flex-direction:column;gap:14px}.masthead{display:flex;align-items:center;gap:14px}.account-btn{flex:0 0 auto;font:inherit;font-size:12px;font-weight:500;background:none;border:0;padding:0;cursor:pointer;color:var(--ink-2);display:inline-flex;align-items:center;gap:8px;max-width:24ch;transition:color .12s}.account-btn:hover{color:var(--ink)}.account-btn #accountLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-btn .avatar{position:relative;flex:0 0 auto;width:32px;height:32px;color:var(--ink-3);display:inline-flex;align-items:center;justify-content:center;overflow:visible;transition:color .12s}.account-btn:hover .avatar{color:var(--ink-2)}.account-btn .avatar svg{width:32px;height:32px;display:block;clip-path:circle(48% at 50% 46%)}.account-btn .dot{position:absolute;right:-1px;bottom:-1px;width:7px;height:7px;border-radius:50%;background:var(--ink-3);box-shadow:0 0 0 2px var(--bg);transition:background .2s}.account-btn[data-sync=idle] .dot{background:var(--brass)}.account-btn[data-sync=syncing] .dot{background:var(--brass);animation:pulse 1.1s ease-in-out infinite}.account-btn[data-sync=error] .dot{background:#c0562f}.account-btn[data-sync=off] .dot{display:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.account-block{display:flex;flex-direction:column;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--line)}.account-signin{display:flex;flex-direction:column;gap:8px;align-items:stretch}.account-google{align-self:flex-start}.account-or{font-size:12px;color:var(--ink-3)}.account-link{display:flex;gap:8px;align-items:center}.account-email,.account-code{flex:1 1 auto;min-width:0}.account-code{font-variant-numeric:tabular-nums;letter-spacing:.12em}.account-actions{display:flex;gap:8px;flex-wrap:wrap}.account-msg{margin:0;font-size:12px;line-height:1.45;color:var(--ink-2)}.account-msg[data-tone=bad]{color:#c0562f}.guest-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;padding:7px 12px;background:var(--brass-soft);border:1px solid var(--brass);border-radius:9px;font-size:12.5px;color:var(--brass-ink)}.guest-note-in{font:inherit;font-weight:600;background:none;border:none;cursor:pointer;color:inherit;text-decoration:underline;text-underline-offset:2px;padding:0}.guest-note-x{margin-left:auto;font:inherit;font-size:15px;line-height:1;background:none;border:none;cursor:pointer;color:inherit;opacity:.55;padding:0 2px}.guest-note-x:hover{opacity:1}.version-badge{flex:0 0 auto;margin-left:auto;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:500;color:var(--ink-3);letter-spacing:.04em}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-ink);margin:0 0 4px}h1{font-family:Apercu Mono,ui-monospace,monospace;font-weight:600;font-size:clamp(30px,5vw,44px);line-height:1;margin:0;letter-spacing:-.01em;text-wrap:balance}.sub{margin:8px 0 0;color:var(--ink-2);max-width:52ch;font-size:14px}.chip{font:inherit;font-size:13px;font-weight:500;background:var(--panel-2);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.chip:hover{border-color:var(--line-2);color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip.ghost[aria-pressed=true]{background:var(--brass-soft);color:var(--brass-ink);border-color:var(--brass)}.spacer{flex:1 1 auto}.midi{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:flex-end}.midi-status{flex:0 1 auto;min-width:0;max-width:64ch;margin-right:10px;font-size:12.5px;color:var(--ink-2);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:max-width .3s cubic-bezier(.2,.9,.3,1),margin-right .3s cubic-bezier(.2,.9,.3,1),opacity .18s ease}.midi-status.warn{color:var(--felt);white-space:normal;line-height:1.35}.midi[data-state=ok] .midi-status{max-width:0;margin-right:0;opacity:0}.midi[data-state=locked] .midi-status{color:var(--brass-ink)}.midi[data-state=locked] .midi-btn{background:var(--brass-soft);color:var(--brass-ink);border-color:var(--brass)}.midi[data-state=locked] .dot{animation:midi-wake 1.8s ease-in-out infinite}@keyframes midi-wake{0%,to{box-shadow:0 0 0 0 var(--brass-soft)}50%{box-shadow:0 0 0 4px var(--brass-soft)}}@media(prefers-reduced-motion:reduce){.midi[data-state=locked] .dot{animation:none;box-shadow:0 0 0 3px var(--brass-soft)}}.midi-btn{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;background:var(--line-2);flex:0 0 auto;transition:background .1s}.dot.on{background:var(--verd)}.dot.hit{background:var(--brass);box-shadow:0 0 0 3px var(--brass-soft)}.dot.warn{background:var(--felt)}.btn{font:inherit;font-size:13px;font-weight:600;cursor:pointer;border-radius:999px;padding:6px 16px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);transition:opacity .12s}.btn:hover{opacity:.86}.btn.quiet{background:transparent;color:var(--ink-2);border-color:var(--line-2)}.btn.quiet:hover{color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{opacity:.45;color:var(--ink-2)}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.stage{background:transparent;border:none;border-radius:var(--radius);box-shadow:none;overflow:visible;flex:1 1 auto;display:flex;flex-direction:column;justify-content:flex-end;padding-top:var(--topbar-h,0px)}body.roll-on .readout{display:none}.drill-now{display:flex;flex-direction:column;gap:1px}.drill-now-name{font-family:Apercu Mono,ui-monospace,monospace;font-size:30px;font-weight:600;color:var(--ink);letter-spacing:-.01em;line-height:1.25}.drill-now-desc{font-size:11.5px;color:var(--ink-2);line-height:1.25}.drill-now-tags{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:6px}.drill-now-tags span{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1;color:var(--ink-2);background:var(--panel-2);border:1px solid var(--line-2);border-radius:999px;padding:4px 9px}.drill-now-tags span:first-child{color:var(--brass-ink);background:var(--brass-soft);border-color:var(--brass)}.drill-now-level{font-family:Apercu Mono,ui-monospace,monospace;font-size:11px;font-weight:600;color:var(--ink-2);line-height:1.25;margin-top:2px;letter-spacing:.02em}.ladder-dots{letter-spacing:.18em}.ladder-dots .clear{color:var(--verd)}.ladder-dots .survive{color:var(--brass)}.ladder-dots span.survive{display:inline-block;width:.55em;height:max(2px,.13em);margin-right:.18em;background:currentColor;border-radius:1px;vertical-align:.22em}.ladder-dots .miss{color:var(--felt)}.ladder-dots .none{color:var(--ink-3)}.summary-ladder{width:100%;max-width:240px;box-sizing:border-box;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;gap:6px}.summary-ladder[hidden]{display:none}.ladder-verdict{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;white-space:nowrap;font-family:Apercu Mono,ui-monospace,monospace;font-size:15px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.2}.ladder-result.clear{color:var(--verd)}.ladder-result.survive{color:var(--brass)}.ladder-result.miss{color:var(--felt)}.ladder-result.close{color:var(--brass)}.ladder-sep{color:var(--ink-3);font-weight:400}.ladder-action{color:var(--ink)}.summary-ladder .ladder-dots{font-size:15px;line-height:1}.ladder-conditions{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:14px;color:var(--ink-2);line-height:1.4;overflow-wrap:anywhere}.stage-head{position:relative}.stage-meta{width:fit-content;max-width:min(100%,720px);margin:0 auto;padding:12px 16px;display:flex;flex-direction:column;align-items:center;gap:12px}.stage-row{display:flex;align-items:center;gap:28px;width:100%}.stage-runs{width:fit-content;max-width:100%;min-width:min(100%,520px);display:flex;flex-direction:column;gap:2px}.stage-runs[hidden]{display:none}.stage-runs h3{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin:0 0 4px}body.sprint-active .stage-runs{display:none}.stage-actions{display:flex;flex-direction:column;gap:8px}.stage-actions .btn{width:100%}.stage-head.summary-page .stage-meta{display:none}.stage-hud{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 16px 0;min-height:34px}.timer{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:26px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.02em;min-width:64px;text-align:center}.stage-hud .timer{display:none}body.sprint-active .stage-hud .timer{display:inline-block}.timer.run{color:var(--brass-ink)}.pill{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:3px 10px;border:1px solid var(--line-2);color:var(--ink-2)}.pill.live{border-color:var(--felt);color:var(--felt)}.pill:empty{display:none}.beat-pips{display:flex;align-items:center;gap:6px}.pip{width:7px;height:7px;border-radius:50%;background:var(--line-2);transition:background .08s,transform .08s}.pip.down{width:9px;height:9px}.pip.on{background:var(--brass);transform:scale(1.15)}.pip.down.on{background:var(--brass-ink)}.timeline{display:none;position:absolute;z-index:4;overflow:visible;border-left:1px solid var(--line-2);border-right:1px solid var(--line-2);background:linear-gradient(var(--line) 0 0) center/100% 1px no-repeat}body.sprint-active .timeline{display:block}.timeline i{position:absolute;top:0;bottom:0;display:block}.tl-bar{width:1px;background:var(--line);margin-left:-.5px}.tl-range{background:var(--brass-soft);border-left:2px solid var(--brass);border-right:2px solid var(--brass)}.tl-range:before,.tl-range:after{content:"";position:absolute;top:0;bottom:0;width:4px;border-top:2px solid var(--brass);border-bottom:2px solid var(--brass)}.tl-range:before{left:0}.tl-range:after{right:0}.timeline .tl-head{width:2px;margin-left:-1px;top:-6px;bottom:-6px;background:var(--brass-ink)}.tl-head:before,.tl-head:after{content:"";position:absolute;left:-3px;width:8px;height:2px;background:var(--brass-ink)}.tl-head:before{top:0}.tl-head:after{bottom:0}.tempo{display:flex;align-items:center;gap:6px}.tempo-btn{font:inherit;font-size:14px;line-height:1;font-weight:600;cursor:pointer;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink)}.tempo-btn:hover:not(:disabled){border-color:var(--ink)}.tempo-btn:disabled{opacity:.35;cursor:default}.tempo-read{display:flex;align-items:baseline;gap:4px;min-width:60px;justify-content:center}.tempo-val{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink);background:none;border:0;border-bottom:1px solid transparent;border-radius:0;padding:0;margin:0;text-align:center;cursor:text;transition:border-color .12s}.tempo-val:hover:not(:disabled),.tempo-val:focus{border-bottom-color:var(--brass);outline:none}.tempo-val:disabled{color:var(--ink);opacity:1;cursor:default;-webkit-text-fill-color:var(--ink)}.tempo-unit{font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--ink-3)}.readout{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:52px;overflow:hidden;pointer-events:none}.readout[hidden],.notation-readout[hidden],.chord-readout[hidden],body.staff-on .notation-readout{display:none}body.staff-on .readout:not(:has(.chord-readout:not([hidden]))){display:none}.notation-readout{grid-column:1;grid-row:1;justify-self:start;padding:4px 0 0 16px;line-height:0}.notation-readout svg path,.notation-readout svg rect,.notation-readout svg text{fill:var(--ink);stroke:var(--ink)}.chord-readout{grid-column:1 / -1;grid-row:1;align-self:stretch;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 16px;color:var(--ink-2)}.chord-readout .chord-name{grid-column:2}.chord-readout .chord-meta{grid-column:3;display:flex;align-items:center;gap:10px;justify-self:start;padding-left:12px}.chord-readout .chord-name{font-family:Apercu Mono,ui-monospace,monospace;font-size:30px;line-height:1;font-weight:600;color:var(--ink)}.chord-readout.is-guess .chord-name{color:var(--ink-2)}.chord-readout .chord-tag{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:3px 10px;border:1px solid var(--line-2);color:var(--ink-3)}.chord-readout .chord-notes{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;color:var(--ink-3)}.felt{height:9px;background:var(--felt-strip)}.kbd-scroll{overflow-x:auto;overflow-y:hidden;background:var(--panel-2);--ann-gutter:52px;padding:0 0 var(--ann-gutter)}body.roll-on .kbd-scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;--plate-h:calc(172px + var(--ann-gutter));background:linear-gradient(var(--panel-2),var(--panel-2)) left bottom / 100% var(--plate-h) no-repeat}body.roll-on .kbd-scroll:has(>.kbd.wide){--plate-h:calc(190px + var(--ann-gutter))}body.roll-on .kbd{margin-top:140px}body.roll-on .felt{visibility:hidden}.kbd{position:relative;height:172px;min-width:520px;margin:0 14px;container-type:inline-size}.kbd.wide{height:190px;min-width:0}.kbd .roll{position:absolute;left:0;bottom:100%;width:100%;box-sizing:border-box;border-bottom:9px solid var(--felt-strip);display:block;pointer-events:none;will-change:transform;--roll-plain:var(--brass);--roll-spent:var(--slowbar);--roll-ink:rgba(255,255,255,.9);--roll-line:var(--line)}.staff{position:relative;margin:0 14px 28px;overflow:hidden;--staff-ink:var(--ink);--staff-ghost:var(--ink-3);--staff-cursor:var(--brass)}body.staff-on .staff{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:flex-start}.staff-system{position:relative;flex:0 0 auto}.staff-page{position:relative;transition:transform .22s ease}.staff-paper svg{display:block}.staff-pinned{position:absolute;left:0;top:0;overflow:hidden;background:var(--bg);pointer-events:none}.staff-cursor{position:absolute;top:0;left:0;width:2px;background:var(--staff-cursor);opacity:.55;pointer-events:none;will-change:transform}.staff-caption{font-size:11px;line-height:1.4;color:var(--ink-3);padding:0 2px;font-variant-numeric:tabular-nums}body.wide-keyboard .felt,body.wide-keyboard .kbd-scroll{--board:min(100vw - 40px, 1660px);width:var(--board);margin-left:calc(50% - var(--board) / 2)}.board-foot{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin:6px 14px 0}body.wide-keyboard .board-foot{--board:min(100vw - 40px, 1660px);width:var(--board);margin-left:calc(50% - var(--board) / 2);padding-right:14px;box-sizing:border-box}.readout-toggles{display:flex;gap:2px}.readout-toggles .rt{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:none;border:1px solid transparent;border-radius:4px;padding:2px 6px;cursor:pointer;color:var(--ink-3);opacity:.5;transition:color .2s ease,opacity .2s ease,background .15s ease,border-color .15s ease}.readout-toggles .rt:hover:not(:disabled){opacity:.85;background:var(--panel-2)}.readout-toggles .rt[aria-pressed=true]{color:var(--brass-ink);opacity:1;border-color:var(--brass);background:var(--brass-soft)}.readout-toggles .rt:disabled{cursor:default}.key-count{display:flex;justify-content:flex-end;gap:2px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.06em}.key-count .kc-n{font:inherit;letter-spacing:inherit;background:none;border:none;border-radius:4px;padding:2px 5px;cursor:pointer;color:var(--ink-3);opacity:.4;transition:color .2s ease,opacity .2s ease,background .15s ease}.key-count .kc-n:hover:not(:disabled){opacity:.85;background:var(--panel-2)}.key-count .kc-n.is-on{color:var(--ink-2);opacity:1}.key-count .kc-n.is-widened{color:var(--brass-ink);border-bottom:1px dotted currentColor;border-radius:4px 4px 0 0}.key-count .kc-note{font:inherit;font-size:10.5px;color:var(--brass-ink);background:none;border:none;cursor:pointer;margin-right:10px;padding:2px 0}.key-count .kc-note:hover{color:var(--ink)}.key-count .kc-n:disabled{cursor:default;background:none}.k{position:absolute;top:0;border-radius:0 0 4px 4px;transition:background .1s ease,box-shadow .1s ease,border-color .1s ease}.k.w{height:100%;background:var(--key-w);border:1px solid var(--key-w-edge);border-top:none;box-shadow:inset 0 -4px 6px -5px #19161280}.k.b{height:62%;border:1px solid var(--key-b-edge);border-top:none;z-index:3;background:var(--key-b) linear-gradient(to right,transparent,rgba(255,255,255,.14) 30% 70%,transparent) no-repeat 50% 88% / calc(100% - 6px) 1px;box-shadow:inset 0 -1px #ffffff52,inset 0 -6px 8px -6px #ffffff2e,inset 1px 0 #ffffff12,inset -1px 0 #00000059,0 2px 3px #00000059}.k.w:where(.off){background:color-mix(in srgb,var(--key-w) 52%,var(--panel-2));border-color:color-mix(in srgb,var(--key-w-edge) 45%,var(--panel-2));box-shadow:none}.k.b:where(.off){background:color-mix(in srgb,var(--key-b) 55%,var(--panel-2));border-color:color-mix(in srgb,var(--key-b-edge) 45%,var(--panel-2));box-shadow:none}.k:where(.off) .klabel{opacity:.4}@property --lit{syntax:"<number>";inherits:false;initial-value:1}.k.lit{border-color:var(--brass)}.k.lit:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--brass);opacity:var(--lit);pointer-events:none}.k.w.lit:before{box-shadow:inset 0 -8px 14px -8px #00000059}.kbd.lit-dots .k.lit{border-color:var(--key-w-edge)}.kbd.lit-dots .k.b.lit{border-color:var(--key-b-edge)}.kbd.lit-dots .k.lit:before{inset:auto;left:50%;bottom:14px;transform:translate(-50%);width:min(58%,18px);aspect-ratio:1;border-radius:50%;background:var(--brass);opacity:var(--lit);box-shadow:0 0 0 2px #ffffff8c,0 1px 3px #19161266}.kbd.lit-dots .k.b.lit:before{bottom:9px;box-shadow:0 0 0 2px #ffffff59,0 1px 3px #00000080}.kbd.lit-dots .k.lit .klabel{color:inherit;opacity:inherit}.k.w.preview{background:color-mix(in srgb,var(--preview) 45%,var(--key-w));border-color:color-mix(in srgb,var(--preview) 55%,var(--key-w-edge));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--preview) 40%,transparent),inset 0 -8px 14px -8px #00000040}.k.b.preview{background:color-mix(in srgb,var(--preview) 52%,var(--key-b));border-color:color-mix(in srgb,var(--preview) 60%,var(--key-b-edge))}.k.typing:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--ink-3);opacity:.45;pointer-events:none}.k.b.typing:after{background:#fff9;opacity:.5;bottom:6px}.k.lit.typing:after,.k.ok.typing:after,.k.bad.typing:after,.k.played.typing:after,.k.held.typing:after{opacity:0}.k.held{background:var(--key-w-edge);box-shadow:inset 0 -4px 8px -6px #1916128c,inset 0 2px 3px -2px #19161259}.k.b.held .klabel{color:var(--key-b)}.k.played{box-shadow:inset 0 0 0 2px var(--felt),inset 0 0 0 4px #ffffff59}.k.b.played{box-shadow:inset 0 0 0 2px var(--felt)}.k.ghost{border-color:color-mix(in srgb,var(--brass) 55%,transparent)}.k.ghost:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--brass);opacity:.4;pointer-events:none}.k.b.ghost:before{opacity:.52}.k.ok{background:var(--verd);border-color:var(--verd)}.k.bad{background:var(--felt);border-color:var(--felt)}.kbd{--roll-left:var(--verd);--roll-right:var(--brass)}.k.ok.hand-L{background:var(--roll-left);border-color:var(--roll-left)}.k.ok.hand-R{background:var(--roll-right);border-color:var(--roll-right)}.kbd-annotations{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:calc(100% + var(--ann-gutter));z-index:6;pointer-events:none;overflow:visible}.ann-highlight{fill-opacity:.22;stroke-width:2}.ann-gray{fill:var(--panel-2)}.ann-bracket{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ann-arrow{fill:none;stroke-width:2.5;stroke-linecap:round}.ann-arrow-head{stroke:none}.ann-label{font-family:Apercu Mono,ui-monospace,monospace;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-anchor:middle;paint-order:stroke;stroke:var(--panel-2);stroke-width:3px;stroke-linejoin:round}.ann-key-label{font-size:17px;font-weight:700;text-transform:none}.klabel{position:absolute;bottom:6px;left:0;right:0;text-align:center;font-family:IBM Plex Mono,ui-monospace,monospace;color:var(--ink-3);font-size:clamp(10px,calc(100cqw / var(--whites, 29) * .26),24px);font-weight:700;line-height:1;pointer-events:none}.k.b .klabel{color:#ffffff8c;bottom:18%;font-size:clamp(9px,calc(100cqw / var(--whites, 29) * .19),18px)}.k.lit .klabel,.k.ok .klabel,.k.bad .klabel{color:#ffffffe6;opacity:1}.verdict{display:flex;visibility:hidden;align-items:baseline;gap:10px;flex-wrap:wrap;padding:14px 16px 16px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-2);min-height:55px}.verdict.is-ok,.verdict.is-bad{visibility:visible}#verdict{display:none}.verdict .big{font-family:Apercu Mono,ui-monospace,monospace;font-size:24px;line-height:1;font-weight:600;color:var(--ink)}.verdict.is-ok .big{color:var(--verd)}.verdict.is-bad .big{color:var(--felt)}.verdict .vnote{font-style:italic;color:var(--ink-3)}.verdict.is-done .big{font-size:28px;letter-spacing:-.01em}.strip{flex:1 0 100%;display:flex;align-items:center;height:22px;margin-top:2px}body.metronomic .verdict{min-height:81px}.strip .slot{position:relative;flex:1 1 0;height:100%}.strip .band{position:absolute;top:4px;bottom:4px;border-radius:2px;background:var(--line-2);opacity:.35}.strip .tick{position:absolute;left:50%;top:4px;bottom:4px;width:1px;background:var(--line-2);transform:translate(-.5px)}.strip .mark{position:absolute;top:50%;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);background:var(--verd)}.strip .mark.rush{background:var(--brass)}.strip .mark.drag{background:var(--preview)}.strip .mark.out{box-shadow:0 0 0 2px var(--felt)}.strip .mark.wrong{background:var(--felt)}.strip .mark.miss{background:transparent;border:1px dashed var(--line-2);width:8px;height:8px}.summary{margin:0 0 16px;padding:10px 0;flex:0 0 auto;display:flex;flex-direction:column;gap:10px;animation:summary-in .2s cubic-bezier(.2,.9,.3,1) both}@keyframes summary-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.summary-body{display:grid;grid-template-columns:auto max-content minmax(0,1fr);gap:20px 28px;align-items:stretch}.summary-verdict{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:118px;padding-right:20px;border-right:1px solid var(--line)}.summary-grade{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;flex:1 0 auto}.grade-mark{font-family:Apercu Mono,ui-monospace,monospace;font-weight:700;font-size:88px;line-height:.92;letter-spacing:-.05em;color:var(--ink)}.grade-val{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;font-variant-numeric:tabular-nums;color:var(--ink-2)}.grade-ring{display:inline-block;box-sizing:border-box;width:.68em;height:.68em;vertical-align:-.02em;border:.115em solid currentColor;border-radius:50%}.summary-grade.g-o .grade-mark{color:var(--ink-3);opacity:.7}.summary-grade.g-s .grade-mark,.summary-grade.g-ss .grade-mark{color:var(--brass)}.summary-grade.g-ss .grade-mark{text-shadow:0 0 22px var(--brass-soft)}.summary-figures{display:grid;grid-template-columns:minmax(max-content,1fr) max-content;align-content:space-between;gap:6px 24px}.fig{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:baseline}.fig-k{font-size:10.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;color:var(--ink-3)}.fig-v{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:21px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.1;text-align:right;color:var(--ink)}.summary-graph{grid-column:3;grid-row:1;display:flex;flex-direction:column;gap:6px;min-width:0;border-left:1px solid var(--line);padding-left:20px}.summary-graph[hidden]{display:none}.summary-graph h3{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin:0}.summary-graph-box{position:relative;flex:1 1 auto;min-height:200px;width:100%}.summary-keys{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;min-width:0;width:min(100%,400px);justify-self:end;border-top:1px solid var(--line);padding-top:12px}.summary-keys[hidden]{display:none}.summary-keys h3{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin:0}.summary-actions{display:flex;justify-content:center;gap:10px;padding-top:12px;border-top:1px solid var(--line)}.brow{display:grid;grid-template-columns:28px 1fr 84px 84px 96px 56px;align-items:baseline;gap:8px;padding:3px 6px;border-radius:5px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--ink-2)}.brow>span{text-align:right}.brow>span:nth-child(2){text-align:left;font-family:inherit;font-size:12.5px;color:var(--ink)}.brow.head{border-bottom:1px solid var(--line);padding-bottom:5px;margin-bottom:2px}.brow.head>span{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-family:inherit}.brow.now{background:var(--brass-soft);color:var(--ink)}.brow.best{box-shadow:0 0 0 1px var(--brass),0 0 14px -2px var(--brass)}.bnew{display:inline-block;margin-left:8px;vertical-align:1px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-ink);border:1px solid var(--brass);border-radius:999px;padding:1px 7px;animation:bnew-in .4s cubic-bezier(.2,.9,.3,1) both}@keyframes bnew-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}.btag{display:inline-block;margin-left:5px;vertical-align:1px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9.5px;font-weight:500;letter-spacing:.04em;line-height:1;color:var(--ink-3);border:1px solid var(--line-2);border-radius:999px;padding:2px 6px}.brow .bgrade{font-weight:600;color:var(--brass-ink)}.brow .bgrade.none{color:var(--ink-3);font-weight:400}.brow.unclean>span:nth-child(4){color:var(--felt)}.nscope{margin-left:7px;font-weight:400;letter-spacing:0;text-transform:none;font-size:10.5px;color:var(--ink-3);opacity:.75}.nscope:before{content:"· "}.panel{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.panel h2{font-family:Apercu Mono,ui-monospace,monospace;font-size:15px;font-weight:600;margin:0;letter-spacing:-.01em}.panel .cap{margin:-4px 0 0;font-size:11px;color:var(--ink-2)}.nrows{display:grid;grid-template-columns:max-content minmax(40px,1fr) max-content max-content;gap:2px 8px}.nrow{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:center;padding:1px 3px;border-radius:5px;cursor:default}.nbar{display:block;position:relative;height:6px;background:var(--line);border-radius:999px;overflow:hidden}.nbar-fill{position:absolute;left:0;top:0;bottom:0;background:var(--slowbar);border-radius:999px;transition:width .2s ease}.nrow.empty .nbar{background:transparent}.nrow:hover{background:var(--panel-2)}.nrow .nn{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;font-weight:500;color:var(--ink)}.nrow .nn,.ms,.acc,.sgn{white-space:nowrap}.ms,.acc,.sgn{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink-2);text-align:right}.nrow .nn{min-width:52px}.ms{min-width:60px}.acc{min-width:44px}.sgn{min-width:46px}.nrow.empty .nn,.nrow.empty .ms,.nrow.empty .acc,.nrow.empty .sgn{color:var(--ink-3)}.nrows.timing{grid-template-columns:max-content minmax(40px,1fr) max-content max-content max-content}.sgn.rush{color:var(--brass-ink)}.sgn.drag{color:var(--preview)}.empty-note{font-size:12.5px;color:var(--ink-3);font-style:italic}.page-foot{flex:0 0 auto;display:flex;align-items:baseline;gap:14px;margin:0 2px}.credit{flex:0 1 auto;font-size:11.5px;color:var(--ink-3);line-height:1.5}.credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}.credit a:hover{color:var(--ink-2)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:#0006;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);animation:scrim-in .16s ease both}.scrim[hidden]{display:none}body.modal-open{overflow:hidden}.modal{display:flex;flex-direction:column;width:min(720px,100%);max-height:min(80vh,720px);background:var(--panel);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 24px 60px -20px #000000b3;animation:modal-in .18s cubic-bezier(.2,.9,.3,1) both}.modal[hidden]{display:none}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);flex:0 0 auto}.modal-title{font-family:Apercu Mono,ui-monospace,monospace;font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0}.modal-close{font:inherit;background:none;border:none;cursor:pointer;padding:4px;color:var(--ink-3);transition:color .12s;display:flex;align-items:center}.modal-close:hover{color:var(--ink)}.modal-close svg{width:18px;height:18px}.modal-body{padding:16px 20px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.modal-foot{margin-top:4px;border-top:1px solid var(--line);padding-top:14px}#settingsModal{width:min(680px,100%);height:min(80vh,560px)}.modal-notice{width:min(440px,100%)}.modal-text{margin:0;font-size:14px;line-height:1.5;color:var(--ink)}.modal-text.muted{color:var(--ink-3)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.modal-text b{font-weight:600;color:var(--ink)}.settings-body{flex:1 1 auto;min-height:0;flex-direction:row;padding:0;gap:0;overflow:hidden}.settings-nav{flex:0 0 168px;display:flex;flex-direction:column;gap:2px;padding:14px 10px;border-right:1px solid var(--line);background:var(--panel-2);overflow-y:auto}.settings-nav .settings-search{max-width:none;width:100%;margin-bottom:10px;cursor:text}.settings-tab{font:inherit;font-size:13px;text-align:left;cursor:pointer;padding:6px 10px;border-radius:6px;border:none;background:none;color:var(--ink-2);transition:background .12s,color .12s}.settings-tab:hover{background:var(--bg);color:var(--ink)}.settings-tab[aria-current=true]{background:var(--bg);color:var(--ink);font-weight:600}.settings-pane{flex:1 1 auto;min-width:0;overflow-y:auto;padding:16px 20px 20px;display:flex;flex-direction:column;gap:20px}.settings-group{display:flex;flex-direction:column;gap:12px}.settings-group[hidden]{display:none}.settings-group-title{font-family:Apercu Mono,ui-monospace,monospace;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin:0}.settings-group .miss{display:none}.settings-empty{margin:0;font-size:13px;color:var(--ink-3)}@media(max-width:560px){#settingsModal{height:min(80vh,640px)}.settings-body{flex-direction:column}.settings-nav{flex:0 0 auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;padding:10px 12px;border-right:none;border-bottom:1px solid var(--line)}.settings-nav .settings-search{flex:1 0 100%;margin-bottom:6px}}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.setting-label{font-size:13px;font-weight:500;color:var(--ink)}.setting-select{font:inherit;font-size:12px;color:var(--ink);background:var(--bg);border:1px solid var(--line-2);border-radius:6px;padding:4px 6px;cursor:pointer;max-width:210px;text-overflow:ellipsis}.setting-select:focus{outline:none;border-color:var(--ink-3)}.setting-select:disabled{opacity:.45;cursor:default}.setting-num{width:64px;text-align:right}.setting-head{margin-bottom:-4px}.setting-sub{padding-left:16px}.setting-sub .setting-label{font-weight:400;color:var(--ink-2)}.setting-inc{display:flex;align-items:center;gap:6px}.setting-inc .setting-select{max-width:none}.setting-unit{font-size:12px;color:var(--ink-3);white-space:nowrap}.setting-unit.warn{color:var(--felt)}.music-display-setting{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--line-2);border-radius:10px;background:var(--panel-2)}.music-display-setting>.setting-label{font-size:16px;font-weight:600}.music-display-setting>p{margin:0 0 7px;font-size:12px;color:var(--ink-3)}.music-display-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.music-display-pick button{min-height:112px;padding:14px;text-align:left;cursor:pointer;display:flex;align-items:flex-start;gap:12px;color:var(--ink);background:var(--bg);border:1px solid var(--line-2);border-radius:9px;transition:border-color .12s,background .12s,box-shadow .12s}.music-display-pick button:hover{border-color:var(--ink-3)}.music-display-pick button[aria-checked=true]{border-color:var(--brass);background:color-mix(in srgb,var(--brass) 8%,var(--bg));box-shadow:inset 0 0 0 1px var(--brass)}.music-display-pick button>span:last-child{display:flex;flex-direction:column;gap:6px}.music-display-pick strong{font-size:14px;font-weight:600}.music-display-pick small{font-size:12px;line-height:1.4;color:var(--ink-3)}.music-display-icon{font-size:29px;line-height:1;color:var(--brass)}.music-display-staff{font-family:serif;font-size:34px}@media(max-width:560px){.music-display-pick{grid-template-columns:1fr}.music-display-pick button{min-height:88px}}.theme-pick{position:relative;flex:0 0 auto}.theme-btn{font:inherit;cursor:pointer;display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;background:var(--bg);color:var(--ink);border:1px solid var(--line-2);transition:border-color .12s}.theme-btn:hover{border-color:var(--ink-3)}.theme-now{font-size:12px;min-width:74px;text-align:left}.theme-btn[aria-expanded=true] .fold-caret{transform:rotate(180deg)}.theme-btn .fold-caret{width:13px;height:13px;flex:0 0 auto;opacity:.6}.theme-pop{position:fixed;z-index:30;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:1px;padding:4px;background:var(--panel);border:1px solid var(--line-2);border-radius:10px;box-shadow:var(--shadow)}.theme-item{font:inherit;font-size:12px;text-align:left;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:8px;padding:5px 9px;border-radius:6px;background:none;border:none;color:var(--ink-2)}.theme-item:hover{background:var(--panel-2);color:var(--ink)}.theme-item[aria-checked=true]{color:var(--brass-ink);background:var(--brass-soft);font-weight:600}.theme-swatch{display:flex;gap:3px;flex:0 0 auto}.theme-swatch i{width:10px;height:10px;border-radius:50%;border:1px solid rgba(128,128,128,.4)}.theme-name{flex:1 1 auto}.toggle{position:relative;width:36px;height:20px;background:var(--line-2);border-radius:999px;border:none;cursor:pointer;padding:0;transition:background .15s;flex:0 0 auto}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--bg);border-radius:50%;transition:transform .15s}.toggle[aria-checked=true]{background:var(--brass)}.toggle[aria-checked=true]:after{transform:translate(16px)}#tip{position:fixed;z-index:50;pointer-events:none;opacity:0;transition:opacity .09s;background:var(--ink);color:var(--bg);font-size:12px;line-height:1.35;padding:6px 9px;border-radius:6px;max-width:220px;box-shadow:0 6px 20px -8px #0009}#tip.on{opacity:1}#tip b{font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:500}.prompt{position:absolute;left:0;right:0;bottom:100%;text-align:center;padding:6px 16px 14px}.prompt-section{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.prompt-section:empty{display:none}.prompt-action{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:4px}.prompt-action:empty{display:none}.prompt-check{position:absolute;left:0;right:0;top:50%;font-size:88px;line-height:1;color:var(--verd);pointer-events:none;text-shadow:0 2px 18px rgba(0,0,0,.35)}.prompt-check.show{animation:passmark .9s ease-out forwards}@keyframes passmark{0%{opacity:0;transform:translateY(-50%) scale(.55)}22%{opacity:1;transform:translateY(-50%) scale(1)}65%{opacity:1;transform:translateY(-50%) scale(1)}to{opacity:0;transform:translateY(-50%) scale(1.12)}}@media(prefers-reduced-motion:reduce){.prompt-check.show{animation:passmarkfade .9s linear forwards}@keyframes passmarkfade{0%,70%{opacity:1;transform:translateY(-50%)}to{opacity:0;transform:translateY(-50%)}}}.prompt-figure{font-family:Apercu Mono,ui-monospace,monospace;font-weight:600;line-height:1.05;color:var(--brass-ink)}.prompt-figure.size-glyph{font-size:100px;line-height:1}.prompt-figure.size-word{font-size:56px}.prompt-figure.size-phrase{font-size:32px;line-height:1.3;max-width:34ch;margin-left:auto;margin-right:auto}.prompt-figure.size-image{font-size:0}.prompt-figure img{max-height:180px;max-width:100%;width:auto;border-radius:8px;vertical-align:middle}.prompt-figure:empty{display:none}.prompt-context{font-size:16px;color:var(--ink-2);margin-top:6px}.prompt-context:empty{display:none}.prompt-hint{display:inline-flex;gap:6px;margin-top:10px;flex-wrap:wrap;justify-content:center}.prompt-hint:empty{display:none}.prompt-hint span{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13.5px;color:var(--ink-3);background:var(--panel-2);border-radius:4px;padding:2px 6px}.prompt-hint span.active{color:var(--brass-ink);background:var(--brass-soft);font-weight:600}.walkthrough{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 16px;text-align:center}body.walkthrough-mode .stage-head{min-height:150px}.wt-progress{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.wt-progress:empty{display:none}.wt-say{font-size:19px;line-height:1.35;font-weight:500;color:var(--ink);margin-top:6px;max-width:44ch}.wt-hint{font-size:12.5px;color:var(--ink-3);margin-top:6px;min-height:16px}.wt-actions{display:flex;gap:10px;justify-content:center;margin-top:10px}.btn.wt-hold{position:relative;overflow:hidden;isolation:isolate;background:transparent;color:var(--ink);border-color:var(--line-2)}.btn.wt-hold:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--brass-soft);transform:scaleX(var(--wt-hold,0));transform-origin:left center}body.walkthrough-mode .prompt{display:none}body.walkthrough-mode .stage-hud,body.walkthrough-mode .stage-meta{visibility:hidden}.stall{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 16px;text-align:center;animation:summary-in .2s cubic-bezier(.2,.9,.3,1) both}.stall[hidden]{display:none}body.stall-mode .stage-head{min-height:120px}body.stall-mode .prompt{display:none}body.stall-mode .stage-hud,body.stall-mode .drill-now,body.stall-mode .work-panel,body.stall-mode .practice-panel,body.stall-mode #walkthroughBtn,body.stall-mode #startBtn{visibility:hidden}body.stall-mode .stage-runs{display:none}body.walkthrough-mode .board-foot{visibility:hidden}.k{cursor:pointer}:root{--sprint-dim:0;--sprint-fade-speed:.45s}.masthead,.drill-now,.work-panel,#walkthroughBtn,.verdict,.board-foot,.summary,.page-foot,.stage-hud .timer{transition:opacity var(--sprint-fade-speed) ease}body.sprint-active .drill-now,body.sprint-active .work-panel{display:none}body.sprint-active .stage-meta{height:0;padding-top:0;padding-bottom:0;overflow:visible}body.sprint-active .masthead,body.sprint-active .drill-now,body.sprint-active .work-panel,body.sprint-active #walkthroughBtn,body.sprint-active .verdict,body.sprint-active .board-foot,body.sprint-active .summary,body.sprint-active .page-foot,body.sprint-running .stage-hud .timer{opacity:var(--sprint-dim);pointer-events:none}#startBtn.docked{position:relative;z-index:4}body.metronomic.sprint-active .verdict{opacity:1;pointer-events:auto}body.stats-mode .stage{display:none}body.stats-mode .hero{flex:0 0 auto}body.stats-mode .topbar{position:static}.stats-screen{display:flex;flex-direction:column;gap:16px;padding-bottom:24px;flex:1 1 auto}.stats-screen.blank .stats-top,.stats-screen.blank .stats-grid{display:none}.stats-head{display:flex;flex-direction:column}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;align-content:space-between;flex:1}.stat-cell{display:flex;flex-direction:column;gap:1px;min-width:0}.stat-cell .sc-k{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}.stat-cell .sc-v{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:22px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.25;color:var(--ink)}.stats-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:12px;align-items:stretch}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.stats-panel{background:var(--panel);box-shadow:var(--shadow);min-width:0}.chart-box{position:relative;height:180px;min-width:0}.chart-box.tall{height:260px}.heatmap{display:flex;flex-direction:column;gap:4px;padding-bottom:2px}.heat-months{display:grid;grid-auto-flow:column;gap:3px;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.heat-months span{grid-row:1;min-width:0;white-space:nowrap}.heat-weeks{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:3px}.heat-cell{width:auto;min-width:0;aspect-ratio:1;border-radius:2.5px;display:block;background:var(--panel-2);border:1px solid transparent;box-sizing:border-box}.heat-scale .heat-cell{width:11px;flex:0 0 auto}.heat-cell.l0{background:var(--panel-2)}.heat-cell.l1{background:color-mix(in srgb,var(--brass) 26%,var(--panel-2))}.heat-cell.l2{background:color-mix(in srgb,var(--brass) 50%,var(--panel-2))}.heat-cell.l3{background:color-mix(in srgb,var(--brass) 74%,var(--panel-2))}.heat-cell.l4{background:var(--brass)}.heat-cell.today{border-color:var(--ink-2)}.heat-cell.future{background:none;border-color:var(--line)}.heat-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:11px;color:var(--ink-3)}.heat-scale{display:flex;align-items:center;gap:3px}.heat-scale span{font-size:10px}.heat-note b{color:var(--ink-2);font-weight:500}.chart-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:2px}.chart-legend span{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-2)}.chart-legend i{width:9px;height:9px;border-radius:2px;flex:0 0 auto}.chart-legend .lg-rest{color:var(--ink-3)}@media(max-width:900px){.stats-top,.stats-grid,.summary-body{grid-template-columns:1fr}.summary-keys{width:auto;justify-self:stretch;grid-row:auto}.summary-graph{grid-column:1;grid-row:auto;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:12px}.summary-graph-box{height:200px}.summary-runs{grid-column:1;grid-row:auto}.summary-verdict{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px 16px;padding-right:0;border-right:0;border-bottom:1px solid var(--line);padding-bottom:10px}.summary-grade{flex:0 0 auto;flex-direction:row;align-items:baseline;gap:10px}.summary-ladder{width:auto;max-width:100%;flex:1 1 200px}.grade-mark{font-size:56px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.lib-import{margin-left:auto;font-size:12px;padding:4px 10px}.import-pick input[type=file]{font:inherit;font-size:12px;color:var(--ink-2)}.import-form{display:flex;flex-direction:column;gap:10px}.import-field{display:flex;flex-direction:column;gap:4px}.import-field .setting-select{max-width:none;width:100%;box-sizing:border-box}.import-field .setting-num{width:88px;text-align:left}.import-inline{flex-direction:row;align-items:center;gap:8px}.import-two{display:flex;gap:12px;align-items:flex-end}.import-two>*{flex:1 1 0}.import-check{flex-direction:row;align-items:center;gap:6px;padding-bottom:6px}.import-hands{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.import-hands legend{padding:0;margin-bottom:2px}.import-note{font-size:12px}.import-error{color:var(--felt);font-size:12.5px}.wc-mine{color:var(--brass-ink);font-weight:600}.wc-mine-actions{display:flex;gap:12px}.wc-link{font:inherit;font-size:12px;color:var(--ink-3);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.wc-link:hover{color:var(--ink)}
