:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#0a0a0c;--bg-sidebar:#121215;--bg-panel:#18181d;--bg-card:#1f1f25;--bg-hover:#2b2b34;--bg-input:#151519;--border:#30303e;--border-light:#434357;--text-primary:#e7e7e7;--text-secondary:#858586;--text-muted:#545455;--accent:#e040fb;--accent-2:#9d5bff;--accent-soft:#e040fb29;--accent-2-soft:#9d5bff1f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#0a0a0cb8;--bg-mobile-nav:#0a0a0cf2;--thumb-fallback:linear-gradient(135deg, #391641 0%, #241938 100%);--progress-track:#2b2b34;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#c896fc;--cat-mission-rgb:200, 150, 252;--cat-lecture:#5cb8f5;--cat-lecture-rgb:92, 184, 245;--cat-tool:#eab454;--cat-tool-rgb:234, 180, 84;--cat-feedback:#45d39e;--cat-feedback-rgb:69, 211, 158;--session-active:#5cb8f5;--session-active-rgb:92, 184, 245;--session-upcoming:#c896fc;--session-upcoming-rgb:200, 150, 252;--session-ended:#6c6c6d;--session-ended-rgb:108, 108, 109}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-base:#f3f4f7;--bg-sidebar:#fff;--bg-panel:#fff;--bg-card:#fff;--bg-hover:#e4e5e8;--bg-input:#fafafb;--border:#d6d7d9;--border-light:#c5c6c8;--text-primary:#202020;--text-secondary:#6b6b6d;--text-muted:#929294;--accent:#8b3df0;--accent-2:#5b6cf0;--accent-soft:#8b3df01f;--accent-2-soft:#5b6cf01a;--shadow-card:0 4px 16px #00000014;--bg-overlay:#00000059;--bg-mobile-nav:#ffffffeb;--thumb-fallback:linear-gradient(135deg, #e8d8fc 0%, #e1e5fc 100%);--progress-track:#d6d7d9;--success:#059669;--warning:#d97706;--danger:#dc2626;--info:#0284c7;--cat-mission:#7c3aed;--cat-mission-rgb:124, 58, 237;--cat-lecture:#0284c7;--cat-lecture-rgb:2, 132, 199;--cat-tool:#d97706;--cat-tool-rgb:217, 119, 6;--cat-feedback:#059669;--cat-feedback-rgb:5, 150, 105;--session-active:#0284c7;--session-active-rgb:2, 132, 199;--session-upcoming:#7c3aed;--session-upcoming-rgb:124, 58, 237;--session-ended:#868688;--session-ended-rgb:134, 134, 136}[data-theme=graphite]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#0d1117;--bg-sidebar:#131922;--bg-panel:#18202b;--bg-card:#1d2634;--bg-hover:#273344;--bg-input:#161c26;--border:#2a394f;--border-light:#394d6b;--text-primary:#e7e7e8;--text-secondary:#86888b;--text-muted:#56585d;--accent:#58a6ff;--accent-2:#79c0ff;--accent-soft:#58a6ff29;--accent-2-soft:#79c0ff1f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#0d1117b8;--bg-mobile-nav:#0d1117f2;--thumb-fallback:linear-gradient(135deg, #1e324a 0%, #203141 100%);--progress-track:#273344;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#bc8cff;--cat-mission-rgb:188, 140, 255;--cat-lecture:#58a6ff;--cat-lecture-rgb:88, 166, 255;--cat-tool:#e3a83a;--cat-tool-rgb:227, 168, 58;--cat-feedback:#4ac26b;--cat-feedback-rgb:74, 194, 107;--session-active:#58a6ff;--session-active-rgb:88, 166, 255;--session-upcoming:#bc8cff;--session-upcoming-rgb:188, 140, 255;--session-ended:#6e7074;--session-ended-rgb:110, 112, 116}[data-theme=midnight]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#16161e;--bg-sidebar:#1d1d27;--bg-panel:#23232f;--bg-card:#282837;--bg-hover:#333346;--bg-input:#20202b;--border:#373750;--border-light:#474768;--text-primary:#e8e8e9;--text-secondary:#8b8b8f;--text-muted:#5c5c62;--accent:#7aa2f7;--accent-2:#bb9af7;--accent-soft:#7aa2f729;--accent-2-soft:#bb9af71f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#16161eb8;--bg-mobile-nav:#16161ef2;--thumb-fallback:linear-gradient(135deg, #2c354e 0%, #342e45 100%);--progress-track:#333346;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#bb9af7;--cat-mission-rgb:187, 154, 247;--cat-lecture:#7aa2f7;--cat-lecture-rgb:122, 162, 247;--cat-tool:#e0af68;--cat-tool-rgb:224, 175, 104;--cat-feedback:#9ece6a;--cat-feedback-rgb:158, 206, 106;--session-active:#7aa2f7;--session-active-rgb:122, 162, 247;--session-upcoming:#bb9af7;--session-upcoming-rgb:187, 154, 247;--session-ended:#737378;--session-ended-rgb:115, 115, 120}[data-theme=dracula]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#21222c;--bg-sidebar:#272935;--bg-panel:#2d2e3c;--bg-card:#333444;--bg-hover:#3d3f51;--bg-input:#2a2c38;--border:#40425b;--border-light:#505372;--text-primary:#e9e9ea;--text-secondary:#909196;--text-muted:#64646b;--accent:#bd93f9;--accent-2:#ff79c6;--accent-soft:#bd93f929;--accent-2-soft:#ff79c61f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#21222cb8;--bg-mobile-nav:#21222cf2;--thumb-fallback:linear-gradient(135deg, #433b59 0%, #493248 100%);--progress-track:#3d3f51;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#bd93f9;--cat-mission-rgb:189, 147, 249;--cat-lecture:#8be9fd;--cat-lecture-rgb:139, 233, 253;--cat-tool:#ffb86c;--cat-tool-rgb:255, 184, 108;--cat-feedback:#50fa7b;--cat-feedback-rgb:80, 250, 123;--session-active:#8be9fd;--session-active-rgb:139, 233, 253;--session-upcoming:#bd93f9;--session-upcoming-rgb:189, 147, 249;--session-ended:#7a7a80;--session-ended-rgb:122, 122, 128}[data-theme=nord]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#2a2f3a;--bg-sidebar:#303642;--bg-panel:#353c49;--bg-card:#3a4151;--bg-hover:#444c5e;--bg-input:#333946;--border:#465168;--border-light:#55627e;--text-primary:#eaeaeb;--text-secondary:#95979d;--text-muted:#6a6d75;--accent:#88c0d0;--accent-2:#81a1c1;--accent-soft:#88c0d029;--accent-2-soft:#81a1c11f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#2a2f3ab8;--bg-mobile-nav:#2a2f3af2;--thumb-fallback:linear-gradient(135deg, #3f4f5b 0%, #3a4452 100%);--progress-track:#444c5e;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#b48ead;--cat-mission-rgb:180, 142, 173;--cat-lecture:#81a1c1;--cat-lecture-rgb:129, 161, 193;--cat-tool:#ebcb8b;--cat-tool-rgb:235, 203, 139;--cat-feedback:#a3be8c;--cat-feedback-rgb:163, 190, 140;--session-active:#81a1c1;--session-active-rgb:129, 161, 193;--session-upcoming:#b48ead;--session-upcoming-rgb:180, 142, 173;--session-ended:#7f8289;--session-ended-rgb:127, 130, 137}[data-theme=mocha]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#181825;--bg-sidebar:#1e1e2f;--bg-panel:#232337;--bg-card:#29293f;--bg-hover:#32324e;--bg-input:#212133;--border:#363658;--border-light:#454571;--text-primary:#e8e8e9;--text-secondary:#8c8c92;--text-muted:#5d5d66;--accent:#cba6f7;--accent-2:#f5c2e7;--accent-soft:#cba6f729;--accent-2-soft:#f5c2e71f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#181825b8;--bg-mobile-nav:#181825f2;--thumb-fallback:linear-gradient(135deg, #3f3753 0%, #403748 100%);--progress-track:#32324e;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#cba6f7;--cat-mission-rgb:203, 166, 247;--cat-lecture:#89b4fa;--cat-lecture-rgb:137, 180, 250;--cat-tool:#fab387;--cat-tool-rgb:250, 179, 135;--cat-feedback:#a6e3a1;--cat-feedback-rgb:166, 227, 161;--session-active:#89b4fa;--session-active-rgb:137, 180, 250;--session-upcoming:#cba6f7;--session-upcoming-rgb:203, 166, 247;--session-ended:#74747c;--session-ended-rgb:116, 116, 124}[data-theme=neon]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#08070f;--bg-sidebar:#0e0c1b;--bg-panel:#141125;--bg-card:#19162f;--bg-hover:#231e41;--bg-input:#110f20;--border:#27224c;--border-light:#362f6b;--text-primary:#e6e6e7;--text-secondary:#848387;--text-muted:#525157;--accent:#ff2bd6;--accent-2:#00e5ff;--accent-soft:#ff2bd629;--accent-2-soft:#00e5ff1f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#08070fb8;--bg-mobile-nav:#08070ff2;--thumb-fallback:linear-gradient(135deg, #3e0f3b 0%, #072f3a 100%);--progress-track:#231e41;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#c879ff;--cat-mission-rgb:200, 121, 255;--cat-lecture:#22d3ee;--cat-lecture-rgb:34, 211, 238;--cat-tool:#ffd60a;--cat-tool-rgb:255, 214, 10;--cat-feedback:#00e6a0;--cat-feedback-rgb:0, 230, 160;--session-active:#22d3ee;--session-active-rgb:34, 211, 238;--session-upcoming:#c879ff;--session-upcoming-rgb:200, 121, 255;--session-ended:#6b6a6f;--session-ended-rgb:107, 106, 111}[data-theme=ocean]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#07111f;--bg-sidebar:#0a182c;--bg-panel:#0d1f38;--bg-card:#0f2544;--bg-hover:#143159;--bg-input:#0b1c32;--border:#163765;--border-light:#1d4a88;--text-primary:#e6e7e9;--text-secondary:#83888f;--text-muted:#515862;--accent:#25b6d6;--accent-2:#3b9eff;--accent-soft:#25b6d629;--accent-2-soft:#3b9eff1f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#07111fb8;--bg-mobile-nav:#07111ff2;--thumb-fallback:linear-gradient(135deg, #0e3547 0%, #102a47 100%);--progress-track:#143159;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#b794f6;--cat-mission-rgb:183, 148, 246;--cat-lecture:#5cb8f5;--cat-lecture-rgb:92, 184, 245;--cat-tool:#eab454;--cat-tool-rgb:234, 180, 84;--cat-feedback:#45d39e;--cat-feedback-rgb:69, 211, 158;--session-active:#5cb8f5;--session-active-rgb:92, 184, 245;--session-upcoming:#b794f6;--session-upcoming-rgb:183, 148, 246;--session-ended:#6a7079;--session-ended-rgb:106, 112, 121}[data-theme=emerald]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#06150f;--bg-sidebar:#0a2218;--bg-panel:#0d2d20;--bg-card:#103928;--bg-hover:#164d37;--bg-input:#0b281c;--border:#185a40;--border-light:#227c58;--text-primary:#e6e8e7;--text-secondary:#838a87;--text-muted:#515b57;--accent:#2dd4bf;--accent-2:#34d399;--accent-soft:#2dd4bf29;--accent-2-soft:#34d3991f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#06150fb8;--bg-mobile-nav:#06150ff2;--thumb-fallback:linear-gradient(135deg, #0f3f36 0%, #0e3728 100%);--progress-track:#164d37;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#b794f6;--cat-mission-rgb:183, 148, 246;--cat-lecture:#5cb8f5;--cat-lecture-rgb:92, 184, 245;--cat-tool:#eab454;--cat-tool-rgb:234, 180, 84;--cat-feedback:#45d39e;--cat-feedback-rgb:69, 211, 158;--session-active:#5cb8f5;--session-active-rgb:92, 184, 245;--session-upcoming:#b794f6;--session-upcoming-rgb:183, 148, 246;--session-ended:#6a736f;--session-ended-rgb:106, 115, 111}[data-theme=forest]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#08140a;--bg-sidebar:#0d2010;--bg-panel:#112a15;--bg-card:#15351a;--bg-hover:#1d4824;--bg-input:#0f2513;--border:#1f5328;--border-light:#2b7337;--text-primary:#e6e8e7;--text-secondary:#848a85;--text-muted:#525b54;--accent:#5bd06f;--accent-2:#86efac;--accent-soft:#5bd06f29;--accent-2-soft:#86efac1f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#08140ab8;--bg-mobile-nav:#08140af2;--thumb-fallback:linear-gradient(135deg, #1a3d20 0%, #1f3b27 100%);--progress-track:#1d4824;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#b794f6;--cat-mission-rgb:183, 148, 246;--cat-lecture:#5cb8f5;--cat-lecture-rgb:92, 184, 245;--cat-tool:#eab454;--cat-tool-rgb:234, 180, 84;--cat-feedback:#45d39e;--cat-feedback-rgb:69, 211, 158;--session-active:#5cb8f5;--session-active-rgb:92, 184, 245;--session-upcoming:#b794f6;--session-upcoming-rgb:183, 148, 246;--session-ended:#6b726c;--session-ended-rgb:107, 114, 108}[data-theme=sunset]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#1a1109;--bg-sidebar:#26190d;--bg-panel:#312011;--bg-card:#3c2715;--bg-hover:#4f341b;--bg-input:#2c1d0f;--border:#5b3a1e;--border-light:#7b4f28;--text-primary:#e8e7e6;--text-secondary:#8d8884;--text-muted:#5f5853;--accent:#fb8c3c;--accent-2:#f9627d;--accent-soft:#fb8c3c29;--accent-2-soft:#f9627d1f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#1a1109b8;--bg-mobile-nav:#1a1109f2;--thumb-fallback:linear-gradient(135deg, #4c2c14 0%, #42201e 100%);--progress-track:#4f341b;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#b794f6;--cat-mission-rgb:183, 148, 246;--cat-lecture:#5cb8f5;--cat-lecture-rgb:92, 184, 245;--cat-tool:#eab454;--cat-tool-rgb:234, 180, 84;--cat-feedback:#45d39e;--cat-feedback-rgb:69, 211, 158;--session-active:#5cb8f5;--session-active-rgb:92, 184, 245;--session-upcoming:#b794f6;--session-upcoming-rgb:183, 148, 246;--session-ended:#76706b;--session-ended-rgb:118, 112, 107}[data-theme=rose]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#1a1015;--bg-sidebar:#24161d;--bg-panel:#2d1c24;--bg-card:#36212b;--bg-hover:#452b38;--bg-input:#281921;--border:#502e3f;--border-light:#6b3e54;--text-primary:#e8e7e8;--text-secondary:#8d888a;--text-muted:#5f585b;--accent:#fb7185;--accent-2:#f9a8d4;--accent-soft:#fb718529;--accent-2-soft:#f9a8d41f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#1a1015b8;--bg-mobile-nav:#1a1015f2;--thumb-fallback:linear-gradient(135deg, #4c252e 0%, #422b37 100%);--progress-track:#452b38;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#b794f6;--cat-mission-rgb:183, 148, 246;--cat-lecture:#5cb8f5;--cat-lecture-rgb:92, 184, 245;--cat-tool:#eab454;--cat-tool-rgb:234, 180, 84;--cat-feedback:#45d39e;--cat-feedback-rgb:69, 211, 158;--session-active:#5cb8f5;--session-active-rgb:92, 184, 245;--session-upcoming:#b794f6;--session-upcoming-rgb:183, 148, 246;--session-ended:#767073;--session-ended-rgb:118, 112, 115}[data-theme=ruby]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#160a0c;--bg-sidebar:#220f12;--bg-panel:#2b1418;--bg-card:#35181d;--bg-hover:#472027;--bg-input:#261115;--border:#53232b;--border-light:#71303b;--text-primary:#e8e7e7;--text-secondary:#8b8586;--text-muted:#5c5455;--accent:#f43f5e;--accent-2:#fb7185;--accent-soft:#f43f5e29;--accent-2-soft:#fb71851f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#160a0cb8;--bg-mobile-nav:#160a0cf2;--thumb-fallback:linear-gradient(135deg, #47161e 0%, #3f1d22 100%);--progress-track:#472027;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#b794f6;--cat-mission-rgb:183, 148, 246;--cat-lecture:#5cb8f5;--cat-lecture-rgb:92, 184, 245;--cat-tool:#eab454;--cat-tool-rgb:234, 180, 84;--cat-feedback:#45d39e;--cat-feedback-rgb:69, 211, 158;--session-active:#5cb8f5;--session-active-rgb:92, 184, 245;--session-upcoming:#b794f6;--session-upcoming-rgb:183, 148, 246;--session-ended:#736c6d;--session-ended-rgb:115, 108, 109}[data-theme=espresso]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#140e09;--bg-sidebar:#20160e;--bg-panel:#2a1d13;--bg-card:#342417;--bg-hover:#46311f;--bg-input:#251a10;--border:#513822;--border-light:#704d2f;--text-primary:#e8e7e6;--text-secondary:#8a8784;--text-muted:#5b5653;--accent:#d2a679;--accent-2:#e8c39a;--accent-soft:#d2a67929;--accent-2-soft:#e8c39a1f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#140e09b8;--bg-mobile-nav:#140e09f2;--thumb-fallback:linear-gradient(135deg, #3e2f22 0%, #3a2f23 100%);--progress-track:#46311f;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#b794f6;--cat-mission-rgb:183, 148, 246;--cat-lecture:#5cb8f5;--cat-lecture-rgb:92, 184, 245;--cat-tool:#eab454;--cat-tool-rgb:234, 180, 84;--cat-feedback:#45d39e;--cat-feedback-rgb:69, 211, 158;--session-active:#5cb8f5;--session-active-rgb:92, 184, 245;--session-upcoming:#b794f6;--session-upcoming-rgb:183, 148, 246;--session-ended:#726e6b;--session-ended-rgb:114, 110, 107}[data-theme=amethyst]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#120e1c;--bg-sidebar:#191327;--bg-panel:#1f1830;--bg-card:#251d3a;--bg-hover:#30254b;--bg-input:#1c162c;--border:#352856;--border-light:#473672;--text-primary:#e7e7e8;--text-secondary:#89878e;--text-muted:#595660;--accent:#a78bfa;--accent-2:#c4b5fd;--accent-soft:#a78bfa29;--accent-2-soft:#c4b5fd1f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#120e1cb8;--bg-mobile-nav:#120e1cf2;--thumb-fallback:linear-gradient(135deg, #33294d 0%, #322c45 100%);--progress-track:#30254b;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#b794f6;--cat-mission-rgb:183, 148, 246;--cat-lecture:#5cb8f5;--cat-lecture-rgb:92, 184, 245;--cat-tool:#eab454;--cat-tool-rgb:234, 180, 84;--cat-feedback:#45d39e;--cat-feedback-rgb:69, 211, 158;--session-active:#5cb8f5;--session-active-rgb:92, 184, 245;--session-upcoming:#b794f6;--session-upcoming-rgb:183, 148, 246;--session-ended:#716e77;--session-ended-rgb:113, 110, 119}[data-theme=aurora]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#0a1418;--bg-sidebar:#0f1e24;--bg-panel:#13262e;--bg-card:#172f38;--bg-hover:#1f3e4a;--bg-input:#112229;--border:#224756;--border-light:#2e6075;--text-primary:#e7e8e8;--text-secondary:#858a8c;--text-muted:#545b5d;--accent:#34d3c0;--accent-2:#8b9bff;--accent-soft:#34d3c029;--accent-2-soft:#8b9bff1f;--shadow-card:0 8px 24px #0000006b;--bg-overlay:#0a1418b8;--bg-mobile-nav:#0a1418f2;--thumb-fallback:linear-gradient(135deg, #133e3d 0%, #212c42 100%);--progress-track:#1f3e4a;--success:#3fcf8e;--warning:#f0b34a;--danger:#f6685e;--info:#56b6f5;--cat-mission:#b794f6;--cat-mission-rgb:183, 148, 246;--cat-lecture:#5cb8f5;--cat-lecture-rgb:92, 184, 245;--cat-tool:#eab454;--cat-tool-rgb:234, 180, 84;--cat-feedback:#45d39e;--cat-feedback-rgb:69, 211, 158;--session-active:#5cb8f5;--session-active-rgb:92, 184, 245;--session-upcoming:#b794f6;--session-upcoming-rgb:183, 148, 246;--session-ended:#6c7274;--session-ended-rgb:108, 114, 116}[data-theme=sakura]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-base:#fbf3f6;--bg-sidebar:#fff;--bg-panel:#fff;--bg-card:#fff;--bg-hover:#ece4e7;--bg-input:#fdfafb;--border:#ddd6d8;--border-light:#cbc5c7;--text-primary:#212020;--text-secondary:#6e6b6c;--text-muted:#979294;--accent:#db2777;--accent-2:#e0578f;--accent-soft:#db27771f;--accent-2-soft:#e0578f1a;--shadow-card:0 4px 16px #00000014;--bg-overlay:#00000059;--bg-mobile-nav:#ffffffeb;--thumb-fallback:linear-gradient(135deg, #f8d4e4 0%, #f9e1eb 100%);--progress-track:#ddd6d8;--success:#059669;--warning:#d97706;--danger:#dc2626;--info:#0284c7;--cat-mission:#7c3aed;--cat-mission-rgb:124, 58, 237;--cat-lecture:#0284c7;--cat-lecture-rgb:2, 132, 199;--cat-tool:#d97706;--cat-tool-rgb:217, 119, 6;--cat-feedback:#059669;--cat-feedback-rgb:5, 150, 105;--session-active:#0284c7;--session-active-rgb:2, 132, 199;--session-upcoming:#7c3aed;--session-upcoming-rgb:124, 58, 237;--session-ended:#8a8687;--session-ended-rgb:138, 134, 135}[data-theme=light] .content-card[data-category=mission]{background:linear-gradient(165deg, rgba(var(--cat-mission-rgb), .1) 0%, var(--bg-card) 55%)}[data-theme=light] .content-card[data-category=lecture]{background:linear-gradient(165deg, rgba(var(--cat-lecture-rgb), .1) 0%, var(--bg-card) 55%)}[data-theme=light] .content-card[data-category=tool]{background:linear-gradient(165deg, rgba(var(--cat-tool-rgb), .1) 0%, var(--bg-card) 55%)}[data-theme=light] .content-card[data-category=feedback]{background:linear-gradient(165deg, rgba(var(--cat-feedback-rgb), .1) 0%, var(--bg-card) 55%)}[data-theme=light] .content-card[data-category=mission] .card-thumb{background:linear-gradient(135deg, rgba(var(--cat-mission-rgb), .28) 0%, rgba(var(--cat-mission-rgb), .06) 100%)}[data-theme=light] .content-card[data-category=lecture] .card-thumb{background:linear-gradient(135deg, rgba(var(--cat-lecture-rgb), .28) 0%, rgba(var(--cat-lecture-rgb), .06) 100%)}[data-theme=light] .content-card[data-category=tool] .card-thumb{background:linear-gradient(135deg, rgba(var(--cat-tool-rgb), .3) 0%, rgba(var(--cat-tool-rgb), .07) 100%)}[data-theme=light] .content-card[data-category=feedback] .card-thumb{background:linear-gradient(135deg, rgba(var(--cat-feedback-rgb), .28) 0%, rgba(var(--cat-feedback-rgb), .06) 100%)}[data-theme=light] .mobile-list-thumb{background:linear-gradient(135deg,#ede7f6 0%,#e3f2fd 50%,#e8f5e9 100%)}[data-theme=light] .create-btn:not(:disabled){color:var(--text-muted)}[data-theme=light] .create-btn--active:not(:disabled){color:#fff}[data-theme=sakura] .content-card[data-category=mission]{background:linear-gradient(165deg, rgba(var(--cat-mission-rgb), .1) 0%, var(--bg-card) 55%)}[data-theme=sakura] .content-card[data-category=lecture]{background:linear-gradient(165deg, rgba(var(--cat-lecture-rgb), .1) 0%, var(--bg-card) 55%)}[data-theme=sakura] .content-card[data-category=tool]{background:linear-gradient(165deg, rgba(var(--cat-tool-rgb), .1) 0%, var(--bg-card) 55%)}[data-theme=sakura] .content-card[data-category=feedback]{background:linear-gradient(165deg, rgba(var(--cat-feedback-rgb), .1) 0%, var(--bg-card) 55%)}[data-theme=sakura] .content-card[data-category=mission] .card-thumb{background:linear-gradient(135deg, rgba(var(--cat-mission-rgb), .28) 0%, rgba(var(--cat-mission-rgb), .06) 100%)}[data-theme=sakura] .content-card[data-category=lecture] .card-thumb{background:linear-gradient(135deg, rgba(var(--cat-lecture-rgb), .28) 0%, rgba(var(--cat-lecture-rgb), .06) 100%)}[data-theme=sakura] .content-card[data-category=tool] .card-thumb{background:linear-gradient(135deg, rgba(var(--cat-tool-rgb), .3) 0%, rgba(var(--cat-tool-rgb), .07) 100%)}[data-theme=sakura] .content-card[data-category=feedback] .card-thumb{background:linear-gradient(135deg, rgba(var(--cat-feedback-rgb), .28) 0%, rgba(var(--cat-feedback-rgb), .06) 100%)}[data-theme=sakura] .mobile-list-thumb{background:linear-gradient(135deg,#ede7f6 0%,#e3f2fd 50%,#e8f5e9 100%)}[data-theme=sakura] .create-btn:not(:disabled){color:var(--text-muted)}[data-theme=sakura] .create-btn--active:not(:disabled){color:#fff}:root{color:var(--text-primary);background-color:var(--bg-base);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;font-weight:400;line-height:1.5}html{font-size:19.2px}*{box-sizing:border-box}body{background:var(--bg-base);min-width:320px;min-height:100dvh;color:var(--text-primary);overflow-wrap:break-word;margin:0;font-family:inherit;transition:background .2s,color .2s}img{max-width:100%}pre{max-width:100%;overflow-x:auto}@media (width<=480px){html{font-size:18px}}@media (width<=360px){html{font-size:17px}}@media (width<=768px){body{overflow-x:hidden}}button,input,textarea,select{font-family:inherit}a{color:var(--accent,#4f46e5);text-decoration:none}a:hover{text-decoration:underline}.muted{color:#6b7280}.error{color:#ef4444;align-items:center;gap:5px;margin:0;font-size:.8125rem;display:flex}.page-center{justify-content:center;align-items:center;min-height:100dvh;display:flex}.auth-wait{background:var(--bg-base);text-align:center;flex-direction:column;gap:1rem;padding:1rem}.auth-wait-text{color:var(--text-secondary);margin:0;font-size:.9rem}.auth-page{color:#fff;background:#0f0f14;min-height:100dvh;font-family:inherit;display:flex}.auth-brand{background:linear-gradient(155deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);flex-direction:column;flex-shrink:0;justify-content:space-between;width:420px;padding:3rem 2.5rem;display:flex;position:relative;overflow:hidden}.auth-brand:before{content:"";pointer-events:none;background:radial-gradient(60% 50% at 30% 20%,#6366f140 0%,#0000 70%),radial-gradient(40% 40% at 80% 80%,#8b5cf62e 0%,#0000 70%);position:absolute;inset:0}.auth-brand-logo{z-index:1;align-items:center;gap:10px;display:flex;position:relative}.auth-brand-logomark{color:#fff;letter-spacing:-.02em;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;font-weight:900;display:flex}.auth-brand-name{color:#fff;letter-spacing:-.02em;font-size:1.1rem;font-weight:800}.auth-brand-body{z-index:1;position:relative}.auth-brand-tagline{color:#fff;letter-spacing:-.03em;margin:0 0 1rem;font-size:1.75rem;font-weight:800;line-height:1.3}.auth-brand-desc{color:#ffffff8c;margin:0;font-size:.9375rem;line-height:1.65}.auth-brand-footer{z-index:1;color:#ffffff4d;font-size:.75rem;position:relative}.auth-form-panel{background:#f8f8fc;flex:1;justify-content:center;align-items:center;padding:2.5rem 2rem;display:flex;overflow-y:auto}.auth-card{width:100%;max-width:400px}.auth-card-title{color:#111827;letter-spacing:-.025em;margin:0 0 .375rem;font-size:1.625rem;font-weight:800}.auth-card-sub{color:#6b7280;margin:0 0 1.75rem;font-size:.9rem}.auth-social-row{gap:8px;margin-bottom:1.5rem;display:flex}.auth-social-btn{cursor:pointer;border:1.5px solid #0000;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:.65rem .5rem;font-size:.8125rem;font-weight:600;transition:all .15s;display:flex}.auth-social-btn:disabled{opacity:.55;cursor:not-allowed}.auth-social-btn--google{color:#374151;background:#fff;border-color:#e5e7eb;box-shadow:0 1px 2px #0000000f}.auth-social-btn--google:hover:not(:disabled){border-color:#d1d5db;box-shadow:0 2px 6px #0000001a}.auth-social-btn--kakao{color:#191919;background:#fee500}.auth-social-btn--kakao:hover:not(:disabled){background:#fada00}.auth-social-btn--naver{color:#fff;background:#03c75a}.auth-social-btn--naver:hover:not(:disabled){background:#02b351}.auth-divider{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.auth-divider hr{border:none;border-top:1px solid #e5e7eb;flex:1;margin:0}.auth-divider span{color:#9ca3af;white-space:nowrap;font-size:.75rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{flex-direction:column;gap:5px;display:flex}.auth-field-label{color:#374151;font-size:.8125rem;font-weight:600}.auth-field-input{color:#111827;box-sizing:border-box;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;width:100%;padding:.7rem .875rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.auth-field-input::placeholder{color:#9ca3af}.auth-field-input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11f}.auth-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:none;border-radius:10px;width:100%;margin-top:.25rem;padding:.8rem;font-family:inherit;font-size:.9375rem;font-weight:700;transition:all .15s;box-shadow:0 2px 8px #6366f14d}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5 0%,#4338ca 100%);transform:translateY(-1px);box-shadow:0 4px 14px #6366f166}.auth-submit-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.auth-footer{text-align:center;color:#6b7280;margin-top:1.5rem;font-size:.875rem}.auth-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite auth-spin;display:inline-block}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.auth-spinner{opacity:.6;border-top-color:currentColor;animation:none}}.auth-verify-card{text-align:center;padding:.5rem 0}.auth-verify-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1.25rem;font-size:1.75rem;display:flex}.auth-verify-title{color:#111827;margin:0 0 .5rem;font-size:1.375rem;font-weight:800}.auth-verify-desc{color:#6b7280;margin:0 0 1.25rem;font-size:.9rem;line-height:1.65}.auth-verify-hint{color:#6b7280;background:#f3f4f6;border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.8125rem}.auth-resend-btn{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;padding:.65rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:border-color .15s}.auth-resend-btn:hover:not(:disabled){color:#4f46e5;border-color:#6366f1}.auth-resend-btn:disabled{opacity:.55}@media (width<=768px){.auth-page{background:#f8f8fc}.auth-brand{display:none}.auth-form-panel{justify-content:flex-start;min-height:100dvh;padding:3rem 1.25rem 2rem}}.auth-overlay{background:var(--bg-base);justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem 1rem;display:flex;position:relative;overflow:hidden}.auth-overlay--modal{z-index:4000;background:var(--bg-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);min-height:0;position:fixed;inset:0;overflow-y:auto}.auth-overlay--modal:before{display:none}.auth-overlay:before{content:"";background:radial-gradient(ellipse 55% 45% at 20% 25%, var(--accent-soft) 0%, transparent 70%), radial-gradient(ellipse 40% 40% at 80% 75%, var(--accent-2-soft) 0%, transparent 70%);pointer-events:none;position:absolute;inset:0}.auth-modal{background:var(--bg-panel);border:1px solid var(--border);width:100%;max-width:420px;color:var(--text-primary);box-shadow:var(--shadow-card);z-index:1;border-radius:20px;padding:2rem 1.875rem;position:relative}.auth-overlay--modal .auth-modal{-webkit-overflow-scrolling:touch;max-height:100%;overflow-y:auto}.auth-modal-close{background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;z-index:1;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-family:inherit;font-size:.875rem;line-height:1;transition:all .15s;display:flex;position:absolute;top:.75rem;right:.75rem}.auth-modal-close:hover{background:var(--border);color:var(--text-primary)}.auth-modal-close:after{content:"";position:absolute;inset:-5px}.auth-modal-title{color:var(--text-primary);text-align:center;letter-spacing:-.02em;margin:0 0 1.625rem;font-size:1.375rem;font-weight:700}.auth-modal-info{color:var(--accent);text-align:center;margin:0 0 .75rem;font-size:.85rem;font-weight:600}.auth-modal-form{flex-direction:column;gap:.875rem;display:flex}.auth-modal-field{flex-direction:column;gap:5px;display:flex}.auth-modal-field-label{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.auth-modal-field-label small{color:var(--text-muted);font-size:.75rem;font-weight:400}.auth-modal-field-input{border:1px solid var(--border);width:100%;color:var(--text-primary);background:var(--bg-input);box-sizing:border-box;border-radius:10px;min-height:44px;padding:.7rem .875rem;font-family:inherit;font-size:max(16px,.9375rem);transition:border-color .15s,background .15s}.auth-modal-field-input::placeholder{color:var(--text-muted)}.auth-modal-field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.auth-modal-field-input[readonly]{color:var(--text-secondary);cursor:default}.auth-modal-opts{justify-content:space-between;gap:.75rem;margin-top:.25rem;display:flex}.auth-modal-check{cursor:pointer;-webkit-user-select:none;user-select:none;min-height:44px;color:var(--text-secondary);flex:1;align-items:center;gap:6px;padding:.25rem 0;font-size:.8125rem;display:flex}.auth-modal-check input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.auth-modal-check input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.auth-modal-field-error{color:var(--danger);margin:.35rem 0 0;font-size:.75rem}a.auth-modal-submit{box-sizing:border-box;text-decoration:none}.auth-modal-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:46px;margin-top:.25rem;padding:.8rem;font-family:inherit;font-size:.9375rem;font-weight:700;transition:opacity .15s,transform .15s;display:flex}.auth-modal-submit:hover:not(:disabled){opacity:.88}.auth-modal-submit:active:not(:disabled){transform:scale(.98)}.auth-modal-submit:disabled{opacity:.4;cursor:not-allowed;transform:none}.auth-modal-error{color:var(--danger);overflow-wrap:anywhere;margin:0;font-size:.8125rem;line-height:1.5}.auth-modal-status{color:var(--text-secondary);margin:.5rem 0 0;font-size:.8125rem}.auth-modal-status[data-tone=ok]{color:var(--success)}.auth-modal-status[data-tone=fail]{color:var(--danger)}.auth-modal-note{color:var(--success);background:color-mix(in srgb, var(--success) 12%, transparent);border:1px solid color-mix(in srgb, var(--success) 30%, transparent);border-radius:10px;margin:0 0 .9rem;padding:.6rem .8rem;font-size:.85rem;font-weight:600}.auth-modal-footer{text-align:center;color:var(--text-secondary);margin-top:1.25rem;font-size:.875rem}.auth-modal-footer a{color:var(--text-primary);font-weight:600}.auth-modal-footer a:hover{text-decoration:underline}.auth-linkish{cursor:pointer;font:inherit;color:var(--text-primary);background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.auth-linkish:hover{color:var(--accent)}.auth-modal-footer a,.auth-linkish{margin:-.65rem 0;padding:.65rem .15rem;display:inline-block}.auth-modal-tos a{margin:-.75rem 0;padding:.75rem .1rem;display:inline-block}.auth-modal-tos{text-align:center;color:var(--text-muted);margin-top:.85rem;font-size:.72rem;line-height:1.55}.auth-modal-tos a{color:var(--text-secondary);text-decoration:underline}.auth-modal-verify{text-align:center}.auth-modal-verify-icon{background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1.25rem;font-size:1.5rem;display:flex}.auth-modal-verify-title{color:var(--text-primary);margin:0 0 .625rem;font-size:1.25rem;font-weight:700}.auth-modal-verify-desc{color:var(--text-secondary);overflow-wrap:anywhere;margin:0 0 1.25rem;font-size:.875rem;line-height:1.65}.auth-modal-verify-desc strong{color:var(--text-primary)}.beta-done-art{margin:0 auto 1rem}.beta-done-art img{width:clamp(120px,44vw,168px);height:auto;margin:0 auto;display:block}.auth-modal-verify-hint{color:var(--text-secondary);background:var(--bg-hover);border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.8125rem}.auth-modal-resend-btn{border:1px solid var(--border);background:var(--bg-card);min-height:44px;color:var(--text-secondary);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:.65rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .15s;display:inline-flex}.auth-modal-resend-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.auth-modal-resend-btn:disabled{opacity:.5}@media (width<=480px){.auth-overlay{align-items:flex-end;padding:0}.auth-modal{max-width:100%;padding:1.375rem 1.1rem calc(1.5rem + var(--safe-b));border-radius:20px 20px 0 0}.auth-modal-close{width:44px;height:44px;font-size:1rem;top:.5rem;right:.5rem}.auth-modal-title{margin-bottom:1.2rem;font-size:1.2rem}.auth-modal-form{gap:.75rem}.auth-modal-field-input{border-radius:12px;padding:.85rem .95rem}.auth-modal-submit{border-radius:12px;padding:.95rem;font-size:1rem}.auth-modal-footer{margin-top:1rem}}@media (height<=480px){.auth-modal{padding-top:1.1rem;padding-bottom:1.1rem}.auth-modal-title{margin-bottom:.8rem;font-size:1.1rem}.auth-modal-form{gap:.55rem}.auth-modal-footer{margin-top:.6rem}.auth-modal-tos{margin-top:.5rem}}@media (prefers-reduced-motion:reduce){.auth-modal-submit,.auth-modal-close,.auth-modal-resend-btn{transition:none}}.home-page{min-height:100dvh}.home-header{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.home-header h1{color:#4f46e5;margin:0;font-size:1.25rem}.home-content{max-width:720px;margin:0 auto;padding:2rem 1.5rem}.welcome-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 10px 40px #0f172a0f}.welcome-card h2{margin:0 0 .5rem}.user-info{gap:1rem;margin:1.5rem 0 0;display:grid}.user-info div{background:#f9fafb;border-radius:8px;padding:1rem}.user-info dt{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.user-info dd{margin:.25rem 0 0;font-size:1rem}.purchase-notice{border:1px solid var(--border,#ffffff1f);color:var(--text-secondary,#9ca3af);text-align:left;background:#94a3b814;border-radius:8px;align-items:flex-start;gap:.5rem;margin:.75rem 0 0;padding:.625rem .75rem;font-size:.75rem;line-height:1.6;display:flex}.purchase-notice-icon{opacity:.8;flex-shrink:0;font-size:.8125rem;line-height:1.6}.purchase-notice a{color:var(--accent,#818cf8);white-space:nowrap;text-decoration:underline}.purchase-notice a:hover{opacity:.85}@media (width<=768px){.purchase-notice a{margin:-.75rem 0;padding:.75rem 0;display:inline-block}}.legal-page{background:var(--bg-base);min-height:100dvh;color:var(--text-primary);font-family:inherit}.legal-container{max-width:720px;padding:0 1.5rem calc(3rem + var(--safe-b,0px));margin:0 auto}.legal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:2rem;padding:.5rem 0 .75rem;display:flex}.legal-logo{min-height:32px;color:var(--text-primary);letter-spacing:-.01em;align-items:center;font-size:1.125rem;font-weight:700;text-decoration:none;display:inline-flex}.legal-logo:hover{opacity:.8;text-decoration:none}.legal-back{min-height:32px;color:var(--text-secondary);white-space:nowrap;align-items:center;font-size:.875rem;text-decoration:none;transition:color .15s;display:inline-flex}.legal-back:hover{color:var(--text-primary);text-decoration:none}.legal-content{line-height:1.8}.legal-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 .5rem;font-size:2rem;font-weight:700}.legal-updated{color:var(--text-muted);margin:0 0 1.5rem;font-size:.8125rem}.legal-intro{color:var(--text-secondary);background:var(--bg-card);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:.9375rem}.legal-toc{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;margin:0 0 2rem;overflow:hidden}.legal-toc-btn{width:100%;min-height:44px;color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.9375rem;font-weight:700;display:flex}.legal-toc-btn:hover{background:var(--bg-hover)}.legal-toc-caret{color:var(--text-secondary);font-size:.7rem}.legal-toc-list{border-top:1px solid var(--border);max-height:46vh;margin:0;padding:.25rem 0 .5rem;list-style:none;overflow-y:auto}.legal-toc-list li{margin:0}.legal-toc-list button{text-align:left;width:100%;min-height:44px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;display:block}.legal-toc-list button:hover{background:var(--bg-hover);color:var(--text-primary)}.legal-section{margin-bottom:2.5rem}.legal-section h2{color:var(--text-primary);border-bottom:1px solid var(--border);margin:0 0 .875rem;padding-bottom:.5rem;scroll-margin-top:1rem;font-size:1.0625rem;font-weight:700}.legal-section h3{color:var(--text-primary);margin:1.25rem 0 .5rem;font-size:.9375rem;font-weight:600}.legal-section p,.legal-section li{color:var(--text-secondary);margin:0 0 .5rem;font-size:.9375rem}.legal-section ol,.legal-section ul{margin:.25rem 0 .75rem;padding-left:1.5rem}.legal-section li{margin:.35rem 0}.legal-section li>ul{margin-top:.35rem}.legal-table-wrap{-webkit-overflow-scrolling:touch;margin:1rem 0;position:relative;overflow-x:auto}.legal-table{border-collapse:collapse;width:100%;color:var(--text-secondary);font-size:.875rem}.legal-table th{background:var(--bg-hover);color:var(--text-primary);text-align:left;border-bottom:1px solid var(--border);padding:.625rem .875rem;font-weight:600}.legal-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:.575rem .875rem}.legal-table tr:hover td{background:var(--bg-hover)}.legal-contact-box{background:var(--accent-soft);border:1px solid var(--border);border-radius:10px;margin:.875rem 0;padding:1rem 1.25rem}.legal-contact-box p{margin:.2rem 0!important}.legal-footer-info{border-top:1px solid var(--border);color:var(--text-secondary);margin-top:3rem;padding-top:1.5rem;font-size:.875rem}.legal-footer-info p{margin:.3rem 0}.legal-intro a,.legal-section a,.legal-footer-info a{color:var(--accent);overflow-wrap:anywhere;margin:-.3rem 0;padding:.3rem 0;display:inline-block}.legal-intro a:hover,.legal-section a:hover,.legal-footer-info a:hover{color:var(--accent-2)}@media (width<=720px){.legal-container{padding:0 1rem calc(3rem + var(--safe-b,0px))}.legal-title{font-size:1.5rem}.legal-table{white-space:nowrap}.legal-table th:first-child,.legal-table td:first-child{z-index:1;background:var(--bg-base);box-shadow:1px 0 0 var(--border);position:sticky;left:0}.legal-table thead th:first-child{background:var(--bg-hover);z-index:2}}@media (width<=480px){.legal-header{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 0}}@media (hover:none){.legal-logo,.legal-back,.legal-toc-list button{min-height:44px}.legal-intro a,.legal-section a,.legal-footer-info a{margin:-.65rem 0;padding:.65rem 0}}@media (prefers-reduced-motion:reduce){.legal-back,.legal-toc-btn,.legal-toc-list button{transition:none}}.auth-modal--art{padding:0;display:flex;overflow:hidden}.auth-modal-side{display:none}.auth-modal-main{flex:1;min-width:0;padding:2rem 1.875rem;position:relative}@media (width>=1024px){.auth-modal--art{max-width:740px}.auth-modal-side{color:#493021;text-align:center;background-position:50%;background-size:cover;flex-direction:column;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.6rem;width:290px;padding:1.5rem 1.2rem 2rem;font-weight:800;display:flex}.auth-modal-side p{margin:0;font-size:1.02rem}.auth-modal-side-mascot{width:180px;height:180px}}:root,[data-theme]{--scrollbar-size:6px;--scrollbar-track:transparent;--scrollbar-thumb:color-mix(in srgb, var(--text-muted) 50%, var(--border));--scrollbar-thumb-hover:color-mix(in srgb, var(--accent) 32%, var(--border-light));--scrollbar-thumb-active:color-mix(in srgb, var(--accent) 48%, var(--border-light))}[data-theme=light]{--scrollbar-thumb:color-mix(in srgb, var(--text-muted) 38%, var(--border));--scrollbar-thumb-hover:color-mix(in srgb, var(--accent) 28%, var(--border-light));--scrollbar-thumb-active:color-mix(in srgb, var(--accent) 42%, var(--border-light))}html,body,*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}html::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}body::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}html::-webkit-scrollbar-track{background:var(--scrollbar-track)}body::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-track{background:var(--scrollbar-track)}html::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);background-clip:padding-box;border:1.5px solid #0000;border-radius:999px;transition:background-color .18s}body::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);background-clip:padding-box;border:1.5px solid #0000;border-radius:999px;transition:background-color .18s}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);background-clip:padding-box;border:1.5px solid #0000;border-radius:999px;transition:background-color .18s}html::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}body::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}html::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active)}body::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active)}::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active)}html::-webkit-scrollbar-corner{background:0 0}body::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-corner{background:0 0}.scrollbar-hidden,.block-category-tabs--mobile,.template-tabs,.style-tags--scroll{scrollbar-width:none}.scrollbar-hidden::-webkit-scrollbar{display:none}.block-category-tabs--mobile::-webkit-scrollbar{display:none}.template-tabs::-webkit-scrollbar{display:none}.style-tags--scroll::-webkit-scrollbar{display:none}.page-shell{background:var(--bg-base);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden auto}.page-inner{flex:1;width:100%;max-width:1400px;padding:2rem 2.5rem}.home-preview-bar{z-index:20;background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:999px;flex-shrink:0;align-self:flex-end;align-items:center;gap:.25rem;margin:.6rem .9rem -.4rem 0;padding:.28rem;display:inline-flex;position:sticky;top:.6rem}.home-preview-label{color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;padding:0 .4rem 0 .55rem;font-size:.7rem;font-weight:800}.home-preview-tab{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:.32rem .72rem;font-size:.78rem;font-weight:700;transition:background .15s,color .15s}.home-preview-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.home-preview-tab.is-active{background:var(--accent);color:#fff}@media (width<=720px){.home-preview-bar{gap:.15rem;margin-right:.6rem;padding:.22rem}.home-preview-label{display:none}.home-preview-tab{padding:.3rem .55rem;font-size:.74rem}}.learn-role-view{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.learn-role-bar{z-index:30;background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:999px;align-items:center;gap:.25rem;padding:.28rem;display:inline-flex;position:absolute;top:.5rem;right:.9rem}@media (width<=720px){.learn-role-bar{gap:.15rem;padding:.22rem;top:.4rem;right:.6rem}}.nav-item--admin{color:var(--accent)}.nav-item--admin svg{opacity:1}.sidebar-theme-wrap{width:100%;position:relative}.theme-picker{flex-wrap:wrap;gap:.5rem;padding:.5rem .625rem .375rem;display:flex}.theme-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;outline:none;width:22px;height:22px;transition:transform .15s,border-color .15s}.theme-swatch:hover{transform:scale(1.2)}.theme-swatch.active{border-color:var(--accent);transform:scale(1.15)}.dash-hero{border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:1fr auto;align-items:center;gap:2rem;padding:2rem 2.5rem 1.5rem;display:grid}.dash-greeting{margin:0 0 .25rem;font-size:1.5rem;font-weight:800}.dash-sub{color:var(--text-secondary);margin:0;font-size:.9375rem}.dash-progress-ring{flex-shrink:0;width:80px;height:80px;position:relative}.dash-progress-ring svg{transform:rotate(-90deg)}.dash-progress-ring-label{color:var(--accent);justify-content:center;align-items:center;font-size:1rem;font-weight:800;display:flex;position:absolute;inset:0}.dash-body{flex-direction:column;flex:1;gap:2rem;padding:1.5rem 2.5rem 2.5rem;display:flex;overflow-y:auto}.dash-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .875rem;font-size:.75rem;font-weight:700}.dash-grid{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:1rem;display:grid}.dash-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;color:inherit;flex-direction:column;gap:.625rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.dash-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-card);color:inherit;text-decoration:none;transform:translateY(-2px)}.dash-card-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.6875rem;font-weight:700}.dash-card-title{margin:0;font-size:.9375rem;font-weight:700;line-height:1.4}.dash-card-meta{color:var(--text-secondary);margin:0;font-size:.8125rem}.dash-card-status{border-radius:999px;align-items:center;gap:.25rem;width:fit-content;padding:3px 8px;font-size:.6875rem;font-weight:700;display:inline-flex}.dash-card-status.active{background:rgba(var(--session-active-rgb), .15);color:var(--session-active)}.dash-card-status.upcoming{background:rgba(var(--session-upcoming-rgb), .15);color:var(--session-upcoming)}.dash-stats{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.dash-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:.375rem;padding:1.25rem;display:flex}.dash-stat-value{color:var(--accent);font-size:1.75rem;font-weight:800;line-height:1}.dash-stat-label{color:var(--text-secondary);font-size:.8125rem}.dash-trend-strip{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.dash-trend-strip-label{color:var(--text-muted);white-space:nowrap;font-size:.75rem;font-weight:700}.dash-trend-more{color:var(--text-muted);white-space:nowrap;align-items:center;gap:3px;margin-left:auto;font-size:.75rem;text-decoration:none;transition:color .15s;display:inline-flex}.dash-trend-more:hover{color:var(--accent)}.dash-trend-pills{flex-wrap:wrap;gap:.4rem;display:flex}.dash-trend-pill{background:var(--bg-base);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;cursor:default;border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .625rem .25rem .3rem;font-size:.8125rem;font-weight:600;transition:border-color .15s,color .15s;display:inline-flex}.dash-trend-pill:hover{border-color:var(--border-light);color:var(--text-primary)}.dash-trend-pill.hi{background:var(--accent-soft);color:var(--accent);border-color:#0000}.dash-trend-rank{background:var(--bg-card);width:16px;height:16px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.625rem;font-weight:800;display:inline-flex}.dash-trend-pill.hi .dash-trend-rank{background:var(--accent);color:#fff}.curr-wrap{flex-direction:column;flex:1;gap:1.5rem;padding:2rem 2.5rem;display:flex;overflow-y:auto}.curr-week{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.curr-week-header{cursor:pointer;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:background .15s;display:flex}.curr-week-header:hover{background:var(--bg-hover)}.curr-week-badge{background:var(--accent-soft);width:2.5rem;height:2.5rem;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:800;display:flex}.curr-week-info{flex:1;min-width:0}.curr-week-title{margin:0;font-size:1rem;font-weight:700}.curr-week-dates{color:var(--text-secondary);margin:0;font-size:.8125rem}.curr-week-progress{flex-shrink:0;align-items:center;gap:.625rem;display:flex}.curr-week-progress-bar{background:var(--progress-track);border-radius:2px;width:80px;height:4px;overflow:hidden}.curr-week-progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .4s}.curr-sessions{border-top:1px solid var(--border);flex-direction:column;display:flex}.curr-session{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.875rem 1.25rem;transition:background .15s;display:flex}.curr-session:last-child{border-bottom:none}.curr-session:hover{background:var(--bg-hover)}.curr-session-num{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:flex}.curr-session-num.ended{background:rgba(var(--session-ended-rgb), .15);color:var(--session-ended)}.curr-session-num.active{background:rgba(var(--session-active-rgb), .2);color:var(--session-active)}.curr-session-num.upcoming{background:var(--bg-hover);color:var(--text-muted)}.curr-session-info{flex:1;min-width:0}.curr-session-title{margin:0;font-size:.9375rem;font-weight:600}.curr-session-meta{color:var(--text-secondary);font-size:.8125rem}.curr-session-badge{border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:.6875rem;font-weight:700}.curr-session-badge.active{background:rgba(var(--session-active-rgb), .15);color:var(--session-active)}.curr-session-badge.ended{background:rgba(var(--session-ended-rgb), .12);color:var(--session-ended)}.curr-session-badge.upcoming{background:rgba(var(--session-upcoming-rgb), .15);color:var(--session-upcoming)}.curr-session-check{border:2px solid var(--border-light);cursor:pointer;width:28px;height:28px;color:var(--text-muted);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.curr-session-check:hover{border-color:var(--accent);color:var(--accent)}.curr-session-check.done{background:var(--accent);border-color:var(--accent);color:#fff}.critique-shell{flex:1;display:flex;overflow:hidden}.critique-list-panel{background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;width:340px;min-width:340px;display:flex;overflow:hidden}.critique-list-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.critique-list-title{margin:0;font-size:1rem;font-weight:700}.critique-list-body{flex-direction:column;flex:1;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.critique-room-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;padding:1rem;transition:border-color .15s,background .15s}.critique-room-card:hover{border-color:var(--border-light);background:var(--bg-hover)}.critique-room-card.selected{border-color:var(--accent);background:var(--accent-soft)}.critique-room-title{margin:0 0 .25rem;font-size:.9375rem;font-weight:700}.critique-room-meta{color:var(--text-secondary);font-size:.8125rem}.critique-room-status{border-radius:999px;align-items:center;gap:.25rem;margin-top:.5rem;padding:2px 6px;font-size:.6875rem;font-weight:700;display:inline-flex}.critique-room-status.waiting{background:rgba(var(--session-upcoming-rgb), .15);color:var(--session-upcoming)}.critique-room-status.active{background:rgba(var(--session-active-rgb), .15);color:var(--session-active)}.critique-room-status.ended{background:rgba(var(--session-ended-rgb), .12);color:var(--session-ended)}.critique-main{background:var(--bg-base);flex-direction:column;flex:1;display:flex;overflow:hidden}.critique-room-header{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.critique-room-header-title{margin:0;font-size:1rem;font-weight:700}.critique-room-header-meta{color:var(--text-secondary);font-size:.8125rem}.critique-room-body{flex:1;grid-template-columns:1fr 320px;display:grid;overflow:hidden}.critique-files-area{border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.critique-files-header{border-bottom:1px solid var(--border);color:var(--text-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;font-size:.8125rem;font-weight:700;display:flex}.critique-files-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;gap:.75rem;padding:1rem;display:grid;overflow-y:auto}.critique-file-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;cursor:pointer;padding:.875rem;transition:border-color .15s}.critique-file-card:hover{border-color:var(--border-light)}.critique-file-icon{margin-bottom:.5rem;font-size:2rem}.critique-file-name{word-break:break-all;color:var(--text-primary);margin:0;font-size:.75rem;font-weight:600}.critique-file-uploader{color:var(--text-muted);margin-top:.25rem;font-size:.6875rem}.critique-upload-zone{border:2px dashed var(--border-light);border-radius:var(--radius-md);text-align:center;cursor:pointer;color:var(--text-muted);margin:1rem;padding:1.5rem;font-size:.875rem;transition:border-color .15s,background .15s}.critique-upload-zone:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.critique-chat-panel{flex-direction:column;display:flex;overflow:hidden}.critique-chat-messages{flex-direction:column;flex:1;gap:.625rem;padding:1rem;display:flex;overflow-y:auto}.critique-msg{align-items:flex-start;gap:.625rem;display:flex}.critique-msg.mine{flex-direction:row-reverse}.critique-msg-avatar{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.critique-msg-bubble{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);max-width:70%;padding:.5rem .75rem;font-size:.875rem;line-height:1.5}.critique-msg.mine .critique-msg-bubble{background:var(--accent-soft);border-color:var(--accent);color:var(--text-primary)}.critique-msg-sender{color:var(--text-muted);margin-bottom:.25rem;font-size:.6875rem}.critique-chat-input{border-top:1px solid var(--border);flex-shrink:0;gap:.5rem;padding:.75rem 1rem;display:flex}.critique-chat-input input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;flex:1;padding:.5rem .75rem;font-size:.875rem}.critique-chat-input input:focus{border-color:var(--accent)}.critique-participants{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;gap:.375rem;padding:.875rem 1rem;display:flex}.critique-participant-chip{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;align-items:center;gap:.25rem;padding:3px 8px;font-size:.75rem;display:flex}.critique-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;display:flex}.critique-empty-icon{opacity:.4;font-size:3rem}.assign-wrap{flex-direction:column;flex:1;gap:1rem;padding:2rem 2.5rem;display:flex;overflow-y:auto}.assign-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:flex-start;gap:1.25rem;padding:1.5rem;transition:border-color .15s;display:flex}.assign-card:hover{border-color:var(--border-light)}.assign-card-indicator{background:var(--border-light);border-radius:2px;flex-shrink:0;align-self:stretch;width:4px}.assign-card-indicator.pending{background:var(--session-upcoming)}.assign-card-indicator.submitted{background:var(--session-active)}.assign-card-indicator.graded{background:var(--accent)}.assign-card-body{flex:1;min-width:0}.assign-card-title{margin:0 0 .375rem;font-size:1rem;font-weight:700}.assign-card-desc{color:var(--text-secondary);margin:0 0 .75rem;font-size:.875rem;line-height:1.6}.assign-card-meta{color:var(--text-muted);flex-wrap:wrap;gap:1rem;font-size:.8125rem;display:flex}.assign-badge{border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:.6875rem;font-weight:700}.assign-badge.pending{background:rgba(var(--session-upcoming-rgb), .15);color:var(--session-upcoming)}.assign-badge.submitted{background:rgba(var(--session-active-rgb), .15);color:var(--session-active)}.assign-badge.graded{background:var(--accent-soft);color:var(--accent)}.community-shell{flex:1;display:flex;overflow:hidden}.community-list{flex-direction:column;flex:1;gap:.5rem;padding:1.5rem 2rem 7rem;display:flex;overflow-y:auto}.community-sidebar{border-left:1px solid var(--border);background:var(--bg-panel);flex-direction:column;gap:1rem;width:260px;min-width:260px;padding:1.5rem 1.25rem;display:flex;overflow-y:auto}.community-header{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.community-tabs{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;gap:.25rem;padding:1rem 2rem 0;display:flex;overflow-x:auto}.community-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:color .15s,border-color .15s}.community-tab:hover{color:var(--text-primary)}.community-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-sm)}.community-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.community-pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex}.community-pager-arrow{padding-inline:.5rem}.community-pager-arrow svg{display:block}.post-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;padding:1.25rem;transition:border-color .15s,transform .15s,box-shadow .15s}.post-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-card);transform:translateY(-2px)}.post-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.post-card:active{transform:translateY(0)}.post-card.pinned{border-color:var(--accent);border-left:3px solid var(--accent)}@media (prefers-reduced-motion:reduce){.post-card{transition:none}.post-card:hover{transform:none}}.post-card-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.post-card-category{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:700}.post-card-author{color:var(--text-secondary);font-size:.8125rem}.post-card-date{color:var(--text-muted);margin-left:auto;font-size:.75rem}.post-card-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .375rem;font-size:1rem;font-weight:700;display:-webkit-box;overflow:hidden}.post-card-preview{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.875rem;display:-webkit-box;overflow:hidden}.post-card-footer{color:var(--text-secondary);gap:1rem;margin-top:.75rem;font-size:.8125rem;font-weight:600;display:flex}.community-fab{right:26px;bottom:calc(var(--mobile-nav-h,0px) + 116px);z-index:1190;background:var(--accent);color:#fff;cursor:pointer;box-shadow:var(--shadow-card);border:none;border-radius:999px;align-items:center;gap:6px;padding:10px 16px 10px 13px;font-size:.875rem;font-weight:800;line-height:1;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex;position:fixed}.community-fab:hover{filter:brightness(1.06);transform:translateY(-2px)}.community-fab:active{transform:translateY(1px)}.community-fab:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.community-fab-label{white-space:nowrap}body:has(.modal-overlay,.auth-overlay--modal,.workspace-overlay.open) .community-fab{opacity:0;pointer-events:none}@media (prefers-reduced-motion:reduce){.community-fab{transition:none}}.community-title{margin:0;font-size:1.125rem;font-weight:800}.community-home{flex-direction:column;gap:.75rem;margin-bottom:.75rem;display:flex}.community-home-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.community-home-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;padding:1rem 1.25rem}.community-home-box.is-notice{border-left:3px solid var(--accent)}.community-home-heading{color:var(--text-secondary);margin:0 0 .5rem;font-size:.875rem;font-weight:800}.community-home-rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.community-home-row{border-radius:var(--radius-sm);width:calc(100% + 1rem);min-height:2.5rem;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;margin:0 -.5rem;padding:.375rem .5rem;transition:background .15s;display:flex}.community-home-row:hover{background:var(--bg-hover)}.community-home-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.community-home-rank{color:var(--accent);text-align:center;flex:0 0 1.25rem;font-size:.875rem;font-weight:800}.community-home-row-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9375rem;font-weight:700;overflow:hidden}.community-home-row-sub,.community-home-row-value{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;font-size:.8125rem;font-weight:600}.community-home-empty{color:var(--text-muted);margin:.25rem 0 .5rem;font-size:.8125rem}.community-section-heading{color:var(--text-secondary);margin:.5rem 0 .25rem;font-size:.875rem;font-weight:800}.community-skel{background:linear-gradient(90deg, var(--bg-hover) 25%, var(--bg-panel) 50%, var(--bg-hover) 75%);background-size:200% 100%;border-radius:999px;height:14px;margin:.625rem 0;animation:1.3s ease-in-out infinite home-skel}.community-list-skeleton{flex-direction:column;gap:.5rem;display:flex}.post-card.is-skeleton{cursor:default;pointer-events:none}@media (prefers-reduced-motion:reduce){.community-skel{animation:none}}.post-detail-actions{gap:.5rem;margin-top:1.5rem;display:flex}.post-like-btn{border:1px solid var(--border);background:var(--bg-card);min-height:2.5rem;color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:700;transition:color .15s,border-color .15s,background .15s,transform .1s;display:inline-flex}.post-like-btn:hover{border-color:var(--border-light);color:var(--text-primary)}.post-like-btn:active{transform:scale(.98)}.post-like-btn:disabled{opacity:.6;cursor:default}.post-like-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.post-like-btn.is-on{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.post-like-btn.is-on svg{fill:currentColor}.post-detail-header{flex-wrap:wrap;justify-content:flex-start;gap:.75rem}.post-detail-head-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.post-pin-btn[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.post-menu{display:inline-flex;position:relative}.post-menu .vfl-menu-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);width:34px;height:34px;color:var(--text-secondary);font:inherit;cursor:pointer;justify-content:center;align-items:center;font-size:1.1rem;font-weight:800;line-height:1;display:inline-flex}.post-menu .vfl-menu-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.post-menu .vfl-menu-btn[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.post-menu .vfl-menu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.post-menu .vfl-menu-pop{z-index:20;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);min-width:140px;box-shadow:var(--shadow-card);flex-direction:column;padding:4px;animation:.12s ease-out post-menu-pop;display:flex;position:absolute;top:calc(100% + 4px);right:0}.post-menu .vfl-menu-item{text-align:left;border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:8px 12px;font-size:.875rem;font-weight:600}.post-menu .vfl-menu-item:hover,.post-menu .vfl-menu-item:focus-visible{background:var(--bg-hover);outline:none}.post-menu .vfl-menu-item.is-danger{color:var(--danger)}@keyframes post-menu-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.post-menu .vfl-menu-pop{animation:none}.post-like-btn{transition:none}.post-like-btn:active{transform:none}}@media (width<=720px){.community-home-grid{grid-template-columns:1fr}}.post-detail-content.is-rich{white-space:normal}.post-detail-content.is-rich img{border-radius:var(--radius-md);max-width:100%;height:auto}.post-detail-content.is-rich :is(h1,h2,h3){margin:1.5rem 0 .6rem;font-weight:800}.post-detail-content.is-rich p{margin:0 0 .9rem}.post-detail-content.is-rich :is(ul,ol){margin:0 0 .9rem;padding-left:1.35rem}.post-detail-content.is-rich blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);margin:.9rem 0;padding:.5rem 0 .5rem .9rem}.post-detail-content.is-rich a{color:var(--accent)}.post-detail-content.is-rich pre{overflow-x:auto}.post-detail-content.is-rich .tb-longurl{word-break:break-all}.post-detail-content .tb-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-md);margin:.9rem 0;overflow-x:auto}.post-detail-content .tb-table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.post-detail-content table{border-collapse:collapse;width:100%;min-width:30rem;font-size:.92em}.post-detail-content :is(th,td){border:1px solid var(--border);text-align:left;padding:.45rem .65rem}.post-detail-content thead th{background:var(--bg-hover);white-space:nowrap;font-weight:800}.post-detail-wrap{flex:1;width:100%;max-width:800px;margin:0 auto;padding:2rem 2.5rem;overflow-y:auto}.post-detail-title{overflow-wrap:anywhere;margin:0 0 .75rem;font-size:1.5rem;font-weight:800;line-height:1.35}.post-detail-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:0;margin-bottom:1.5rem;font-size:.875rem;font-weight:600;display:flex}.post-detail-meta>*+:before{content:"·";color:var(--text-muted);margin:0 .5rem}.post-detail-author{color:var(--text-primary);font-weight:700}.post-detail-content{color:var(--text-primary);white-space:pre-wrap;font-size:.9375rem;line-height:1.8}.post-detail-divider{border:none;border-top:1px solid var(--border);margin:2rem 0}.comment-heading{color:var(--text-secondary);align-items:baseline;gap:.375rem;margin:0 0 .5rem;font-size:.875rem;font-weight:800;display:flex}.comment-heading-count{color:var(--text-secondary);font-weight:700}.comment-empty{color:var(--text-secondary);margin:.75rem 0;font-size:.875rem}.comment-item{border-bottom:1px solid var(--border);padding:.875rem 0}.comment-item:last-of-type{border-bottom:none}.comment-head{align-items:center;gap:.5rem;min-height:1.75rem;margin-bottom:.375rem;display:flex}.comment-author{color:var(--text-primary);font-size:.875rem;font-weight:700}.comment-content{color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.9375rem;line-height:1.65}.comment-date{color:var(--text-secondary);font-size:.8125rem}.comment-del{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.comment-del:hover{background:var(--bg-hover);color:var(--danger);border-color:var(--border)}.comment-del:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.comment-del svg{display:block}@media (prefers-reduced-motion:reduce){.comment-del{transition:none}}.comment-input-row{align-items:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.comment-input-row textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);resize:vertical;outline:none;flex:1;min-height:80px;padding:.75rem 1rem;font-family:inherit;font-size:.875rem}.comment-input-row textarea:focus{border-color:var(--accent)}.profile-wrap{padding:2rem 2.5rem calc(2rem + var(--mobile-nav-h,0px));flex:1;width:100%;max-width:1920px;overflow-y:auto}.profile-hero{margin-bottom:2rem}.profile-hero-cover{border-radius:var(--radius-lg);background:radial-gradient(120% 160% at 85% 0%, var(--accent) 0%, transparent 55%), linear-gradient(115deg, var(--accent-2) 0%, var(--accent) 60%, var(--accent-2) 100%);height:168px;box-shadow:inset 0 -60px 60px -40px #00000059}.profile-hero-bar{align-items:flex-end;gap:1.25rem;margin-top:-48px;padding:0 1.75rem;display:flex}.profile-hero .profile-avatar-lg{border:4px solid var(--bg-base);width:104px;height:104px;box-shadow:var(--shadow-card);font-size:2.25rem}.profile-hero-id{flex:1;min-width:0;padding-bottom:.4rem}.profile-hero-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0 0 .15rem;font-size:1.375rem;font-weight:800;line-height:1.2;overflow:hidden}.profile-hero-handle{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.875rem;overflow:hidden}.profile-hero-role{color:var(--accent);background:var(--accent-soft);border-radius:999px;flex-shrink:0;align-self:center;margin-bottom:.4rem;padding:4px 12px;font-size:.75rem;font-weight:700}@media (width<=720px){.profile-hero-cover{height:120px}.profile-hero-bar{gap:.9rem;margin-top:-40px;padding:0 1rem}.profile-hero .profile-avatar-lg{width:84px;height:84px;font-size:1.75rem}.profile-hero-name{font-size:1.125rem}}.profile-hero-bar{z-index:1;position:relative}@media (width<=768px){.profile-hero-bar{align-items:flex-start}.profile-hero-id{padding-top:46px}.profile-hero-role{align-self:flex-start;margin:46px 0 0}}.profile-avatar-section{border-bottom:1px solid var(--border);align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:2rem;display:flex}.profile-avatar-lg{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;font-size:1.75rem;font-weight:800;display:flex;overflow:hidden}.profile-avatar-upload{position:relative}.profile-avatar-overlay{opacity:0;background:#00000073;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;transition:opacity .18s;display:flex;position:absolute;inset:0}.profile-avatar-upload:hover .profile-avatar-overlay{opacity:1}a.user-card{color:inherit;text-decoration:none;transition:background .15s}a.user-card:hover{background:var(--bg-hover);border-radius:var(--radius-md)}.profile-section{margin-bottom:2rem}.profile-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem;font-size:.75rem;font-weight:700}.profile-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:1.5rem;padding:1.5rem;transition:border-color .15s}.profile-card:hover{border-color:var(--border-light)}.profile-card-head{align-items:center;gap:.85rem;margin-bottom:1.25rem;display:flex}.profile-card-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.15rem;display:flex}.profile-card-icon--yt{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.profile-card-heading{flex:1;min-width:0}.profile-card-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:800}.profile-card-sub{color:var(--text-secondary);margin:.1rem 0 0;font-size:.8rem;line-height:1.45}.profile-card-desc{color:var(--text-secondary);margin:0 0 1rem;font-size:.875rem;line-height:1.65}.profile-card-actions{flex-wrap:wrap;gap:.6rem;display:flex}.btn.is-saved{background:var(--session-active,#16a34a);border-color:#0000}.profile-note{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-base);gap:.85rem;padding:1rem 1.1rem;display:flex}.profile-note--success{border-color:var(--accent);background:var(--accent-soft)}.profile-note-title{color:var(--text-primary);margin:0 0 .2rem;font-size:.9rem;font-weight:800}.profile-note-text{color:var(--text-secondary);margin:0;font-size:.83rem;line-height:1.6}.profile-note-text b{color:var(--text-primary)}.profile-link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:.5rem;padding:0;font-size:.8rem;font-weight:700;text-decoration:underline}.profile-link-btn:disabled{opacity:.55;cursor:default}.profile-logout-btn{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);font-weight:700}.profile-logout-btn:hover{background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:var(--danger)}.profile-yt-channels{flex-direction:column;gap:.6rem;display:flex}.profile-yt-channel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-base);align-items:center;gap:.85rem;padding:.75rem .9rem;transition:border-color .15s,transform .15s;display:flex}.profile-yt-channel:hover{border-color:var(--border-light);transform:translateY(-1px)}.profile-yt-avatar{color:red;border:2px solid var(--bg-card);width:44px;height:44px;box-shadow:0 0 0 1px var(--border);background:#ff00001a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.profile-yt-avatar img{object-fit:cover;width:100%;height:100%}.profile-yt-meta{flex:1;min-width:0}.profile-yt-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0 0 .1rem;font-size:.9rem;font-weight:700;overflow:hidden}.profile-yt-sub{color:var(--text-secondary);margin:0;font-size:.775rem}.profile-yt-unlink{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:999px;flex-shrink:0;padding:.35rem .8rem;font-size:.775rem;font-weight:700;transition:border-color .15s,color .15s,background .15s}.profile-yt-unlink:hover{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent)}.profile-yt-unlink:disabled{opacity:.55;cursor:default}.profile-field{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.profile-field label{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.profile-field input,.profile-field textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s}.profile-field input:focus,.profile-field textarea:focus{border-color:var(--accent)}.profile-field textarea{resize:vertical;min-height:100px}.profile-theme-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.profile-theme-btn{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--bg-base);cursor:pointer;flex-direction:column;align-items:center;gap:.5rem;padding:.85rem .75rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative}.profile-theme-btn:hover{border-color:var(--border-light);transform:translateY(-2px)}.profile-theme-btn.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.profile-theme-preview{border-radius:50%;width:40px;height:40px;box-shadow:0 2px 8px #0003}.profile-theme-label{color:var(--text-secondary);font-size:.75rem;font-weight:700}.profile-theme-btn.active .profile-theme-label{color:var(--accent)}.profile-theme-check{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.7rem;font-weight:800;display:flex;position:absolute;top:6px;right:6px}.notif-wrap{flex:1;width:100%;max-width:1920px;padding:2rem 2.5rem;overflow-y:auto}.notif-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.notif-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;gap:1rem;margin-bottom:.5rem;padding:1rem;transition:border-color .15s,background .15s;display:flex}.notif-item.unread{border-left:3px solid var(--accent);background:var(--accent-soft)}.notif-item:hover{border-color:var(--border-light)}.notif-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notif-item.read .notif-dot{opacity:0}.notif-body{flex:1;min-width:0}.notif-title{margin:0 0 .25rem;font-size:.9375rem;font-weight:700}.notif-msg{color:var(--text-secondary);margin:0;font-size:.875rem}.notif-date{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}.admin-shell{flex-direction:column;flex:1;display:flex;overflow:hidden}.admin-side{background:var(--bg-panel);border-bottom:1px solid var(--border);scrollbar-width:thin;flex-direction:row;flex-shrink:0;align-items:center;gap:.15rem;width:100%;padding:.45rem 1rem;display:flex;overflow-x:auto}.admin-nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-align:left;background:0 0;border:none;flex-shrink:0;padding:.45rem .75rem;font-size:.83rem;font-weight:600;transition:background .15s,color .15s}.admin-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.admin-nav-item.active{background:var(--accent-soft);color:var(--accent)}.admin-head-role{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-right:1px solid var(--border);flex-shrink:0;margin-right:.7rem;padding-right:.85rem;font-size:.75rem;font-weight:800}.sub-review-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.sub-review-course-select{align-items:center;gap:.5rem;display:flex}.sub-review-course-select label{color:var(--text-secondary);font-size:.8rem;font-weight:700}.sub-review-course-select select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);min-width:200px;padding:.45rem .75rem;font-size:.85rem}.sub-review-summary{color:var(--text-muted);margin:0 0 1rem;font-size:.8rem}.sub-review-summary b{color:var(--accent)}.sub-review-empty{color:var(--text-muted);padding:1rem 0;font-size:.875rem}.sub-review-empty--sm{padding:.5rem .75rem;font-size:.8rem}.sub-review-reselect{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;padding:.4rem .7rem;font-size:.8rem;font-weight:700;transition:border-color .15s,color .15s}.sub-review-reselect:hover{border-color:var(--accent);color:var(--accent)}.sub-review-landing{flex-direction:column;gap:2rem;padding-top:.25rem;display:flex}.sub-landing-section{flex-direction:column;gap:.75rem;display:flex}.sub-landing-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:800}.sub-review-unit{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);margin-bottom:.75rem;overflow:hidden}.sub-review-unit-head{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:.85rem 1rem;display:flex}.sub-review-unit-head:hover{background:var(--bg-hover)}.sub-review-unit-title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;display:flex}.sub-review-unit-badge{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:.1rem .4rem;font-size:.7rem;font-weight:800}.sub-review-unit-meta{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.78rem;display:flex}.sub-review-unit-body{border-top:1px solid var(--border);padding:.5rem 1rem 1rem}.sub-review-block{border-top:1px dashed var(--border);margin-top:.75rem;padding-top:.75rem}.sub-review-block:first-child{border-top:none;margin-top:.25rem;padding-top:0}.sub-review-block-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.sub-review-block-title{color:var(--text-primary);font-size:.85rem;font-weight:700}.sub-review-block-count{color:var(--text-muted);font-size:.75rem}.sub-review-block-head{flex-wrap:wrap;justify-content:flex-start;gap:.6rem}.sub-review-block-title{margin-right:auto}.sub-review-fill-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;padding:.28rem .6rem;font-size:.74rem;font-weight:700}.sub-review-fill-btn:hover{border-color:var(--accent);color:var(--accent)}.fill-ov{z-index:5000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.fill-modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:min(640px,100%);max-height:90vh;display:flex;overflow:hidden}.fill-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.9rem 1.1rem;font-size:.95rem;font-weight:800;display:flex}.fill-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:1.05rem}.fill-body{padding:1rem 1.1rem;overflow:hidden auto}.fill-student{align-items:center;gap:.6rem;margin-bottom:.9rem;display:flex}.fill-student-label{color:var(--text-secondary);flex-shrink:0;font-size:.85rem;font-weight:700}.fill-student select{border:1px solid var(--border);background:var(--bg-input);min-width:0;color:var(--text-primary);font:inherit;border-radius:10px;flex:1;padding:.55rem .7rem;font-size:.9rem}.fill-hint{color:var(--text-muted);text-align:center;padding:1.5rem 0;font-size:.88rem}.fill-foot{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:.6rem;padding:.8rem 1.1rem;display:flex}.fill-cancel{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:10px;padding:.6rem 1.1rem;font-weight:700}.fill-save{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.6rem 1.4rem;font-weight:800}.fill-save:disabled,.fill-cancel:disabled{opacity:.55;cursor:default}.sub-review-block--lecture{border-left:3px solid var(--accent);padding-left:.7rem}.sub-review-lecture-tag{background:var(--accent-soft,#7c3aed1f);color:var(--accent);vertical-align:middle;border-radius:999px;margin-left:.45rem;padding:.05rem .4rem;font-size:.68rem;font-weight:800;display:inline-block}.sub-review-confirms{flex-wrap:wrap;gap:.4rem;display:flex}.sub-review-confirm-chip{border:1px solid var(--border);background:var(--bg-panel);color:var(--text-primary);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.sub-review-confirm-time{color:var(--text-muted);font-size:.68rem;font-weight:500}.sub-review-entries{flex-direction:column;gap:.5rem;display:flex}.sub-review-entry{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);padding:.65rem .85rem}.sub-review-entry-head{align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.sub-review-entry-user{color:var(--text-primary);font-size:.82rem;font-weight:700}.sub-review-entry-time{color:var(--text-muted);margin-left:auto;font-size:.72rem}.sub-review-entry-del{border:1px solid var(--border);background:var(--bg-card);color:var(--danger,#dc2626);cursor:pointer;border-radius:6px;flex-shrink:0;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.sub-review-entry-del:hover{border-color:var(--danger,#dc2626);background:#dc262614}.sub-review-entry-empty{color:var(--text-muted);margin:0;font-size:.8rem;font-style:italic}.sub-review-answers{flex-direction:column;gap:.3rem;margin:0;display:flex}.sub-review-answer-row{grid-template-columns:130px 1fr;align-items:start;gap:.5rem;display:grid}.sub-review-answer-row dt{color:var(--text-secondary);font-size:.75rem;font-weight:700}.sub-review-answer-row dd{color:var(--text-primary);word-break:break-word;white-space:pre-wrap;margin:0;font-size:.82rem}.sub-review-answer-img{border:1px solid var(--border);border-radius:6px;width:100%;max-width:240px;margin-bottom:.25rem;display:block}@media (width<=720px){.sub-review-answer-row{grid-template-columns:1fr;gap:.1rem}}.sub-review-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;padding-bottom:.75rem;display:flex}.sub-review-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sub-review-mode{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.sub-review-mode-btn{background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border:none;padding:.4rem .7rem;font-size:.8rem;font-weight:700}.sub-review-mode-btn+.sub-review-mode-btn{border-left:1px solid var(--border)}.sub-review-mode-btn.active{background:var(--accent);color:#fff}.sub-review-play-btn,.sub-review-export-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);padding:.45rem .85rem;font-size:.8rem;font-weight:700}.sub-review-play-btn{background:var(--accent);color:#fff;border-color:var(--accent)}.sub-review-export-btn{background:var(--bg-card);color:var(--text-primary)}.sub-review-play-btn:disabled,.sub-review-export-btn:disabled{opacity:.5;cursor:not-allowed}.unit-pick-ov{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.unit-pick{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:100%;max-width:520px;max-height:min(80vh,640px);padding:1.1rem 1.25rem;display:flex;box-shadow:0 20px 60px #00000059}.unit-pick-head{color:var(--text-primary);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:1.05rem;font-weight:800;display:flex}.unit-pick-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:.2rem .35rem;font-size:1rem;line-height:1}.unit-pick-empty{color:var(--text-muted);margin:.5rem 0 0;font-size:.85rem}.unit-pick-bulk{flex-shrink:0;align-items:center;gap:6px;margin-bottom:.6rem;display:flex}.unit-pick-bulk-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-base);color:var(--text-primary);cursor:pointer;padding:.3rem .6rem;font-size:.75rem;font-weight:700}.unit-pick-count{color:var(--text-muted);margin-left:auto;font-size:.75rem;font-weight:600}.unit-pick-list{border:1px solid var(--border);background:var(--bg-base);border-radius:10px;flex-direction:column;flex:auto;gap:2px;min-height:0;padding:.35rem;display:flex;overflow-y:auto}.unit-pick-row{cursor:pointer;color:var(--text-primary);border-radius:8px;align-items:center;gap:8px;padding:.5rem .55rem;font-size:.85rem;display:flex}.unit-pick-row:hover{background:var(--bg-hover)}.unit-pick-row input{cursor:pointer;flex-shrink:0}.unit-pick-badge{background:var(--accent-soft);color:var(--accent);border-radius:5px;flex-shrink:0;padding:.1rem .35rem;font-size:.68rem;font-weight:800}.unit-pick-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.unit-pick-meta{color:var(--text-muted);flex-shrink:0;font-size:.72rem}.unit-pick-btns{flex-shrink:0;justify-content:flex-end;gap:8px;margin-top:.9rem;display:flex}.unit-pick-cancel,.unit-pick-go{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);padding:.45rem .9rem;font-size:.8rem;font-weight:700}.unit-pick-cancel{background:var(--bg-base);color:var(--text-primary)}.unit-pick-go{background:var(--accent);color:#fff;border-color:var(--accent)}.unit-pick-go:disabled{opacity:.5;cursor:not-allowed}.sub-review-unit-head-row{align-items:stretch;display:flex}.sub-review-unit-head-row .sub-review-unit-head{flex:1}.sub-review-unit-play{text-align:center;border:none;border-left:1px solid var(--border);color:var(--accent);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;padding:0 .9rem;font-size:.78rem;font-weight:700;text-decoration:none;display:flex}.sub-review-unit-play:hover{background:var(--accent-soft)}.slideshow-overlay{z-index:2000;background:#0b1220;flex-direction:column;display:flex;position:fixed;inset:0}.slideshow-topbar{color:#e2e8f0;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.slideshow-title{opacity:.85;font-size:.9rem;font-weight:700}.slideshow-topbar-actions{gap:.5rem;display:flex}.slideshow-btn{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:999px;padding:.4rem .85rem;font-size:.8rem;font-weight:700}.slideshow-btn:hover{background:#ffffff29}.slideshow-btn:disabled{opacity:.5;cursor:not-allowed}.slideshow-btn--close{color:#fca5a5;border-color:#f8717166}.slideshow-stage{flex:1;justify-content:center;align-items:center;gap:1rem;min-height:0;padding:.5rem 1rem;display:flex}.slideshow-nav{color:#e2e8f0;cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:999px;flex:none;width:48px;height:48px;font-size:1.75rem;line-height:1}.slideshow-nav:hover{background:#ffffff29}.slideshow-nav:disabled{opacity:.25;cursor:not-allowed}.slide{border-radius:12px;flex:1;min-width:0;height:100%;animation:.2s slide-in;overflow:hidden;box-shadow:0 20px 60px #00000080}.slideshow-overlay:fullscreen .slide{box-shadow:none;border-radius:0}.slideshow-overlay:fullscreen .slideshow-stage{padding:.5rem}@keyframes slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.slide--section{background:linear-gradient(135deg,#1e293b,#0f172a);justify-content:center;align-items:center;display:flex}.slide-section{text-align:center;padding:2rem}.slide-section-title{color:#fff;margin:0 0 .75rem;font-size:clamp(2.25rem,6vw,4.15rem);font-weight:800}.slide-section-subtitle{color:#94a3b8;margin:0;font-size:clamp(1.35rem,3vw,1.75rem)}.slide--content{background:#fff;flex-direction:column;display:flex}.slide-content{flex-direction:column;height:100%;padding:clamp(1rem,3vw,2.25rem);display:flex}.slide-content-head{border-bottom:2px solid #e2e8f0;margin-bottom:1rem;padding-bottom:.75rem}.slide-content-title{color:#0f172a;margin:0 0 .35rem;font-size:clamp(1.7rem,4.5vw,2.85rem);font-weight:800}.slide-content-meta{color:#64748b;gap:1rem;margin:0;font-size:clamp(1.2rem,2.4vw,1.5rem);display:flex}.slide-content-user{color:#2563eb;font-weight:700}.slide-content-body{flex-direction:column;flex:1;gap:.9rem;display:flex;overflow-y:auto}.slide-answer{flex-direction:column;gap:.15rem;display:flex}.slide-answer-label{color:#2563eb;font-size:clamp(1.1rem,2.25vw,1.45rem);font-weight:700}.slide-answer-value{color:#1e293b;white-space:pre-wrap;word-break:break-word;font-size:clamp(1.35rem,2.7vw,1.75rem);line-height:1.5}.slide-answer-image{cursor:zoom-in;border:1px solid #e2e8f0;border-radius:8px;max-width:min(480px,100%);max-height:40vh;margin:.25rem 0;transition:box-shadow .15s;display:block}.slide-answer-image:hover{box-shadow:0 4px 16px #2563eb59}.slide-answer-video{background:#000;border:1px solid #e2e8f0;border-radius:8px;max-width:min(640px,100%);max-height:55vh;margin:.25rem 0;display:block}.slide-content-empty{color:#94a3b8;font-size:1.35rem;font-style:italic}.slide-zoom{z-index:20;cursor:zoom-out;background:#020617eb;justify-content:center;align-items:center;padding:2.5rem;animation:.15s slide-in;display:flex;position:absolute;inset:0}.slide-zoom-img{object-fit:contain;border-radius:10px;max-width:100%;max-height:100%;box-shadow:0 24px 80px #0009}.slide-zoom-close{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:50%;width:42px;height:42px;font-size:1.1rem;position:absolute;top:1rem;right:1rem}.slide-zoom-close:hover{background:#fff3}.slideshow-footer{align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.slideshow-progress{cursor:pointer;background:#ffffff26;border-radius:999px;flex:1;height:8px;overflow:hidden}.slideshow-progress:hover{background:#ffffff40}.slideshow-progress-fill{background:var(--accent);pointer-events:none;height:100%;transition:width .2s}.slideshow-counter{color:#94a3b8;justify-content:flex-end;align-items:center;gap:5px;min-width:74px;font-size:.85rem;font-weight:700;display:inline-flex}.slideshow-page-input{text-align:center;color:#fff;background:#ffffff1a;border:1px solid #ffffff40;border-radius:6px;width:3.2ch;padding:.15rem .2rem;font-size:.85rem;font-weight:700}.slideshow-page-input:focus{border-color:var(--accent);background:#fff3;outline:none}.slideshow-page-total{color:#94a3b8}.admin-main{flex:1;padding:2rem 2.5rem;overflow-y:auto}.admin-table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.admin-role-select{color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:7px;padding:.3rem .5rem;font-size:.8rem;font-weight:600}.admin-role-select:hover{border-color:var(--accent)}.admin-note-cell{text-align:left;cursor:pointer;max-width:200px;font:inherit;background:0 0;border:none;padding:2px 0}.admin-note-preview{-webkit-line-clamp:2;color:var(--text-secondary);-webkit-box-orient:vertical;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.admin-note-cell:hover .admin-note-preview{color:var(--text-primary)}.admin-note-empty{color:var(--text-muted);font-size:.76rem}.admin-note-cell:hover .admin-note-empty{color:var(--accent)}.admin-role-select:focus{border-color:var(--accent);outline:none}.admin-table{border-collapse:collapse;width:100%;font-size:.875rem}.admin-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);background:var(--bg-panel);padding:.75rem 1rem;font-size:.75rem;font-weight:700}.admin-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:.875rem 1rem}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--bg-hover)}.admin-bulk-bar{flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 .75rem;display:flex}.admin-bulk-count{color:var(--text-secondary);white-space:nowrap;font-size:.82rem;font-weight:700}.admin-bulk-msg{font-size:.82rem;font-weight:600}.admin-check-col{width:36px;text-align:center!important}.admin-check-col input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;vertical-align:middle}.admin-table tr.is-checked td{background:var(--accent-soft)}.enrolled-students-panel .admin-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.enrolled-students-panel .admin-table{min-width:760px}.enrolled-students-panel .admin-table th,.enrolled-students-panel .admin-table td,.enrolled-students-panel .admin-table .btn{white-space:nowrap}.enrolled-students-panel .admin-table td:has(.admin-note-cell){white-space:normal}.admin-member-search{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-input);width:100%;max-width:340px;color:var(--text-primary);font:inherit;border-radius:9px;margin:0 0 .75rem;padding:.5rem .75rem;font-size:.86rem}.admin-member-search:focus{border-color:var(--accent);outline:none}.admin-member-tabs{gap:.4rem;margin:0 0 .9rem;display:flex}.admin-member-tab{border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:.4rem .95rem;font-size:.85rem;font-weight:700}.admin-member-tab:hover{border-color:var(--accent);color:var(--accent)}.admin-member-tab.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.admin-th-sort{cursor:pointer;font:inherit;font-size:inherit;font-weight:inherit;color:inherit;white-space:nowrap;background:0 0;border:0;padding:0}.admin-th-sort:hover{color:var(--accent)}.admin-home>*{flex-shrink:0}.admin-home .sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ah-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;flex-wrap:wrap;align-items:flex-start;gap:1.2rem;padding:1rem 1.2rem;display:flex}.ah-col{flex-direction:column;flex:1;gap:4px;min-width:220px;display:flex}.ah-col-title{color:var(--text-muted);text-transform:none;margin:0 0 2px;font-size:.78rem;font-weight:800}.ah-item{color:var(--text-primary);margin:0;font-size:.86rem}.ah-item.done{opacity:.5;text-decoration:line-through}.ah-empty{color:var(--text-muted);margin:0;font-size:.82rem}.ah-open{color:var(--accent);white-space:nowrap;align-self:center;font-size:.83rem;font-weight:800;text-decoration:none}.ah-open:hover{text-decoration:underline}.ah-inline-link{color:var(--accent);font-weight:700;text-decoration:none}.ah-inline-link:hover{text-decoration:underline}.ah-goals{flex-direction:column;gap:.6rem;min-width:0;display:flex}.ah-goals-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ah-goals-title{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:800}.ah-unit-card{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:14px;flex-direction:column;gap:4px;padding:.9rem 1rem;text-decoration:none;display:flex}.ah-unit-card:hover{border-color:var(--accent)}.ah-unit-course{color:var(--text-muted);margin:0;font-size:.72rem;font-weight:700}.ah-unit-title{margin:0;font-size:.9rem}.ah-unit-count{color:var(--accent);margin:0;font-size:.78rem;font-weight:800}.ah-unit-blocks{color:var(--text-secondary);flex-wrap:wrap;gap:6px;font-size:.72rem;display:flex}.home-tool-card{position:relative}.home-fav-star{cursor:pointer;opacity:.5;background:0 0;border:none;padding:2px;font-size:.95rem;line-height:1;transition:opacity .15s,transform .15s;position:absolute;top:6px;right:8px}.home-fav-star:hover{opacity:1;transform:scale(1.2)}.home-fav-star.on{opacity:1}.admin-store-intro{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.85rem;line-height:1.6}.admin-store-block-title{margin:0 0 .75rem;font-size:.95rem;font-weight:700}.admin-store-bar{z-index:5;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;padding:.55rem .9rem;display:flex;position:sticky;top:0}.admin-store-bar-title{font-size:.9rem;font-weight:700}.admin-store-bar-right{align-items:center;gap:.75rem;display:flex}.admin-store-dirty{color:var(--warning);font-size:.8rem;font-weight:650}.admin-store-saved{color:var(--success);font-size:.8rem;font-weight:650}.admin-store-group{margin-bottom:1.1rem}.admin-store-group-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .45rem;padding-left:.15rem;font-size:.7rem;font-weight:700}.admin-store-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);grid-template-columns:1fr auto auto;align-items:center;gap:1rem;margin-bottom:.4rem;padding:.55rem .85rem;transition:border-color .15s,background .15s;display:grid}.admin-store-row.is-dirty{border-color:rgba(var(--cat-tool-rgb), .55);background:rgba(var(--cat-tool-rgb), .06)}.admin-store-row-name{align-items:center;gap:.5rem;min-width:0;font-size:.88rem;font-weight:600;display:flex}.admin-store-row-name .emoji{flex-shrink:0;font-size:1.1rem}.admin-price{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:.25rem;padding:.28rem .55rem;display:inline-flex}.admin-price:focus-within{border-color:var(--accent)}.admin-price .won{color:var(--text-muted);font-size:.82rem}.admin-price input{width:84px;color:var(--text-primary);font:inherit;text-align:right;background:0 0;border:none;outline:none;font-size:.86rem}.admin-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:inline-flex;position:relative}.admin-switch input{opacity:0;width:0;height:0;position:absolute}.admin-switch-track{background:var(--bg-hover);border:1px solid var(--border);border-radius:999px;flex-shrink:0;width:38px;height:22px;transition:background .15s,border-color .15s;position:relative}.admin-switch-track:after{content:"";background:var(--text-muted);border-radius:50%;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.admin-switch input:checked+.admin-switch-track{background:rgba(var(--cat-feedback-rgb), .25);border-color:var(--cat-feedback)}.admin-switch input:checked+.admin-switch-track:after{background:var(--cat-feedback);transform:translate(16px)}.admin-switch-label{color:var(--text-muted);width:3rem;font-size:.76rem}.admin-switch input:checked~.admin-switch-label{color:var(--cat-feedback)}.addstu-overlay{z-index:1500;background:#00000080;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.addstu-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;width:min(560px,100%);max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000059}.addstu-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:1.1rem 1.25rem;display:flex}.addstu-title{color:var(--text-primary);margin:0 0 .2rem;font-size:1.05rem;font-weight:800}.addstu-sub{color:var(--text-muted);margin:0;font-size:.8rem}.addstu-x{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1rem}.addstu-toolbar{gap:.5rem;padding:.85rem 1.25rem .5rem;display:flex}.addstu-search{border:1px solid var(--border);background:var(--bg-input,var(--bg-base));color:var(--text-primary);border-radius:8px;flex:1;padding:.5rem .7rem;font-size:.85rem}.addstu-add-btn{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.82rem;font-weight:700}.addstu-add-btn:disabled{opacity:.5;cursor:not-allowed}.addstu-msg{color:#15803d;margin:0 1.25rem .5rem;font-size:.8rem;font-weight:700}.addstu-list{flex-direction:column;flex:1;gap:.35rem;padding:.5rem 1.25rem 1.25rem;display:flex;overflow-y:auto}.addstu-empty{text-align:center;color:var(--text-muted);padding:1.5rem;font-size:.85rem}.addstu-row{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:.6rem;padding:.55rem .7rem;display:flex}.addstu-row:hover:not(.is-enrolled){border-color:var(--accent)}.addstu-row.is-sel{border-color:var(--accent);background:var(--accent-soft)}.addstu-row.is-enrolled{opacity:.65;cursor:default;background:var(--bg-hover)}.addstu-row--note{cursor:default;flex-direction:column;align-items:stretch;gap:.4rem}.addstu-row--note:hover{border-color:var(--border)}.addstu-row-main{align-items:center;gap:.6rem;display:flex}.addstu-note-btn{font:inherit;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;margin-left:auto;padding:.25rem .6rem;font-size:.74rem;font-weight:700}.addstu-note-btn:hover{border-color:var(--accent);color:var(--accent)}.addstu-note-text{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:.8rem;line-height:1.5}.addstu-note-edit{flex-direction:column;gap:.4rem;display:flex}.addstu-note-edit textarea{font:inherit;resize:vertical;border:1px solid var(--accent);background:var(--bg-input);width:100%;color:var(--text-primary);border-radius:8px;padding:.5rem .6rem;font-size:.85rem}.addstu-note-actions{justify-content:flex-end;gap:.4rem;display:flex}.addstu-note-actions button{font:inherit;cursor:pointer;border:none;border-radius:7px;padding:.3rem .8rem;font-size:.78rem;font-weight:700}.addstu-note-cancel{background:var(--bg-hover);color:var(--text-secondary)}.addstu-note-save{background:var(--accent);color:#fff}.addstu-note-save:disabled{opacity:.6;cursor:default}.addstu-check{text-align:center;width:1.2rem;color:var(--accent);font-weight:900}.addstu-row.is-enrolled .addstu-check{color:#16a34a}.addstu-name{color:var(--text-primary);flex-shrink:0;font-size:.85rem;font-weight:700}.addstu-email{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8rem;overflow:hidden}.addstu-badge{background:var(--bg-hover);color:var(--text-muted);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.7rem;font-weight:700}.addstu-badge.enrolled{color:#15803d;background:#16a34a24}.referral-create-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);flex-direction:column;gap:1rem;margin-bottom:1.75rem;padding:1.1rem 1.25rem;display:flex}.referral-create-title{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:800}.referral-create-field{flex-direction:column;gap:.5rem;display:flex}.referral-create-label-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.referral-create-label{color:var(--text-secondary);font-size:.8rem;font-weight:700}.referral-alltools{color:var(--accent);cursor:pointer;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;display:inline-flex}.referral-tool-grid{flex-wrap:wrap;gap:.4rem;display:flex}.referral-tool-chip{border:1px solid var(--border);cursor:pointer;background:var(--bg-base);color:var(--text-secondary);border-radius:999px;align-items:center;gap:.3rem;padding:.35rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.referral-tool-chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.referral-tool-chip input{display:none}.referral-create-row{flex-wrap:wrap;gap:1rem;display:flex}.referral-create-inline{flex-direction:column;gap:.3rem;display:flex}.referral-create-inline select,.referral-create-inline input{border:1px solid var(--border);background:var(--bg-input,var(--bg-base));color:var(--text-primary);border-radius:8px;padding:.45rem .6rem;font-size:.82rem}.referral-create-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:.55rem 1.1rem;font-size:.85rem;font-weight:700}.referral-create-btn:disabled{opacity:.6;cursor:not-allowed}.referral-qr{background:var(--bg-panel);border:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;align-items:center;gap:1.1rem;padding:1rem;display:flex}.referral-qr-canvas{border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:none;flex-shrink:0;padding:8px;line-height:0;transition:transform .15s,box-shadow .15s;position:relative}.referral-qr-canvas:hover{transform:scale(1.04);box-shadow:0 8px 22px #00000040}.referral-qr-expand{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#000000b8;border-radius:999px;padding:2px 8px;font-size:.6rem;font-weight:700;line-height:1.4;transition:opacity .15s;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.referral-qr-canvas:hover .referral-qr-expand{opacity:1}.referral-qr-overlay{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08080ceb;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:24px;animation:.16s qr-overlay-in;display:flex;position:fixed;inset:0}@keyframes qr-overlay-in{0%{opacity:0}to{opacity:1}}.referral-qr-overlay-card{background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:12px;max-width:92vw;padding:24px;animation:.2s cubic-bezier(.2,.8,.2,1) qr-card-in;display:flex;box-shadow:0 30px 80px #00000080}@keyframes qr-card-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.referral-qr-overlay-card canvas{width:auto;max-width:82vw;height:auto;max-height:64vh}.referral-qr-overlay-code{letter-spacing:.08em;color:#0a0a0a;margin:0;font-family:monospace;font-size:1.6rem;font-weight:800}.referral-qr-overlay-link{color:#555;word-break:break-all;text-align:center;max-width:520px;margin:0;font-size:.8rem}.referral-qr-overlay-x{color:#fff;cursor:pointer;background:#ffffff29;border:none;border-radius:50%;width:44px;height:44px;font-size:1.1rem;transition:background .15s;position:fixed;top:20px;right:24px}.referral-qr-overlay-x:hover{background:#ffffff4d}.referral-qr-overlay-tip{color:#fff9;margin:0;font-size:.78rem}.referral-qr-side{flex-direction:column;gap:.5rem;min-width:0;display:flex}.referral-qr-hint{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.5}.referral-qr-hint b{color:var(--accent);letter-spacing:.03em;font-family:monospace}.referral-qr-link{color:var(--text-muted);word-break:break-all;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.35rem .5rem;font-size:.74rem}.referral-qr-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=480px){.referral-qr{flex-direction:column;align-items:flex-start}}.admin-pkg-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:760px;padding:1.1rem 1.25rem}.admin-pkg-form-row{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.admin-pkg-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font:inherit;padding:.5rem .65rem}.admin-pkg-input:focus{border-color:var(--accent);outline:none}.admin-pkg-toolgrid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;margin-bottom:14px;display:grid}.admin-pkg-tool{cursor:pointer;border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:6px;padding:.35rem .5rem;font-size:.8rem;transition:background .12s,border-color .12s;display:flex}.admin-pkg-tool:hover{background:var(--bg-hover)}.admin-pkg-tool.is-on{background:var(--accent-soft);border-color:var(--accent)}.admin-explorer-add-row{justify-content:space-between;align-items:center;margin-bottom:.625rem;padding:0 .125rem;display:flex}.admin-explorer-level-label{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:700}.admin-explorer-add-btn{color:var(--accent);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.25rem .5rem;font-size:.8125rem;font-weight:700;transition:background .15s}.admin-explorer-add-btn:hover{background:var(--accent-soft)}.admin-explorer-item{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.875rem 1rem;transition:border-color .15s,background .15s;display:flex}.admin-explorer-item:hover{border-color:var(--accent);background:var(--accent-soft)}.admin-explorer-item:focus-visible,.admin-explorer-btn:focus-visible,.admin-explorer-add-btn:focus-visible,.admin-feature-modal-x:focus-visible,.course-price-toggle:focus-visible,.course-publish-toggle:focus-visible,.block-visibility-opt:focus-visible,.block-vis-tools button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-course-thumb{border-radius:var(--radius-sm);background:var(--thumb-fallback);border:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:2.25rem;font-size:1rem;display:inline-flex;overflow:hidden}.admin-course-thumb img{object-fit:cover;width:100%;height:100%;display:block}.admin-explorer-item.is-skeleton{pointer-events:none;cursor:default}.admin-explorer-item.is-skeleton .admin-course-thumb{background:var(--bg-hover);opacity:.5;border-color:#0000}.admin-skeleton-line{background:var(--bg-hover);opacity:.5;border-radius:999px;height:.875rem;display:block}.admin-skeleton-line.is-short{width:34%;height:.75rem}.admin-confirm-msg{color:var(--text-secondary);word-break:keep-all;margin:0;font-size:.9375rem;line-height:1.6}.admin-confirm-msg b{color:var(--text-primary)}.block-reorder-list{flex-direction:column;display:flex}.block-reorder-slot{position:relative}.block-reorder-item{cursor:grab}.block-reorder-item:active{cursor:grabbing}.block-reorder-item.is-dragging{opacity:.4;border-style:dashed;border-color:var(--accent)}.block-drag-handle{color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:-2px;flex-shrink:0;padding:0 .15rem;font-size:1.1rem;line-height:1}.block-reorder-item:hover .block-drag-handle{color:var(--accent)}.block-drop-indicator{background:var(--accent);border-radius:999px;height:0;margin:0;transition:height .12s,margin .12s}.block-drop-indicator.is-visible{height:3px;box-shadow:0 0 6px var(--accent);margin:.15rem 0}.admin-explorer-item-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.admin-course-price-badge{background:var(--accent-soft);color:var(--accent);border-radius:.25rem;align-items:center;padding:.0625rem .375rem;font-size:.75rem;font-weight:600;display:inline-flex}.admin-course-group+.admin-course-group{margin-top:1rem}.admin-course-archived{border-top:1px dashed var(--border);margin-top:1.6rem;padding-top:1rem}.admin-course-archived-head{color:var(--text-secondary);align-items:center;gap:6px;padding:.1rem .15rem .6rem;font-size:.8rem;font-weight:800;display:flex}.admin-course-archived .admin-explorer-item{opacity:.82}.admin-course-archived .admin-explorer-item:hover{opacity:1}.admin-course-group-head{color:var(--text-secondary);align-items:center;gap:6px;padding:.35rem .15rem .4rem;font-size:.78rem;font-weight:800;display:flex}.admin-course-group-count{background:var(--bg-hover);min-width:18px;height:18px;color:var(--text-secondary);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:.72rem;font-weight:700;display:inline-flex}.admin-course-price-badge.free{background:color-mix(in srgb, var(--success) 14%, transparent);color:var(--success)}.admin-explorer-item-title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.9375rem;font-weight:700;display:flex}.admin-explorer-order{background:var(--bg-base);border:1px solid var(--border);width:20px;height:20px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:inline-flex}.admin-explorer-item-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.admin-explorer-item-actions{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.admin-explorer-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;padding:.25rem .625rem;font-size:.75rem;font-weight:600;transition:border-color .15s,color .15s}.admin-explorer-btn:hover{border-color:var(--accent);color:var(--accent)}.admin-explorer-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.admin-badge{white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:700}.admin-badge.published{background:var(--accent-soft);color:var(--accent)}.admin-badge.draft{background:var(--bg-hover);color:var(--text-secondary)}.admin-badge.active{background:color-mix(in srgb, var(--success) 14%, transparent);color:var(--success)}.admin-badge.upcoming{background:var(--bg-hover);color:var(--text-secondary)}.admin-badge--lingo-server{background:var(--bg-hover);color:var(--text-secondary);cursor:help;align-items:center;gap:.25rem;display:inline-flex}.admin-badge.ended{background:var(--bg-hover);color:var(--text-secondary)}.admin-badge.scheduled{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning)}.admin-edit-idle{text-align:center;min-width:0;height:100%;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:2rem;display:flex}.admin-edit-idle-title{color:var(--text-secondary);margin:0;font-size:1rem;font-weight:700}.admin-edit-idle-desc{margin:0;font-size:.875rem;line-height:1.6}.admin-edit-idle-context{color:var(--text-secondary);background:var(--bg-hover);border-radius:999px;margin:0;padding:2px 10px;font-size:.8125rem;font-weight:600}.admin-edit-idle-add{margin-top:.5rem}.admin-edit-review{flex:1;min-width:0;height:100%;padding:1.5rem 1.75rem;overflow-y:auto}.sub-review--embed .sub-review-course-select select{min-width:140px}.admin-edit-empty{flex:1;justify-content:center;align-items:center;min-width:0;height:100%;padding:1.5rem;display:flex}.admin-edit-submissions{flex:1;min-width:0;height:100%;padding:1rem 1.1rem;overflow-y:auto}.admin-edit-empty-inner{text-align:center;max-width:320px}.admin-edit-empty-emoji{opacity:.7;font-size:2.5rem;line-height:1;display:block}.admin-edit-empty-title{color:var(--text-secondary);margin:.75rem 0 .35rem;font-size:1rem;font-weight:800}.admin-edit-empty-desc{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.6}.admin-edit-form{flex-direction:column;flex:1;gap:1.25rem;min-width:0;height:100%;padding:1.5rem;display:flex;overflow-y:auto}.admin-block-picker{flex-direction:column;flex:1;gap:1rem;min-width:0;height:100%;padding:1.5rem;display:flex;overflow-y:auto}.admin-block-picker-header{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.admin-block-search{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;color:var(--text-primary);box-sizing:border-box;outline:none;flex-shrink:0;padding:.5rem .75rem;font-size:.875rem}.admin-block-search:focus{border-color:var(--accent)}.admin-block-type-chip{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;text-align:left;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;display:flex}.admin-block-type-chip-change{color:var(--accent);opacity:.7;margin-left:auto;font-size:.75rem;font-weight:600;text-decoration:underline}.admin-block-type-badge{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);padding:.5rem .75rem;font-size:.8125rem;font-weight:600}.admin-edit-form-header{justify-content:space-between;align-items:center;display:flex}.admin-edit-form-title{color:var(--text-primary);font-size:1rem;font-weight:800}.admin-edit-checkbox{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.learn-content--admin .admin-edit-form-header{z-index:2;background:var(--bg-base);gap:.5rem;margin:-1.5rem 0 0;padding:1.5rem 0 .75rem;position:sticky;top:0}.admin-edit-form-header .admin-edit-form-close{flex-shrink:0;margin-left:auto}.admin-edit-form-header .admin-block-type-chip,.admin-edit-form-header .admin-block-type-badge{white-space:nowrap;text-overflow:ellipsis;border-radius:999px;width:auto;max-width:14rem;padding:.25rem .625rem;font-size:.78rem;overflow:hidden}.admin-edit-form-header .admin-block-type-chip-change{margin-left:.375rem}.admin-form-intro{flex-direction:column;gap:.875rem;display:flex}.admin-form-intro .modal-field{gap:.375rem}.admin-form-sec{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md,12px);flex-direction:column;gap:.875rem;padding:1rem;display:flex}.admin-form-sec>.modal-field{margin:0}.admin-form-sec--stage>.modal-field>label{color:var(--text-primary);font-size:.875rem;font-weight:700}.admin-form-sec--stage .cbb-summary>.btn{margin-left:auto}.admin-form-adv{border-top:1px solid var(--border);padding-top:.5rem}.admin-form-adv>summary{cursor:pointer;color:var(--text-secondary);align-items:center;gap:.5rem;padding:.375rem 0;list-style:none;display:flex}.admin-form-adv>summary::-webkit-details-marker{display:none}.admin-form-adv>summary:before{content:"›";color:var(--text-muted);font-size:1rem;line-height:1;transition:transform .15s}.admin-form-adv[open]>summary:before{transform:rotate(90deg)}.admin-form-adv>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.admin-edit-form .course-price-toggle.active,.admin-edit-form .block-visibility-opt.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:700}.admin-form-adv-title{font-size:.8125rem;font-weight:700}.admin-form-adv-sum{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.admin-form-adv-body{flex-direction:column;gap:.875rem;padding:.5rem 0 .25rem;display:flex}@media (prefers-reduced-motion:reduce){.admin-form-adv>summary:before{transition:none}}.admin-course-publish{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md,10px);flex-direction:column;gap:.875rem;padding:1rem;display:flex}.admin-course-period{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.admin-course-period .modal-field{margin:0}.admin-publish-hint{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.8125rem;line-height:1.5;display:flex}.admin-publish-hint .admin-badge{flex-shrink:0}.admin-course-period-meta{color:var(--text-muted);margin-left:.25rem;font-size:.6875rem}.course-thumb-upload{aspect-ratio:16/7;border:1.5px dashed var(--border);border-radius:var(--radius-md,10px);background:var(--bg-card);cursor:pointer;justify-content:center;align-items:center;width:100%;transition:border-color .15s,background .15s;display:flex;overflow:hidden}.course-thumb-upload:hover{border-color:var(--accent);background:var(--bg-hover)}.course-thumb-upload.uploading{opacity:.6;pointer-events:none}.course-thumb-upload img.course-thumb-preview{object-fit:cover;width:100%;height:100%;display:block}.course-thumb-placeholder{color:var(--text-muted);text-align:center;padding:1rem;font-size:.8125rem}.course-price-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.course-price-toggle{border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .875rem;font-size:.8125rem;font-weight:600;transition:all .15s}.course-price-toggle.active{background:var(--accent);border-color:var(--accent);color:#fff}.course-price-input-wrap{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm,6px);align-items:center;gap:.25rem;padding:0 .5rem;display:flex}.course-price-input{width:7rem;color:var(--text-primary);text-align:right;background:0 0;border:none;outline:none;padding:.35rem 0;font-size:.875rem}.course-price-unit{color:var(--text-secondary);font-size:.8125rem}.course-publish-row{align-items:center;gap:.75rem;display:flex}.course-publish-label{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.course-publish-toggle{background:var(--bg-hover);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:2.25rem;height:1.25rem;transition:background .2s;position:relative}.course-publish-toggle.on{background:var(--accent)}.course-publish-toggle-knob{background:#fff;border-radius:50%;width:calc(1.25rem - 4px);height:calc(1.25rem - 4px);transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.course-publish-toggle.on .course-publish-toggle-knob{transform:translate(1rem)}.course-periods{flex-direction:column;gap:.25rem;display:flex}.course-period-row{border:1px solid var(--border);border-radius:var(--radius-md,10px);transition:border-color .15s;overflow:hidden}.course-period-row.disabled{opacity:.45}.course-period-header{background:var(--bg-card);cursor:pointer;text-align:left;border:none;align-items:center;gap:.5rem;width:100%;padding:.6rem .875rem;font-size:.8125rem;display:flex}.course-period-row:not(.disabled) .course-period-header:hover{background:var(--bg-hover)}.course-period-icon{font-size:.875rem}.course-period-label{color:var(--text-secondary);min-width:4rem;font-weight:600}.course-period-range{color:var(--text-muted);text-align:right;flex:1;font-size:.75rem}.course-period-range.set{color:var(--accent);font-weight:500}.course-period-chevron{color:var(--text-muted);margin-left:.25rem;font-size:.625rem}.course-period-body{background:var(--bg-panel);border-top:1px solid var(--border);flex-direction:column;gap:.625rem;padding:.75rem .875rem .875rem;display:flex}.course-period-hint{color:var(--text-muted);margin:0;font-size:.75rem}.course-period-presets{flex-wrap:wrap;gap:.375rem;display:flex}.course-period-presets button{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:.2rem .625rem;font-size:.75rem;font-weight:500;transition:all .12s}.course-period-presets button:hover{border-color:var(--accent);color:var(--accent)}.course-period-presets button.preset-clear{color:var(--text-muted)}.course-period-inputs{align-items:center;gap:.5rem;display:flex}.course-period-field{flex:1;align-items:center;gap:.375rem;display:flex}.course-period-field-label{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.course-period-dash{color:var(--text-muted);font-size:.875rem}.cdate-wrap{flex:1;position:relative}.cdate-trigger{border:1px solid var(--border);border-radius:var(--radius-sm,6px);background:var(--bg-input);width:100%;color:var(--text-muted);cursor:pointer;text-align:left;white-space:nowrap;padding:.3rem .625rem;font-size:.8125rem;transition:border-color .15s}.cdate-trigger.has-value{color:var(--text-primary)}.cdate-trigger:hover{border-color:var(--accent)}.cdate-popover{z-index:200;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md,10px);min-width:220px;padding:.75rem;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0000002e}.cdate-nav{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.cdate-nav button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;padding:.1rem .4rem;font-size:1.1rem}.cdate-nav button:hover{background:var(--bg-hover)}.cdate-nav-label{color:var(--text-primary);font-size:.875rem;font-weight:700}.cdate-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cdate-dow{color:var(--text-muted);text-align:center;padding:.2rem 0;font-size:.65rem;font-weight:700}.cdate-day{aspect-ratio:1;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:100%;font-size:.75rem;transition:background .1s,color .1s;display:flex}.cdate-day:hover:not(.disabled){background:var(--bg-hover)}.cdate-day.today{color:var(--accent);font-weight:700}.cdate-day.selected{background:var(--accent);color:#fff;font-weight:700}.cdate-day.disabled{opacity:.3;cursor:not-allowed}.cdate-clear{width:100%;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-top:.5rem;padding:.25rem;font-size:.75rem}.cdate-clear:hover{color:var(--accent);border-color:var(--accent)}.cdate-time-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;display:flex}.cdate-time-label{color:var(--text-muted);font-size:.78rem}.cdate-time-input{color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:.25rem .4rem;font-size:.82rem}.cdate-time-input:focus{border-color:var(--accent);outline:none}@media (width<=768px){.cdate-popover{top:auto;left:12px;right:12px;bottom:calc(var(--mobile-nav-h,0px) + var(--kb,0px) + 12px);z-index:1400;min-width:0;max-height:calc(100dvh - var(--mobile-nav-h,0px) - 24px);padding:.9rem .9rem calc(.9rem + var(--safe-b,0px));position:fixed;overflow-y:auto;box-shadow:0 -8px 32px #00000047}.cdate-grid{gap:4px}.cdate-day{min-height:44px;font-size:.9rem}.cdate-nav button{min-width:44px;min-height:44px}.cdate-clear{min-height:44px}}.course-list-section{padding-bottom:2rem}.course-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:1rem;padding:0 1.5rem;display:grid}.course-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md,10px);flex-direction:column;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.course-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.course-card-thumb{aspect-ratio:16/9;background:var(--bg-panel);width:100%;position:relative;overflow:hidden}.course-type-group+.course-type-group{margin-top:1.5rem}.course-type-heading{color:var(--text-secondary);margin:0 0 .75rem;padding:0 1.5rem;font-size:.95rem;font-weight:800}.course-type-badge{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:999px;padding:.12rem .45rem;font-size:.68rem;font-weight:700;position:absolute;top:8px;left:8px}.course-type-badge.online{background:#2563ebeb}.course-type-badge.offline{background:#64748beb}.course-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.course-card-thumb-empty{width:100%;height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:2rem;display:flex}.course-card-body{flex-direction:column;flex:1;gap:.375rem;padding:.875rem;display:flex}.course-card-title{color:var(--text-primary);margin:0;font-size:.9375rem;font-weight:700;line-height:1.4}.course-card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8125rem;display:-webkit-box;overflow:hidden}.course-card-footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:.625rem;display:flex}.course-card-price{color:var(--text-primary);font-size:.875rem;font-weight:700}.course-card-price.free{color:var(--accent)}.course-card-enrolled{background:rgba(var(--accent-rgb,99,102,241), .12);color:var(--accent);border-radius:999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600}.course-card-enroll-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.3rem .875rem;font-size:.8125rem;font-weight:600;transition:opacity .15s}.course-card-enroll-btn:hover{opacity:.85}.course-card-enroll-btn:disabled{opacity:.5;cursor:not-allowed}.sub-gate{background:var(--bg-base);flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.sub-gate-card{background:var(--bg-surface);border:1px solid var(--border);text-align:center;border-radius:1rem;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:420px;padding:2.5rem 2rem;display:flex}.sub-gate-badge{letter-spacing:.07em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.25rem .75rem;font-size:.6875rem;font-weight:700}.sub-gate-title{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:800}.sub-gate-desc{color:var(--text-secondary);margin:0;font-size:.9375rem}.sub-gate-features{text-align:left;flex-direction:column;gap:.5rem;width:100%;margin:.5rem 0;padding:0;list-style:none;display:flex}.sub-gate-features li{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.sub-gate-check{color:#22c55e;flex-shrink:0;font-weight:700}.sub-gate-price-row{align-items:baseline;gap:.375rem;margin-top:.25rem;display:flex}.sub-gate-price{color:var(--text-primary);font-size:2rem;font-weight:800}.sub-gate-period{color:var(--text-muted);font-size:.875rem}.sub-gate-btn{color:#fff;cursor:pointer;background:#3182f6;border:none;border-radius:.625rem;width:100%;margin-top:.25rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:700;transition:opacity .15s}.sub-gate-btn:hover{opacity:.88}.sub-gate-btn:disabled{opacity:.5;cursor:not-allowed}.sub-gate-note{color:var(--text-muted);margin:0;font-size:.8125rem}.sub-gate-key-notice{text-align:center;background:#eab3081a;border:1px dashed #eab30866;border-radius:.5rem;flex-direction:column;gap:.375rem;width:100%;padding:.875rem 1rem;display:flex}.sub-gate-key-notice p{color:#b45309;margin:0;font-size:.9rem;font-weight:600}.sub-gate-key-notice code{color:var(--text-muted);background:var(--bg-base);border-radius:.25rem;padding:.25rem .5rem;font-size:.8125rem}.sub-badge-bar{background:#22c55e14;border-bottom:1px solid #22c55e33;align-items:center;gap:.75rem;padding:.5rem 1.25rem;font-size:.8125rem;display:flex}.sub-badge-active{color:#16a34a;background:#22c55e26;border-radius:999px;padding:.1875rem .625rem;font-weight:700}.sub-badge-next{color:var(--text-muted)}.sub-badge-cancel{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:.375rem;margin-left:auto;padding:.25rem .75rem;font-size:.8125rem}.sub-badge-cancel:hover{color:#ef4444;border-color:#ef4444}.payment-result-page{min-height:100dvh;padding:1.5rem 1rem calc(1.5rem + var(--safe-b,0px));background:var(--bg-base);justify-content:center;align-items:center;display:flex}.payment-result-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;width:100%;max-width:380px;box-shadow:var(--shadow-card);border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.5rem;display:flex}.payment-result-icon{font-size:3rem;line-height:1}.payment-result-icon img{aspect-ratio:1;width:clamp(72px,24vw,96px);height:auto}.payment-result-title{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700}.payment-result-desc{color:var(--text-secondary);overflow-wrap:anywhere;margin:0;font-size:.9375rem;line-height:1.6}.payment-result-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;width:100%;margin-top:.5rem;display:flex}.payment-result-btn{border:1px solid var(--border);background:var(--bg-hover);min-width:0;min-height:44px;color:var(--text-primary);cursor:pointer;border-radius:10px;flex:auto;justify-content:center;align-items:center;padding:.625rem 1.125rem;font-size:.9375rem;font-weight:700;text-decoration:none;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.payment-result-btn:hover{border-color:var(--border-light);text-decoration:none;transform:translateY(-1px)}.payment-result-btn.is-primary{background:var(--accent);color:#fff;border-color:#0000}.payment-result-btn.is-primary:hover{background:var(--accent-2);color:#fff}.payment-result-bar{background:var(--progress-track);border-radius:999px;width:140px;height:4px;overflow:hidden}.payment-result-bar:after{content:"";background:var(--accent);border-radius:999px;width:40%;height:100%;animation:1.1s ease-in-out infinite payResultBar;display:block}@keyframes payResultBar{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.payment-result-bar:after{width:100%;animation:none}}@media (height<=480px){.payment-result-page{padding:.75rem 1rem}.payment-result-card{gap:.5rem;padding:1.25rem}.payment-result-icon img{width:56px}}@media (prefers-reduced-motion:reduce){.payment-result-btn{transition:none}.payment-result-btn:hover{transform:none}}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.375rem;padding:.5625rem 1.125rem;font-size:.875rem;font-weight:700;transition:opacity .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){opacity:.88}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-light)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.modal-overlay{background:var(--bg-overlay);z-index:200;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:1.25rem;width:100%;max-width:480px;padding:2rem;display:flex}.modal-title{margin:0;font-size:1.125rem;font-weight:800}.modal-field{flex-direction:column;gap:.375rem;display:flex}.modal-field label{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.modal-field input,.modal-field textarea,.modal-field select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s}.modal-field input:focus,.modal-field textarea:focus,.modal-field select:focus{border-color:var(--accent)}.modal-actions{justify-content:flex-end;gap:.75rem;display:flex}@media (width<=768px){.modal-overlay{padding:1rem}.modal{max-height:calc(100dvh - 2rem - var(--kb,0px));-webkit-overflow-scrolling:touch;gap:.9rem;padding:1.25rem 1.1rem;overflow-y:auto}.modal-actions .btn{min-height:44px}}.admin-students-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 1rem;display:flex}.admin-students-head-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-feature-modal{gap:0;width:min(960px,94vw);max-width:min(960px,94vw);max-height:90vh;padding:0;position:relative;overflow:hidden}.admin-feature-modal-body{padding:2rem 2rem 2.25rem;overflow-y:auto}.admin-feature-modal-x{z-index:1;background:var(--bg-hover);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;transition:background .15s,color .15s;display:flex;position:absolute;top:.85rem;right:.95rem}.admin-feature-modal-x:hover{background:var(--border);color:var(--text-primary)}.page-header{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 2.5rem;display:flex}.page-header-title{margin:0;font-size:1.125rem;font-weight:800}.empty-state{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:3rem;display:flex}.empty-state-icon{opacity:.35;font-size:3rem}.empty-state-text{font-size:1rem;font-weight:600}@media (width<=768px){.dash-hero{grid-template-columns:1fr;padding:1.25rem}.dash-body{padding:1rem 1.25rem}.dash-stats{grid-template-columns:repeat(2,1fr)}.page-inner{padding:1.25rem}.critique-room-body{grid-template-columns:1fr}.critique-files-area{border-right:none;border-bottom:1px solid var(--border)}.curr-wrap,.assign-wrap{padding:1rem 1.25rem}.community-sidebar{display:none}.admin-side{gap:.1rem;padding:.4rem .75rem}.admin-head-role{margin-right:.45rem;padding-right:.55rem}.admin-main{padding:1rem 1.25rem calc(1rem + var(--mobile-nav-h,0px))}.admin-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table{min-width:640px}.profile-wrap{padding:1rem 1.25rem calc(1rem + var(--mobile-nav-h,0px))}.notif-wrap{padding:1rem 1.25rem}.critique-list-panel{width:100%;min-width:0}.critique-shell{flex-direction:column}.profile-theme-grid{grid-template-columns:repeat(3,1fr)}.community-list{padding:1rem 1.25rem calc(var(--mobile-nav-h,0px) + 7rem)}.community-home-row{min-height:44px}.community-home-box{padding:.875rem 1rem}.community-header{padding:1rem 1.25rem}.community-fab{right:12px;bottom:calc(var(--mobile-nav-h,0px) + 10px + 48px + 8px);min-height:44px;padding:0 14px 0 11px}.post-detail-wrap{padding:1rem 1.25rem}}@media (width<=480px){.dash-stat{padding:1rem}.dash-stat-value{font-size:1.5rem}.profile-theme-grid{grid-template-columns:repeat(2,1fr)}.notif-header{flex-wrap:wrap;gap:.5rem}.comment-input-row{flex-direction:column;align-items:stretch}.assign-card{gap:.875rem;padding:1rem}.admin-store-row{grid-template-columns:1fr;gap:.5rem}.admin-price input{width:64px}.admin-course-period{grid-template-columns:1fr}}.home-course-grid{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:1rem;display:grid}.home-course-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;overflow:hidden}.home-course-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card);transform:translateY(-2px)}.home-course-thumb{aspect-ratio:16/9;background:linear-gradient(135deg, var(--accent-soft), var(--bg-panel));justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.home-course-thumb img{object-fit:cover;width:100%;height:100%}.home-course-thumb-fallback{opacity:.85;font-size:2.2rem}.home-course-pct{color:#fff;background:#0009;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:800;position:absolute;top:8px;right:8px}.home-course-info{flex-direction:column;gap:.5rem;padding:.85rem .9rem 1rem;display:flex}.home-course-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:700;overflow:hidden}.home-course-track{background:var(--progress-track,var(--bg-panel));border-radius:3px;height:6px;overflow:hidden}.home-course-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .5s}.home-course-meta{color:var(--text-secondary);margin:0;font-size:.78rem}.home-tools-hero{align-items:center}.home-tools-cta{background:var(--accent);color:#fff;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:.6rem 1.1rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:opacity .12s,transform .12s;display:inline-flex}.home-tools-cta:hover{opacity:.9;transform:translateY(-1px)}.home-tool-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.85rem;display:grid}.home-tool-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:.75rem;padding:.85rem 1rem;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.home-tool-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card);transform:translateY(-2px)}.home-tool-emoji{background:var(--accent-soft);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.5rem;line-height:1;display:flex}.home-tool-title{min-width:0;color:var(--text-primary);flex:1;align-items:center;gap:6px;margin:0;font-size:.9rem;font-weight:700;display:flex}.home-tool-ai{letter-spacing:.03em;color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:1px 5px;font-size:.6rem;font-weight:800}.home-tool-blurb{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.home-course-cta{background:linear-gradient(120deg, var(--accent-soft), var(--bg-card));border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:1rem;padding:1.1rem 1.25rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.home-course-cta:hover{border-color:var(--accent);transform:translateY(-1px)}.home-course-cta-emoji{flex-shrink:0;font-size:1.8rem}.home-course-cta-text{flex:1;min-width:0}.home-course-cta-title{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:700}.home-course-cta-sub{color:var(--text-secondary);margin:2px 0 0;font-size:.8rem}.home-course-cta>svg{color:var(--accent);flex-shrink:0}.home-hero{border-bottom:1px solid var(--border);background:radial-gradient(130% 150% at 90% -20%, rgba(var(--accent-rgb,99, 102, 241), .16), transparent 55%), linear-gradient(135deg, var(--bg-card) 0%, var(--bg-base) 100%);flex-shrink:0;padding:2.25rem 2.5rem 2rem;position:relative;overflow:hidden}.home-hero-glow{background:radial-gradient(circle, rgba(var(--accent-2-rgb,124, 77, 255), .24), transparent 70%);filter:blur(6px);pointer-events:none;border-radius:50%;width:380px;height:380px;animation:10s ease-in-out infinite home-hero-float;position:absolute;top:-45%;right:6%}@keyframes home-hero-float{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-20px,18px)scale(1.1)}}.home-hero-content{z-index:1;grid-template-columns:1.2fr .85fr;align-items:center;gap:2rem;display:grid;position:relative}.home-hero-left{min-width:0}.home-hero-content--solo{grid-template-columns:1fr}.home-hero-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:rgba(var(--accent-rgb,99, 102, 241), .12);border-radius:999px;margin-bottom:.85rem;padding:.25rem .7rem;font-size:.7rem;font-weight:700;display:inline-block}.home-hero-title{letter-spacing:-.01em;color:var(--text-primary);margin:0 0 .55rem;font-size:1.7rem;font-weight:800;line-height:1.3}.home-hero-sub{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.92rem;line-height:1.55}.home-hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.home-hero-cta{background:linear-gradient(135deg, var(--accent), var(--accent-2,#7c4dff));color:#fff;box-shadow:0 6px 18px rgba(var(--accent-rgb,99, 102, 241), .3);border-radius:999px;align-items:center;gap:6px;padding:.65rem 1.2rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex}.home-hero-cta:hover{filter:brightness(1.05);box-shadow:0 8px 24px rgba(var(--accent-rgb,99, 102, 241), .4);transform:translateY(-1px)}.home-hero-ghost{color:var(--text-secondary);padding:.65rem .5rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:color .15s}.home-hero-ghost:hover{color:var(--accent)}.home-hero-flow{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:.5rem .6rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.home-flow-step{align-items:center;gap:.55rem;display:flex}.home-flow-icon{background:var(--bg-base);border:1px solid var(--border);border-radius:11px;flex-shrink:0;place-items:center;width:2.1rem;height:2.1rem;font-size:1rem;display:grid}.home-flow-text{flex-direction:column;line-height:1.2;display:flex}.home-flow-text strong{color:var(--text-primary);font-size:.82rem;font-weight:700}.home-flow-text small{color:var(--text-muted);font-size:.7rem}.home-flow-arrow{color:var(--text-muted);margin:0 .4rem;font-size:1rem}.home-trend-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.1rem 1.15rem}.home-trend-card-head{justify-content:space-between;align-items:center;margin-bottom:.9rem;display:flex}.home-trend-card-title{color:var(--text-primary);font-size:.85rem;font-weight:750}.home-trend-live{letter-spacing:.05em;color:#ef4444;background:#ef44441a;border-radius:999px;align-items:center;gap:4px;padding:.12rem .45rem;font-size:.62rem;font-weight:800;display:inline-flex}.home-trend-live-dot{background:#ef4444;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite home-pulse}@keyframes home-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.home-trend-chart{flex-direction:column;gap:.55rem;display:flex}.home-trend-row{align-items:center;gap:.55rem;display:flex}.home-trend-rank{background:var(--bg-hover);width:18px;height:18px;color:var(--text-muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:.62rem;font-weight:800;display:grid}.home-trend-rank[data-top=y]{background:var(--accent);color:#fff}.home-trend-kw{width:84px;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:.78rem;font-weight:600;overflow:hidden}.home-trend-track{background:var(--bg-hover);border-radius:999px;flex:1;height:8px;overflow:hidden}.home-trend-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2,#7c4dff));transform-origin:0;border-radius:999px;height:100%;animation:.75s cubic-bezier(.2,.8,.2,1) both home-bar-grow;display:block}@keyframes home-bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.home-trend-skeleton{flex-direction:column;gap:.6rem;display:flex}.home-trend-skel-row{background:linear-gradient(90deg, var(--bg-hover) 25%, var(--bg-panel) 50%, var(--bg-hover) 75%);background-size:200% 100%;border-radius:999px;height:14px;animation:1.3s ease-in-out infinite home-skel}@keyframes home-skel{0%{background-position:200% 0}to{background-position:-200% 0}}.home-trend-foot{color:var(--text-muted);align-items:center;gap:4px;margin-top:.9rem;font-size:.76rem;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.home-trend-foot:hover{color:var(--accent)}.home-next-focus{align-items:center;gap:1rem;padding:.5rem 0;display:flex}.home-next-focus-text{flex-direction:column;gap:.2rem;min-width:0;display:flex}.home-next-focus-label{letter-spacing:.03em;color:var(--accent);text-transform:uppercase;font-size:.7rem;font-weight:800}.home-next-focus-title{color:var(--text-primary);font-size:.95rem;font-weight:700;line-height:1.35}.home-reveal{animation:.5s both home-fade-up}@keyframes home-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.home-hero-glow,.home-trend-fill,.home-reveal,.home-trend-live-dot,.home-trend-skel-row{animation:none}.home-trend-fill{transform:scaleX(1)}}@media (width<=720px){.home-hero{padding:1.5rem 1.25rem}.home-hero-content{grid-template-columns:1fr;gap:1.5rem}.home-hero-title{font-size:1.4rem}.home-flow-arrow{display:none}.dash-body{padding:1.25rem 1.25rem calc(5.5rem + var(--safe-b,0px));flex:none;gap:1.5rem;overflow:visible}.home-tool-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}}.block-vis-list{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;max-height:240px;margin-top:.5rem;padding:.5rem;display:flex;overflow-y:auto}.block-vis-list>*{flex-shrink:0}.block-vis-search{font:inherit;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);border-radius:8px;width:100%;margin-bottom:.35rem;padding:.35rem .6rem;font-size:.875rem}.block-vis-search:focus{border-color:var(--accent);outline:none}.block-vis-tools{gap:.4rem;margin-bottom:.25rem;display:flex}.block-vis-tools button{font:inherit;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:600}.block-vis-tools button:hover{background:var(--bg-hover)}.block-vis-item{cursor:pointer;border-radius:7px;align-items:center;gap:.5rem;padding:.3rem .35rem;display:flex}.block-vis-item:hover{background:var(--bg-hover)}.block-vis-item input{accent-color:var(--accent)}.block-vis-name{color:var(--text-primary);font-size:.85rem;font-weight:600}.block-vis-email{color:var(--text-muted);text-overflow:ellipsis;font-size:.74rem;overflow:hidden}.block-vis-hint{color:var(--text-muted);margin:.3rem 0 0;font-size:.74rem;line-height:1.5}.nav-bell{display:inline-flex;position:relative}.nav-bell-dot{border:2px solid var(--bg-panel);box-sizing:content-box;background:#ef4444;border-radius:999px;width:9px;height:9px;position:absolute;top:-2px;right:-3px}.profile-card-icon img{object-fit:contain;width:70%;height:70%}.nf-page{text-align:center;background:radial-gradient(circle at 20% 10%, var(--accent-2-soft), transparent 42%), radial-gradient(circle at 85% 90%, var(--accent-soft), transparent 40%), var(--bg-base);min-height:100dvh;color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:2rem 1.25rem;display:flex}.nf-mascot{filter:drop-shadow(0 8px #0000002e);width:clamp(140px,28vmin,220px);height:auto;animation:3.2s ease-in-out infinite nfFloat}@keyframes nfFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.nf-code{letter-spacing:.32em;color:var(--accent-2);font-size:.85rem;font-weight:900}.nf-title{letter-spacing:-.02em;margin:0;font-size:clamp(1.4rem,3.4vw,2rem);font-weight:900}.nf-desc{color:var(--text-secondary);margin:0;font-size:.98rem;line-height:1.7}.nf-desc code{background:var(--accent-soft);color:var(--accent);word-break:break-all;border-radius:6px;padding:.1em .45em;font-size:.9em}.nf-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1rem;display:flex}.nf-btn{border:1px solid var(--border-light);color:inherit;border-radius:999px;padding:.7rem 1.3rem;font-weight:700;text-decoration:none;transition:transform .15s,background .15s}.nf-btn:hover{background:var(--bg-hover);transform:translateY(-2px)}.nf-btn--primary{background:linear-gradient(110deg, var(--accent-2), var(--accent));color:#fff;border-color:#0000}@media (prefers-reduced-motion:reduce){.nf-btn{transition:none}.nf-btn:hover{transform:none}.nf-mascot{animation:none}}.empty-state-art{object-fit:contain;opacity:.95;width:160px;height:120px}.empty-state.is-compact{gap:.6rem;padding:1.5rem}.empty-state.is-compact .empty-state-art{width:110px;height:82px}.empty-state-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:700}.empty-state-desc{color:var(--text-muted);text-align:center;margin:0;font-size:.86rem;line-height:1.5}.empty-state-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.mascot{vertical-align:middle;flex-shrink:0;line-height:0;display:inline-block;position:relative}.mascot .mascot-img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.mascot .mascot-img--blink,.mascot .mascot-img--2{opacity:0;position:absolute;inset:0}.mascot--blink .mascot-img--blink{animation:5.6s step-end infinite mascotBlink;animation-delay:var(--d,0s)}.mascot--blink .mascot-img--base{animation:5.6s step-end infinite mascotBlinkBase;animation-delay:var(--d,0s)}@keyframes mascotBlink{0%,93.9%{opacity:0}94%,96.4%{opacity:1}96.5%,to{opacity:0}}@keyframes mascotBlinkBase{0%,93.9%{opacity:1}94%,96.4%{opacity:0}96.5%,to{opacity:1}}.mascot--2f:hover .mascot-img--2,.mascot--2f.is-on .mascot-img--2{animation:.56s step-end infinite mascot2f}.mascot--2f:hover .mascot-img--base,.mascot--2f.is-on .mascot-img--base{animation:.56s step-end infinite mascot2fBase}.mascot--2f:hover .mascot-img--blink,.mascot--2f.is-on .mascot-img--blink{opacity:0;animation:none}@keyframes mascot2f{0%,49%{opacity:0}50%,to{opacity:1}}@keyframes mascot2fBase{0%,49%{opacity:1}50%,to{opacity:0}}.mascot--idle{animation:2.6s ease-in-out infinite mascotBob}@keyframes mascotBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mascot--peek{transition:transform .38s cubic-bezier(.34,1.56,.64,1);transform:translate(42%)}.mascot--peek:hover,.mascot--peek.is-on{transform:translate(4%)}.mascot--peek.mascot--peek-l{transform:translate(-42%)}.mascot--peek.mascot--peek-l:hover,.mascot--peek.mascot--peek-l.is-on{transform:translate(-4%)}.mascot--react{cursor:pointer}.mascot--react.is-react{animation:.46s cubic-bezier(.34,1.56,.64,1) mascotReact}@keyframes mascotReact{0%{transform:scale(1)rotate(0)}35%{transform:scale(1.18)rotate(-7deg)}70%{transform:scale(.95)rotate(4deg)}to{transform:scale(1)rotate(0)}}.mascot--fallback{justify-content:center;align-items:center;font-size:1.6em;line-height:1;display:inline-flex}.mascot--inline{vertical-align:-5px;width:20px;height:20px;margin-right:.15rem}.mascot-spinner{width:56px;height:56px;display:inline-block;position:relative}.mascot-spinner:before{content:"";border:4px solid var(--accent-soft,#8b3df029);border-top-color:var(--accent,#8b3df0);border-radius:50%;animation:.9s linear infinite mascotSpin;position:absolute;inset:0}.mascot-spinner img{object-fit:contain;opacity:.72;width:64%;height:64%;animation:1.6s ease-in-out infinite mascotBreath;position:absolute;inset:18%}@keyframes mascotSpin{to{transform:rotate(360deg)}}@keyframes mascotBreath{0%,to{transform:scale(.94)}50%{transform:scale(1.03)}}@media (prefers-reduced-motion:reduce){.mascot .mascot-img--blink,.mascot .mascot-img--2,.mascot .mascot-img--base,.mascot--idle,.mascot--react.is-react,.mascot-spinner:before,.mascot-spinner img{animation:none!important}.mascot--peek,.mascot--peek.mascot--peek-l{transition:none;transform:none}}.nf-page{position:relative;overflow:hidden}.nf-bg{object-fit:cover;object-position:center bottom;opacity:.55;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}:root[data-theme=dark] .nf-bg{opacity:.18}.nf-page>:not(.nf-bg){z-index:1;position:relative}.mascot.nf-mascot{width:clamp(140px,28vmin,220px);height:auto}.profile-hero-cover{border:1px solid var(--border);background-position:50%;background-size:cover;position:relative;overflow:hidden}.profile-hero-mascot{width:150px;height:150px;position:absolute;bottom:-8px;right:6%}@media (width<=720px){.profile-hero-mascot{width:96px;height:96px;right:3%}}.mascot.profile-card-icon>.mascot,.profile-card-icon .mascot{width:28px;height:28px}.legal-strip{border:1px solid var(--border);background-position:100%;background-size:cover;border-radius:14px;height:84px;margin-bottom:1rem}:root[data-theme=dark] .legal-strip{opacity:.85}:root:not([data-theme=dark]) body{background:radial-gradient(circle at 0% 0%, #8b3df00f, transparent 38%), radial-gradient(circle at 100% 100%, #e040fb0d, transparent 40%), var(--bg-base);background-attachment:fixed}.profile-hero-cover:after{content:"";pointer-events:none;background:linear-gradient(#fff0,#ffffffe6);height:58%;position:absolute;bottom:0;left:0;right:0}:root[data-theme=dark] .profile-hero-cover:after{background:linear-gradient(#120a2400,#120a24d1)}.profile-hero-cover .profile-hero-mascot{z-index:1}.legal-strip{margin-top:1.25rem}.curr-session-check{min-width:32px;min-height:32px}@media (width<=768px){.curr-session-check{min-width:44px;min-height:44px}.community-tab,.critique-list-header .btn,.community-header .btn,.assign-card .btn,.post-detail .btn,.modal-actions .btn,.community-list .btn,.modal-field input,.modal-field select,.modal-field textarea,.post-detail-wrap .btn,.page-header .btn,.comment-input-row .btn{min-height:44px}.comment-del{width:44px;height:44px;margin-right:-.5rem}.post-menu .vfl-menu-btn{width:44px;height:44px}.post-menu .vfl-menu-item{align-items:center;min-height:44px;display:flex}.post-detail-title{font-size:1.25rem}}.profile-wrap{max-width:1200px;margin-inline:auto}.profile-layout{grid-template-columns:11rem minmax(0,1fr);align-items:start;gap:2.25rem;display:grid}.profile-menu{flex-direction:column;gap:.15rem;padding-top:.15rem;display:flex;position:sticky;top:0}.profile-menu-item{border-radius:var(--radius-sm);min-height:2.25rem;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:0;padding:.5rem .75rem;font-size:.875rem;font-weight:600;transition:background .15s,color .15s}.profile-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.profile-menu-item.is-active{background:var(--accent-soft);color:var(--accent);font-weight:700}.profile-body{min-width:0}.profile-card{padding:0;scroll-margin-top:.75rem}.profile-card-h{font-size:inherit;font-weight:inherit;margin:0}.profile-card-head{margin:0;padding:1.1rem 1.5rem}button.profile-card-head{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.profile-card-title,.profile-card-sub{display:block}.profile-card-body{padding:0 1.5rem 1.5rem}.profile-card-caret{color:var(--text-secondary);flex-shrink:0;transition:transform .15s;display:none}.profile-card-icon svg{width:18px;height:18px}.profile-avatar-upload{cursor:pointer;border:4px solid var(--bg-base);padding:0}.profile-avatar-upload:disabled{cursor:wait}.profile-avatar-upload img{object-fit:cover;border-radius:50%;width:100%;height:100%}.profile-avatar-initial{line-height:1}.profile-avatar-overlay{color:#fff;opacity:1;background:#0000006b;border-radius:0;height:34%;font-size:.9rem;inset:auto 0 0}.profile-avatar-overlay svg{width:16px;height:16px}.profile-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite profile-spin}@keyframes profile-spin{to{transform:rotate(360deg)}}.profile-yt-skel{border-radius:var(--radius-md);background:var(--bg-hover);opacity:.5;height:66px}.profile-link-btn{align-items:center;display:inline-flex}.profile-field input,.profile-field textarea{scroll-margin:1rem 0 4.5rem}.profile-yt-unlink{min-height:2rem}@media (width<=1024px){.profile-layout{display:block}.profile-menu{display:none}.profile-card{margin-bottom:.6rem}.profile-card-head{gap:.7rem}.profile-card-caret{display:flex}.profile-card.is-open .profile-card-caret{transform:rotate(180deg)}.profile-card:hover{border-color:var(--border)}}@media (width<=768px){.profile-hero{margin-bottom:1rem}.profile-hero-cover{height:92px}.profile-hero-bar{margin-top:-34px}.profile-hero .profile-avatar-lg{border-width:3px;width:68px;height:68px;font-size:1.5rem}.profile-hero-id{padding-top:38px}.profile-hero-role{margin-top:38px}.profile-card-head{padding:.75rem 1rem}.profile-card-body{padding:0 1rem 1.1rem}.profile-card-icon{border-radius:9px;width:32px;height:32px}.profile-card-icon svg{width:16px;height:16px}}@media (hover:none){.profile-card-actions .btn,.profile-yt-unlink,.profile-link-btn,.empty-state-actions .btn,.profile-field input{min-height:44px}.profile-yt-unlink{padding-inline:.9rem}.profile-card-caret{justify-content:center;width:44px;height:44px;margin-right:-.5rem}}@media (prefers-reduced-motion:reduce){.profile-card-caret,.profile-spinner{transition:none;animation:none}}.modal-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.modal-x{background:var(--bg-hover);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:-.35rem -.35rem 0 0;transition:background .15s,color .15s;display:flex}.modal-x:hover{background:var(--border);color:var(--text-primary)}.modal-x svg{display:block}.modal-sub{color:var(--text-secondary);margin:-.5rem 0 0;font-size:.86rem;line-height:1.55}.modal--wide{max-width:620px}.admin-sec-title{color:var(--text-primary);margin:0 0 1.25rem;font-size:1.125rem;font-weight:800}.admin-students-head .admin-sec-title{margin:0}.admin-sec-desc{color:var(--text-muted);margin:-.9rem 0 1.25rem;font-size:.85rem;line-height:1.6}.admin-skel-row td{padding:.7rem 1rem}.admin-skel-bar{background:linear-gradient(90deg, var(--bg-hover) 25%, color-mix(in srgb, var(--bg-hover) 55%, var(--bg-panel)) 50%, var(--bg-hover) 75%);background-size:200% 100%;border-radius:7px;height:14px;animation:1.4s ease-in-out infinite adminSkel;display:block}@keyframes adminSkel{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.admin-skel-bar{animation:none}}.admin-empty-cell{white-space:normal!important;padding:1.5rem 1rem!important}.admin-ov-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.admin-ov-title{color:var(--text-secondary);margin:0 0 .5rem;font-size:.875rem;font-weight:700}.admin-ov-desc{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.7}.admin-search-wrap{max-width:340px;margin:0 0 .75rem;display:block;position:relative}.admin-search-ic{color:var(--text-muted);pointer-events:none;display:flex;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.admin-search-wrap .admin-member-search{max-width:none;margin:0;padding-left:34px}.admin-bulk-ic{vertical-align:-3px;margin-right:4px;display:inline-flex}.admin-bulk-msg.is-ok{color:var(--success)}.admin-bulk-msg.is-error{color:var(--danger)}.admin-row-actions{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.admin-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table th,.admin-table td{white-space:nowrap}.admin-table td:has(.admin-note-cell){white-space:normal}.admin-check{cursor:pointer;justify-content:center;align-items:center;width:32px;height:32px;margin:-5px 0;display:inline-flex}@media (width<=1024px){.admin-table-wrap{position:relative}:is(.admin-table:has(.admin-check-col) th.admin-check-col,.admin-table:has(.admin-check-col) td.admin-check-col){z-index:2;background:var(--bg-card);position:sticky;left:0}.admin-table:has(.admin-check-col) thead th.admin-check-col{background:var(--bg-panel);z-index:3}:is(.admin-table:has(.admin-check-col) th:nth-child(2),.admin-table:has(.admin-check-col) td:nth-child(2)){z-index:2;background:var(--bg-card);box-shadow:1px 0 0 var(--border);position:sticky;left:52px}.admin-table:has(.admin-check-col) thead th:nth-child(2){background:var(--bg-panel);z-index:3}:is(.admin-table:has(.admin-check-col) th:nth-child(2),.admin-table:has(.admin-check-col) td:nth-child(2)){text-overflow:ellipsis;max-width:128px;overflow:hidden}:is(.admin-table:not(:has(.admin-check-col)) th:first-child,.admin-table:not(:has(.admin-check-col)) td:first-child){z-index:2;background:var(--bg-card);box-shadow:1px 0 0 var(--border);position:sticky;left:0}.admin-table:not(:has(.admin-check-col)) thead th:first-child{background:var(--bg-panel);z-index:3}.admin-table tr.is-checked td.admin-check-col,.admin-table tr.is-checked td:nth-child(2){background:var(--accent-soft)}}.admin-member-tab,.admin-role-select,.admin-member-search,.admin-note-cell,.admin-table .btn-sm,.admin-bulk-bar .btn-sm,.addstu-x{min-height:32px}.admin-note-cell,.addstu-x{min-width:32px}.admin-note-cell{align-items:center;display:inline-flex}.addstu-x{border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.admin-th-sort{align-items:center;min-width:32px;min-height:32px;display:inline-flex}.referral-tool-chip,.referral-alltools,.referral-create-btn,.referral-row-btn{min-height:32px}.referral-tag{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.referral-tag.is-course{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success)}.referral-row-btn{width:auto;font:inherit;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;padding:0 .75rem;font-size:.78rem;font-weight:700;transition:border-color .12s,color .12s;display:inline-flex}.referral-row-btn:hover{border-color:var(--accent);color:var(--accent)}@media (hover:none){.admin-member-tab{min-height:44px;padding:0 1rem}.admin-role-select{min-height:44px;padding:0 .7rem}.admin-member-search{min-height:44px}.admin-note-cell{min-width:44px;min-height:44px}.admin-th-sort{min-width:44px}.addstu-x{min-width:44px;min-height:44px}.admin-table .btn-sm,.admin-bulk-bar .btn-sm{min-height:44px;padding:0 .9rem}.admin-th-sort{min-height:44px}.admin-check-col{width:52px}.admin-check-col input[type=checkbox]{width:22px;height:22px}.admin-check,.modal-x{width:44px;height:44px}.modal .btn,.modal-field input,.modal-field textarea,.modal-field select{min-height:44px}.admin-feature-modal-x{width:44px;height:44px}.admin-main select,.admin-main textarea,.admin-main input:not([type=checkbox]):not([type=radio]),.admin-main .btn,.referral-tool-chip,.referral-alltools,.referral-create-btn,.referral-row-btn{min-height:44px}.referral-alltools{padding:0 .5rem}}.admin-store-err{color:var(--danger);margin:0 0 .6rem;font-size:.82rem;font-weight:700}.admin-inline-btn{padding:.45rem .8rem;font-size:.8rem}@media (hover:none){.admin-inline-btn{min-height:44px}}.admin-sys-stack button,.admin-sys-stack select,.admin-sys-stack input:not([type=checkbox]):not([type=radio]){min-height:32px}@media (hover:none){.admin-sys-stack button,.admin-sys-stack select,.admin-sys-stack input:not([type=checkbox]):not([type=radio]){min-height:44px}}@media (hover:hover){.admin-price input,.admin-openapi button{min-height:32px}}@media (hover:none){.admin-price input,.admin-openapi button,.admin-openapi input,.admin-openapi select{min-height:44px}}.admin-field-hint{color:var(--text-muted);margin:6px 0 0;font-size:.78rem;line-height:1.5}.admin-field-sublabel{color:var(--text-muted);font-size:.72rem}.admin-label-opt{color:var(--text-muted);font-weight:400}.admin-explorer-item-sub{color:var(--text-muted);white-space:nowrap;align-items:center;gap:.2rem;font-size:.75rem;display:inline-flex}.admin-explorer-back{display:none}.learn-content--admin .admin-explorer-item-title{word-break:keep-all}.block-move-btn{padding-left:.5rem;padding-right:.5rem;font-size:.85rem;line-height:1}.block-move-btn:disabled{opacity:.35;cursor:default}@media (hover:none){.block-drag-handle{display:none}.block-reorder-item{cursor:default}}@media (hover:hover){.admin-explorer-btn,.admin-explorer-add-btn,.learn-content--admin .breadcrumb-link,.learn-content--admin .breadcrumb-root,.course-price-toggle,.block-visibility-opt,.block-vis-tools button,.addstu-x,.addstu-add-btn,.addstu-note-btn,.addstu-note-cancel,.addstu-note-save,.lecblk-file-del,.lingo-admin-row-tools button,.admin-block-type-chip,.home-preview-tab{min-height:32px}.admin-edit-form .rte-btn,.admin-edit-form .rte-style,.lingo-admin-row-tools button,.lingo-admin-quiz button,.lingo-admin-choice button{min-width:32px;min-height:32px}.admin-edit-form .btn-sm,.admin-block-picker .btn-sm,.admin-edit-form .cdate-trigger{min-height:32px}}@media (hover:none){.admin-explorer-btn,.admin-explorer-add-btn,.learn-content--admin .breadcrumb-link,.learn-content--admin .breadcrumb-root,.course-price-toggle,.block-visibility-opt,.block-vis-tools button,.addstu-x,.addstu-add-btn,.addstu-search,.addstu-note-btn,.addstu-note-cancel,.addstu-note-save,.lecblk-file-del,.lingo-admin-row-tools button,.admin-block-type-chip,.admin-block-search,.home-preview-tab{min-height:44px}.admin-explorer-btn,.lingo-admin-row-tools button,.lecblk-file-del,.addstu-x,.block-move-btn{min-width:44px}.admin-edit-form .rte-btn,.admin-edit-form .rte-style,.lingo-admin-quiz button,.lingo-admin-choice button{min-width:44px;min-height:44px}.admin-explorer-btn,.admin-explorer-add-btn{padding:.25rem .75rem}.admin-edit-form .btn-sm,.admin-block-picker .btn-sm,.admin-edit-form .cdate-trigger{min-height:44px}.learn-content--admin .breadcrumb-link,.learn-content--admin .breadcrumb-root{justify-content:center;align-items:center;min-width:44px;display:inline-flex}}@media (width<=768px){.learn-content--admin .explorer-header{display:none}.learn-content--admin .admin-explorer-back{border-bottom:1px solid var(--border);background:var(--bg-base);flex-shrink:0;align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.admin-explorer-back-btn{max-width:55%;min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;align-items:center;gap:.15rem;padding:0 .5rem 0 .25rem;font-size:.82rem;font-weight:600;display:inline-flex}.admin-explorer-back-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-explorer-back-here{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;font-weight:700;overflow:hidden}.learn-content--admin .admin-explorer-item{flex-wrap:wrap;row-gap:.5rem;padding:.75rem .875rem}.learn-content--admin .admin-explorer-item-body{flex:100%;min-width:0}.learn-content--admin .admin-explorer-item-actions{justify-content:flex-end;width:100%}.learn-content--admin .admin-explorer-item-actions>svg{display:none}.learn-content--admin .admin-explorer-add-row{flex-wrap:wrap;row-gap:.4rem}.learn-content--admin.is-editing .learn-workspace-wrap{z-index:60;background:var(--bg-base);width:100%;min-width:0;height:auto;padding-top:var(--safe-t,0px);padding-bottom:calc(var(--mobile-nav-h,0px) + var(--kb,0px));display:flex;position:fixed;inset:0}.learn-content--admin.is-editing .admin-edit-form,.learn-content--admin.is-editing .admin-block-picker{width:100%;max-width:none}.learn-content--admin.is-editing .admin-edit-form .modal-actions .btn{width:100%;min-height:44px}}@media (width>=769px) and (width<=1024px){.learn-content--admin .explorer-panel{min-width:300px}.learn-content--admin .admin-explorer-item{flex-wrap:wrap;row-gap:.4rem}.learn-content--admin .admin-explorer-item-body{flex:100%;min-width:0}.learn-content--admin .admin-explorer-item-actions{justify-content:flex-end;width:100%}.learn-content--admin .admin-explorer-item-actions>svg{display:none}}.learn-content--admin .admin-edit-form{padding-bottom:0}.learn-content--admin .admin-edit-form .modal-actions{padding:.6rem 0 calc(.6rem + var(--safe-b,0px));background:var(--bg-base);border-top:1px solid var(--border);margin-top:auto;position:sticky;bottom:0}.learn-content--admin .block-type-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr))}.learn-content--admin .admin-edit-form,.learn-content--admin .admin-block-picker,.learn-content--admin .admin-edit-submissions,.learn-content--admin .explorer-course-list{width:100%;max-width:60rem;margin-left:auto;margin-right:auto}@media (width<=768px){.addstu-modal{max-height:calc(100dvh - var(--mobile-nav-h,0px) - 1.5rem)}.addstu-row{flex-wrap:wrap;row-gap:.25rem}.addstu-email{flex-basis:100%}}.admin-page-shell{overflow:hidden}.sub-review-heading{min-width:0}.sub-review-h{color:var(--text-primary);margin:0 0 .25rem;font-size:1.125rem;font-weight:800}.sub-review--embed .sub-review-h{font-size:1rem}.sub-review-sub{color:var(--text-muted);margin:0;font-size:.8rem}.sub-review-summary{margin:0}.sub-review-play-btn,.sub-review-export-btn,.sub-review-unit-play,.sub-review-fill-btn,.sub-review-reselect,.slideshow-btn{white-space:nowrap;justify-content:center;align-items:center;gap:.3rem;display:inline-flex}.sub-review-entry-user,.sub-review-confirm-chip{align-items:center;gap:.3rem;display:inline-flex}.sub-review-unit-caret{color:var(--text-muted);align-items:center;display:inline-flex}.sub-skeleton{flex-direction:column;gap:.75rem;display:flex}.sub-skeleton-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);flex-direction:column;gap:.5rem;padding:.85rem 1rem;display:flex}@media (hover:hover){.sub-review-mode-btn,.sub-review-play-btn,.sub-review-export-btn,.sub-review-fill-btn,.sub-review-entry-del,.sub-review-reselect,.sub-review-unit-play,.unit-pick-bulk-btn,.unit-pick-cancel,.unit-pick-go,.fill-cancel,.fill-save,.slideshow-btn{min-height:32px}.unit-pick-close,.fill-close,.slideshow-page-input{min-width:32px;min-height:32px}}@media (hover:none){.sub-review-mode-btn,.sub-review-play-btn,.sub-review-export-btn,.sub-review-fill-btn,.sub-review-entry-del,.sub-review-reselect,.sub-review-unit-play,.sub-review-course-select select,.unit-pick-bulk-btn,.unit-pick-cancel,.unit-pick-go,.fill-cancel,.fill-save,.fill-student select,.slideshow-btn{min-height:44px}.unit-pick-close,.fill-close{min-width:44px;min-height:44px}.sub-review-entry-del,.sub-review-unit-play{min-width:44px}.unit-pick-row{min-height:44px}.unit-pick-row input{width:20px;height:20px}}.slideshow-page-input{min-width:44px}@media (width<=768px){.sub-review-sub{display:none}.sub-review-header{align-items:stretch;gap:.6rem;margin-bottom:.9rem}.sub-review-course-select{width:100%}.sub-review-course-select select{flex:1;min-width:0}.sub-review-toolbar{flex-direction:column;align-items:stretch;gap:.5rem}.sub-review-toolbar-actions{flex-wrap:wrap;gap:.5rem;display:flex}.sub-review-mode{flex:100%;display:flex}.sub-review-mode-btn,.sub-review-play-btn,.sub-review-export-btn{white-space:nowrap;flex:1 1 0}.sub-review-unit-head{gap:.5rem}.sub-review-unit-title{word-break:keep-all;flex:auto;min-width:0}.sub-review-unit-badge{white-space:nowrap;flex-shrink:0}.sub-review-unit-meta{white-space:nowrap;flex:none}.sub-review-unit-play{white-space:nowrap;flex-shrink:0;padding-left:.6rem;padding-right:.6rem}.sub-review-unit-play span{display:none}.sub-review-unit-head{padding:.7rem .75rem}.sub-review-unit-meta{font-size:.72rem}.sub-review-entry-head{flex-wrap:wrap;gap:.25rem .5rem}.sub-review-entry-time{margin-left:0}.sub-review-entry-del{margin-left:auto}.sub-review-block-head{row-gap:.4rem}}.sub-review-landing .learn-enrolled-badge,.sub-review-landing .learn-course-card-badge{font-size:.72rem}@media (width<=1024px){.sub-review-landing .learn-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.sub-review-landing .learn-course-grid{grid-template-columns:1fr}.sub-review-landing .learn-course-card{flex-direction:row;align-items:center;gap:.75rem;padding:.5rem}.sub-review-landing .learn-course-thumb{border-radius:var(--radius-md);flex-shrink:0;width:96px}.sub-review-landing .learn-course-info{flex:auto;min-width:0;padding:0}}.sub-review{width:100%;max-width:60rem;margin-left:auto;margin-right:auto}.sub-review--embed{max-width:none}.slideshow-nav{justify-content:center;align-items:center;display:inline-flex}@media (width<=768px){.slideshow-stage{padding:.5rem .6rem calc(.5rem + var(--safe-b,0px));grid-template-rows:1fr auto;grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.slideshow-stage .slide{grid-area:1/1/auto/-1;width:100%;height:100%;min-height:0}.slideshow-nav{border-radius:12px;width:100%;height:48px}.slideshow-nav--prev{grid-area:2/1}.slideshow-nav--next{grid-area:2/2}.slideshow-topbar{flex-wrap:wrap;gap:.4rem;padding:.5rem .75rem}.slideshow-title{text-overflow:ellipsis;white-space:nowrap;flex:100%;overflow:hidden}.slideshow-topbar-actions{flex-wrap:wrap;gap:.4rem;width:100%;display:flex}.slideshow-topbar-actions .slideshow-btn{flex:auto}.slideshow-footer{padding:.5rem .9rem calc(.5rem + var(--safe-b,0px));gap:.75rem}}@media (height<=480px) and (orientation:landscape){.sub-review-toolbar{flex-flow:wrap;align-items:center}.sub-review-mode,.sub-review-play-btn,.sub-review-export-btn{flex:none}.sub-review-toolbar-actions{margin-left:auto}.slideshow-topbar{flex-wrap:nowrap;padding:.35rem .75rem}.slideshow-title{flex:auto}.slideshow-topbar-actions{width:auto}.slideshow-topbar-actions .slideshow-btn{flex:none}.slideshow-footer{padding:.35rem .9rem}.slideshow-stage{grid-template-rows:1fr;grid-template-columns:auto 1fr auto;padding:.35rem .5rem}.slideshow-stage .slide{grid-area:1/2}.slideshow-nav{border-radius:999px;width:44px;height:44px}.slideshow-nav--prev{grid-area:1/1;align-self:center}.slideshow-nav--next{grid-area:1/3;align-self:center}}@media (width<=768px){.fill-modal{max-height:calc(100dvh - var(--kb,0px) - 1.5rem)}.unit-pick{max-height:calc(100dvh - var(--kb,0px) - 2rem)}}@media (hover:none){.slide-zoom-close{min-width:44px;min-height:44px}}.cbb-summary{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.cbb-summary-count{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.modal.cbb-modal{width:100%;max-width:min(1180px,96vw)}.cbb{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:1rem;display:grid}.cbb--inline{grid-template-columns:minmax(0,1fr)}.cbb--inline .cbb-stage{max-height:none}.cbb--inline .cbb-side{max-height:none;overflow:visible}.cbb--inline .cbb-props{position:static}@media (width>=1500px){.cbb--inline{grid-template-columns:minmax(0,1fr) 320px}.cbb--inline .cbb-stage{max-height:68vh}.cbb--inline .cbb-side{max-height:68vh;overflow:auto}.cbb--inline .cbb-props{position:sticky}}.cbb-head{border-top:1px dashed var(--border);flex-direction:column;gap:.5rem;margin-top:.5rem;padding:.75rem;display:flex}.cbb-headitem{cursor:pointer;border:1px dashed #0000;border-radius:10px;margin-bottom:.5rem;padding:.25rem .4rem .4rem;transition:border-color .15s,background .15s;position:relative}.cbb-headitem:hover{border-color:var(--border-light,var(--border));background:var(--bg-hover)}.cbb-headitem.is-sel{border-color:var(--accent);background:var(--bg-hover);cursor:default}.cbb-headitem:hover .cbb-item-bar,.cbb-headitem.is-sel .cbb-item-bar{opacity:1}.cbb-head>.cbb-edit-f{flex:none}.cbb-head-icon{flex-direction:column;gap:.3rem;display:flex}.cbb-head-icon-label{color:var(--text-secondary);font-size:.75rem;font-weight:600}.cbb-icon-grid{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.cbb-icon-btn,.cbb-icon-own{border:1px solid var(--border);background:var(--bg-input,var(--bg-hover));width:36px;height:36px;color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:1.125rem;line-height:1;transition:border-color .15s,background .15s,transform .12s;display:inline-flex}.cbb-icon-btn:hover{border-color:var(--border-light,var(--border));background:var(--bg-hover)}.cbb-icon-btn:active{transform:scale(.94)}.cbb-icon-btn.is-on,.cbb-icon-own.is-on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft,transparent)}.cbb-icon-own{text-align:center;width:3.4rem;font-size:1rem}.cbb-icon-own::placeholder{color:var(--text-muted);font-size:.72rem}.cbb-icon-own:focus{border-color:var(--accent);outline:none}@media (prefers-reduced-motion:reduce){.cbb-icon-btn{transition:none}.cbb-icon-btn:active{transform:none}}.cbb-head-desc{flex-direction:column;gap:.25rem;display:flex}.cbb-head-desc>span{color:var(--text-secondary);font-size:.75rem;font-weight:600}.cbb-stage{border:1px dashed var(--border);background:var(--bg-hover);border-radius:12px;min-height:320px;max-height:68vh;padding:.75rem;overflow:auto}.cbb-stage-hint{color:var(--text-muted);margin:0 0 .5rem;font-size:.75rem}.cbb-stage-paper{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;padding:1rem}.cbb-stage.is-drop{border-color:var(--accent);background:var(--accent-soft);border-style:solid}.cbb-stage-empty.is-drop{border:2px dashed var(--accent);color:var(--accent);text-align:center;background:var(--accent-soft);font-weight:700}.cbb-quick{border:1px dashed var(--border);background:var(--bg-card);border-radius:12px;margin-top:.75rem;padding:1rem}.cbb-quick-title{color:var(--text-primary);margin:0 0 .6rem;font-size:.9375rem;font-weight:700}.cbb-quick-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;display:grid}.cbb-quick-card{text-align:left;border:1px solid var(--border);background:var(--bg-hover);cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.25rem;min-height:44px;padding:.7rem .75rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.cbb-quick-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card);transform:translateY(-1px)}.cbb-quick-card:active{transform:none}.cbb-quick-card b{color:var(--text-primary);font-size:.875rem;font-weight:700}.cbb-quick-card small{color:var(--text-secondary);font-size:.75rem;line-height:1.35}.cbb-quick-icons{color:var(--accent);gap:.2rem;margin-bottom:.15rem;display:flex}.cbb-quick-icons .cbb-kind-ico{background:var(--accent-soft);border-radius:6px;padding:.2rem}.cbb-quick .cbb-insert{height:32px}.cbb-quick-hint{color:var(--text-secondary);text-align:center;margin:.75rem 0 .25rem;font-size:.75rem}.cbb-insert{height:12px;margin:0;position:relative}.cbb-insert:before{content:"";border-top:1px dashed var(--border);opacity:0;transition:opacity .15s;position:absolute;top:50%;left:0;right:0}.cbb-insert-btn{z-index:1;white-space:nowrap;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;opacity:0;border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .55rem;font-size:.72rem;font-weight:600;transition:opacity .15s,border-color .15s,color .15s;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cbb-insert:hover:before,.cbb-insert.is-open:before,.cbb-insert:focus-within:before,.cbb-insert:hover .cbb-insert-btn,.cbb-insert.is-open .cbb-insert-btn,.cbb-insert:focus-within .cbb-insert-btn,.cbb-quick .cbb-insert-btn{opacity:1}.cbb-insert-btn:hover,.cbb-insert.is-open .cbb-insert-btn{border-color:var(--accent);color:var(--accent)}@media (hover:none){.cbb-insert-btn,.cbb-insert:before{opacity:1}}.cbb-insert-menu{z-index:5;border:1px solid var(--border);background:var(--bg-card);width:min(520px,92vw);box-shadow:var(--shadow-card);text-align:left;border-radius:12px;grid-template-columns:1fr 1fr;gap:.5rem;padding:.6rem;display:grid;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}.cbb-insert-group{flex-direction:column;gap:.15rem;display:flex}.cbb-insert-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:.45rem;min-height:40px;padding:.3rem .45rem;display:grid}.cbb-insert-item:hover,.cbb-insert-item:focus-visible{background:var(--bg-hover);border-color:var(--border)}.cbb-insert-item .cbb-kind-ico{grid-row:1/span 2}.cbb-insert-item b{color:var(--text-primary);font-size:.8125rem;font-weight:700}.cbb-insert-item small{color:var(--text-secondary);font-size:.72rem;line-height:1.3}.cbb-kind-ico{color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.cbb-item-req{color:var(--warning);font-size:.7rem;font-weight:700}.cbb-item-more{border-top:1px dashed var(--border);margin-top:.5rem;padding-top:.5rem}.cbb-stage-empty{text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:12px;margin-top:.75rem;padding:1.5rem 1rem;font-size:.8125rem}.cbb-item{border:1px solid #0000;border-radius:10px;transition:border-color .15s,background .15s}.cbb-item:hover{border-color:var(--border-light,var(--border));background:var(--bg-hover)}.cbb-item.is-sel{border-color:var(--accent);background:var(--bg-hover);box-shadow:inset 3px 0 0 var(--accent)}.cbb-item.is-dragging{opacity:.45}.cbb-item-bar{opacity:0;align-items:center;gap:.4rem;padding:.25rem .4rem;transition:opacity .15s;display:flex}.cbb-item:hover .cbb-item-bar,.cbb-item.is-sel .cbb-item-bar{opacity:1}@media (hover:none){.cbb-item-bar{opacity:1}}.cbb-grip{cursor:grab;color:var(--text-muted);padding:.2rem;font-size:.9rem;line-height:1}.cbb-item-kind{color:var(--text-muted);font-size:.75rem;font-weight:600}.cbb-item-tools{gap:.15rem;margin-left:auto;display:flex}.cbb-item-tools button{border:1px solid var(--border);background:var(--bg-card);min-width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:8px;font-size:.8125rem}.cbb-item-tools button:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent)}.cbb-item-tools button:disabled{opacity:.4;cursor:not-allowed}.cbb-item-tools .cbb-item-del:hover{color:var(--danger);border-color:var(--danger)}.cbb-item-body{padding:0 .4rem .5rem}.cbb-item-edit{border-top:1px dashed var(--border);flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding-top:.5rem;display:flex}.cbb-edit-f{flex:13rem;align-items:center;gap:.4rem;min-width:0;display:flex}.cbb-edit-f>span{color:var(--text-secondary);flex:none;font-size:.75rem;font-weight:600}.cbb-edit-f>input[type=text]{border:1px solid var(--border);background:var(--bg-input,var(--bg-hover));min-width:0;color:var(--text-primary);border-radius:8px;flex:auto;padding:.45rem .6rem;font-family:inherit;font-size:.8125rem}.cbb-edit-f>input[type=text]:focus{border-color:var(--accent);outline:none}.cbb-drop{background:var(--accent);border-radius:2px;height:3px;margin:.25rem 0}.cbb-side{flex-direction:column;gap:.75rem;max-height:68vh;display:flex;overflow:auto}.cbb-props{z-index:1;position:sticky;top:0}.cbb-side-title{color:var(--text-primary);margin:0 0 .15rem;font-size:.875rem;font-weight:700}.cbb-side-hint{color:var(--text-muted);margin:0 0 .5rem;font-size:.75rem}.cbb-palette,.cbb-props{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;padding:.75rem}.cbb-palette-group{margin-top:.5rem}.cbb-palette-label{color:var(--text-secondary);margin-bottom:.3rem;font-size:.75rem;font-weight:600;display:block}.cbb-palette-grid{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.cbb-palette-item{text-align:left;border:1px solid var(--border);background:var(--bg-hover);cursor:grab;border-radius:10px;align-items:center;gap:.45rem;min-height:44px;padding:.5rem .55rem;transition:border-color .15s,transform .15s;display:flex}.cbb-palette-item:hover{border-color:var(--accent);transform:translateY(-1px)}.cbb-palette-item:active{transform:none}.cbb-palette-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.cbb-palette-item b{color:var(--text-primary);font-size:.8125rem;font-weight:700}.cbb-palette-item small{color:var(--text-muted);font-size:.75rem;line-height:1.35}.cbb-props-form{flex-direction:column;gap:.6rem;display:flex}.cbb-prop{flex-direction:column;gap:.25rem;display:flex}.cbb-prop>span{color:var(--text-secondary);font-size:.75rem;font-weight:600}.cbb-prop input[type=text],.cbb-prop input[type=number],.cbb-prop select,.cbb-prop textarea{border:1px solid var(--border);background:var(--bg-input,var(--bg-hover));width:100%;color:var(--text-primary);border-radius:8px;padding:.45rem .6rem;font-family:inherit;font-size:.8125rem}.cbb-prop--row{flex-direction:row;align-items:center;gap:.45rem;min-height:44px}.cbb-prop--row input[type=checkbox]{width:18px;height:18px}@media (width<=900px){.cbb{grid-template-columns:1fr}.cbb-stage,.cbb-side{max-height:none}.cbb-palette-grid{grid-template-columns:1fr 1fr}}.cbb-checks{flex-wrap:wrap;align-items:center;gap:.15rem .6rem;margin-top:.3rem;display:flex}.cbb-checks-label{width:100%;color:var(--text-muted);font-size:.72rem;font-weight:600}.cbb-check{min-height:32px;color:var(--text-primary);cursor:pointer;align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}.cbb-check input[type=checkbox]{width:16px;height:16px;margin:0}.slideshow-stage-slide{flex:1;min-width:0;height:100%;display:flex}.slideshow-stage-slide .slide{flex:1}.slide-answer-image--static{cursor:default}.pres-clock{font-variant-numeric:tabular-nums;color:#e2e8f0;align-self:center;margin-right:.5rem;font-size:.95rem;font-weight:700}.pres-hint{color:#fde68a;background:#facc1524;border-radius:8px;margin:0 1.25rem .5rem;padding:.5rem .8rem;font-size:.85rem}.pres-main{flex:1;grid-template-columns:minmax(0,1fr) minmax(300px,26%);gap:1rem;min-height:0;padding:0 1rem .5rem;display:grid}.pres-current{align-items:center;gap:.75rem;min-height:0;display:flex}.pres-current-slide{flex:1;min-width:0;height:100%;display:flex}.pres-current-slide .slide{flex:1}.pres-side{color:#e2e8f0;flex-direction:column;gap:.9rem;min-height:0;display:flex;overflow:auto}.pres-side-label{color:#94a3b8;letter-spacing:.02em;margin-bottom:.35rem;font-size:.8rem;font-weight:700;display:block}.pres-side-label small{color:#64748b;margin-left:.3rem;font-weight:500}.pres-side-empty{color:#64748b;margin:0;font-size:.85rem}.pres-next-slide{aspect-ratio:16/9;pointer-events:none;border-radius:12px;flex-shrink:0;width:100%;position:relative;overflow:hidden}.pres-next-inner{transform-origin:0 0;width:238.095%;height:238.095%;display:flex;position:absolute;top:0;left:0;transform:scale(.42)}.pres-next-inner .slide{flex:1 1 0;min-height:0;animation:none}.pres-notes{flex-direction:column;flex:1 0 auto;gap:.75rem;display:flex}.pres-memo,.pres-cmt{border-radius:12px;flex-direction:column;min-height:0;padding:.6rem .7rem .7rem;display:flex}.pres-memo{background:#fbbf2412;border:1px dashed #fbbf248c;border-left:4px solid #fbbf24;flex:none}.pres-cmt{background:#a78bfa1a;border:1px solid #a78bfa99;border-left:4px solid #a78bfa;flex:none}.pres-sec-head{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.pres-sec-head .pres-side-label{margin:0}.pres-memo .pres-side-label{color:#fde68a}.pres-cmt .pres-side-label{color:#ddd6fe}.pres-tag{letter-spacing:.01em;border-radius:999px;margin-left:auto;padding:.1rem .5rem;font-size:.72rem;font-weight:700}.pres-tag--private{color:#1c1917;background:#fbbf24}.pres-tag--public{color:#f5f3ff;background:#7c3aed}.pres-note-input{color:#fef3c7;resize:vertical;background:#00000040;border:1px dashed #fbbf2473;border-radius:10px;flex:none;width:100%;min-height:120px;padding:.7rem .8rem;font-family:inherit;font-size:1.05rem;line-height:1.6}.pres-note-input::placeholder{color:#a8a29e}.pres-note-input:focus{border-style:solid;border-color:#fbbf24;outline:none}.pres-cmts{color:#e9e5ff;flex-direction:column;gap:.3rem;max-height:30vh;margin:0 0 .5rem;padding:0;font-size:.9rem;list-style:none;display:flex;overflow:auto}.pres-cmts li{background:#7c3aed47;border-radius:10px 10px 10px 3px;padding:.35rem .6rem}.pres-cmts li b{color:#ddd6fe;margin-right:.3rem;font-weight:700}.pres-cmt-form{align-items:flex-end;gap:.4rem;display:flex}.pres-cmt-input{color:#f5f3ff;resize:none;background:#00000040;border:1px solid #a78bfab3;border-radius:10px;flex:1;min-width:0;padding:.55rem .7rem;font-family:inherit;font-size:.95rem;line-height:1.5}.pres-cmt-input::placeholder{color:#a5b4fc}.pres-cmt-input:focus{border-color:#c4b5fd;outline:none;box-shadow:0 0 0 2px #a78bfa59}.pres-cmt-send{color:#f5f3ff;cursor:pointer;background:#7c3aed;border:none;border-radius:10px;flex:none;min-height:40px;padding:0 .9rem;font-size:.9rem;font-weight:700}.pres-cmt-send:hover:not(:disabled){background:#8b5cf6}.pres-cmt-send:disabled{opacity:.45;cursor:not-allowed}@media (width<=900px){.pres-main{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.pres-side{max-height:40vh}}.present-root{background:#0b1220;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.present-stage{width:100%;height:100%;padding:.5rem;display:flex}.present-stage .slide{box-shadow:none;border-radius:0;flex:1}.present-wait{text-align:center;color:#94a3b8}.present-wait-title{color:#e2e8f0;margin:0 0 .5rem;font-size:2rem;font-weight:800}.present-wait-desc{margin:0;font-size:1.1rem}.present-fs-hint{color:#e2e8f0;cursor:pointer;background:#0f172ad9;border:1px solid #ffffff40;border-radius:999px;padding:.5rem 1rem;font-size:.9rem;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%)}.sub-cmt{border-top:1px dashed var(--border);flex-direction:column;gap:.4rem;margin-top:.5rem;padding-top:.5rem;display:flex}.sub-cmt-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.sub-cmt-item{background:var(--bg-hover);border-radius:8px;padding:.45rem .6rem}.sub-cmt-head{align-items:center;gap:.5rem;display:flex}.sub-cmt-author{color:var(--accent);font-size:.78rem;font-weight:700}.sub-cmt-time{color:var(--text-muted);font-size:.72rem}.sub-cmt-del{min-height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0 .4rem;font-size:.72rem}.sub-cmt-del:hover{color:var(--danger,#ef4444)}.sub-cmt-body{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;margin:.15rem 0 0;font-size:.82rem}.sub-cmt-form{align-items:flex-end;gap:.4rem;display:flex}.sub-cmt-input{border:1px solid var(--border);background:var(--bg-input,var(--bg-hover));min-height:36px;color:var(--text-primary);resize:vertical;border-radius:8px;flex:1;padding:.45rem .6rem;font-family:inherit;font-size:.82rem;line-height:1.4}.tc{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-card);border-radius:10px;margin-top:1.25rem;padding:.9rem 1rem}.tc-title{color:var(--text-primary);margin:0 0 .5rem;font-size:.9rem;font-weight:700}.tc-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tc-head{align-items:baseline;gap:.5rem;display:flex}.tc-author{color:var(--accent);font-size:.8rem;font-weight:700}.tc-time{color:var(--text-muted);font-size:.72rem}.tc-body{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;margin:.15rem 0 0;font-size:.875rem;line-height:1.6}@media (width>=769px){.page-header,.assign-wrap,.curr-wrap,.community-header,.community-tabs,.community-list{padding-inline:max(2.5rem, calc((100% - var(--content-narrow)) / 2))}.course-card-grid,.course-type-heading{padding-inline:max(1.5rem, calc((100% - var(--content-narrow)) / 2))}}.community-home-box.is-mission{border-left:3px solid var(--cat-mission)}.community-home-heading-row{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.community-home-heading-sub{color:var(--text-muted);font-size:.75rem;font-weight:700}.community-home-row.is-mission .community-home-row-title{font-weight:800}.community-mission-reward{color:var(--text-primary);align-items:center;gap:.2rem;font-weight:800;display:inline-flex}.community-mission-reward img{object-fit:contain;width:1.1em;height:1.1em}.community-mission-prog{background:var(--progress-track,var(--bg-hover));border-radius:999px;height:8px;margin-top:.375rem;overflow:hidden}.community-mission-prog>i{background:var(--accent);border-radius:999px;height:100%;transition:width .25s;display:block}.community-mission-sub{color:var(--text-secondary);margin:.375rem 0 0;font-size:.8125rem;font-weight:600}@media (prefers-reduced-motion:reduce){.community-mission-prog>i{transition:none}}:root{--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--mobile-nav-h:0px;--kb:0px}@media (width<=768px){:root{--mobile-nav-h:calc(4.25rem + var(--safe-b))}:root.kb-open{--mobile-nav-h:0px}input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),textarea,select{font-size:max(16px,1em)!important}}.tap44{min-width:44px;min-height:44px}@media (hover:none){.hover-only{opacity:1;visibility:visible}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toast-wrap{left:50%;bottom:calc(var(--mobile-nav-h,0px) + var(--kb,0px) + 68px);z-index:4000;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(420px,100vw - 24px);display:flex;position:fixed;transform:translate(-50%)}@media (width>=769px){.toast-wrap{align-items:flex-end;bottom:20px;left:auto;right:20px;transform:none}}.toast{pointer-events:auto;border-radius:var(--radius-md,12px);border:1px solid var(--border);background:var(--bg-panel);width:100%;color:var(--text-primary);box-shadow:var(--shadow-card,0 6px 20px #00000047);align-items:center;gap:10px;padding:10px 12px;font-size:.88rem;line-height:1.5;animation:.18s ease-out toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.toast-success{border-color:var(--success,#34c759)}.toast-error{border-color:var(--danger,#d33)}.toast-msg{white-space:pre-wrap;word-break:break-word;flex:1;min-width:0}.toast-action{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:.8rem;font-weight:700}.toast-action:hover{background:var(--accent);color:#fff}.toast-x{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;min-height:32px;margin:-4px -6px -4px 0;padding:0;font-size:.78rem;display:inline-flex}.toast-x:hover{color:var(--text-primary)}.tut-root{z-index:6000;pointer-events:none;position:fixed;inset:0}.tut-blocker{pointer-events:auto;position:absolute;inset:0}.tut-hole-panel{pointer-events:auto;position:absolute}.tut-spotlight.is-interactive{outline-color:var(--accent);animation:1.4s ease-in-out infinite tutPulse}@keyframes tutPulse{0%,to{box-shadow:0 0 0 9999px var(--bg-overlay), 0 0 0 0 color-mix(in srgb, var(--accent) 50%, transparent)}50%{box-shadow:0 0 0 9999px var(--bg-overlay), 0 0 0 8px transparent}}@media (prefers-reduced-motion:reduce){.tut-spotlight.is-interactive{animation:none}.tut-spotlight{transition:none}}.tut-hint{color:var(--accent);margin:0;font-size:.9rem;font-weight:700}.tut-scrim{background:var(--bg-overlay);pointer-events:auto;position:absolute;inset:0}.tut-spotlight{box-shadow:0 0 0 9999px var(--bg-overlay);outline:4px solid var(--accent);outline-offset:3px;pointer-events:none;border-radius:12px;transition:top .2s,left .2s,width .2s,height .2s;position:absolute}.tut-intro-card{text-align:center;background:var(--bg-panel);border:1px solid var(--border);width:min(640px,100vw - 32px);max-height:calc(100dvh - 2rem);box-shadow:var(--shadow-card);pointer-events:auto;border-radius:20px;flex-direction:column;align-items:center;gap:16px;padding:28px;display:flex;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.tut-intro-body{flex:1;width:100%;min-width:0}.tut-intro-card .tut-avatar{flex-shrink:0;width:180px;height:180px}.tut-intro-card .tut-actions{justify-content:center}.tut-dialog{left:50%;bottom:calc(var(--mobile-nav-h) + 1.5rem);background:var(--bg-panel);border:1px solid var(--border);width:min(800px,100vw - 32px);box-shadow:var(--shadow-card);pointer-events:auto;border-radius:16px;grid-template-columns:150px minmax(0,1fr);grid-template-areas:"av head""av body""av act";gap:6px 20px;padding:22px;display:grid;position:absolute;transform:translate(-50%)}.tut-dialog.is-top{top:calc(var(--safe-t) + .75rem);bottom:auto}.tut-dialog .tut-avatar{grid-area:av}.tut-dialog-head{grid-area:head}.tut-dialog-body{grid-area:body;min-width:0;min-height:0;overflow-y:auto}.tut-dialog .tut-actions{grid-area:act}.tut-dialog-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tut-avatar{background:var(--bg-hover);border:1px solid var(--border);border-radius:16px;flex:none;justify-content:center;align-items:center;width:150px;height:150px;display:flex;overflow:hidden}.tut-avatar img{object-fit:cover;width:100%;height:100%;display:block}.tut-avatar-fallback{color:var(--text-muted);text-align:center;font-size:1rem;font-weight:700;line-height:1.2}.tut-npc-name{color:var(--accent);margin:0;font-size:1.05rem;font-weight:700}.tut-progress{color:var(--text-secondary);font-size:.85rem}.tut-text{color:var(--text-primary);white-space:pre-line;word-break:keep-all;margin:0;font-size:1.05rem;line-height:1.7}.tut-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tut-spacer{flex:1}.tut-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 20px;font-size:1rem;font-weight:600;transition:background .15s,opacity .15s}.tut-btn:disabled{opacity:.4;cursor:default}.tut-btn-primary{background:var(--accent);color:#fff}.tut-btn-primary:hover:not(:disabled){filter:brightness(1.05)}.tut-btn-ghost{border-color:var(--border);color:var(--text-secondary);background:0 0}.tut-btn-ghost:hover:not(:disabled){background:var(--bg-hover)}.tut-btn-quit{color:var(--text-secondary);background:0 0;border-color:#0000;font-weight:500}.tut-btn-quit:hover{color:var(--danger)}@media (hover:none){.tut-btn{min-height:44px}}@media (width<=768px){.tut-dialog{left:8px;right:8px;bottom:calc(var(--mobile-nav-h) + .5rem);grid-template-columns:44px minmax(0,1fr);grid-template-areas:"av head""body body""act act";gap:8px 10px;width:auto;padding:14px 16px;transform:none}.tut-dialog .tut-avatar{border-radius:50%;width:44px;height:44px}.tut-dialog .tut-avatar .mascot .mascot-img{padding:2px}.tut-dialog-body{max-height:34dvh}.tut-intro-card{gap:12px;width:calc(100vw - 24px);padding:20px}.tut-avatar{width:100px;height:100px}.tut-intro-card .tut-avatar{width:120px;height:120px}.tut-text{font-size:.95rem}}@media (width<=768px) and (height<=480px){.tut-intro-card{text-align:left;flex-direction:row;align-items:center;padding:16px}.tut-intro-card .tut-avatar{width:88px;height:88px}.tut-intro-card .tut-actions{justify-content:flex-end}.tut-dialog-body{max-height:30dvh}}.qc-modal-overlay{z-index:7000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.qc-star{pointer-events:none;opacity:.9;z-index:7001;animation:linear infinite qc-star-float;position:fixed}@keyframes qc-star-float{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}50%{opacity:.7;transform:translateY(-30px)rotate(180deg)scale(1.3)}to{opacity:1;transform:translateY(0)rotate(360deg)scale(1)}}.qc-modal-box{background:var(--bg-card,#fff);text-align:center;z-index:7002;border:2px solid #ffd70080;border-radius:24px;width:90%;max-width:420px;padding:2.5rem 2rem 2rem;animation:.45s cubic-bezier(.175,.885,.32,1.275) both qc-box-pop;position:relative;box-shadow:0 0 60px 10px #ffd70059,0 20px 60px #0006}@keyframes qc-box-pop{0%{opacity:0;transform:scale(.4)rotate(-6deg)}to{opacity:1;transform:scale(1)rotate(0)}}.qc-modal-crown{margin-bottom:.5rem;font-size:60px;line-height:1;animation:.8s ease-in-out infinite alternate qc-crown-bounce;display:block}@keyframes qc-crown-bounce{0%{filter:drop-shadow(0 0 8px gold);transform:translateY(0)scale(1)}to{filter:drop-shadow(0 0 24px gold);transform:translateY(-12px)scale(1.1)}}.qc-modal-title{color:var(--text-primary,#111);margin-bottom:.75rem;font-size:1.25rem;font-weight:900;line-height:1.4}.qc-modal-desc{color:var(--text-secondary,#555);margin-bottom:1.5rem;font-size:.92rem;line-height:1.7}.qc-modal-sub{color:var(--accent,#6366f1);margin-top:.5rem;font-weight:700;display:block}.qc-modal-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#f97316);border:none;border-radius:14px;padding:.8rem 2.2rem;font-size:1.05rem;font-weight:800;transition:transform .15s,box-shadow .15s;animation:1.5s ease-in-out infinite alternate qc-btn-glow;box-shadow:0 4px 16px #f9731666}.qc-modal-btn:hover{transform:scale(1.06);box-shadow:0 6px 24px #f973168c}@keyframes qc-btn-glow{0%{box-shadow:0 4px 16px #f9731666}to{box-shadow:0 4px 28px #f97316b3,0 0 0 4px #f9731626}}.tut-avatar .mascot{width:100%;height:100%}.tut-avatar .mascot .mascot-img{object-fit:contain;padding:6px}.tut-replay-fab{right:26px;bottom:calc(var(--mobile-nav-h) + 116px);z-index:1190;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-card);border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 6px;font-size:.82rem;font-weight:700;line-height:1;transition:transform .15s,border-color .15s,color .15s;display:inline-flex;position:fixed}.tut-replay-fab:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.tut-replay-fab-mascot{width:28px;height:28px}.tut-replay-fab-label{white-space:nowrap}@media (width<=768px){.tut-replay-fab{right:14px;bottom:calc(var(--mobile-nav-h) + 3.5rem);min-width:44px;min-height:44px}}.bw-overlay{z-index:3000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f0a229e;place-items:center;padding:20px;animation:.28s bwFadeIn;display:grid;position:fixed;inset:0}.bw-overlay.is-out{animation:.36s forwards bwFadeOut}.bw-overlay.is-out .bw-modal{animation:.36s cubic-bezier(.5,0,.75,.4) forwards bwPopOut}.bw-modal{background:#fff;border-radius:26px;width:min(420px,100%);max-height:calc(100dvh - 24px);animation:.5s cubic-bezier(.2,1.1,.3,1) backwards bwPopIn;position:relative;overflow:auto;box-shadow:0 30px 80px #2d146e73,0 0 0 1px #7c4dff2e}.bw-close{z-index:2;color:#fff;cursor:pointer;background:#ffffff2e;border:0;border-radius:50%;width:44px;height:44px;font-size:1rem;line-height:1;position:absolute;top:10px;left:10px}.bw-close:hover{background:#ffffff4d}.bw-hero{background:radial-gradient(circle at 30% 20%,#ffffff29 0 18%,#0000 20%),radial-gradient(circle at 78% 64%,#ffffff1a 0 14%,#0000 16%),linear-gradient(145deg,#8b5cf6 0%,#7c4dff 45%,#5b21b6 100%);place-items:center;padding:34px 20px 26px;display:grid;position:relative}.bw-glow{background:radial-gradient(circle,#ffffff59 0%,#0000 68%);border-radius:50%;width:190px;height:190px;animation:2.6s ease-in-out infinite bwGlow;position:absolute}.bw-mascot{z-index:1;object-fit:contain;filter:drop-shadow(0 10px 22px #1e0a5073);width:128px;height:128px;animation:2.6s ease-in-out infinite bwBob;position:relative}.bw-badge{color:#4a2f00;letter-spacing:.08em;background:#ffd60a;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800;animation:.5s cubic-bezier(.2,1.4,.4,1) .25s backwards bwBadgePop;position:absolute;top:16px;right:18px;box-shadow:0 4px 12px #00000038}.bw-spark{opacity:0;width:8px;height:8px;animation:1.7s ease-out infinite bwSpark;animation-delay:calc(var(--i,0) * .21s);background:#fff;border-radius:50%;position:absolute;top:55%;left:50%}.bw-spark:nth-child(2n){background:#ffd60a;width:6px;height:6px}.bw-spark:first-child{--sx:-120px;--sy:-55px}.bw-spark:nth-child(2){--sx:110px;--sy:-80px}.bw-spark:nth-child(3){--sx:140px;--sy:25px}.bw-spark:nth-child(4){--sx:-90px;--sy:70px}.bw-spark:nth-child(5){--sx:40px;--sy:-110px}.bw-spark:nth-child(6){--sx:-150px;--sy:10px}.bw-spark:nth-child(7){--sx:80px;--sy:85px}.bw-spark:nth-child(8){--sx:-45px;--sy:-95px}.bw-body{text-align:center;justify-items:center;gap:12px;padding:22px 26px;display:grid}.bw-title{letter-spacing:-.02em;background:linear-gradient(120deg,#6d28d9,#7c4dff 55%,#a78bfa);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.5rem;font-weight:800}.bw-sub{color:#4b4667;margin:0;font-size:.95rem;line-height:1.55}.bw-sub b{color:#6d28d9}.bw-feats{flex-wrap:wrap;justify-content:center;gap:6px;margin:2px 0 4px;padding:0;list-style:none;display:flex}.bw-feats li{color:#5b21b6;background:#f3efff;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:.8rem;font-weight:600;display:inline-flex}.bw-feats .bw-feat-more{color:#8d87a8;background:0 0;font-weight:500}.bw-cta{color:#fff;cursor:pointer;background:linear-gradient(120deg,#7c4dff,#6d28d9);border:0;border-radius:14px;width:100%;padding:13px 0;font-size:1rem;font-weight:700;transition:transform .14s,box-shadow .14s;box-shadow:0 10px 24px #7c4dff61}.bw-cta:hover{transform:translateY(-1px);box-shadow:0 13px 28px #7c4dff75}.bw-cta:active{transform:translateY(0)}.bw-later{color:#8d87a8;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:4px 8px;font-size:.82rem;text-decoration:underline}.bw-later:hover{color:#5b21b6}@keyframes bwFadeIn{0%{opacity:0}}@keyframes bwFadeOut{to{opacity:0}}@keyframes bwPopIn{0%{opacity:0;transform:translateY(26px)scale(.86)}}@keyframes bwPopOut{to{opacity:0;transform:translateY(14px)scale(.92)}}@keyframes bwBob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bwGlow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@keyframes bwBadgePop{0%{opacity:0;transform:scale(.4)rotate(-14deg)}}@keyframes bwSpark{0%{opacity:0;transform:translate(0)scale(.3)}12%{opacity:.95}70%{opacity:0;transform:translate(var(--sx,0), var(--sy,0)) scale(1.25)}to{opacity:0;transform:translate(var(--sx,0), var(--sy,0)) scale(1.25)}}@media (width<=480px){.bw-mascot{width:104px;height:104px}.bw-title{font-size:1.3rem}.bw-body{padding:18px}}@media (height<=480px){.bw-hero{padding:14px 20px 12px}.bw-mascot{width:64px;height:64px}.bw-glow{width:110px;height:110px}.bw-body{gap:8px;padding:14px 22px 16px}.bw-title{font-size:1.15rem}.bw-feats{display:none}}@media (prefers-reduced-motion:reduce){.bw-overlay,.bw-modal,.bw-mascot,.bw-glow,.bw-badge,.bw-spark{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}:root{--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--sidebar-width-expanded:240px;--sidebar-width-collapsed:68px;--sidebar-width:var(--sidebar-width-expanded);--workspace-width:380px;--content-max:1440px;--content-narrow:60rem}.app-shell{background:var(--bg-base);height:100dvh;color:var(--text-primary);display:flex;overflow:hidden}.app-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);z-index:600;--scrollbar-thumb:transparent;--scrollbar-thumb-hover:transparent;--scrollbar-thumb-active:transparent;flex-direction:column;padding:1.25rem .875rem;transition:width .22s,min-width .22s,padding .22s;display:flex;position:relative;overflow:hidden}.sidebar:hover{--scrollbar-thumb:color-mix(in srgb, var(--text-muted) 50%, var(--border));--scrollbar-thumb-hover:color-mix(in srgb, var(--accent) 32%, var(--border-light));--scrollbar-thumb-active:color-mix(in srgb, var(--accent) 48%, var(--border-light))}.sidebar.collapsed{--sidebar-width:var(--sidebar-width-collapsed);align-items:center;padding:1.25rem .5rem}.sidebar-header{justify-content:space-between;align-items:center;gap:.375rem;width:100%;margin-bottom:.85rem;display:flex}.sidebar.collapsed .sidebar-header{justify-content:center;gap:0}.sidebar-logo{letter-spacing:.08em;color:var(--text-primary);align-items:center;gap:.5rem;min-width:0;padding:.25rem .5rem;font-size:1.125rem;font-weight:800;text-decoration:none;display:flex}.sidebar.collapsed .sidebar-logo{justify-content:center;padding:.25rem}.sidebar-logo:hover{text-decoration:none}.sidebar-logo-mark{border-radius:var(--radius-sm);background:linear-gradient(135deg,#e040fb 0%,#7c4dff 100%);flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.9375rem;font-weight:800;display:none}.sidebar.collapsed .sidebar-logo-mark{display:flex}.sidebar-logo-text{white-space:nowrap;transition:opacity .15s,width .22s;overflow:hidden}.sidebar.collapsed .sidebar-logo-text{display:none}.station-entry{color:#fff;letter-spacing:.14em;isolation:isolate;background:linear-gradient(110deg,#7c4dff,#b14dff 42%,#e040fb 72%,#ff4db8) 0 0/220% 100%;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;margin:.15rem 0 .85rem;padding:.5rem .7rem;font-size:.76rem;font-weight:800;text-decoration:none;transition:transform .16s,box-shadow .2s,filter .2s;animation:6s infinite station-flow;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 12px #b14dff73,inset 0 1px #ffffff59}.station-entry:after{content:"";z-index:-1;background:linear-gradient(115deg,#0000 30%,#ffffff8c 48%,#0000 62%);transition:transform .6s;position:absolute;inset:0;transform:translate(-120%)}.station-entry:hover{filter:saturate(1.15);transform:translateY(-1px);box-shadow:0 6px 20px #b14dff99,inset 0 1px #ffffff73}.station-entry:hover:after{transform:translate(120%)}.station-entry:active{transform:translateY(0)}.station-entry.active{box-shadow:0 0 0 2px #e040fbb3,0 6px 20px #b14dff8c}.station-entry-label{align-items:center;gap:.38rem;display:inline-flex}.station-entry-label:before{content:"⬡";filter:drop-shadow(0 0 5px #fffc);font-size:.95rem;line-height:1}@keyframes station-flow{0%,to{background-position:0%}50%{background-position:100%}}.sidebar.collapsed .station-entry{width:2.1rem;height:2.1rem;margin:.25rem auto .1rem;padding:.42rem}.sidebar.collapsed .station-entry-label{gap:0}.sidebar.collapsed .station-entry-label:before{font-size:1rem}.sidebar.collapsed .station-entry{letter-spacing:0;font-size:0}@media (prefers-reduced-motion:reduce){.station-entry{animation:none}.station-entry:after{transition:none}}.station-page{background:var(--bg);color:var(--text);position:fixed;inset:0;overflow:auto}.station-body{justify-content:center;align-items:center;min-height:100%;display:flex}.station-back-zone{z-index:50;width:220px;height:64px;position:fixed;top:0;left:0}.station-back-btn{border:1px solid var(--border);background:var(--bg-elevated,var(--bg));color:var(--text);opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:opacity .18s,transform .18s;display:inline-flex;position:absolute;top:12px;left:12px;transform:translate(-8px);box-shadow:0 6px 18px #00000026}.station-back-zone:hover .station-back-btn,.station-back-btn:focus-visible{opacity:1;pointer-events:auto;transform:translate(0)}.station-back-btn:hover{border-color:var(--accent);color:var(--accent)}.sidebar-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);width:2rem;height:2rem;color:var(--text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.user-card{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);align-items:center;gap:.625rem;width:100%;margin-bottom:1.5rem;padding:.625rem;transition:padding .22s;display:flex}.sidebar.collapsed .user-card{justify-content:center;width:auto;padding:.375rem}.user-card-avatar{background:linear-gradient(135deg,#e040fb 0%,#7c4dff 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:43px;height:43px;font-size:.875rem;font-weight:700;display:flex;position:relative}.user-card-avatar--btn{cursor:pointer;color:inherit;border:none;padding:0;transition:transform .12s,box-shadow .12s}.user-card-avatar--btn:hover{box-shadow:0 0 0 2px var(--accent);transform:scale(1.05)}.user-card-dot{border:2px solid var(--bg-card);background:#ef4444;border-radius:50%;width:11px;height:11px;position:absolute;top:-1px;right:-1px}.user-card-badge{box-sizing:border-box;color:#fff;border:2px solid var(--bg-card);pointer-events:none;background:#ef4444;border-radius:9px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-5px;right:-5px}.sidebar.collapsed .user-card-avatar{width:2.25rem;height:2.25rem;font-size:.8125rem}.user-card-info{min-width:0;color:inherit;flex:1;text-decoration:none;overflow:hidden}a.user-card-info:hover .user-card-name{color:var(--accent)}button.user-card--login{cursor:pointer;color:inherit;font:inherit;text-align:left;border-color:var(--accent);transition:background .12s,box-shadow .12s,padding .22s}button.user-card--login:hover{background:var(--bg-hover);box-shadow:0 0 0 2px var(--accent)}.user-card--login .user-card-avatar{color:#fff;font-size:1.25rem}.user-card--login .user-card-name{color:var(--accent);font-weight:700}.sidebar.collapsed .user-card-info{display:none}.sidebar-theme-dots{align-items:center;gap:.5rem;margin:0 0 1rem .25rem;display:flex}.sidebar-theme-dots--header{gap:.4rem;margin:0}.theme-dot{border:2px solid var(--border);cursor:pointer;border-radius:50%;width:20px;height:20px;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s}.theme-dot:hover{border-color:var(--accent);transform:scale(1.12)}.theme-dot.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.sidebar.collapsed .sidebar-theme-dots{flex-direction:column;gap:.4rem;margin:0 auto 1rem}.user-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:600;overflow:hidden}.user-card-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;overflow:hidden}.sidebar-nav{flex-direction:column;flex:1;gap:.125rem;width:100%;display:flex}.sidebar>.sidebar-nav{flex-shrink:1;min-height:0;overflow:hidden auto}.nav-row{align-items:center;width:100%;display:flex;position:relative}.nav-row>.nav-item,.nav-row>.nav-sub-item{flex:1;min-width:0}.nav-fav-star{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;padding:0 .15rem;font-size:.95rem;line-height:1;transition:opacity .12s,color .12s,transform .12s;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.nav-row:hover .nav-fav-star,.nav-fav-star:focus-visible{opacity:.75}.nav-fav-star.active{opacity:1;color:#f5b301}.nav-fav-star:hover{color:#f5b301;transform:translateY(-50%)scale(1.2)}.sidebar.collapsed .nav-fav-star{display:none}.sidebar.collapsed .nav-row{justify-content:center}.sidebar.collapsed .nav-row>.nav-item{flex:none}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.625rem;width:100%;padding:.5625rem .625rem;font-size:.875rem;text-decoration:none;transition:background .15s,color .15s,padding .22s;display:flex}.sidebar.collapsed .nav-item{justify-content:center;width:2.75rem;margin:0 auto;padding:.5625rem}.nav-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar.collapsed .nav-label{display:none}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--bg-hover);color:var(--text-primary);font-weight:600}.nav-item svg{opacity:.7;flex-shrink:0}.nav-item.active svg{opacity:1}.sidebar>*{flex-shrink:0}.nav-admin{flex-direction:column;width:100%;display:flex}.nav-admin-caret{opacity:.6;margin-left:auto;font-size:.7rem;transition:transform .18s}.nav-admin.is-open .nav-admin-caret{transform:rotate(180deg)}.sidebar.collapsed .nav-admin-caret{display:none}.nav-admin-sub{border-left:1px solid var(--border);flex-direction:column;gap:1px;margin:.15rem 0 .35rem .75rem;padding-left:.5rem;animation:.16s nav-sub-in;display:flex}@keyframes nav-sub-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.nav-sub-item{font:inherit;text-align:left;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:.44rem .55rem;font-size:.92rem;transition:background .15s,color .15s;overflow:hidden}.nav-sub-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-sub-item.active{background:var(--bg-hover);color:var(--text-primary);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:.125rem;width:100%;margin-top:auto;padding-top:.75rem;display:flex}.sidebar-tooldock{border-bottom:1px solid var(--border);width:100%;margin-bottom:.75rem;padding:0 0 .75rem}.tooldock-title{letter-spacing:.03em;color:var(--text-muted);margin:0 0 .5rem .3rem;font-size:.66rem;font-weight:800;display:block}.tooldock-grid{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.tooldock-app{aspect-ratio:1;border:1px solid var(--border);cursor:pointer;background:linear-gradient(145deg, var(--bg-panel), var(--bg-hover));border-radius:13px;justify-content:center;align-items:center;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex;box-shadow:0 2px 6px #0000001a,inset 0 1px #ffffff0f}.tooldock-app:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 7px 18px #0003}.tooldock-app.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.tooldock-emoji{font-size:1.15rem;line-height:1}.sidebar.collapsed .sidebar-tooldock{padding:0 0 .5rem}.sidebar.collapsed .tooldock-title{display:none}.sidebar.collapsed .tooldock-grid{grid-template-columns:1fr;gap:.35rem}.tooldock-add{border:1px dashed var(--border);width:100%;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border-radius:11px;align-items:center;gap:.5rem;padding:.5rem .55rem;font-size:.76rem;transition:color .12s,border-color .12s,background .12s;display:flex}.tooldock-add:hover{color:var(--accent);border-color:var(--accent);background:var(--bg-hover)}.tooldock-add-plus{flex-shrink:0;font-size:1.05rem;line-height:1}.tooldock-add-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar.collapsed .tooldock-add{justify-content:center;padding:.5rem}.sidebar.collapsed .tooldock-add-label{display:none}.fav-strip{border-bottom:1px solid var(--border);background:var(--bg-base);align-items:center;gap:.75rem;padding:.75rem 2.5rem;display:flex;overflow-x:auto}.fav-strip-title{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:.8rem;font-weight:700}.fav-strip-list{gap:.5rem;display:flex}.fav-strip-chip{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8125rem;font-weight:600;transition:background .12s,color .12s,border-color .12s,transform .12s;display:flex}.fav-strip-chip:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent);transform:translateY(-1px)}.fav-strip-chip.active{border-color:var(--accent);color:var(--text-primary)}.fav-strip-emoji{font-size:1rem;line-height:1}.theme-toggle-btn{color:var(--text-secondary)}.theme-toggle-btn:hover{color:var(--accent)}.sidebar.collapsed .sidebar-footer{align-items:center}.sidebar-footer .nav-item{font-size:.8125rem}.learn-workspace-wrap{flex-shrink:0;min-width:260px;height:100%;display:flex;overflow:hidden}.learn-workspace-wrap .workspace-panel--desktop{border-right:none;width:100%;min-width:0}.learn-example-wrap{top:0;bottom:0;left:var(--example-panel-left,0);width:var(--example-panel-width,692px);z-index:20;isolation:isolate;opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .22s;position:absolute;overflow:hidden;transform:translate(-100%)}.learn-example-wrap.is-open{opacity:1;pointer-events:auto;transform:translate(0)}.learn-content.has-example-open .explorer-panel{z-index:1;position:relative}.learn-content.has-example-open .panel-resizer{z-index:2}.learn-example-wrap .instructor-example-panel{border-right:none;width:100%;min-width:100%;height:100%;overflow:hidden;box-shadow:4px 0 28px #0000002e}.instructor-example-open-tab{top:50%;left:var(--example-panel-left,0);z-index:19;font:inherit;letter-spacing:.04em;writing-mode:vertical-rl;color:var(--cat-mission);background:var(--bg-panel);border:1px solid rgba(var(--cat-mission-rgb), .35);border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:pointer;border-left:none;padding:.625rem .4375rem;font-size:.6875rem;font-weight:700;transition:background .15s,color .15s;position:absolute;transform:translateY(-50%);box-shadow:2px 0 12px #00000014}.instructor-example-open-tab:hover{background:rgba(var(--cat-mission-rgb), .1)}.panel-resizer{cursor:col-resize;z-index:2;touch-action:none;background:0 0;flex-shrink:0;width:5px;transition:background .15s;position:relative}.panel-resizer:before{content:"";background:var(--border);width:1px;transition:width .15s,background .15s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.panel-resizer:hover,.panel-resizer.is-dragging{background:var(--accent-soft)}.panel-resizer:hover:before,.panel-resizer.is-dragging:before{background:var(--accent);width:2px}body.is-panel-resizing{-webkit-user-select:none;user-select:none;cursor:col-resize!important}body.is-panel-resizing *{cursor:col-resize!important}.workspace-panel{width:var(--workspace-width);min-width:var(--workspace-width);background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow-y:auto}.learn-example-wrap .workspace-panel.instructor-example-panel{border-right:none;width:100%;min-width:100%;overflow:hidden}.workspace-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;display:flex}.mode-toggle{background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border);padding:3px;display:flex}.mode-toggle button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.3125rem .75rem;font-size:.75rem;font-weight:600}.mode-toggle button.active{background:var(--bg-hover);color:var(--text-primary)}.version-select{color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:.3125rem .625rem;font-size:.75rem}.workspace-body{flex-direction:column;flex:1;gap:1rem;padding:1.25rem;display:flex}.input-actions{flex-wrap:wrap;gap:.5rem;display:flex}.chip-btn{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:.375rem;padding:.4375rem .75rem;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s;display:flex}.chip-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.chip-btn .badge{color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:1px 5px;font-size:.625rem;font-weight:700}.prompt-area{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;flex:1;min-height:160px;padding:1rem;display:flex}.prompt-area label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.75rem;font-weight:600}.prompt-area textarea{color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.875rem;line-height:1.6}.prompt-area textarea::placeholder{color:var(--text-muted)}.lyrics-row{justify-content:space-between;align-items:center;display:flex}.toggle-row{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.toggle-switch{background:var(--border-light);cursor:pointer;border-radius:999px;width:36px;height:20px;position:relative}.toggle-switch:after{content:"";background:var(--text-secondary);border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px}.style-tags{flex-wrap:wrap;gap:.375rem;display:flex}.style-tag{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:.3125rem .625rem;font-size:.75rem;transition:background .15s}.style-tag:hover{background:var(--bg-hover);color:var(--text-primary)}.workspace-footer{border-top:1px solid var(--border);padding:1rem 1.25rem 1.25rem}.create-btn{background:var(--bg-hover);width:100%;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-md);cursor:not-allowed;padding:.75rem;font-size:.9375rem;font-weight:700}.workspace-empty-student{text-align:center;color:var(--text-muted);flex:1;justify-content:center;align-items:center;padding:2rem;font-size:.9rem;line-height:1.6;display:flex}.explorer-panel{background:var(--bg-base);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.explorer-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:1rem 1.25rem .875rem}.breadcrumb{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.375rem;margin-bottom:.875rem;font-size:.8125rem;display:flex}.breadcrumb-root{color:var(--text-secondary)}.breadcrumb-sep{color:var(--text-muted);font-size:.75rem}.breadcrumb-current{color:var(--text-primary);font-weight:600}.breadcrumb-link{font:inherit;color:var(--text-secondary);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .15s,text-decoration-color .15s}.breadcrumb-link:hover{color:var(--text-primary);-webkit-text-decoration-color:var(--border-light);text-decoration-color:var(--border-light)}.explorer-toolbar{flex-wrap:wrap;align-items:center;gap:.625rem .5rem;display:flex}.search-box{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;align-items:center;gap:.5rem;min-width:180px;padding:.4375rem .75rem;display:flex}.search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;margin:0;padding:0;font-size:.8125rem}.search-box input::placeholder{color:var(--text-muted)}.filter-btn{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:.375rem;padding:.4375rem .75rem;font-size:.8125rem;display:flex}.filter-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.explorer-grid{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;align-items:stretch;gap:1rem;min-width:0;padding:1.25rem;display:grid;overflow-y:auto}@media (width>=1800px){.explorer-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}}.content-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;min-width:0;height:100%;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;overflow:hidden}.content-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-card);transform:translateY(-2px)}.card-thumb{background:var(--thumb-fallback);flex-shrink:0;justify-content:flex-start;align-items:center;height:3rem;padding:0 .875rem;display:flex;position:relative;overflow:hidden}.card-thumb:after{content:"";pointer-events:none;background:linear-gradient(#0000 40%,#1c1c1c80 100%);position:absolute;inset:0}.card-thumb-icon{opacity:.85;z-index:1;filter:drop-shadow(0 2px 4px #0000004d);font-size:1.25rem;position:relative}.card-body{flex-direction:column;flex:1;gap:.5rem;min-width:0;padding:.875rem 1rem 1rem;display:flex}.card-title{-webkit-line-clamp:2;word-break:keep-all;overflow-wrap:break-word;color:var(--text-primary);-webkit-box-orient:vertical;flex:1;min-width:0;margin:0;font-size:.9375rem;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.card-meta{align-items:center;gap:.375rem;display:flex}.card-version{color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:.6875rem;font-weight:600;line-height:1.2}.card-desc{color:var(--text-secondary);-webkit-line-clamp:1;line-clamp:1;text-overflow:ellipsis;word-break:keep-all;overflow-wrap:break-word;-webkit-box-orient:vertical;flex:1;margin:0;font-size:.8125rem;line-height:1.6;display:-webkit-box;overflow:hidden}.card-footer-meta{color:var(--text-muted);border-top:1px solid var(--border);margin-top:auto;padding-top:.375rem;font-size:.75rem}.card-actions{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:.5rem;margin-top:auto;padding:.625rem 1rem .875rem;display:flex}.card-action-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:.25rem;display:flex}.card-action-btn:hover{color:var(--text-secondary);background:var(--bg-hover)}.learn-content{flex:1;width:100%;min-width:0;display:flex;position:relative;overflow:hidden}.home-main{background:var(--bg-base);flex:1;padding:2rem 2.5rem;overflow:hidden auto}.home-main-header h1{margin:0 0 .5rem;font-size:1.75rem}.home-main-header .muted{color:var(--text-secondary);margin:0}.home-section{margin-top:2.5rem}.home-section h2{color:var(--text-secondary);margin:0 0 1rem;font-size:1.125rem;font-weight:600}.home-cards{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1rem;display:grid}.home-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;align-items:flex-start;gap:1rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.home-card:hover{border-color:var(--border-light);text-decoration:none;transform:translateY(-2px)}.home-card--disabled{opacity:.5;cursor:default;pointer-events:none}.home-card-icon{font-size:1.75rem;line-height:1}.home-card strong{margin-bottom:.375rem;font-size:1rem;display:block}.home-card p{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.5}@keyframes qc-crown-sparkle{0%,to{filter:drop-shadow(0 0 2px gold)brightness();transform:rotate(-8deg)scale(1)}50%{filter:drop-shadow(0 0 7px gold)brightness(1.4);transform:rotate(8deg)scale(1.2)}}.qc-crown-badge{pointer-events:none;z-index:1;font-size:17px;line-height:1;animation:1.8s ease-in-out infinite qc-crown-sparkle;display:block;position:absolute;top:-10px;right:-8px}.qc-crown-inline{vertical-align:middle;margin-right:3px;font-size:13px;line-height:1;animation:1.8s ease-in-out infinite qc-crown-sparkle;display:inline-block}@media (hover:none){.theme-dot{width:28px;height:28px}}.block-category-tabs{flex-wrap:wrap;gap:.375rem;margin-bottom:.25rem;display:flex}.block-category-tabs--mobile{flex-wrap:nowrap;padding:0 1rem .75rem;display:none;overflow-x:auto}.block-category-tab{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.block-category-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.block-category-tab.active{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-light)}.block-category-tab[data-category=mission]{color:var(--cat-mission);border-color:rgba(var(--cat-mission-rgb), .45);background:rgba(var(--cat-mission-rgb), .14)}.block-category-tab[data-category=mission]:hover,.block-category-tab[data-category=mission].active{color:var(--cat-mission);border-color:rgba(var(--cat-mission-rgb), .65);background:rgba(var(--cat-mission-rgb), .22)}.block-category-tab[data-category=lecture]{color:var(--cat-lecture);border-color:rgba(var(--cat-lecture-rgb), .45);background:rgba(var(--cat-lecture-rgb), .14)}.block-category-tab[data-category=lecture]:hover,.block-category-tab[data-category=lecture].active{color:var(--cat-lecture);border-color:rgba(var(--cat-lecture-rgb), .65);background:rgba(var(--cat-lecture-rgb), .22)}.block-category-tab[data-category=tool]{color:var(--cat-tool);border-color:rgba(var(--cat-tool-rgb), .45);background:rgba(var(--cat-tool-rgb), .14)}.block-category-tab[data-category=tool]:hover,.block-category-tab[data-category=tool].active{color:var(--cat-tool);border-color:rgba(var(--cat-tool-rgb), .65);background:rgba(var(--cat-tool-rgb), .22)}.block-category-tab[data-category=feedback]{color:var(--cat-feedback);border-color:rgba(var(--cat-feedback-rgb), .45);background:rgba(var(--cat-feedback-rgb), .14)}.block-category-tab[data-category=feedback]:hover,.block-category-tab[data-category=feedback].active{color:var(--cat-feedback);border-color:rgba(var(--cat-feedback-rgb), .65);background:rgba(var(--cat-feedback-rgb), .22)}.block-category-tab.active:not([data-category]){color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-light)}.content-card--active{box-shadow:0 0 0 2px var(--accent-soft)}.content-card[data-category=mission]{border-color:rgba(var(--cat-mission-rgb), .4);background:linear-gradient(165deg, rgba(var(--cat-mission-rgb), .12) 0%, var(--bg-card) 50%)}.content-card[data-category=mission] .card-thumb{background:linear-gradient(135deg, rgba(var(--cat-mission-rgb), .38) 0%, rgba(var(--cat-mission-rgb), .08) 100%);border-bottom:1px solid rgba(var(--cat-mission-rgb), .45)}.content-card[data-category=lecture]{border-color:rgba(var(--cat-lecture-rgb), .4);background:linear-gradient(165deg, rgba(var(--cat-lecture-rgb), .12) 0%, var(--bg-card) 50%)}.content-card[data-category=lecture] .card-thumb{background:linear-gradient(135deg, rgba(var(--cat-lecture-rgb), .38) 0%, rgba(var(--cat-lecture-rgb), .08) 100%);border-bottom:1px solid rgba(var(--cat-lecture-rgb), .45)}.content-card[data-category=tool]{border-color:rgba(var(--cat-tool-rgb), .4);background:linear-gradient(165deg, rgba(var(--cat-tool-rgb), .12) 0%, var(--bg-card) 50%)}.content-card[data-category=tool] .card-thumb{background:linear-gradient(135deg, rgba(var(--cat-tool-rgb), .38) 0%, rgba(var(--cat-tool-rgb), .08) 100%);border-bottom:1px solid rgba(var(--cat-tool-rgb), .45)}.content-card[data-category=feedback]{border-color:rgba(var(--cat-feedback-rgb), .4);background:linear-gradient(165deg, rgba(var(--cat-feedback-rgb), .12) 0%, var(--bg-card) 50%)}.content-card[data-category=feedback] .card-thumb{background:linear-gradient(135deg, rgba(var(--cat-feedback-rgb), .38) 0%, rgba(var(--cat-feedback-rgb), .08) 100%);border-bottom:1px solid rgba(var(--cat-feedback-rgb), .45)}.content-card--active[data-category=mission]{border-color:rgba(var(--cat-mission-rgb), .7);box-shadow:0 0 0 2px rgba(var(--cat-mission-rgb), .25)}.content-card--active[data-category=lecture]{border-color:rgba(var(--cat-lecture-rgb), .7);box-shadow:0 0 0 2px rgba(var(--cat-lecture-rgb), .25)}.content-card--active[data-category=tool]{border-color:rgba(var(--cat-tool-rgb), .7);box-shadow:0 0 0 2px rgba(var(--cat-tool-rgb), .25)}.content-card--active[data-category=feedback]{border-color:rgba(var(--cat-feedback-rgb), .7);box-shadow:0 0 0 2px rgba(var(--cat-feedback-rgb), .25)}.card-thumb{position:relative}.content-card--incomplete{background:var(--bg-card);border-style:dashed;border-width:1.5px}.content-card--incomplete .card-thumb{opacity:.72}.content-card--incomplete .card-thumb-icon{opacity:.65}.content-card--incomplete .card-title{color:var(--text-secondary)}.content-card--incomplete .card-desc{color:var(--text-muted)}.content-card--complete{border-style:solid}.content-card--complete .card-thumb-icon{opacity:1}.card-incomplete-ring{border:2px solid var(--text-muted);box-sizing:border-box;border-radius:50%;width:.625rem;height:.625rem;position:absolute;top:.375rem;right:.375rem}.card-completion-badge{color:#fff;background:var(--cat-feedback);z-index:2;border-radius:50%;justify-content:center;align-items:center;width:1.125rem;height:1.125rem;font-size:.625rem;font-weight:800;display:flex;position:absolute;bottom:.375rem;right:.375rem;box-shadow:0 1px 4px #00000040}.content-card--complete[data-category=mission]{border-color:rgba(var(--cat-mission-rgb), .55)}.content-card--complete[data-category=lecture]{border-color:rgba(var(--cat-lecture-rgb), .55)}.content-card--complete[data-category=tool]{border-color:rgba(var(--cat-tool-rgb), .55)}.content-card--complete[data-category=feedback]{border-color:rgba(var(--cat-feedback-rgb), .55)}.mobile-list-item.is-incomplete{opacity:.88;border-left-style:dashed}.mobile-list-item.is-incomplete .mobile-list-title{color:var(--text-secondary)}.mobile-list-item.is-incomplete .mobile-list-meta{color:var(--text-muted)}.mobile-list-item.is-complete{border-left-width:4px}.mobile-list-thumb{position:relative}.mobile-list-item .card-completion-badge{width:1rem;height:1rem;font-size:.5625rem;bottom:-.125rem;right:-.125rem}.mobile-list-item[data-category=mission]{border-left:3px solid var(--cat-mission)}.mobile-list-item[data-category=lecture]{border-left:3px solid var(--cat-lecture)}.mobile-list-item[data-category=tool]{border-left:3px solid var(--cat-tool)}.mobile-list-item[data-category=feedback]{border-left:3px solid var(--cat-feedback)}.mobile-list-item.active .mobile-list-title{color:var(--text-primary)}.mobile-list-item[data-category=mission].active .mobile-list-title{color:var(--cat-mission)}.mobile-list-item[data-category=lecture].active .mobile-list-title{color:var(--cat-lecture)}.mobile-list-item[data-category=tool].active .mobile-list-title{color:var(--cat-tool)}.mobile-list-item[data-category=feedback].active .mobile-list-title{color:var(--cat-feedback)}.workspace-body--blocks{flex-direction:column;flex:1;gap:.75rem;min-height:0;padding:1rem 1.25rem;display:flex;overflow:hidden}.workspace-body-main{flex:1;min-height:0;overflow-y:auto}.block-instructor-guide{border:1px solid rgba(var(--cat-mission-rgb), .35);border-radius:var(--radius-md);background:linear-gradient(165deg, rgba(var(--cat-mission-rgb), .1) 0%, var(--bg-card) 60%);flex-shrink:0;overflow:hidden}.block-instructor-guide-toggle{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem .875rem;display:flex}.block-instructor-guide-toggle:hover{background:rgba(var(--cat-mission-rgb), .06)}.block-instructor-guide-label{color:var(--cat-mission);font-size:.8125rem;font-weight:700}.block-instructor-guide-chevron{color:var(--cat-mission);transition:transform .22s;display:flex}.block-instructor-guide.is-open .block-instructor-guide-chevron{transform:rotate(180deg)}.block-instructor-guide-body{border-top:1px solid rgba(var(--cat-mission-rgb), .2);grid-template-rows:1fr;transition:grid-template-rows .22s;display:grid}.block-instructor-guide.is-collapsed .block-instructor-guide-body{border-top-color:#0000;grid-template-rows:0fr}.block-instructor-guide-inner{min-height:0;overflow:hidden}.block-instructor-guide.is-collapsed .block-instructor-guide-inner{visibility:hidden}.block-instructor-examples{flex-direction:column;gap:.625rem;margin:0;padding:.625rem .875rem .875rem;list-style:none;display:flex}.block-instructor-example{flex-direction:column;gap:.25rem;display:flex}.block-instructor-example-label{color:var(--cat-mission);letter-spacing:.01em;font-size:.6875rem;font-weight:700}.block-instructor-example-value{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;padding:.5rem .625rem;font-family:inherit;font-size:.75rem;line-height:1.55}.instructor-example-panel{background:var(--bg-panel);z-index:1;position:relative}.instructor-example-header{border-bottom:1px solid rgba(var(--cat-mission-rgb), .22);background:linear-gradient(180deg, rgba(var(--cat-mission-rgb), .08) 0%, var(--bg-panel) 100%);flex-shrink:0;padding:1rem 1.25rem .75rem}.instructor-example-header-top{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.625rem;display:flex}.instructor-example-close{width:1.75rem;height:1.75rem;font:inherit;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s,border-color .15s;display:flex}.instructor-example-close:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--text-muted)}.instructor-example-badge{letter-spacing:.02em;color:var(--cat-mission);background:rgba(var(--cat-mission-rgb), .12);border:1px solid rgba(var(--cat-mission-rgb), .28);border-radius:var(--radius-sm);padding:.25rem .5rem;font-size:.6875rem;font-weight:700;display:inline-block}.instructor-example-body{flex:1;min-height:0;overflow-y:auto}.instructor-example-fields{padding-top:.25rem}.instructor-example-readonly{width:100%;min-height:4.5rem;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;background:var(--bg-input);border:1px dashed rgba(var(--cat-mission-rgb), .35);border-radius:var(--radius-sm);padding:.625rem .75rem;font-size:.875rem;line-height:1.55}.block-instructor-guide--mobile{margin-top:.25rem}.workspace-footer--blocks{flex-direction:column;gap:.5rem;display:flex}.workspace-save-hint{color:var(--text-muted);text-align:center;margin:0;font-size:.75rem}.create-btn--active:not(:disabled){background:var(--accent);color:#fff;cursor:pointer;border-color:var(--accent)}.create-btn--active:not(:disabled):hover{filter:brightness(1.08)}.create-btn--active.create-btn--saved:not(:disabled){background:#16a34a;border-color:#16a34a;animation:.25s create-btn-saved-pop}.create-btn--active.create-btn--reset:not(:disabled){background:#b45309;border-color:#b45309}.create-btn--active.create-btn--reset:not(:disabled):hover{background:#92400e;border-color:#92400e}@keyframes create-btn-saved-pop{0%{transform:scale(.97)}60%{transform:scale(1.02)}to{transform:scale(1)}}.block-workspace-form{flex-direction:column;gap:1rem;height:100%;display:flex}.block-form-header{border-bottom:1px solid var(--border);padding-bottom:.75rem}.block-form-header-row{justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;display:flex}.block-form-icon{flex-shrink:0;font-size:1.25rem;line-height:1.3}.block-form-title{min-width:0;color:var(--text-primary);flex:1;margin:0;font-size:1.0625rem;font-weight:700;line-height:1.4}.block-form-type{max-width:42%;color:var(--text-muted);text-align:right;flex-shrink:0;padding-top:.125rem;font-size:.75rem;font-weight:500;line-height:1.4}.block-form-fields{flex-direction:column;flex:1;gap:.875rem;padding-top:.25rem;display:flex;overflow-y:auto}.block-field{flex-direction:column;gap:.375rem;display:flex}.block-field-label{color:var(--text-primary);font-size:.8125rem;font-weight:600}.block-field-hint{color:var(--text-muted);font-size:.75rem}.block-input,.block-textarea,.block-select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:.625rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.block-input:focus,.block-textarea:focus,.block-select:focus{border-color:var(--accent)}.block-textarea{resize:vertical;min-height:5rem;line-height:1.55}.block-file-drop{border:1px dashed var(--border-light);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:1.25rem;font-size:.875rem;transition:border-color .15s,background .15s;display:flex}.block-file-drop:hover{border-color:var(--accent);background:var(--accent-soft)}.block-file-drop small{color:var(--text-muted);font-size:.75rem}.block-check{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.block-check input{width:1rem;height:1rem;accent-color:var(--accent)}.block-type-picker{flex-direction:column;gap:1rem;height:100%;display:flex;overflow-y:auto}.block-empty-title{margin:0;font-size:1rem;font-weight:700}.block-empty-desc{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.5}.block-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.block-type-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--text-primary);flex-direction:column;align-items:flex-start;gap:.375rem;padding:.75rem;transition:border-color .15s,background .15s;display:flex}.block-type-card:hover{border-color:var(--border-light);background:var(--bg-hover)}.block-type-card[data-category=mission]{border-left:3px solid var(--cat-mission)}.block-type-card[data-category=lecture]{border-left:3px solid var(--cat-lecture)}.block-type-card[data-category=tool]{border-left:3px solid var(--cat-tool)}.block-type-card[data-category=feedback]{border-left:3px solid var(--cat-feedback)}.block-type-emoji{font-size:1.25rem}.block-type-name{font-size:.75rem;font-weight:600;line-height:1.35}.block-type-cat-label{color:var(--text-muted);margin-top:2px;font-size:.6875rem}.block-type-groups{flex-direction:column;gap:1rem;display:flex}.block-type-group{flex-direction:column;gap:.375rem;display:flex}.block-type-group-label{letter-spacing:.06em;text-transform:uppercase;border-radius:4px;width:fit-content;padding:2px 6px;font-size:.6875rem;font-weight:700}.block-type-group-label[data-category=mission]{color:var(--cat-mission);background:color-mix(in srgb, var(--cat-mission) 12%, transparent)}.block-type-group-label[data-category=lecture]{color:var(--cat-lecture);background:color-mix(in srgb, var(--cat-lecture) 12%, transparent)}.block-type-group-label[data-category=tool]{color:var(--cat-tool);background:color-mix(in srgb, var(--cat-tool) 12%, transparent)}.block-type-group-label[data-category=feedback]{color:var(--cat-feedback);background:color-mix(in srgb, var(--cat-feedback) 12%, transparent)}.explorer-sessions{flex-direction:column;flex:1;align-items:stretch;gap:1.25rem;min-width:0;min-height:0;padding:1rem 1.25rem 1.25rem;display:flex;overflow:hidden auto}.explorer-sessions>.lecture-session-group{flex-shrink:0}.explorer-empty{color:var(--text-muted);text-align:center;margin:2rem auto;font-size:.875rem}.explorer-course-list{flex-direction:column;flex:1;gap:.625rem;padding:1rem 1.25rem;display:flex;overflow-y:auto}.explorer-course-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);text-align:left;cursor:pointer;align-items:center;gap:1rem;width:100%;padding:1rem 1.125rem;transition:border-color .15s,background .15s;display:flex}.explorer-course-card:hover{border-color:var(--accent);background:var(--accent-soft)}.explorer-course-card-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.explorer-course-title{color:var(--text-primary);font-size:.9375rem;font-weight:700}.explorer-course-desc{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.explorer-course-meta{color:var(--text-muted);margin-top:.125rem;font-size:.75rem}.explorer-course-arrow{color:var(--text-muted);flex-shrink:0;transition:color .15s}.explorer-course-card:hover .explorer-course-arrow{color:var(--accent)}.explorer-catalog{flex-direction:column;flex:1;gap:.625rem;padding:1rem 1.25rem;display:flex;overflow:hidden auto}.explorer-cat-card{text-align:left;cursor:pointer;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);color:inherit;align-items:center;gap:.85rem;padding:.7rem .8rem;transition:border-color .15s,transform .1s;display:flex}.explorer-cat-card:hover{border-color:var(--accent);transform:translateY(-1px)}.explorer-cat-thumb{aspect-ratio:16/9;background:var(--bg-hover);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:92px;font-size:1.6rem;display:flex;overflow:hidden}.explorer-cat-thumb img{object-fit:cover;width:100%;height:100%}.explorer-cat-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.explorer-cat-badge{color:var(--accent);background:var(--accent-soft);border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:.66rem;font-weight:800}.explorer-cat-badge.type-OFFLINE{color:#d97706;background:#d977061f}.explorer-cat-badge.type-TUTORING{color:#493021;background:#4930211f}.explorer-cat-title{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.explorer-cat-price{color:var(--text-secondary);font-size:.78rem;font-weight:700}.explorer-catalog .explorer-course-arrow{align-self:center}.learn-landing{flex-direction:column;flex:1;gap:2.25rem;padding:1.5rem 1.75rem 2.5rem;display:flex;overflow:hidden auto}.learn-landing-section{flex-direction:column;gap:.875rem;display:flex}.learn-landing-title{color:var(--text-primary);margin:0;font-size:1.0625rem;font-weight:800}.learn-course-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:1rem;display:grid}.learn-course-card{text-align:left;cursor:pointer;color:inherit;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;padding:0;transition:border-color .15s,transform .1s,box-shadow .15s;display:flex;overflow:hidden}.learn-course-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 18px #00000014}.learn-course-thumb{aspect-ratio:16/9;background:var(--bg-hover);justify-content:center;align-items:center;font-size:2rem;display:flex;overflow:hidden}.learn-course-thumb img{object-fit:cover;width:100%;height:100%}.learn-course-info{flex-direction:column;gap:.4rem;min-width:0;padding:.75rem .875rem .875rem;display:flex}.learn-course-card-badge{color:var(--accent);background:var(--accent-soft);border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:.66rem;font-weight:800}.learn-course-card-badge.type-OFFLINE{color:#d97706;background:#d977061f}.learn-course-card-badge.type-TUTORING{color:#493021;background:#4930211f}.learn-course-card-title{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.9375rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.learn-course-card-meta{color:var(--text-secondary);font-size:.78rem;font-weight:600}.learn-course-progress{background:var(--bg-hover);border-radius:999px;height:6px;margin-top:.1rem;overflow:hidden}.learn-course-progress>span{background:var(--accent);border-radius:999px;height:100%;transition:width .3s;display:block}.learn-landing-section--enrolled .learn-landing-title{font-size:1.15rem}.learn-enrolled-list{flex-direction:column;gap:.875rem;display:flex}.learn-enrolled-card{text-align:left;cursor:pointer;width:100%;color:inherit;background:linear-gradient(135deg, var(--accent-soft), var(--bg-card) 60%);border:1.5px solid var(--accent);border-radius:var(--radius-lg);box-shadow:0 4px 16px var(--accent-soft);align-items:stretch;gap:1rem;padding:.875rem;transition:transform .12s,box-shadow .15s,border-color .15s;display:flex}.learn-enrolled-card:hover{box-shadow:0 10px 26px var(--accent-soft);transform:translateY(-2px)}.learn-enrolled-card--ended{background:var(--bg-card);border:1.5px solid var(--border);box-shadow:none}.learn-enrolled-card--ended:hover{box-shadow:0 6px 18px #00000014}.learn-enrolled-card--ended .learn-enrolled-thumb img{filter:grayscale(.4)}.learn-enrolled-card--ended .learn-enrolled-badge{background:var(--text-tertiary,#94a3b8)}.learn-landing-section--ended .learn-landing-title{color:var(--text-secondary)}.learn-enrolled-thumb{aspect-ratio:16/9;background:var(--bg-hover);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:150px;font-size:2rem;display:flex;overflow:hidden}.learn-enrolled-thumb img{object-fit:cover;width:100%;height:100%}.learn-enrolled-body{flex-direction:column;flex:1;justify-content:center;gap:.35rem;min-width:0;display:flex}.learn-enrolled-badge{letter-spacing:.02em;color:#fff;background:var(--accent);border-radius:999px;align-self:flex-start;padding:2px 9px;font-size:.64rem;font-weight:800}.learn-enrolled-title{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.05rem;font-weight:800;line-height:1.3;display:-webkit-box;overflow:hidden}.learn-enrolled-meta{color:var(--text-secondary);font-size:.8rem;font-weight:600}.learn-enrolled-progress{background:var(--bg-hover);border-radius:999px;height:7px;overflow:hidden}.learn-enrolled-progress>span{background:var(--accent);border-radius:999px;height:100%;transition:width .3s;display:block}.learn-enrolled-cta{color:var(--accent);align-self:flex-start;margin-top:.05rem;font-size:.8rem;font-weight:700}@media (width<=768px){.learn-landing{gap:1.75rem;padding:1rem 1rem 2rem}.learn-course-grid{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:.75rem}.learn-enrolled-thumb{width:118px}.learn-enrolled-title{font-size:.95rem}.learn-enrolled-card{gap:.75rem;padding:.75rem}}.explorer-cat-ov{z-index:4000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000009e;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.explorer-cat-modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:18px;width:min(460px,100%);max-height:90vh;position:relative;overflow-y:auto}.explorer-cat-close{z-index:2;color:#fff;cursor:pointer;background:#00000059;border:none;border-radius:50%;width:34px;height:34px;font-size:1rem;position:absolute;top:.6rem;right:.6rem}.explorer-cat-modal-thumb{aspect-ratio:16/9;background:var(--bg-hover);border-radius:18px 18px 0 0;justify-content:center;align-items:center;width:100%;font-size:3rem;display:flex;overflow:hidden}.explorer-cat-modal-thumb img{object-fit:cover;width:100%;height:100%}.explorer-cat-modal-body{flex-direction:column;gap:.6rem;padding:1.1rem 1.25rem 1.35rem;display:flex}.explorer-cat-modal-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:800;line-height:1.3}.explorer-cat-modal-desc{color:var(--text-muted);white-space:pre-wrap;margin:0;font-size:.88rem;line-height:1.6}.explorer-cat-modal-meta{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:.75rem;font-size:.85rem;font-weight:600;display:flex}.explorer-cat-modal-price{color:var(--text-primary);font-size:1rem;font-weight:800}.explorer-cat-start{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:12px;margin-top:.35rem;padding:.85rem 1rem;font-size:1rem;font-weight:800;transition:filter .15s}.explorer-cat-start:hover{filter:brightness(1.05)}.explorer-cat-start:disabled{opacity:.6;cursor:default}.deadline-ov{z-index:6000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000ad;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.deadline-modal{text-align:center;background:var(--bg-panel);border:1px solid var(--border);border-radius:18px;width:min(400px,100%);padding:1.75rem 1.5rem}.deadline-emoji{margin-bottom:.5rem;font-size:2.6rem}.deadline-title{color:var(--text-primary);margin:0 0 .6rem;font-size:1.15rem;font-weight:800}.deadline-desc{color:var(--text-muted);margin:0 0 1.25rem;font-size:.9rem;line-height:1.65}.deadline-btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:800}.deadline-btn:hover{filter:brightness(1.05)}.lecture-session-group{border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);flex-shrink:0;transition:border-color .15s,box-shadow .15s;overflow:visible}.lecture-session-group--active{border-color:var(--session-active);box-shadow:0 0 0 1px rgba(var(--session-active-rgb), .25), 0 4px 20px rgba(var(--session-active-rgb), .12)}.lecture-session-group--active .lecture-session-header{background:linear-gradient(90deg, rgba(var(--session-active-rgb), .16) 0%, var(--bg-hover) 75%);border-bottom-color:rgba(var(--session-active-rgb), .35)}.lecture-session-group--active .lecture-session-title{color:var(--session-active)}.lecture-session-group--upcoming{border-color:var(--session-upcoming);box-shadow:0 0 0 1px rgba(var(--session-upcoming-rgb), .2)}.lecture-session-group--upcoming .lecture-session-header{background:linear-gradient(90deg, rgba(var(--session-upcoming-rgb), .14) 0%, var(--bg-hover) 75%);border-bottom-color:rgba(var(--session-upcoming-rgb), .35)}.lecture-session-group--upcoming .lecture-session-title{color:var(--session-upcoming)}.lecture-session-group--ended{border-color:rgba(var(--session-ended-rgb), .5);opacity:.9}.lecture-session-group--ended .lecture-session-header{background:var(--bg-input);border-bottom-color:rgba(var(--session-ended-rgb), .15)}.lecture-session-group--ended .lecture-session-title{color:var(--session-ended)}.lecture-session-header{background:var(--bg-hover);border-bottom:1px solid var(--border);border-radius:calc(var(--radius-lg) - 2px) calc(var(--radius-lg) - 2px) 0 0;align-items:stretch;gap:.375rem;width:100%;padding:.5rem .5rem .5rem 0;display:flex}.lecture-session-group.is-collapsed .lecture-session-header{border-radius:calc(var(--radius-lg) - 2px);border-bottom:none}.lecture-session-toggle{text-align:left;cursor:pointer;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex:1;padding:.25rem 0 .25rem 1rem;display:block}.lecture-session-toggle:hover{filter:brightness(1.04)}.lecture-session-actions{flex-shrink:0;align-items:center;gap:.25rem;padding-right:.375rem;display:flex}.lecture-session-view-all{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;padding:.3125rem .625rem;font-size:.6875rem;font-weight:600;transition:color .15s,border-color .15s,background .15s}.lecture-session-view-all:hover{color:var(--text-primary);border-color:var(--border-light);background:var(--bg-input)}.lecture-session-group--active .lecture-session-view-all.is-active,.lecture-session-group--active .lecture-session-view-all:hover{color:var(--session-active);border-color:rgba(var(--session-active-rgb), .4);background:rgba(var(--session-active-rgb), .1)}.lecture-session-group--upcoming .lecture-session-view-all.is-active{color:var(--session-upcoming);border-color:rgba(var(--session-upcoming-rgb), .4);background:rgba(var(--session-upcoming-rgb), .1)}.lecture-session-chevron-btn{border-radius:var(--radius-sm);cursor:pointer;width:2rem;height:2rem;color:inherit;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.lecture-session-chevron-btn:hover{background:var(--bg-input)}.lecture-session-chevron{color:var(--text-muted);justify-content:center;align-items:center;transition:transform .22s,color .15s;display:flex}.lecture-session-group.is-open .lecture-session-chevron{transform:rotate(180deg)}.lecture-session-group--active .lecture-session-chevron{color:var(--session-active)}.lecture-session-group--upcoming .lecture-session-chevron{color:var(--session-upcoming)}.lecture-session-group.is-focused{box-shadow:0 0 0 2px rgba(var(--session-active-rgb), .28)}.lecture-session-body{grid-template-rows:1fr;transition:grid-template-rows .22s;display:grid}.lecture-session-group.is-collapsed .lecture-session-body{grid-template-rows:0fr}.lecture-session-body-inner{min-height:0;overflow:hidden}.lecture-session-group.is-collapsed .lecture-session-body-inner{visibility:hidden}.lecture-session-count{color:var(--text-muted);font-size:.6875rem}.lecture-session-title{margin:0 0 .25rem;font-size:.9375rem;font-weight:700;display:block}.lecture-session-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-size:.75rem;display:flex}.lecture-session-date{font-weight:600}.lecture-session-deadline{color:#b45309;background:#f59e0b24;border-radius:999px;padding:.1rem .4rem;font-size:.72rem;font-weight:700}.lecture-session-grid{border-radius:0 0 var(--radius-lg) var(--radius-lg);grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));align-content:start;gap:.75rem;padding:.875rem;display:grid}.lecture-session-grid .content-card{height:auto;min-height:0}.lecture-session-list{flex-direction:column;display:flex}.lecture-session-list .mobile-list-item:first-child{border-top:none}.session-focus-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.explorer-sessions .session-focus-view,.explorer-mobile-list .session-focus-view{flex:1;padding:0 1.25rem 1.25rem;overflow-y:auto}.session-focus-header{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem .75rem;padding:.5rem 0 1rem;display:flex}.session-focus-back{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;align-items:center;gap:.25rem;margin-bottom:0;padding:.375rem .625rem;font-size:.8125rem;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.session-focus-back:hover{color:var(--text-primary);border-color:var(--border-light)}.session-focus-title{flex-shrink:0;margin:0;font-size:1.0625rem;font-weight:700}.session-focus-view--active .session-focus-title{color:var(--session-active)}.session-focus-view--upcoming .session-focus-title{color:var(--session-upcoming)}.session-focus-view--ended .session-focus-title{color:var(--session-ended)}.session-focus-meta{color:var(--text-secondary);flex-wrap:wrap;flex:1;align-items:center;gap:.5rem .75rem;min-width:0;margin:0;font-size:.8125rem;display:flex}.session-focus-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));align-content:start;gap:.875rem;display:grid}.session-focus-grid .content-card{height:auto}.session-focus-list{flex-direction:column;gap:0;display:flex}.content-card--locked{opacity:.55;cursor:pointer}.content-card--locked:hover{transform:none}.content-card--locked.content-card--active{opacity:.7;box-shadow:0 0 0 2px rgba(var(--cat-tool-rgb), .18)}.card-lock-overlay{border-radius:inherit;background:#00000059;justify-content:center;align-items:center;font-size:1.25rem;display:flex;position:absolute;inset:0}.mobile-list-item.is-locked{opacity:.55}.mobile-list-item.is-locked .mobile-list-title{color:var(--text-muted)}.block-ended-banner{background:var(--bg-base);border:1px dashed var(--border);color:var(--text-secondary);border-radius:10px;margin:0 0 .9rem;padding:.6rem .9rem;font-size:.82rem;font-weight:600}.block-form-fieldset{border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.block-workspace-form.learn-block-form{height:auto;min-height:100%}.learn-block-form .block-form-fields{flex:1 0 auto;overflow:visible}.block-workspace-form.is-readonly [contenteditable]{pointer-events:none}.block-workspace-form.is-readonly .block-rich-foot{display:none}.block-locked-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.625rem;height:100%;padding:2rem 1rem;display:flex}.block-locked-icon{opacity:.85;font-size:2.5rem;line-height:1}.block-locked-title{margin:0;font-size:1.0625rem;font-weight:700}.block-locked-desc{color:var(--text-secondary);max-width:22rem;margin:0;font-size:.875rem;line-height:1.55}.block-locked-date{color:var(--text-primary);background:var(--bg-hover);border-radius:var(--radius-sm);border:1px solid var(--border);padding:.375rem .875rem;font-size:.9375rem;font-weight:700}.block-locked-status{border-radius:999px;padding:.2rem .625rem;font-size:.75rem;font-weight:700}.block-locked-status--upcoming{color:var(--session-upcoming);background:rgba(var(--session-upcoming-rgb), .12)}.block-locked-status--ended{color:var(--text-muted);background:var(--bg-input)}.block-locked-hint{color:var(--text-muted);max-width:20rem;margin:.25rem 0 0;font-size:.8125rem;line-height:1.5}@media (width<=768px){.block-category-tabs--mobile{display:flex}.explorer-desktop-only .block-category-tabs{display:none}.explorer-mobile-list .lecture-session-group{border-radius:var(--radius-md);margin:0 0 .75rem}.explorer-mobile-list .lecture-session-header{padding:.625rem .875rem}}@media (width<=480px){.block-type-grid{grid-template-columns:1fr}}.lecture-session-view-all{min-height:32px}@media (width<=768px){.workspace-close-btn,.lecture-session-view-all,.lecture-session-chevron-btn,.session-focus-back,.block-file-clear,.block-input,.block-select,.block-textarea{min-height:44px}.workspace-mobile-header .workspace-close-btn,.lecture-session-actions .lecture-session-chevron-btn{min-width:44px}.session-focus-back,.lecture-session-view-all{justify-content:center;align-items:center;display:inline-flex}.rte-toolbar .rte-btn,.rte-toolbar .rte-style,.rte-toolbar select{min-width:44px;height:auto;min-height:44px}.rte-toolbar .rte-color input[type=color]{width:100%;height:100%}.vplr-row .vplr-btn{min-width:44px;height:auto;min-height:44px}.feedback-crumb,.feedback-create-btn{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}}.block-form-desc{color:var(--text-secondary);margin:.5rem 0 0;font-size:.8125rem;line-height:1.5}.block-desc{margin:.5rem 0 0}.block-desc-body{color:var(--text-secondary);word-break:break-word;font-size:.8125rem;line-height:1.55}.block-desc-body p{margin:0 0 .4rem}.block-desc-body p:last-child{margin-bottom:0}.block-desc-body img{border-radius:8px;max-width:100%;height:auto}.block-desc-body a{color:var(--accent);text-decoration:underline}.block-desc-body ul,.block-desc-body ol{margin:0 0 .4rem;padding-left:1.2rem}.block-field-req{color:var(--danger)}.block-interests{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.block-interest{padding:.5rem .625rem;font-size:.8125rem}.block-image-field,.block-video-field{flex-direction:column;gap:.5rem;display:flex}.block-image-preview{border-radius:var(--radius-sm);object-fit:contain;max-width:100%;max-height:200px}.block-video-preview{border-radius:var(--radius-sm);background:#000;width:100%;max-height:260px}.block-video-meta{color:var(--text-secondary);margin:0;font-size:.75rem}.block-video-meta.is-invalid{color:var(--danger)}.block-file-clear{color:var(--danger);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.75rem}.block-file-clear:hover{text-decoration:underline}.submission-video-actions{flex-wrap:wrap;gap:.375rem;display:flex}.submission-video-actions.is-compact{margin:.25rem 0 .35rem}.submission-video-action{color:var(--text-primary);background:var(--surface-2,#f4f5f7);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:.25rem;padding:.3rem .6rem;font-size:.75rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.submission-video-action:hover{background:var(--surface-3,#e9ebef);border-color:var(--primary);color:var(--primary)}.block-rich-field{flex-direction:column;gap:.375rem;display:flex}.rich-editor{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);overflow:hidden}.rich-editor:focus-within{border-color:var(--accent)}.rich-editor-toolbar{border-bottom:1px solid var(--border);background:var(--bg-hover);gap:.25rem;padding:.375rem;display:flex}.rich-editor-tool{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;font-size:.8125rem;font-weight:700}.rich-editor-tool:hover{background:var(--bg-input);color:var(--text-primary)}.rich-editor-tool[title=기울임]{font-style:italic}.rich-editor-tool[title=밑줄]{text-decoration:underline}.rich-editor-area{min-height:8rem;max-height:20rem;color:var(--text-primary);outline:none;padding:.625rem .75rem;font-size:.875rem;line-height:1.6;overflow-y:auto}.rich-editor-area:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.rich-editor-area ul{margin:.25rem 0;padding-left:1.25rem}.rich-editor-area img{border-radius:6px;max-width:100%;height:auto;margin:.35rem 0;display:block}.yt-preview{margin-top:.5rem}.yt-preview--err{color:var(--text-muted);font-size:.78rem}.yt-preview-loading{color:var(--text-muted);font-size:.8rem}.yt-preview--thumb img{border:1px solid var(--border);border-radius:8px;width:100%;max-width:320px;display:block}.yt-preview--title{background:var(--bg-hover);border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem}.yt-preview-title-text{color:var(--text-primary);font-size:.9rem;font-weight:700}.yt-preview--full{background:var(--bg-hover);border:1px solid var(--border);border-radius:10px;align-items:center;gap:.75rem;padding:.5rem;display:flex}.yt-preview--full .yt-preview-thumb{aspect-ratio:16/9;object-fit:cover;border-radius:6px;flex-shrink:0;width:160px}.yt-preview-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.yt-preview-channel{color:var(--text-secondary);font-size:.78rem}.comment-pick{flex-direction:column;gap:.9rem;display:flex}.comment-pick-url-row{gap:.5rem;display:flex}.comment-pick-url-row .block-input{flex:1}.comment-pick-load{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border-radius:8px;flex-shrink:0;padding:0 .9rem;font-size:.82rem;font-weight:700}.comment-pick-load:disabled{opacity:.6;cursor:not-allowed}.comment-pick-error{color:var(--danger,#dc2626);font-size:.82rem}.comment-pick-selected{background:#16a34a14;border:1px solid #16a34a59;border-radius:10px;flex-direction:column;gap:.4rem;padding:.6rem .75rem;display:flex}.comment-pick-selected-title{color:#15803d;margin:0;font-size:.78rem;font-weight:800}.comment-pick-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:.82rem;display:flex}.comment-pick-chip-author{color:var(--text-primary);flex-shrink:0;font-weight:700}.comment-pick-chip-text{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.comment-pick-chip-x{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:.8rem}.comment-pick-toolbar{align-items:center;gap:.75rem;display:flex}.comment-pick-toolbar .block-input{flex:1}.comment-pick-count{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.comment-pick-list{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.4rem;max-height:420px;padding:.5rem;display:flex;overflow-y:auto}.comment-pick-empty{text-align:center;color:var(--text-muted);padding:1rem;font-size:.82rem}.comment-pick-more{width:100%;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:8px;margin-top:.5rem;padding:.55rem;font-size:.82rem;font-weight:600}.comment-pick-more:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.comment-pick-replies{border-left:2px solid var(--border);flex-direction:column;gap:.35rem;margin-top:.4rem;margin-left:1.75rem;padding-left:.6rem;display:flex}.comment-row{border:1px solid var(--border);cursor:pointer;background:var(--bg-card);border-radius:8px;align-items:flex-start;gap:.6rem;padding:.5rem .6rem;transition:border-color .12s,background .12s;display:flex}.comment-row:hover{border-color:var(--accent)}.comment-row.is-picked{background:#16a34a14;border-color:#16a34a}.comment-row.is-reply{background:var(--bg-panel)}.comment-row-avatar{object-fit:cover;border-radius:999px;flex-shrink:0;width:32px;height:32px}.comment-row-avatar--ph{background:var(--bg-hover);justify-content:center;align-items:center;font-size:.9rem;display:inline-flex}.comment-row-body{flex:1;min-width:0}.comment-row-head{align-items:center;gap:.5rem;margin-bottom:.1rem;display:flex}.comment-row-author{color:var(--text-primary);font-size:.8rem;font-weight:700}.comment-row-likes{color:var(--text-muted);font-size:.72rem}.comment-row-text{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.85rem;line-height:1.5}.comment-row-check{border:1.5px solid var(--border);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;font-size:.75rem;font-weight:900;display:inline-flex}.comment-row-check.on{background:#16a34a;border-color:#16a34a}.ytl-cpick{flex-direction:column;gap:.6rem;margin-top:.5rem;display:flex}.ytl-cpick-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.ytl-cpick-row .comment-pick-load{padding:.45rem .9rem}.ytl-cpick-hint{color:var(--text-secondary);font-size:.78rem}.ytl-cpick .comment-pick-list{max-height:340px}.block-visibility-seg{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.block-visibility-opt{background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border:none;padding:.45rem .9rem;font-size:.82rem;font-weight:700}.block-visibility-opt+.block-visibility-opt{border-left:1px solid var(--border)}.block-visibility-opt.active{background:var(--accent);color:#fff}.others-answers{text-align:left;width:100%;max-width:640px;margin-top:1.25rem}.others-answers-title{color:var(--text-primary);margin:0 0 .75rem;font-size:.95rem;font-weight:800}.others-answers-empty{color:var(--text-muted);font-size:.85rem}.others-answers--locked{border:1px dashed var(--border);background:var(--bg-base);border-radius:10px;padding:1rem 1.1rem}.others-answers--locked .others-answers-title{margin-bottom:.4rem}.others-answers-locked-msg{color:var(--text-secondary);margin:0 0 .3rem;font-size:.85rem;font-weight:600}.others-answers-locked-hint{color:var(--text-muted);margin:0;font-size:.8rem}.others-answer{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;margin-bottom:.6rem;padding:.75rem .9rem}.others-answer-head{color:var(--text-primary);margin-bottom:.4rem;font-size:.85rem;font-weight:700}.others-answer-empty{color:var(--text-muted);margin:0;font-size:.8rem;font-style:italic}.others-answer-body{flex-direction:column;gap:.35rem;margin:0;display:flex}.others-answer-row{grid-template-columns:120px 1fr;align-items:start;gap:.5rem;display:grid}.others-answer-row dt{color:var(--text-secondary);font-size:.75rem;font-weight:700}.others-answer-row dd{color:var(--text-primary);word-break:break-word;white-space:pre-wrap;margin:0;font-size:.82rem}.others-answer-img{border:1px solid var(--border);border-radius:6px;width:100%;max-width:220px;margin-bottom:.25rem;display:block}@media (width<=480px){.others-answer-row{grid-template-columns:1fr;gap:.1rem}}.block-rich-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.block-txt-import{color:var(--accent);cursor:pointer;font-size:.75rem}.block-txt-import:hover{text-decoration:underline}.block-char-count{color:var(--text-muted);margin-left:auto;font-size:.75rem}.block-char-count.is-over{color:var(--danger);font-weight:700}.block-repeat-status{color:var(--text-muted);background:var(--bg-hover);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.75rem;font-weight:600}.block-repeat-status.is-ok{color:var(--accent);background:var(--accent-soft)}.block-repeat-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);flex-direction:column;gap:.625rem;padding:.875rem;display:flex}.block-repeat-item-head{justify-content:space-between;align-items:center;display:flex}.block-repeat-item-no{color:var(--text-secondary);font-size:.75rem;font-weight:700}.block-repeat-remove{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.125rem .375rem;font-size:.875rem}.block-repeat-remove:hover{color:var(--danger);background:var(--bg-hover)}.block-repeat-add{border:1px dashed var(--border-light);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;background:0 0;align-self:flex-start;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;transition:border-color .15s,background .15s}.block-repeat-add:hover{border-color:var(--accent);background:var(--accent-soft)}@media (width<=480px){.block-interests{grid-template-columns:1fr}}.content-card--saved{background:linear-gradient(180deg, #16a34a14, var(--bg-card) 60%);border-color:#16a34a8c}.content-card--saved .card-thumb{box-shadow:inset 0 0 0 1.5px #16a34a59}.card-saved-badge{color:#fff;letter-spacing:.02em;background:#16a34a;border-radius:999px;padding:.1rem .35rem;font-size:.625rem;font-weight:800;position:absolute;top:.375rem;right:.375rem;box-shadow:0 1px 3px #0003}.card-title-row{justify-content:space-between;align-items:center;gap:.35rem;display:flex}.card-saved-check{color:#fff;background:#16a34a;border-radius:999px;flex:none;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;font-size:.7rem;font-weight:900;display:inline-flex}.mobile-list-item.is-saved{background:#16a34a12;border-left:3px solid #16a34a}.mobile-list-saved-dot{color:#fff;border:2px solid var(--bg-panel);background:#16a34a;border-radius:999px;justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.55rem;font-weight:900;display:inline-flex;position:absolute;bottom:-.15rem;right:-.15rem}.workspace-save-status{border-radius:var(--radius-sm);align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.4rem .75rem;font-size:.75rem;font-weight:700;display:flex}.workspace-save-status.is-saved{color:#15803d;background:#16a34a1f;border:1px solid #16a34a4d}.workspace-save-status.is-unsaved{color:var(--text-muted);background:var(--bg-hover);border:1px dashed var(--border)}.workspace-panel--saved{box-shadow:inset 0 0 0 2px #16a34a8c}.workspace-panel--saved .workspace-footer--blocks{border-top-color:#16a34a59}.workspace-complete-overlay{z-index:1200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.workspace-complete-card{text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:320px;padding:2rem 1.5rem;animation:.28s workspace-complete-pop;box-shadow:0 12px 40px #00000040}@keyframes workspace-complete-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.workspace-complete-emoji{margin-bottom:.5rem;font-size:2.75rem;display:block}.workspace-complete-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1.15rem;font-weight:800}.workspace-complete-desc{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.85rem;line-height:1.6}.workspace-complete-card .create-btn{width:100%}.block-locked-art{object-fit:contain;width:120px;height:120px}.block-cust-note{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-card);border-radius:10px;flex-direction:column;gap:.3rem;padding:.85rem 1rem;display:flex}.block-cust-note-title{color:var(--text-primary);font-size:.875rem;font-weight:700}.block-cust-note-body{white-space:pre-wrap;color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.7}.block-cust-video{flex-direction:column;gap:.4rem;display:flex}.block-cust-doc a{min-height:44px;color:var(--accent);align-items:center;font-size:.875rem;font-weight:600;display:inline-flex}.block-cust-empty{color:var(--text-muted);margin:0;font-size:.8125rem}.block-cust-tool{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;align-items:center;gap:.7rem;min-height:56px;padding:.7rem .9rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.block-cust-tool:hover{border-color:var(--accent);transform:translateY(-1px)}.block-cust-tool:active{transform:none}.block-cust-tool-ico{font-size:1.35rem;line-height:1}.block-cust-tool-body{flex-direction:column;gap:.1rem;min-width:0;display:flex}.block-cust-tool-body b{color:var(--text-primary);font-size:.9rem;font-weight:700}.block-cust-tool-body small{color:var(--text-secondary);font-size:.8125rem}.block-cust-tool-go{background:var(--accent);color:#fff;border-radius:999px;flex-shrink:0;margin-left:auto;padding:.3rem .7rem;font-size:.8125rem;font-weight:700}.ytl{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;flex-direction:column;gap:0;max-width:560px;margin-top:.5rem;display:flex;overflow:hidden}.ytl--compact{max-width:420px;margin-top:.15rem}.ytl-banner{aspect-ratio:6.2;object-fit:cover;background:var(--bg-hover);width:100%;display:block}.ytl-main{align-items:flex-start;gap:.75rem;padding:.7rem;display:flex}.ytl--compact .ytl-main{gap:.55rem;padding:.5rem}.ytl-thumb{aspect-ratio:16/9;background:var(--bg-hover);border-radius:8px;flex-shrink:0;width:180px;overflow:hidden}.ytl--compact .ytl-thumb{width:128px}.ytl-thumb img{object-fit:cover;width:100%;height:100%;display:block}.ytl-body{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.ytl-title{color:var(--text-primary);overflow-wrap:anywhere;font-size:.9rem;font-weight:700;line-height:1.4;text-decoration:none}.ytl-title:hover{text-decoration:underline}.ytl--compact .ytl-title{font-size:.8125rem}.ytl-ch{align-items:center;gap:.4rem;min-width:0;text-decoration:none;display:inline-flex}.ytl-ch-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px}.ytl--compact .ytl-ch-avatar{width:22px;height:22px}.ytl-ch-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;overflow:hidden}.ytl-ch-handle{color:var(--text-secondary);white-space:nowrap;font-size:.75rem}.ytl-meta{color:var(--text-secondary);font-size:.78rem;line-height:1.4}.ytl-desc-wrap{flex-direction:column;gap:.15rem;display:flex}.ytl-desc{color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.8125rem;line-height:1.55}.ytl-desc.is-clamped{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ytl-more,.ytl-retry{min-height:32px;color:var(--accent);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0 .5rem;font-size:.78rem;font-weight:600}.ytl-tags{color:var(--text-secondary);overflow-wrap:anywhere;font-size:.75rem}.ytl--err{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.35rem;margin:.4rem 0 0;padding:.5rem .7rem;font-size:.8125rem;display:flex}.ytl-open{color:var(--accent);font-size:.78rem}.ytl--loading{flex-direction:row;gap:.6rem;padding:.6rem}.ytl-skel{background:var(--bg-hover);border-radius:8px;display:block}.ytl-skel--thumb{aspect-ratio:16/9;flex-shrink:0;width:128px}.ytl-skel--line{flex:1;height:.9rem;margin-top:.3rem}@media (width<=640px){.ytl-main{flex-direction:column}.ytl-thumb,.ytl--compact .ytl-thumb{width:100%}}.mobile-bottom-nav,.workspace-overlay,.workspace-panel--mobile,.explorer-mobile-top,.explorer-mobile-search-row,.mobile-create-card,.explorer-mobile-list{display:none}.toolpick-overlay{z-index:1290;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.toolpick-backdrop{background:var(--bg-overlay,#00000080);position:absolute;inset:0}.toolpick-panel{z-index:1;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:460px;max-height:80vh;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000059}.toolpick-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.toolpick-title{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:800}.toolpick-sub{color:var(--text-muted);margin:2px 0 0;font-size:.76rem}.toolpick-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-self:flex-start;padding:4px 9px;font-size:1.05rem;line-height:1}.toolpick-close:hover{background:var(--bg-hover);color:var(--text-primary)}.toolpick-body{padding:1rem 1rem 1.3rem;overflow-y:auto}.toolpick-grid{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.toolpick-item{border:1px solid var(--border);background:var(--bg-card);min-width:0;color:var(--text-primary);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:.6rem;padding:1.1rem .7rem;transition:border-color .15s,transform .1s,box-shadow .15s;display:flex;position:relative}.toolpick-item:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 18px #00000014}.toolpick-item:active{transform:translateY(0)}.toolpick-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.toolpick-icon{background:var(--accent-soft,#6366f11f);border-radius:14px;flex-shrink:0;place-items:center;width:3rem;height:3rem;font-size:1.6rem;line-height:1;display:grid}.toolpick-label{text-align:center;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.84rem;font-weight:700;line-height:1.25;overflow:hidden}.toolpick-ai{background:var(--accent);color:#fff;border-radius:999px;padding:1px 6px;font-size:.56rem;font-weight:800;position:absolute;top:8px;right:8px}@media (width<=768px){.toolpick-overlay{align-items:flex-end;padding:0}.toolpick-panel{border-radius:20px 20px 0 0;max-width:100%;max-height:86dvh}.toolpick-head{padding:.9rem 1rem}.toolpick-body{padding:.85rem .85rem calc(1rem + var(--safe-b,0px))}.toolpick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.toolpick-item{border-radius:14px;gap:.5rem;padding:.95rem .5rem}.toolpick-icon{width:2.7rem;height:2.7rem;font-size:1.45rem}.toolpick-label{white-space:normal;-webkit-line-clamp:2;word-break:keep-all;-webkit-box-orient:vertical;font-size:.8rem;display:-webkit-box}.toolpick-close{place-items:center;width:44px;height:44px;margin:-6px -8px 0 0;padding:0;display:grid}.app-main{overflow:hidden}.sidebar{width:min(84vw,320px);min-width:0;max-width:320px;padding:calc(1rem + var(--safe-t,0px)) .875rem calc(1rem + var(--safe-b,0px));border-right:1px solid var(--border);z-index:1300;will-change:transform;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:8px 0 32px #00000047}.app-shell.drawer-open .sidebar{transform:translate(0)}.sidebar--drawer .sidebar-toggle{width:44px;height:44px}.drawer-backdrop{opacity:0;pointer-events:none;z-index:1250;background:#00000073;transition:opacity .3s;position:fixed;inset:0}.app-shell.drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}.mobile-bottom-nav{height:calc(4.25rem + var(--safe-b,0px));padding:0 .5rem var(--safe-b,0px);background:var(--bg-mobile-nav);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;justify-content:space-around;align-items:center;transition:transform .18s;display:flex;position:fixed;bottom:0;left:0;right:0}html.kb-open .mobile-bottom-nav{pointer-events:none;transform:translateY(110%)}@media (prefers-reduced-motion:reduce){.mobile-bottom-nav{transition:none}}.mobile-nav-item{width:2.75rem;height:2.75rem;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:color .15s;display:flex}.mobile-nav-item.active{color:var(--text-primary)}.mobile-nav-menu{cursor:pointer;background:0 0;border:none;padding:0}.mobile-nav-menu.active{background:var(--bg-hover)}.mobile-nav-create{background:linear-gradient(135deg, var(--accent), var(--accent-2));width:3.5rem;height:3.5rem;box-shadow:0 4px 20px var(--accent-soft);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:-1.25rem;padding:0;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.mobile-nav-create.active{box-shadow:0 4px 22px color-mix(in srgb, var(--accent) 55%, transparent)}.mobile-nav-create:active{transform:scale(.95)}.mobile-nav-create-emoji{font-size:1.5rem;line-height:1}.mobile-nav-create--tool{background:linear-gradient(var(--bg-panel), var(--bg-panel)) padding-box, linear-gradient(135deg, var(--accent), var(--accent-2)) border-box;border:2px solid #0000}.mobile-nav-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.75rem;font-weight:700;display:flex}.learn-content{flex-direction:column;padding-bottom:4.5rem}.learn-content .learn-workspace-wrap,.learn-content .panel-resizer,.learn-content .learn-example-wrap,.learn-content .instructor-example-open-tab,.learn-content .workspace-panel--desktop{display:none}.home-main{padding:1.25rem 1rem 5rem}.explorer-panel{width:100%}.explorer-header{padding:.875rem 1rem}.explorer-mobile-top{justify-content:space-between;align-items:center;margin-bottom:.875rem;display:flex}.explorer-mobile-logo{letter-spacing:.06em;font-size:1.125rem;font-weight:800}.explorer-mobile-actions{align-items:center;gap:.375rem;display:flex}.mobile-icon-btn{background:var(--bg-card);width:2.25rem;height:2.25rem;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.explorer-mobile-search-row{align-items:center;gap:.5rem;display:flex}.explorer-mobile-search-row .search-box{flex:1}.filter-btn--icon{flex-shrink:0;gap:.375rem;font-size:.8125rem}.explorer-desktop-only{display:none}.mobile-create-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;gap:.875rem;width:calc(100% - 2rem);margin:0 1rem .75rem;padding:.875rem 1rem;font-size:.9375rem;font-weight:600;display:flex}.mobile-create-card-icon{background:var(--bg-hover);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}.explorer-mobile-list{flex-direction:column;flex:1;gap:.625rem;padding:0 1rem 1rem;display:flex;overflow:hidden auto}.mobile-list-item{border-radius:var(--radius-lg);cursor:pointer;border-left:3px solid #0000;align-items:center;gap:.875rem;padding:.625rem .625rem .625rem .75rem;transition:background .15s;display:flex}.mobile-list-item:hover{background:var(--bg-hover)}.mobile-list-item.active .mobile-list-title{font-weight:700}.mobile-list-thumb{border-radius:var(--radius-md);background:var(--thumb-fallback);flex-shrink:0;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;font-size:1.5rem;display:flex}.mobile-list-info{flex:1;min-width:0}.mobile-list-title{white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:600;overflow:hidden}.mobile-list-meta{color:var(--text-secondary);margin-top:.125rem;font-size:.8125rem}.mobile-list-more{width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.explorer-grid{display:none}.workspace-overlay{z-index:200;pointer-events:none;display:block;position:fixed;inset:0}.workspace-overlay.open{pointer-events:auto}.workspace-overlay-backdrop{background:var(--bg-overlay);opacity:0;transition:opacity .3s;position:absolute;inset:0}.workspace-overlay.open .workspace-overlay-backdrop{opacity:1}.workspace-panel--mobile{width:100%;min-width:unset;z-index:1;border-right:none;border-radius:1.25rem 1.25rem 0 0;max-height:92dvh;transition:transform .35s cubic-bezier(.32,.72,0,1);display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(100%)}.workspace-panel--mobile.is-open{transform:translateY(0)}.workspace-panel--mobile.workspace-panel--fullscreen{border-radius:0;height:100dvh;max-height:100dvh;top:0}.workspace-mobile-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:.875rem 1rem .5rem;display:flex}.workspace-mobile-header h2{margin:0;font-size:1rem;font-weight:700}.workspace-mobile-header-spacer{width:2.25rem}.workspace-close-btn{background:var(--bg-card);width:2.25rem;height:2.25rem;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.workspace-panel--mobile .workspace-header{border-bottom:none;gap:.5rem;padding:.5rem 1rem .75rem}.credits-pill{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:.25rem;padding:.3125rem .625rem;font-size:.8125rem;font-weight:600;display:flex}.credits-icon{opacity:.7;font-size:.75rem}.workspace-panel--mobile .mode-toggle{flex:1}.workspace-panel--mobile .workspace-body{gap:.875rem;padding:0 1rem 1rem;overflow:hidden auto}.input-actions--grid{border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:repeat(3,1fr);gap:0;display:grid;overflow:hidden}.input-actions--grid .chip-btn{border:none;border-right:1px solid var(--border);background:var(--bg-card);border-radius:0;flex-wrap:wrap;justify-content:center;padding:.625rem .375rem;font-size:.8125rem}.input-actions--grid .chip-btn:last-child{border-right:none}.prompt-area--mobile{border-radius:var(--radius-lg);min-height:11rem;padding:.875rem 1rem}.prompt-area-top{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.prompt-area-top label{margin-bottom:0}.dice-btn{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.prompt-area-bottom{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.prompt-area-bottom .chip-btn{padding:.375rem .625rem;font-size:.8125rem}.chip-btn--outline{border-color:var(--border-light);background:0 0}.recommend-section{flex-direction:column;gap:.5rem;display:flex}.recommend-label{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.style-tags--scroll{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:.25rem;overflow-x:auto}.style-tags--scroll .style-tag{white-space:nowrap;flex-shrink:0}.workspace-panel--mobile .workspace-footer{padding:.75rem 1rem calc(.75rem + var(--safe-b,0px));background:var(--bg-panel)}.workspace-panel--mobile .create-btn{background:var(--bg-hover);color:var(--text-muted);cursor:not-allowed;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.875rem;display:flex}.create-btn-icon{opacity:.6;font-size:1rem}a.mobile-nav-item.active{color:var(--text-primary)}.chat-fab.chat-fab{width:48px;height:48px;right:12px;bottom:calc(var(--mobile-nav-h,0px) + 10px);font-size:20px}.tut-replay-fab.tut-replay-fab{right:12px;bottom:calc(var(--mobile-nav-h,0px) + 10px + 48px + 8px);justify-content:center;min-width:44px;min-height:44px;padding:6px}.tut-replay-fab .tut-replay-fab-label,.is-phone .sidebar .station-entry{display:none}.is-phone .tools-hello{padding:.5rem 0 1rem}.is-phone .tools-hello--art{padding:1rem}.is-phone .tools-hello-h1{word-break:keep-all;font-size:1.15rem}.is-phone .tool-card-rows{gap:.5rem}.is-phone .tool-card-row{grid-template-columns:1fr;gap:.5rem}.is-phone .tool-card{border-radius:12px}.is-phone .tool-card-hit{grid-template-rows:auto auto;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:.1rem .75rem;padding:.7rem 2.75rem .7rem .875rem;display:grid}.is-phone .tool-card-icon{grid-row:1/span 2;width:40px;height:40px;margin:0;font-size:1.3rem}.is-phone .tool-card-name{font-size:.95rem}.is-phone .tool-card-desc{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;line-height:1.35;overflow:hidden}.is-phone .tool-card-fav{opacity:.8;place-items:center;min-width:44px;min-height:44px;display:grid;top:50%;right:.25rem;transform:translateY(-50%)}.is-phone .tool-card-foot{padding:.5rem .875rem .6rem}.is-phone .ngl-room-sky{animation:none}.is-phone .ngl-room-landing{padding-bottom:calc(var(--mobile-nav-h,0px) + 3.5rem)}.is-phone .home-top-body{align-items:flex-start}.is-phone .home-top-title{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;display:-webkit-box}.is-phone .home-top-views{padding:.2rem .5rem;font-size:.75rem}.is-phone .ngl-room-hero{gap:.75rem;padding:.9rem 1rem}.is-phone .ngl-room-hero p{display:none}.is-phone .ngl-room-hero h1{margin:0;font-size:1.25rem}.is-phone .mascot.ngl-room-mascot--hero,.is-phone .ngl-room--page .mascot.ngl-room-mascot--hero{width:72px;height:72px}.is-phone .ngl-room-sec-note{display:none}.is-phone .ngl-room-tuto{padding:.9rem 1rem}.is-phone .ngl-room-tuto-cta{order:2;margin-left:auto}.is-phone .ngl-room-tuto-path{flex-basis:100%;order:3;justify-content:center;margin-left:0}.is-phone .fh-hero-sub{display:none}.is-phone .fh-hero-cta{margin-top:.75rem}.is-phone .fh-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.is-phone .fh-stat{min-width:0;padding:.5rem}.is-phone .fh-stat b{font-size:1.1rem}.is-phone .profile-card-sub,.is-phone .tmkt-banner{display:none}.is-phone .course-card-thumb{aspect-ratio:auto;height:88px}.is-phone .course-card-thumb-empty{font-size:1.6rem}}.feedback-workspace{flex-direction:column;height:100%;min-height:0;display:flex}.feedback-workspace-header{border-bottom:1px solid rgba(var(--cat-feedback-rgb), .25);flex-shrink:0;margin-bottom:.5rem;padding-bottom:.75rem}.feedback-breadcrumb{flex-wrap:wrap;align-items:center;gap:.375rem;margin-bottom:.625rem;font-size:.75rem;display:flex}.feedback-crumb{font:inherit;color:var(--text-secondary);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .15s,text-decoration-color .15s}.feedback-crumb:hover:not(.is-current){color:var(--text-primary);-webkit-text-decoration-color:var(--border-light);text-decoration-color:var(--border-light)}.feedback-crumb.is-current{color:var(--cat-feedback);cursor:default;text-decoration:none}.feedback-crumb-sep{color:var(--text-muted);font-size:.6875rem}.feedback-panel{flex-direction:column;flex:1;gap:.75rem;min-height:0;display:flex;overflow-y:auto}.feedback-panel-toolbar{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.feedback-panel-desc{color:var(--text-secondary);flex:1;margin:0;font-size:.8125rem;line-height:1.5}.feedback-create-btn{font:inherit;color:var(--cat-feedback);background:rgba(var(--cat-feedback-rgb), .1);border:1px solid rgba(var(--cat-feedback-rgb), .35);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;align-items:center;gap:.3125rem;padding:.4375rem .75rem;font-size:.75rem;font-weight:700;transition:background .15s;display:inline-flex}.feedback-create-btn:hover{background:rgba(var(--cat-feedback-rgb), .16)}.feedback-empty{text-align:center;color:var(--text-muted);margin:0;padding:1.5rem .5rem;font-size:.8125rem;list-style:none}.feedback-room-list,.feedback-post-list,.feedback-comment-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.feedback-room-card,.feedback-post-card{width:100%;font:inherit;text-align:left;color:inherit;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;padding:.875rem 1rem;transition:border-color .15s,background .15s,box-shadow .15s;display:block}.feedback-room-card:hover,.feedback-post-card:hover{border-color:rgba(var(--cat-feedback-rgb), .45);background:rgba(var(--cat-feedback-rgb), .05)}.feedback-room-card-top,.feedback-post-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.375rem;display:flex}.feedback-room-title,.feedback-post-title{color:var(--text-primary);margin:0;font-size:.9375rem;font-weight:700;line-height:1.35}.feedback-room-meta,.feedback-post-preview{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.45}.feedback-post-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;display:-webkit-box;overflow:hidden}.feedback-room-status{border-radius:999px;flex-shrink:0;padding:.125rem .4375rem;font-size:.625rem;font-weight:700}.feedback-room-status--waiting{color:var(--session-upcoming);background:rgba(var(--session-upcoming-rgb), .12)}.feedback-room-status--active{color:var(--session-active);background:rgba(var(--session-active-rgb), .12)}.feedback-room-status--ended{color:var(--session-ended);background:rgba(var(--session-ended-rgb), .12)}.feedback-room-session{color:var(--cat-feedback);background:rgba(var(--cat-feedback-rgb), .1);border-radius:var(--radius-sm);margin-top:.5rem;padding:.125rem .4375rem;font-size:.6875rem;font-weight:600;display:inline-block}.feedback-post-author{color:var(--cat-feedback);font-size:.75rem;font-weight:700}.feedback-post-date{color:var(--text-muted);font-size:.6875rem}.feedback-post-footer{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.625rem;display:flex}.feedback-post-badge{color:var(--text-secondary);background:var(--bg-input);border-radius:var(--radius-sm);padding:.125rem .4375rem;font-size:.6875rem;font-weight:600}.feedback-post-comment-count{color:var(--text-muted);font-size:.6875rem}.feedback-post-detail{gap:1rem}.feedback-post-article{border:1px solid rgba(var(--cat-feedback-rgb), .3);border-radius:var(--radius-md);background:linear-gradient(165deg, rgba(var(--cat-feedback-rgb), .08) 0%, var(--bg-card) 55%);padding:1rem}.feedback-post-article-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.feedback-post-article-title{margin:0 0 .25rem;font-size:1.0625rem;font-weight:700;line-height:1.4}.feedback-post-article-author{color:var(--cat-feedback);margin:0 0 .75rem;font-size:.8125rem;font-weight:600}.feedback-post-article-body{color:var(--text-primary);white-space:pre-wrap;font-size:.875rem;line-height:1.6}.feedback-post-file-link{color:var(--cat-lecture);margin-top:.75rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-block}.feedback-post-file-link:hover{text-decoration:underline}.feedback-comments-title{color:var(--text-primary);margin:0 0 .625rem;font-size:.8125rem;font-weight:700}.feedback-comment{border-bottom:1px solid var(--border);gap:.625rem;padding:.625rem 0;display:flex}.feedback-comment:last-child{border-bottom:none}.feedback-comment.is-mine .feedback-comment-body{background:rgba(var(--cat-feedback-rgb), .08);border-radius:var(--radius-sm);padding:.5rem .625rem}.feedback-comment-avatar{color:#fff;background:var(--cat-feedback);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.75rem;font-weight:700;display:flex}.feedback-comment-meta{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.feedback-comment-author{color:var(--text-primary);font-size:.75rem;font-weight:700}.feedback-comment-time{color:var(--text-muted);font-size:.6875rem}.feedback-comment-text{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.5}.feedback-comment-form{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.feedback-submit-btn{background:var(--cat-feedback)!important;border-color:var(--cat-feedback)!important;color:#0a1a12!important}.feedback-ended-hint{color:var(--text-muted);text-align:center;margin:.75rem 0 0;font-size:.75rem}.feedback-modal-backdrop{z-index:50;background:var(--bg-overlay);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.feedback-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:22rem;box-shadow:var(--shadow-card);padding:1.25rem}.feedback-modal-title{margin:0 0 1rem;font-size:1rem;font-weight:700}.feedback-modal-actions{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.workspace-panel:has(.feedback-workspace) .workspace-body-main{flex-direction:column;display:flex;overflow:hidden}@media (width<=768px){.feedback-panel-toolbar{flex-wrap:wrap}.feedback-create-btn{margin-left:auto}.feedback-post-article-body{overflow-wrap:break-word;word-break:break-word}.feedback-modal{max-width:min(22rem,100vw - 2rem)}}.coming-soon-page{background:var(--bg-base);flex:1;justify-content:center;align-items:center;min-height:0;padding:2rem 1.5rem;display:flex;overflow-y:auto}.coming-soon-card{text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:22rem;box-shadow:var(--shadow-card);padding:2.5rem 2rem}.coming-soon-card[data-accent=tool]{border-color:rgba(var(--cat-tool-rgb), .35);background:linear-gradient(165deg, rgba(var(--cat-tool-rgb), .1) 0%, var(--bg-card) 55%)}.coming-soon-icon-wrap{border-radius:var(--radius-lg);width:4.5rem;height:4.5rem;color:var(--cat-tool);background:rgba(var(--cat-tool-rgb), .14);border:1px solid rgba(var(--cat-tool-rgb), .35);justify-content:center;align-items:center;margin-bottom:1.25rem;display:inline-flex}.coming-soon-label{letter-spacing:.08em;color:var(--cat-tool);margin:0 0 .375rem;font-size:.75rem;font-weight:700}.coming-soon-title{letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.coming-soon-desc{color:var(--text-secondary);margin:0 0 1.75rem;font-size:.875rem;line-height:1.55}.coming-soon-actions{flex-direction:column;gap:.5rem;display:flex}.coming-soon-btn{border-radius:var(--radius-md);padding:.6875rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:block}.coming-soon-btn--primary{color:#fff;background:var(--cat-tool);border:1px solid #0000}.coming-soon-btn--primary:hover{filter:brightness(1.08);text-decoration:none}.coming-soon-btn--ghost{color:var(--text-secondary);background:var(--bg-hover);border:1px solid var(--border)}.coming-soon-btn--ghost:hover{color:var(--text-primary);border-color:var(--border-light);text-decoration:none}@media (width>=480px){.coming-soon-actions{flex-direction:row;justify-content:center}.coming-soon-btn{flex:1;max-width:9rem}}.lecture-view{flex-direction:column;gap:.9rem;max-width:760px;padding:1.25rem 1.4rem;display:flex}.lecture-view-confirm{border-top:1px solid var(--border);flex-direction:column;gap:.4rem;padding-top:.9rem;display:flex}.lecture-view-confirm.is-done{color:var(--accent);font-size:.95rem;font-weight:800}.lecture-view-confirm-btn{background:var(--accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-self:flex-start;padding:.6rem 1.1rem;font-size:.92rem;font-weight:800;transition:filter .15s}.lecture-view-confirm-btn:hover:not(:disabled){filter:brightness(1.08)}.lecture-view-confirm-btn:disabled{opacity:.6;cursor:default}.lecture-view-confirm-hint{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.5}.lecture-view-attend-done{color:var(--accent);font-weight:800}.lecture-view-title{color:var(--text-primary);margin:0;font-size:1.35rem;font-weight:800}.lecture-view-attend-note{background:var(--accent-soft,#7c3aed1f);border:1px solid var(--accent);border-radius:var(--radius-md);color:var(--text-primary);padding:.7rem .9rem;font-size:.85rem;line-height:1.6}.lecture-view-desc{color:var(--text-secondary);white-space:pre-wrap;font-size:.95rem;line-height:1.75}.lecture-view-empty{color:var(--text-muted);font-size:.9rem}.lecture-view-files{border-top:1px solid var(--border);padding-top:.9rem}.lecture-view-files-label{color:var(--text-primary);margin:0 0 .5rem;font-size:.9rem;font-weight:700}.lecture-view-file-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.lecture-view-file-list li{align-items:center;gap:.4rem;display:flex}.lecture-view-file-list a{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;color:var(--text-primary);flex:1;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.88rem;text-decoration:none;display:flex}.lecture-view-file-list a:hover{border-color:var(--accent)}.lecture-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lecture-file-link.is-busy{pointer-events:none;opacity:.8;cursor:progress}.lecture-file-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.1em;display:inline-flex}.lecture-file-spin{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:.95em;height:.95em;animation:.7s linear infinite lecture-file-spin}@keyframes lecture-file-spin{to{transform:rotate(360deg)}}.lecture-file-status{color:var(--accent);flex-shrink:0;margin-left:auto;font-size:.76rem;font-weight:700}.lecture-file-copy{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-primary);cursor:pointer;white-space:nowrap;flex-shrink:0;padding:.5rem .7rem;font-size:.78rem;font-weight:700}.lecture-file-copy:hover{border-color:var(--accent)}.lecture-file-copy.is-copied{color:#fff;background:#16a34a;border-color:#16a34a}.lecture-file-copy:disabled{opacity:.6;cursor:progress}.lecblk-admin{flex-direction:column;gap:.5rem;display:flex}.lecblk-hint{color:var(--text-muted);margin:.2rem 0;font-size:.78rem;line-height:1.5}.lecblk-file-list{flex-direction:column;gap:.35rem;margin-bottom:.5rem;display:flex}.lecblk-file-row{background:var(--bg-hover);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.82rem;display:flex}.lecblk-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lecblk-file-del{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.9rem}.lecblk-file-del:hover{color:var(--danger,#ef4444)}.lecblk-check{cursor:pointer;align-items:center;gap:.5rem;font-size:.88rem;font-weight:600;display:flex}.lecblk-check input{width:16px;height:16px}.lecblk-qr{border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;background:#fff;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;display:flex}.lecblk-qr-url{color:#333;word-break:break-all;margin:0;font-size:.72rem}.lecblk-qr .lecblk-hint{color:#555}.lecblk-attendees{text-align:left;width:100%;margin-top:.5rem}.lecblk-att-count{color:#111;margin:0 0 .3rem;font-size:.85rem;font-weight:700}.lecblk-attendees ul{flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.lecblk-attendees li{color:#222;justify-content:space-between;gap:.5rem;font-size:.82rem;display:flex}.lecblk-att-time{color:#888;font-size:.74rem}.video-lecture-frame{aspect-ratio:16/9;background:#000;border-radius:12px;width:100%;margin-bottom:1rem;overflow:hidden}.video-lecture-frame video{width:100%;height:100%;display:block}.vplr{-webkit-user-select:none;user-select:none;background:#000;outline:none;width:100%;height:100%;position:relative}.vplr video{cursor:pointer;width:100%;height:100%;display:block}.vplr.is-fs{border-radius:0}.vplr-big-play{z-index:3;color:#fff;cursor:pointer;background:#000000a8;border:none;border-radius:12px;justify-content:center;align-items:center;width:68px;height:48px;transition:background .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vplr-big-play:hover{background:red}.vplr-big-play svg{fill:currentColor}.vplr-spinner{pointer-events:none;border:4px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;animation:.8s linear infinite vplr-spin;position:absolute;top:50%;left:50%}@keyframes vplr-spin{to{transform:rotate(360deg)}}.vplr-ctl{opacity:0;pointer-events:none;background:linear-gradient(#0000,#000000b8);padding:1.6rem .75rem .35rem;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}.vplr.show-ctl .vplr-ctl{opacity:1;pointer-events:auto}.vplr:not(.show-ctl),.vplr:not(.show-ctl) *{cursor:none!important}.vplr-bar{cursor:pointer;align-items:center;height:14px;margin-bottom:.15rem;display:flex;position:relative}.vplr-bar:before{content:"";background:#ffffff40;height:3px;transition:height .1s;position:absolute;left:0;right:0}.vplr-bar-buf,.vplr-bar-fill{transform-origin:0;will-change:transform;pointer-events:none;height:3px;transition:height .1s;position:absolute;left:0;right:0;transform:scaleX(0)}.vplr-bar-buf{background:#ffffff73}.vplr-bar-fill{background:red}.vplr-bar:hover:before,.vplr-bar:hover .vplr-bar-buf,.vplr-bar:hover .vplr-bar-fill{height:5px}.vplr-bar-knob{pointer-events:none;background:red;border-radius:50%;width:13px;height:13px;transition:transform .1s;position:absolute;transform:translate(-50%)scale(0)}.vplr-bar:hover .vplr-bar-knob{transform:translate(-50%)scale(1)}.vplr-bar-tip{color:#fff;white-space:nowrap;pointer-events:none;background:#000000d9;border-radius:4px;padding:.2rem .45rem;font-size:.72rem;font-weight:600;position:absolute;bottom:18px;transform:translate(-50%)}.vplr-row{align-items:center;gap:.15rem;display:flex}.vplr-btn{color:#fff;cursor:pointer;opacity:.92;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:40px;height:36px;display:flex}.vplr-btn:hover{opacity:1}.vplr-btn.on{color:red;opacity:1}.vplr-btn svg{fill:currentColor}.vplr-time{color:#fff;white-space:nowrap;margin-left:.35rem;font-size:.8rem;font-weight:500}.vplr-spacer{flex:1}.vplr-vol{align-items:center;display:flex}.vplr-vol-slider{opacity:0;accent-color:#fff;cursor:pointer;width:0;transition:width .15s,opacity .15s}.vplr-vol:hover .vplr-vol-slider,.vplr-vol-slider:focus{opacity:1;width:64px}.vplr-rate-wrap{position:relative}.vplr-rate{width:auto;padding:0 .6rem;font-size:.82rem;font-weight:700}.vplr-quality{white-space:nowrap}.vplr-rate-menu{z-index:5;background:#1c1c1cf2;border-radius:10px;flex-direction:column;min-width:90px;padding:.35rem;display:flex;position:absolute;bottom:42px;right:0}.vplr-rate-menu button{color:#eee;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .7rem;font-size:.82rem}.vplr-rate-menu button:hover{background:#ffffff1f}.vplr-rate-menu button.on{color:#fff;background:#ffffff2e;font-weight:700}.vplr-rate-fine{border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:4px;margin-bottom:4px;padding:2px 2px 4px;display:flex}.vplr-rate-fine button{text-align:center;flex:none;width:28px;padding:.2rem 0;font-size:1rem;font-weight:800;line-height:1}.vplr-rate-cur{text-align:center;color:#fff;flex:1;font-size:.82rem;font-weight:700}.vlu-drop{border:1.5px dashed var(--border);width:100%;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:12px;flex-direction:column;align-items:center;gap:.3rem;padding:1.4rem 1rem;font-weight:600;display:flex}.vlu-drop:hover{border-color:var(--accent);color:var(--accent)}.vlu-drop small{color:var(--text-muted);font-size:.74rem;font-weight:400}.vlu-progress{flex-direction:column;gap:.45rem;display:flex}.vlu-bar{background:var(--bg-hover);border-radius:999px;height:8px;overflow:hidden}.vlu-bar span{background:var(--accent);border-radius:999px;height:100%;transition:width .3s;display:block}.vlu-bar--busy span{width:35%;animation:1.1s ease-in-out infinite alternate vlu-busy}@keyframes vlu-busy{0%{transform:translate(0)}to{transform:translate(186%)}}@media (prefers-reduced-motion:reduce){.vlu-bar--busy span{opacity:.5;width:100%;animation:none}}.vlu-meta{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.vlu-hint{color:var(--text-muted);margin:0;font-size:.74rem}.vlu-done{flex-direction:column;gap:.5rem;display:flex}.vlu-preview{aspect-ratio:16/9;background:#000;border-radius:10px;width:100%}.vlu-actions{gap:.5rem;display:flex}.vlu-error{color:#dc2626;margin:.4rem 0 0;font-size:.8rem}.vlu-error .btn{vertical-align:middle;min-height:32px;margin-left:8px}@media (hover:none) and (width>=769px){.vplr-vol-slider{opacity:1;width:64px}}.ngl-path{--ngl-primary:var(--accent);--ngl-primary-dark:color-mix(in srgb, var(--accent) 72%, #000);--ngl-primary-light:color-mix(in srgb, var(--accent) 82%, #fff);--ngl-brown:#493021;--ngl-brown-light:#6b4a35;--ngl-brown-dark:#2f1f14;background:radial-gradient(circle at 50% 0, color-mix(in srgb, var(--ngl-primary) 8%, transparent), transparent 60%), var(--bg-base);flex:1;min-height:0;padding:1.25rem 1rem 3rem;overflow:hidden auto}.ngl-path-inner{flex-direction:column;gap:1.75rem;max-width:460px;margin:0 auto;display:flex}.ngl-stage{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.ngl-stage-banner{background:linear-gradient(135deg, var(--ngl-primary), var(--ngl-primary-dark));color:#fff;width:100%;box-shadow:0 4px 0 var(--ngl-brown);border-radius:16px;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.1rem;display:flex}.ngl-stage--ended .ngl-stage-banner{background:linear-gradient(135deg, var(--ngl-brown-light), var(--ngl-brown));box-shadow:0 4px 0 var(--ngl-brown-dark)}.ngl-stage.is-locked .ngl-stage-banner{background:linear-gradient(135deg, var(--bg-hover), var(--bg-card));color:var(--text-muted);box-shadow:0 4px 0 var(--border)}.ngl-stage-banner-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.ngl-stage-no{letter-spacing:.04em;opacity:.9;font-size:.78rem;font-weight:800}.ngl-stage-title{text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem;font-weight:800;line-height:1.25;overflow:hidden}.ngl-stage-badge{flex-shrink:0;font-size:1.35rem}.ngl-stage-locked-msg{color:var(--text-muted);text-align:center;margin:-.25rem 0 0;font-size:.9rem}.ngl-lessons{flex-direction:column;align-items:center;gap:1.4rem;width:100%;display:flex}.ngl-node-wrap{transform:translateX(calc(var(--off,0) * 46px));flex-direction:column;align-items:center;gap:.4rem;transition:transform .2s;display:flex}.ngl-node{cursor:pointer;color:#fff;background:var(--ngl-primary);width:68px;height:68px;box-shadow:0 6px 0 var(--ngl-brown), inset 0 -3px 6px #0000001f;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.9rem;transition:transform 80ms,box-shadow 80ms,filter .15s;display:flex;position:relative}.ngl-node:active{box-shadow:0 2px 0 var(--ngl-brown);transform:translateY(4px)}.ngl-node-icon{justify-content:center;align-items:center;width:100%;height:100%;line-height:1;display:flex}.ngl-node-icon img{object-fit:contain;width:88%;height:88%;display:block}.ngl-stage-badge img{object-fit:contain;width:32px;height:32px;display:block}.ngl-foot-mascot{vertical-align:middle;object-fit:contain;width:40px;height:40px;margin-right:.3rem}.ngl-empty-art{object-fit:contain;opacity:.9;width:120px;height:120px}.ngl-badge-mascot{vertical-align:-4px;object-fit:contain;width:18px;height:18px}.lingo-view-kind img{vertical-align:-5px;object-fit:contain;width:20px;height:20px}.ngl-node--done{background:linear-gradient(160deg, var(--ngl-brown-light), var(--ngl-brown));box-shadow:0 6px 0 var(--ngl-brown-dark)}.ngl-node--current{background:linear-gradient(160deg, var(--ngl-primary-light), var(--ngl-primary));box-shadow:0 6px 0 var(--ngl-brown)}.ngl-node--todo{background:linear-gradient(160deg, var(--ngl-primary), var(--ngl-primary-dark));box-shadow:0 6px 0 var(--ngl-brown)}.ngl-node--review{background:var(--bg-card);color:var(--text-secondary);box-shadow:0 6px 0 var(--border), inset 0 -3px 6px #0000000f;border:2px solid var(--border)}.ngl-node--locked{color:#493021b3;cursor:not-allowed;filter:saturate(.6);background:linear-gradient(160deg,#d9d2cb,#c2b9b0);box-shadow:0 6px #a89d93}.ngl-node--locked:hover{transform:none}.ngl-node-wrap.is-locked .ngl-node-label{color:var(--text-muted);opacity:.8}.ngl-node.is-active{outline:3px solid var(--ngl-primary);outline-offset:3px}.ngl-node--current:after{content:"";border:3px solid var(--ngl-primary);opacity:.7;border-radius:50%;animation:1.5s ease-out infinite nglPulse;position:absolute;inset:-8px}@keyframes nglPulse{0%{opacity:.7;transform:scale(.9)}to{opacity:0;transform:scale(1.35)}}.ngl-node-bubble{color:var(--ngl-primary);letter-spacing:.02em;background:#fff;border-radius:999px;padding:.28rem .7rem;font-size:.8rem;font-weight:900;animation:1.1s ease-in-out infinite nglBob;position:relative;box-shadow:0 2px 8px #0000002e}.ngl-node-bubble:after{content:"";border:5px solid #0000;border-top-color:#fff;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}@keyframes nglBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.ngl-node-label{max-width:130px;color:var(--text-secondary);text-align:center;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.ngl-foot{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;margin:.5rem auto 0;padding:.6rem 1rem;font-size:.9rem;font-weight:700}.ngl-foot.is-complete{background:color-mix(in srgb, var(--ngl-primary) 15%, var(--bg-card));color:var(--ngl-primary-dark);border-color:var(--ngl-primary)}.ngl-empty{color:var(--text-muted);text-align:center;margin:2rem auto;font-size:.98rem}@media (width<=768px){.ngl-node-wrap{transform:translateX(calc(var(--off,0) * 38px))}.ngl-node{width:62px;height:62px;font-size:1.7rem}}.home-lingo{flex:1;min-height:0;display:flex;position:relative}.ngl-room{--ngl-primary:var(--accent);--ngl-primary-dark:color-mix(in srgb, var(--accent) 72%, #000);--ngl-primary-light:color-mix(in srgb, var(--accent) 82%, #fff);--ngl-brown:#493021;--ngl-brown-light:#6b4a35;--ngl-brown-dark:#2f1f14;background:radial-gradient(circle at 18% 8%, color-mix(in srgb, var(--ngl-primary) 14%, transparent), transparent 46%), radial-gradient(circle at 86% 92%, color-mix(in srgb, var(--ngl-brown) 16%, transparent), transparent 44%), var(--bg-base);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.ngl-room-sky{pointer-events:none;background-image:radial-gradient(circle at 12% 30%, color-mix(in srgb, var(--ngl-primary) 8%, transparent) 0 46px, transparent 47px), radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--ngl-primary) 6%, transparent) 0 64px, transparent 65px), radial-gradient(circle at 74% 78%, color-mix(in srgb, var(--ngl-brown) 7%, transparent) 0 54px, transparent 55px), radial-gradient(circle at 30% 88%, color-mix(in srgb, var(--ngl-primary) 6%, transparent) 0 34px, transparent 35px), radial-gradient(circle at 55% 10%, color-mix(in srgb, var(--ngl-brown) 5%, transparent) 0 24px, transparent 25px), radial-gradient(circle at 45% 55%, color-mix(in srgb, var(--ngl-primary) 4%, transparent) 0 18px, transparent 19px);animation:16s ease-in-out infinite alternate nglSkyFloat;position:absolute;inset:-12px 0}@keyframes nglSkyFloat{0%{transform:translateY(-6px)}to{transform:translateY(8px)}}.ngl-room-shield{z-index:30;position:absolute;inset:0}.ngl-room-landing{flex-direction:column;flex:1;gap:1.6rem;width:100%;max-width:760px;min-height:0;margin:0 auto;padding:3.2rem 2rem 3rem;display:flex;position:relative;overflow-y:auto}.ngl-room-hero{background:linear-gradient(135deg, var(--ngl-primary), var(--ngl-primary-dark));color:#fff;box-shadow:0 6px 0 var(--ngl-brown);border-radius:22px;align-items:center;gap:1.1rem;padding:1.3rem 1.5rem;display:flex}.ngl-room-mascot{object-fit:contain;filter:drop-shadow(0 3px #0000002e);flex:none;width:96px;height:96px}.ngl-room-hero h1{margin:0 0 .2rem;font-size:1.45rem;font-weight:900}.ngl-room-hero p{opacity:.92;margin:0;font-size:.98rem}.ngl-room-sec h2{color:var(--ngl-brown);margin:0 0 .7rem;font-size:1.06rem;font-weight:900}:root[data-theme=dark] .ngl-room-sec h2{color:var(--text-secondary)}.ngl-room-cards{flex-direction:column;gap:.7rem;display:flex}.ngl-room-card{text-align:left;background:var(--bg-card);border:2px solid var(--border);width:100%;box-shadow:0 3px 0 var(--border);color:inherit;border-radius:18px;align-items:center;gap:.9rem;padding:.8rem .95rem;display:flex}button.ngl-room-card{cursor:pointer;transition:transform .1s,box-shadow .12s,border-color .12s}button.ngl-room-card:hover{border-color:var(--ngl-primary);box-shadow:0 5px 0 color-mix(in srgb, var(--ngl-primary) 46%, transparent);transform:translateY(-2px)}.ngl-room-card--enrolled{border-color:var(--ngl-primary);box-shadow:0 3px 0 color-mix(in srgb, var(--ngl-primary) 52%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--ngl-primary) 9%, var(--bg-card)), var(--bg-card) 65%)}.ngl-room-card-thumb{background:color-mix(in srgb, var(--ngl-brown) 12%, var(--bg-hover));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:74px;height:54px;font-size:1.7rem;display:flex;overflow:hidden}.ngl-room-card-thumb img{object-fit:cover;width:100%;height:100%}.ngl-room-card-body{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.ngl-room-card-body b{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:800;overflow:hidden}.ngl-room-card-body small{color:var(--text-muted);font-size:.86rem;font-weight:600}.ngl-room-card-start{cursor:pointer;color:#fff;background:var(--ngl-primary);box-shadow:0 2px 0 var(--ngl-primary-dark);border:none;border-radius:999px;align-self:flex-start;padding:.34rem .9rem;font-size:.88rem;font-weight:800}.ngl-room-card-start:hover{filter:brightness(1.06)}.ngl-room-card-start:disabled{opacity:.6;cursor:default}.ngl-room-empty{text-align:center;color:var(--text-muted);margin:2.5rem 0;font-weight:600;line-height:1.7}.ngl-room-bar{z-index:1;background:linear-gradient(135deg, var(--ngl-primary), var(--ngl-primary-dark));color:#fff;box-shadow:0 3px 0 var(--ngl-brown);flex-shrink:0;align-items:center;gap:.8rem;padding:.55rem .9rem;display:flex;position:relative}.ngl-room-back{cursor:pointer;color:var(--ngl-primary-dark);background:#fff;border:none;border-radius:999px;padding:.3rem .75rem;font-size:.9rem;font-weight:800;box-shadow:0 2px #0000002e}.ngl-room-back:hover{filter:brightness(.96)}.ngl-room-bar-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:1.02rem;font-weight:900;overflow:hidden}.ngl-room-bar-stats{align-items:center;gap:.5rem;font-size:.88rem;font-weight:800;display:flex}.ngl-room-bar-progress{background:#ffffff47;border-radius:999px;width:120px;height:10px;overflow:hidden}.ngl-room-bar-progress i{background:#fff;border-radius:999px;height:100%;transition:width .25s;display:block}.ngl-room-split{flex:1;min-height:0;display:flex;position:relative}.ngl-room-work{flex:1;min-width:0;padding:.9rem;display:flex;overflow:hidden}.ngl-room-work .workspace-panel--desktop{border:2px solid var(--border);border-right:2px solid var(--border);width:100%;min-width:0;box-shadow:0 3px 0 var(--border);background:var(--bg-card);border-radius:18px;overflow:hidden}.ngl-room-work .workspace-body--blocks{padding:1.15rem 1.4rem}.ngl-room-work .workspace-footer--blocks{padding:.8rem 1.4rem 1.1rem}.ngl-room-work .workspace-empty-student{text-align:center;color:var(--text-muted);flex:1;justify-content:center;align-items:center;font-weight:700;line-height:1.8;display:flex}.ngl-room-work .workspace-empty-mascot{font-size:2.6rem;line-height:1}.ngl-room-path{border-left:2px solid color-mix(in srgb, var(--ngl-brown) 22%, var(--border));flex-shrink:0;width:min(460px,42vw);display:flex}.stn-ghost-lingo{cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--accent), #493021);border:none;border-radius:999px;align-items:center;gap:.4rem;margin-top:.6rem;padding:.45rem 1rem;font-size:.93rem;font-weight:800;display:inline-flex;box-shadow:0 3px #2f1f14}.stn-ghost-lingo:hover{filter:brightness(1.05);transform:translateY(-1px)}.lingo-view{flex-direction:column;gap:1rem;min-height:100%;display:flex}.lingo-view-head{flex-direction:column;gap:.35rem;display:flex}.lingo-view-kind{color:#fff;background:linear-gradient(135deg, var(--ngl-primary), var(--ngl-primary-dark));box-shadow:0 2px 0 var(--ngl-brown);border-radius:999px;align-self:flex-start;padding:.2rem .7rem;font-size:.86rem;font-weight:900}.lingo-view-kind[data-kind=reinforce]{background:linear-gradient(135deg, var(--ngl-brown), #2f1f14);box-shadow:0 2px #00000059}.lingo-view-title{margin:0;font-size:1.26rem;font-weight:900}.lingo-view-empty{text-align:center;color:var(--text-muted);margin:1.5rem 0;font-weight:600}.lingo-steps{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.lingo-step{border:2px solid var(--border);background:var(--bg-card);cursor:pointer;border-radius:12px;align-items:flex-start;gap:.55rem;padding:.5rem .75rem;font-weight:600;line-height:1.5;display:flex}.lingo-step input{accent-color:var(--ngl-primary);margin-top:3px}.lingo-step.is-done{border-color:var(--ngl-primary);background:color-mix(in srgb, var(--ngl-primary) 7%, var(--bg-card))}.lingo-step.is-done span{color:var(--text-muted);text-decoration:line-through}.lingo-deck{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex}.lingo-deck-tabs{flex-wrap:wrap;gap:.35rem;display:flex}.lingo-deck-tab{border:2px solid var(--border);background:var(--bg-hover);cursor:pointer;color:var(--text-secondary);border-bottom:none;border-radius:999px 999px 0 0;padding:.35rem .85rem;font-size:.9rem;font-weight:700}.lingo-deck-tab.is-active{background:var(--bg-card);border-color:var(--ngl-primary);color:var(--ngl-primary)}.lingo-deck-window{border:2px solid var(--border);background:var(--bg-card);min-height:320px;box-shadow:0 3px 0 var(--border);border-radius:14px;flex-direction:column;flex:1;display:flex;overflow:hidden}.lingo-deck-titlebar{background:linear-gradient(135deg, var(--ngl-primary), var(--ngl-primary-dark));color:#fff;flex-shrink:0;align-items:center;gap:.6rem;padding:.4rem .7rem;font-size:.9rem;font-weight:800;display:flex}.lingo-deck-dots{gap:4px;display:inline-flex}.lingo-deck-dots i{background:#ffffff8c;border-radius:50%;width:8px;height:8px}.lingo-deck-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lingo-deck-body,.lingo-panel-browser{flex-direction:column;flex:1;min-height:0;display:flex}.lingo-panel-urlbar{border-bottom:1px solid var(--border);background:var(--bg-hover);flex-shrink:0;align-items:center;gap:.6rem;padding:.35rem .7rem;display:flex}.lingo-panel-url{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);flex:1;font-size:.86rem;overflow:hidden}.lingo-panel-newtab{color:var(--ngl-primary);flex-shrink:0;font-size:.86rem;font-weight:800;text-decoration:none}.lingo-panel-frame{background:#fff;border:none;flex:1;width:100%;min-height:280px}.lingo-panel-frame--doc{min-height:380px}.lingo-panel-hint{color:var(--text-muted);margin:0;padding:.3rem .7rem;font-size:.82rem}.lingo-panel-station{background:#fff;flex-direction:column;flex:1;min-height:420px;display:flex}.lingo-panel-station .stn-browser{min-height:0}.lingo-panel-video{background:#000;width:100%;max-height:60vh}.lingo-panel-imgwrap{flex:1;justify-content:center;align-items:flex-start;padding:.6rem;display:flex;overflow:auto}.lingo-panel-img{border-radius:8px;max-width:100%;height:auto}.lingo-panel-docfallback{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:1.5rem;font-weight:600;display:flex}.lingo-panel-docfallback a{color:var(--ngl-primary);font-weight:800}.lingo-items{flex-direction:column;gap:.8rem;display:flex}.lingo-item{border:2px solid var(--border);background:var(--bg-card);box-shadow:0 3px 0 var(--border);border-radius:14px;overflow:hidden}.lingo-item.is-done{border-color:#16a34a;box-shadow:0 3px #16a34a66}.lingo-item-head{background:var(--bg-hover);align-items:center;gap:.6rem;padding:.55rem .8rem;display:flex}.lingo-item-no{background:var(--ngl-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.86rem;font-weight:900;display:inline-flex}.lingo-item.is-done .lingo-item-no{background:#16a34a}.lingo-item-title{font-size:1rem;font-weight:800}.lingo-item-body{flex-direction:column;gap:.6rem;padding:.8rem;display:flex}.lingo-item-check{border:2px solid var(--ngl-primary);background:var(--bg-card);color:var(--ngl-primary);cursor:pointer;border-radius:999px;align-self:flex-start;padding:.4rem 1rem;font-size:.93rem;font-weight:800}.lingo-item-check.is-on{color:#fff;background:#16a34a;border-color:#16a34a}.lingo-note{flex-direction:column;gap:.45rem;font-size:.98rem;line-height:1.65;display:flex}.lingo-note h4{color:var(--ngl-brown,#493021);margin:.55rem 0 .1rem;font-size:1.02rem;font-weight:900}.lingo-note h4:first-child{margin-top:0}.lingo-note p{margin:0}.lingo-note ul{flex-direction:column;gap:.2rem;margin:0;padding-left:1.2rem;display:flex}.lingo-note li{padding-left:.1rem}.lingo-note li::marker{color:var(--ngl-primary)}.lingo-quiz{flex-direction:column;gap:.9rem;display:flex}.lingo-quiz-q{border:2px solid var(--border);border-radius:12px;flex-direction:column;gap:.45rem;padding:.7rem;display:flex}.lingo-quiz-q.is-correct{background:#16a34a0f;border-color:#16a34a}.lingo-quiz-q.is-wrong{background:#ef44440d;border-color:#ef4444}.lingo-quiz-question{margin:0;font-weight:700;line-height:1.5}.lingo-quiz-choices{flex-direction:column;gap:.3rem;display:flex}.lingo-quiz-choice{border:1.5px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.42rem .7rem;font-weight:600;display:flex}.lingo-quiz-choice input{accent-color:var(--ngl-primary)}.lingo-quiz-choice.is-picked{border-color:var(--ngl-primary);background:color-mix(in srgb, var(--ngl-primary) 7%, var(--bg-card))}.lingo-quiz-choice.is-answer{border-color:#16a34a}.lingo-quiz-mark{margin:0;font-size:.9rem;font-weight:800}.lingo-quiz-mark.ok{color:#16a34a}.lingo-quiz-mark.no{color:#ef4444}.lingo-quiz-explain{color:var(--text-secondary);margin-top:2px;font-weight:600;display:block}.lingo-quiz-grade{cursor:pointer;color:#fff;background:var(--ngl-brown);border:none;border-radius:999px;align-self:flex-start;padding:.42rem 1.1rem;font-weight:800;box-shadow:0 2px #2f1f14}.lingo-quiz-grade:disabled{opacity:.55;cursor:default}.lingo-confirm,.lingo-submit{flex-direction:column;gap:.55rem;padding-top:.4rem;display:flex}.lingo-progress{color:var(--text-muted);margin:0;font-size:.9rem;font-weight:800}.lingo-done-btn{cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--ngl-primary), var(--ngl-primary-dark));box-shadow:0 3px 0 var(--ngl-brown);border:none;border-radius:14px;align-self:stretch;padding:.7rem 1rem;font-size:1.02rem;font-weight:900}.lingo-done-btn:hover:not(:disabled){filter:brightness(1.06)}.lingo-done-btn:disabled{opacity:.5;cursor:default;box-shadow:none}.lingo-done-note{color:#16a34a;margin:0;font-weight:800}.lingo-submit-prompt{margin:0;font-weight:700;line-height:1.5}.lingo-submit-text{resize:vertical;border:2px solid var(--border);min-height:88px;font:inherit;background:var(--bg-card);color:inherit;border-radius:12px;padding:.6rem .75rem}.lingo-submit-text:focus{border-color:var(--ngl-primary);outline:none}.lingo-submit-file{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.lingo-submit-filebtn{border:2px dashed var(--border);background:var(--bg-hover);cursor:pointer;border-radius:10px;padding:.45rem .9rem;font-weight:700}.lingo-submit-filebtn:hover{border-color:var(--ngl-primary)}.lingo-submit-filelink{color:var(--ngl-primary);font-size:.9rem;font-weight:800}.lingo-admin{flex-direction:column;display:flex}.lingo-admin-desc{color:var(--text-muted);margin:0 0 8px;font-size:.86rem;line-height:1.5}.lingo-admin-hint{color:var(--text-muted);font-size:.83rem;font-weight:500}.lingo-admin-list{flex-direction:column;gap:.6rem;display:flex}.lingo-admin-row{border:1.5px solid var(--border);background:var(--bg-hover);border-radius:12px;flex-direction:column;gap:.45rem;padding:.6rem;display:flex}.lingo-admin-row input[type=text]{width:100%}.lingo-admin-row-head{justify-content:space-between;align-items:center;display:flex}.lingo-admin-row-type{font-size:.9rem;font-weight:800}.lingo-admin-row-tools{gap:.25rem;display:inline-flex}.lingo-admin-row-tools button{border:1px solid var(--border);background:var(--bg-card);cursor:pointer;border-radius:7px;width:24px;height:24px;font-size:.83rem;line-height:1}.lingo-admin-row-tools button:disabled{opacity:.35;cursor:default}.lingo-admin-adders{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.lingo-admin-docrow{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.lingo-admin-docrow a{color:var(--ngl-primary);font-size:.9rem;font-weight:700}.lingo-admin-submitopts{flex-direction:column;gap:.4rem;margin-top:.5rem;display:flex}.lingo-admin-submitopts>label{cursor:pointer;align-items:center;gap:.4rem;font-size:.93rem;font-weight:600;display:flex}.lingo-admin-quiz{flex-direction:column;gap:.55rem;display:flex}.lingo-admin-quiz-q{border:1px dashed var(--border);background:var(--bg-card);border-radius:10px;flex-direction:column;gap:.4rem;padding:.55rem;display:flex}.lingo-admin-choice{align-items:center;gap:.4rem;display:flex}.lingo-admin-choice input[type=text]{flex:1}.lingo-admin-choice input[type=radio]{accent-color:var(--ngl-primary)}.lingo-admin-choice>button{border:1px solid var(--border);background:var(--bg-hover);cursor:pointer;border-radius:7px;width:24px;height:24px;font-size:.8rem}.lingo-admin-choice>button:disabled{opacity:.35;cursor:default}.block-type-card[data-category=lingo]{border-color:color-mix(in srgb, #7c4dff 45%, var(--border))}.block-type-group-label[data-category=lingo]{color:#7c4dff}.ngl-room-tuto{border:2px solid var(--ngl-brown);background:linear-gradient(120deg, var(--ngl-primary), var(--ngl-primary-dark));color:#fff;cursor:pointer;width:100%;box-shadow:0 4px 0 var(--ngl-brown);text-align:left;border-radius:18px;flex-wrap:wrap;align-items:center;gap:.6rem .9rem;padding:1.05rem 1.3rem;transition:transform .12s;display:flex}.ngl-room-tuto:hover{transform:translateY(-2px)}.ngl-room-tuto-icon{border-radius:10px;flex:none;width:64px;height:44px;overflow:hidden}.ngl-room-tuto-icon img{object-fit:cover;width:100%;height:100%;display:block}.ngl-room-tuto-title{white-space:nowrap;font-size:1.16rem;font-weight:900}.ngl-room-tuto-path{flex:none;align-items:center;gap:.55rem;margin-left:auto;display:flex}.ngl-room-tuto-node{background:#ffffff29;border:2px solid #fff6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;font-size:1.02rem;font-style:normal;font-weight:900;display:inline-flex;position:relative}.ngl-room-tuto-node+.ngl-room-tuto-node:before{content:"";border-top:2px dotted #ffffff80;width:.55rem;margin-right:2px;position:absolute;top:50%;right:100%}.ngl-room-tuto-node.is-done{color:var(--ngl-primary);background:#fff;border-color:#fff}.ngl-room-tuto-node.is-skip{color:var(--ngl-primary-dark);background:#ffffff8c;border-color:#ffffffbf}.ngl-room-tuto-node.is-next{border-color:#fff;animation:1.6s ease-in-out infinite nglTutoNextPulse}@keyframes nglTutoNextPulse{0%,to{transform:scale(1);box-shadow:0 0 #ffffff8c}50%{transform:scale(1.12);box-shadow:0 0 0 5px #fff0}}@media (prefers-reduced-motion:reduce){.ngl-room-tuto-node.is-next{animation:none}}.ngl-room-tuto-cta{width:2.4rem;height:2.4rem;color:var(--ngl-primary);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.06rem;font-weight:900;display:inline-flex}.ngl-tuto{z-index:1;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.ngl-tuto-work{flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.ngl-tuto .ngl-anim-step{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.ngl-tuto-hnav{flex-shrink:0;gap:.3rem;display:flex}.ngl-tuto-hnode{color:#fff;cursor:pointer;background:#ffffff1f;border:2px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:.93rem;transition:transform .15s,background .15s;display:inline-flex}.ngl-tuto-hnode:hover:not(:disabled){background:#ffffff47;transform:translateY(-2px)}.ngl-tuto-hnode:disabled{opacity:.45;cursor:default}.ngl-tuto-hnode.is-cur{color:var(--ngl-primary-dark);background:#fff;border-color:#fff;box-shadow:0 0 0 3px #ffffff4d}.ngl-tuto-hnode.is-done{border-color:#86efac}.ngl-tuto-hnode.is-skip{opacity:.8}.ngl-tuto-hskip{color:#fff;cursor:pointer;opacity:.6;background:#ffffff24;border:0;border-radius:999px;align-items:center;gap:.25rem;padding:.28rem .55rem;font-size:.86rem;font-weight:800;display:inline-flex}.ngl-tuto-hskip:hover{opacity:1;background:#ffffff42}.ngl-tuto-hskip i{white-space:nowrap;max-width:0;font-style:normal;transition:max-width .25s;overflow:hidden}.ngl-tuto-hskip:hover i{max-width:80px}.ngl-tuto-hstate{background:#fff3;border-radius:999px;flex-shrink:0;padding:.22rem .55rem;font-size:.83rem;font-weight:900}.ngl-tuto-hstate.is-skip{opacity:.7}.ngl-tuto-step{flex-direction:column;flex:1;gap:.9rem;min-height:0;padding:1.2rem 1.4rem 2rem;display:flex;overflow-y:auto}.ngl-tuto-step>*{width:100%;max-width:1080px;margin-left:auto;margin-right:auto}.ngl-tuto-step--fill{gap:0;padding:0;overflow:hidden}.ngl-tuto-step--fill>*{max-width:none;margin:0}.ngl-tuto-card{border:2px solid var(--border);background:var(--bg-card);box-shadow:0 3px 0 var(--border);border-radius:16px;flex-direction:column;gap:.7rem;padding:1.1rem 1.2rem;display:flex}.ngl-tuto-card h3{margin:0;font-size:1.16rem;font-weight:900}.ngl-tuto-card h4{margin:0;font-size:1.02rem;font-weight:900}.ngl-tuto-muted{color:var(--text-muted);margin:0;font-size:.91rem;line-height:1.65}.ngl-tuto-muted a{color:var(--ngl-primary);font-weight:800}.ngl-tuto-btn{border:2px solid var(--border);background:var(--bg-card);cursor:pointer;box-shadow:0 3px 0 var(--border);border-radius:12px;align-self:flex-start;padding:.55rem 1rem;font-weight:800}.ngl-tuto-btn:disabled{opacity:.5;cursor:default}.ngl-tuto-btn--primary{background:linear-gradient(120deg, var(--ngl-primary), var(--ngl-primary-dark));border-color:var(--ngl-primary-dark);color:#fff;box-shadow:0 3px 0 color-mix(in srgb, var(--ngl-primary-dark) 70%, #000)}.ngl-tuto-btn--big{text-align:center;align-self:stretch;padding:.8rem 1rem;font-size:1.06rem}.ngl-tuto-inlinebtn{color:var(--ngl-primary);cursor:pointer;font-weight:800;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.ngl-ybti-intro{text-align:center;border-color:color-mix(in srgb, var(--ngl-primary) 35%, var(--border));background:radial-gradient(circle at 50% -30%, color-mix(in srgb, var(--ngl-primary) 17%, var(--bg-card)), var(--bg-card) 65%);align-items:center;gap:.85rem;padding:2.4rem 1.5rem 2.2rem}.ngl-ybti-intro h3{font-size:1.45rem}.ngl-ybti-intro p{max-width:460px;margin:0;line-height:1.7}.ngl-ybti-intro-art{place-items:center;width:112px;height:112px;display:grid;position:relative}.ngl-ybti-intro-ring{border:2px solid color-mix(in srgb, var(--ngl-primary) 50%, transparent);border-radius:50%;animation:2.6s ease-out infinite nglRingPulse;position:absolute;inset:0}.ngl-ybti-intro-ring.is-2{animation-delay:1.3s}.ngl-ybti-intro-mascot{background:linear-gradient(135deg, var(--ngl-primary), var(--ngl-primary-dark));width:88px;height:88px;box-shadow:0 6px 0 color-mix(in srgb, var(--ngl-primary-dark) 70%, #000);border-radius:50%;place-items:center;font-size:2.7rem;animation:2.6s ease-in-out infinite nglBob;display:grid;position:relative}.ngl-ybti-intro-kicker{background:color-mix(in srgb, var(--ngl-primary) 12%, var(--bg-card));color:var(--ngl-primary-dark);letter-spacing:.08em;border-radius:999px;padding:.3rem .85rem;font-size:.8rem;font-weight:900}:root[data-theme=dark] .ngl-ybti-intro-kicker{color:var(--ngl-primary-light)}.ngl-ybti-intro-chips{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.ngl-ybti-intro-chips span{border:2px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:999px;padding:.32rem .78rem;font-size:.82rem;font-weight:800;animation:.45s cubic-bezier(.34,1.56,.64,1) backwards nglPopIn}.ngl-ybti-intro-chips span:first-child{animation-delay:.25s}.ngl-ybti-intro-chips span:nth-child(2){animation-delay:.35s}.ngl-ybti-intro-chips span:nth-child(3){animation-delay:.45s}.ngl-ybti-quiz{gap:.9rem}.ngl-ybti-quiz h3{font-size:1.26rem;line-height:1.55}.ngl-ybti-quiz-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.ngl-ybti-partchip{background:color-mix(in srgb, var(--ngl-primary) 12%, var(--bg-card));color:var(--ngl-primary-dark);border-radius:999px;padding:.26rem .7rem;font-size:.8rem;font-weight:900;animation:.45s cubic-bezier(.34,1.56,.64,1) nglPopIn}:root[data-theme=dark] .ngl-ybti-partchip{color:var(--ngl-primary-light)}.ngl-ybti-partchip.is-p2{background:color-mix(in srgb, var(--ngl-brown) 12%, var(--bg-card));color:var(--ngl-brown)}:root[data-theme=dark] .ngl-ybti-partchip.is-p2{color:var(--ngl-brown-light);background:color-mix(in srgb, var(--ngl-brown-light) 16%, var(--bg-card))}.ngl-ybti-progress{background:var(--bg-hover);border-radius:999px;height:10px;position:relative;overflow:hidden}.ngl-ybti-progress i{background:linear-gradient(90deg, var(--ngl-primary), var(--ngl-primary-dark));border-radius:999px;height:100%;transition:width .25s;display:block;position:relative;overflow:hidden}.ngl-ybti-progress i:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff73 50%,#0000 70%);animation:1.8s ease-in-out infinite nglShimmer;position:absolute;inset:0;transform:translate(-100%)}.ngl-ybti-qno{color:var(--ngl-primary);font-size:.88rem;font-weight:900}.ngl-ybti-opts{flex-direction:column;gap:.6rem;display:flex}.ngl-ybti-opts button{border:2px solid var(--border);background:var(--bg-card);text-align:left;cursor:pointer;box-shadow:0 3px 0 var(--border);border-radius:14px;padding:.9rem 1.1rem;font-size:1rem;font-weight:700;transition:transform .1s,border-color .12s,color .12s,background .12s;animation:.35s cubic-bezier(.2,.8,.25,1) backwards nglRiseIn}.ngl-ybti-opts button:nth-child(2){animation-delay:60ms}.ngl-ybti-opts button:nth-child(3){animation-delay:.12s}.ngl-ybti-opts button:nth-child(4){animation-delay:.18s}.ngl-ybti-opts button:nth-child(5){animation-delay:.24s}.ngl-ybti-opts button:hover{border-color:var(--ngl-primary);color:var(--ngl-primary);background:color-mix(in srgb, var(--ngl-primary) 6%, var(--bg-card));transform:translateY(-1px)}.ngl-ybti-back{color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:.375rem 0;font-size:.88rem;font-weight:800}.ngl-ybti-back:hover{color:var(--ngl-primary)}.ngl-ybti-nick{border:2px solid var(--border);border-radius:12px;padding:.65rem .9rem;font-size:1.06rem;font-weight:700}.ngl-ybti-result{flex-direction:column;gap:.9rem;display:flex}.ngl-ybti-result>:not(.ngl-ybti-hero){animation:.5s cubic-bezier(.2,.8,.25,1) backwards nglRiseIn}.ngl-ybti-result>:nth-child(2){animation-delay:.12s}.ngl-ybti-result>:nth-child(3){animation-delay:.2s}.ngl-ybti-result>:nth-child(4){animation-delay:.28s}.ngl-ybti-result>:nth-child(5){animation-delay:.36s}.ngl-ybti-result>:nth-child(6){animation-delay:.44s}.ngl-ybti-result>:nth-child(7){animation-delay:.52s}.ngl-ybti-result>:nth-child(8){animation-delay:.6s}.ngl-ybti-result>:nth-child(9){animation-delay:.68s}.ngl-ybti-sec{position:relative}.ngl-ybti-sec:before{content:"";background:linear-gradient(90deg, var(--sec,var(--ngl-primary)), color-mix(in srgb, var(--sec,var(--ngl-primary)) 25%, transparent));border-top-left-radius:14px;border-top-right-radius:14px;height:4px;position:absolute;top:0;left:0;right:0}.ngl-ybti-sechead{align-items:center;gap:.55rem;display:flex}.ngl-ybti-sechead i{background:linear-gradient(135deg, color-mix(in srgb, var(--sec,var(--ngl-primary)) 82%, #fff), var(--sec,var(--ngl-primary)));color:#fff;width:27px;height:27px;box-shadow:0 2px 0 color-mix(in srgb, var(--sec,var(--ngl-primary)) 60%, #000);border-radius:9px;flex:none;place-items:center;font-size:.78rem;font-style:normal;font-weight:900;display:grid}.ngl-ybti-sechead h4{margin:0;font-size:1.02rem;font-weight:900}.ngl-ybti-hero{background:linear-gradient(120deg, var(--ngl-brown-dark), var(--ngl-brown) 40%, var(--ngl-brown-light) 75%, var(--ngl-brown));border-color:var(--ngl-brown-dark);color:#fff;box-shadow:0 3px 0 var(--ngl-brown-dark);background-size:220% 220%;flex-flow:wrap;align-items:stretch;gap:1.2rem;padding:1.3rem 1.4rem}.ngl-ybti-hero-left{flex-direction:column;flex:260px;align-items:flex-start;gap:.55rem;min-width:230px;display:flex}.ngl-ybti-hero-kicker{background:#ffffff29;border-radius:999px;padding:.32rem .85rem;font-size:.86rem;font-weight:900}.ngl-ybti-hero-name{margin:.1rem 0 0;font-size:1.75rem;font-weight:900;line-height:1.25}.ngl-ybti-hero-tag{opacity:.94;margin:0;font-size:.96rem;line-height:1.7}.ngl-ybti-hero-deep{background:#ffffff38;border-radius:999px;padding:.28rem .75rem;font-size:.82rem;font-weight:900}.ngl-ybti-hero-mascot{filter:drop-shadow(0 4px #0003);margin:auto auto .2rem;font-size:4rem;line-height:1;animation:2.6s ease-in-out infinite nglBob}.ngl-ybti-hero-bars{background:var(--bg-card);min-width:280px;color:var(--text-primary);border-radius:16px;flex-direction:column;flex:320px;gap:.4rem;padding:.9rem 1rem;display:flex}.ngl-ybti-bar{animation:.4s backwards nglRiseIn;animation-delay:calc(.45s + var(--i,0) * 90ms);border-radius:12px;overflow:hidden}.ngl-ybti-bar.is-open{background:color-mix(in srgb, var(--bar,var(--ngl-primary)) 6%, var(--bg-card))}.ngl-ybti-bar-btn{cursor:pointer;text-align:center;background:0 0;border:0;border-radius:12px;flex-direction:column;gap:.3rem;width:100%;padding:.55rem .6rem .5rem;display:flex}.ngl-ybti-bar-btn:hover{background:color-mix(in srgb, var(--bar,var(--ngl-primary)) 8%, transparent)}.ngl-ybti-bar-title{color:var(--text-secondary);font-size:.93rem;font-weight:900}.ngl-ybti-bar-title i{opacity:.6;font-size:.78rem;font-style:normal}.ngl-ybti-bar-line{grid-template-columns:48px 1fr 48px;align-items:center;gap:.55rem;display:grid}.ngl-ybti-bar-line b{color:var(--text-muted);font-size:.93rem;font-weight:800}.ngl-ybti-bar-line b:first-child{text-align:left}.ngl-ybti-bar-line b:last-child{text-align:right}.ngl-ybti-bar-line b.is-mine{color:var(--bar,var(--ngl-primary));font-size:1.04rem;font-weight:900}.ngl-ybti-bar-track{background:var(--bg-hover);border-radius:999px;height:12px;position:relative;overflow:hidden}.ngl-ybti-bar-track i{background:linear-gradient(90deg, color-mix(in srgb, var(--bar,var(--ngl-primary)) 75%, #fff), var(--bar,var(--ngl-primary)));box-shadow:0 0 8px color-mix(in srgb, var(--bar,var(--ngl-primary)) 45%, transparent);animation:.9s cubic-bezier(.22,.9,.3,1) backwards nglBarGrow;animation-delay:calc(.55s + var(--i,0) * .12s);border-radius:999px;transition:width .3s;position:absolute;top:0;bottom:0}.ngl-ybti-bar-labels{justify-content:space-between;display:flex}.ngl-ybti-bar-labels small{color:var(--text-muted);font-size:.82rem;font-weight:700}.ngl-ybti-bar-labels small.is-mine{color:var(--bar,var(--ngl-primary));font-weight:900}.ngl-ybti-deepcard{flex-flow:wrap;align-items:center;gap:1rem;animation:.45s .55s backwards nglRiseIn}.ngl-ybti-deepcard-body{flex-direction:column;flex:1;gap:.35rem;min-width:220px;display:flex}.ngl-ybti-deepcard-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.ngl-ybti-deepcard-actions .ngl-ybti-back{align-self:center}.ngl-ybti-deeprec{background:color-mix(in srgb, var(--ngl-primary) 12%, var(--bg-card));color:var(--ngl-primary-dark);border-radius:999px;align-self:flex-start;margin:0;padding:.3rem .75rem;font-size:.86rem;font-weight:900;animation:.5s cubic-bezier(.34,1.56,.64,1) .8s backwards nglPopIn}:root[data-theme=dark] .ngl-ybti-deeprec{color:var(--ngl-primary-light)}.ngl-ybti-quiz-foot{justify-content:space-between;gap:.6rem;display:flex}.ngl-ybti-deepdock{--ngl-primary:var(--accent);--ngl-primary-dark:color-mix(in srgb, var(--accent) 72%, #000);--ngl-primary-light:color-mix(in srgb, var(--accent) 82%, #fff);--ngl-brown:#493021;--ngl-brown-light:#6b4a35;--ngl-brown-dark:#2f1f14;z-index:1400;background:var(--bg-card);border-left:2px solid var(--border);flex-direction:column;gap:1rem;width:min(420px,94vw);padding:1.4rem 1.5rem;animation:.35s cubic-bezier(.22,1,.36,1) nglDockIn;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-18px 0 46px #2f1f1438}@keyframes nglDockIn{0%{opacity:0;transform:translate(36px)}}.ngl-ybti-deepdock-head{align-items:center;gap:.6rem;display:flex}.ngl-ybti-deepdock-head b{font-size:1.12rem;font-weight:900}.ngl-ybti-deepdock-head span{color:var(--ngl-primary);margin-left:auto;font-size:.94rem;font-weight:900}.ngl-ybti-deepdock-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:.2rem .3rem;font-size:1.05rem}.ngl-ybti-deepdock-close:hover{color:var(--ngl-primary)}.ngl-ybti-deepdock-body{flex-direction:column;gap:1rem;display:flex}.ngl-ybti-deepdock-q{margin:.3rem 0 0;font-size:1.14rem;font-weight:800;line-height:1.55}.ngl-ybti-deepdock-foot{justify-content:space-between;gap:.6rem;margin-top:auto;display:flex}.ngl-ybti-deepdock-done{text-align:center;flex-direction:column;gap:.5rem;margin:auto;animation:.5s cubic-bezier(.34,1.56,.64,1) nglPopIn;display:flex}.ngl-ybti-deepdock-done b{color:var(--ngl-primary);font-size:1.35rem}.ngl-ybti-deepdock-done p{color:var(--text-muted);margin:0;font-size:.95rem}.ngl-ybti-deepdock-ov{z-index:1399;background:color-mix(in srgb, var(--ngl-brown-dark,#2f1f14) 34%, transparent);position:fixed;inset:0}@media (width<=720px){.ngl-ybti-deepdock{border-left:0;width:100vw}}.ngl-ybti-axis-detail{border-top:2px dashed var(--border);background:color-mix(in srgb, var(--ngl-primary) 4%, var(--bg-card));flex-direction:column;gap:.6rem;padding:.75rem .9rem .9rem;display:flex}.ngl-ybti-axis-q{color:var(--ngl-brown);margin:0;font-size:.88rem;font-weight:800}.ngl-ybti-lean{color:var(--ngl-primary);margin:0;font-size:.86rem;font-weight:800}.ngl-ybti-axis-letter{border-left:3px solid var(--border);padding-left:.7rem}.ngl-ybti-axis-letter.is-mine{border-left-color:var(--ngl-primary)}.ngl-ybti-axis-letter b{font-size:.96rem}.ngl-ybti-axis-letter b em{color:var(--ngl-primary);margin-left:.35rem;font-size:.82rem;font-style:normal}.ngl-ybti-axis-letter p{color:var(--text-secondary);margin:.2rem 0 .15rem;font-size:.9rem;line-height:1.65}.ngl-ybti-axis-letter small{color:var(--text-muted);font-size:.82rem;font-weight:600}.ngl-ybti-triple{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;display:grid}.ngl-ybti-note{--note:var(--ngl-primary);border-color:color-mix(in srgb, var(--note) 45%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--note) 8%, var(--bg-card)), var(--bg-card) 60%);box-shadow:0 3px 0 color-mix(in srgb, var(--note) 35%, var(--border));gap:.45rem;padding:.9rem 1rem;transition:transform .12s}.ngl-ybti-note:hover{transform:translateY(-2px)}.ngl-ybti-note>span{background:var(--note);color:#fff;border-radius:999px;align-self:flex-start;padding:.22rem .66rem;font-size:.8rem;font-weight:900}.ngl-ybti-note p{color:var(--text-secondary);margin:0;font-size:.93rem;line-height:1.6}.ngl-ybti-note.is-strength{--note:#22a05c}.ngl-ybti-note.is-caution{--note:#d97706}.ngl-ybti-note.is-tip{--note:var(--ngl-primary)}.ngl-ybti-topics{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem;display:grid}.ngl-ybti-topic{border:2px solid var(--border);background:var(--bg-card);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;gap:.25rem;padding:.7rem .85rem;transition:transform .1s,border-color .12s;display:flex;position:relative}.ngl-ybti-topic:hover{border-color:color-mix(in srgb, #3fa96f 60%, var(--border));transform:translateY(-1px)}.ngl-ybti-topic small{color:var(--text-muted);font-size:.82rem;line-height:1.5}.ngl-ybti-topic.is-sel{background:color-mix(in srgb, #3fa96f 9%, var(--bg-card));border-color:#3fa96f}.ngl-ybti-topic.is-sel b{color:#2a8757}.ngl-ybti-topic.is-sel:after{content:"✓";color:#2a8757;font-weight:900;animation:.3s cubic-bezier(.34,1.56,.64,1) nglPopIn;position:absolute;top:.55rem;right:.7rem}.ngl-tuto-branch-opts{flex-wrap:wrap;gap:.8rem;display:flex}.ngl-tuto-branch-opts button{border:2px solid var(--border);background:var(--bg-card);cursor:pointer;text-align:left;min-width:200px;box-shadow:0 3px 0 var(--border);border-radius:14px;flex-direction:column;flex:1;gap:.3rem;padding:1rem 1.1rem;display:flex}.ngl-tuto-branch-opts button:hover{border-color:var(--ngl-primary)}.ngl-tuto-branch-opts b{font-size:1.06rem}.ngl-tuto-branch-opts small{color:var(--text-muted)}.ngl-tuto-stage{background:#fff;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.ngl-tuto-stage .lingo-panel-station{flex:1;min-height:0}.ngl-stage-top{flex-shrink:0;justify-content:flex-end;padding:.15rem .6rem 0;display:flex}.ngl-stage-alt{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:.3rem .4rem;font-size:.82rem;font-weight:700}.ngl-stage-alt:hover{color:var(--ngl-primary)}@media (pointer:coarse){.ngl-stage-alt{min-height:44px}}.ngl-ovl{z-index:30;max-width:340px;position:absolute}.ngl-ovl--tl{top:5.2rem;left:1rem}.ngl-ovl--tr{top:5.2rem;right:1rem}.ngl-ovl--bl{bottom:1rem;left:1rem}.ngl-ovl--br{bottom:1rem;right:1rem}.ngl-ovl--min{bottom:1rem;left:1rem}.ngl-ovl.ngl-ovl--anch{width:320px;max-width:min(320px,100vw - 16px);transition:left .28s cubic-bezier(.22,1,.36,1),top .28s cubic-bezier(.22,1,.36,1);bottom:auto;right:auto}.ngl-ovl-flash{border-radius:inherit;background:color-mix(in srgb, var(--ngl-primary) 88%, #fff);pointer-events:none;justify-content:center;align-items:center;animation:.7s both nglOvlFlash;display:flex;position:absolute;inset:0}.ngl-ovl-flash span{color:#fff;font-size:2.2rem;font-weight:900;animation:.35s cubic-bezier(.34,1.56,.64,1) nglPopIn}@keyframes nglOvlFlash{0%{opacity:0}18%{opacity:1}82%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.ngl-ovl.ngl-ovl--anch{transition:none}}.ngl-ovl-card{border:2px solid var(--border);background:var(--bg-card);box-shadow:0 10px 26px #0003, 0 3px 0 var(--border);border-radius:16px;flex-direction:column;gap:.55rem;padding:.75rem .85rem;animation:.32s cubic-bezier(.2,.8,.25,1) nglStepIn;display:flex;position:relative}.ngl-ovl-head{align-items:center;gap:.5rem;display:flex}.ngl-ovl-head .ngl-guide-dots{flex:1;margin:0}.ngl-ovl-min{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0 .2rem;font-size:.93rem;font-weight:900;line-height:1}.ngl-ovl-min:hover{color:var(--text-primary)}.ngl-ovl-hint{border-left:3px solid var(--ngl-primary);background:var(--bg-hover);color:var(--text-secondary);border-radius:0 8px 8px 0;padding:.4rem .6rem;font-size:.84rem;font-weight:600;line-height:1.5}.ngl-ovl-step{align-items:flex-start;gap:.55rem;font-size:.94rem;font-weight:700;line-height:1.55;animation:.24s both nglOvlSwap;display:flex}@keyframes nglOvlSwap{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.ngl-ovl-next{border-left:3px solid var(--ngl-primary);background:color-mix(in srgb, var(--ngl-primary) 12%, transparent);color:var(--ngl-primary-light);border-radius:0 8px 8px 0;padding:.4rem .6rem;font-size:.84rem;font-weight:800;line-height:1.45}:root[data-theme=light] .ngl-ovl-next{color:var(--ngl-primary-dark)}.ngl-ovl-step>span{background:var(--ngl-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.84rem;font-weight:900;display:inline-flex}.ngl-ovl-fields{align-items:center;gap:.3rem;padding-left:calc(24px + .55rem);display:flex}.ngl-ovl-fields i{background:var(--bg-hover);border:2px solid var(--border);border-radius:50%;width:9px;height:9px;transition:background .25s,border-color .25s,transform .25s}.ngl-ovl-fields i.is-fill{background:var(--ngl-primary);border-color:var(--ngl-primary-dark);transform:scale(1.15)}.ngl-ovl-fields span{color:var(--text-muted);margin-left:.25rem;font-size:.76rem;font-weight:800}.ngl-ovl-foot{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.ngl-ovl-bubble{border:2px solid var(--ngl-primary-dark);background:linear-gradient(135deg, var(--ngl-primary), var(--ngl-primary-dark));cursor:pointer;width:54px;height:54px;box-shadow:0 6px 16px #00000040, 0 3px 0 color-mix(in srgb, var(--ngl-primary-dark) 70%, #000);border-radius:50%;font-size:1.45rem;animation:.35s cubic-bezier(.34,1.56,.64,1) nglPopIn;position:relative}.ngl-ovl-bubble:hover{filter:brightness(1.06)}.ngl-ovl-bubble i{color:#fff;background:var(--ngl-brown);border-radius:999px;padding:1px 6px;font-size:.66rem;font-style:normal;font-weight:900;position:absolute;bottom:-4px;right:-6px}.ngl-ovl--big{max-width:620px}.ngl-ovl--big.ngl-ovl--anch{width:440px;max-width:min(440px,100vw - 16px)}.ngl-ovl--big .ngl-ovl-card{border-radius:20px;gap:.8rem;padding:1.15rem 1.3rem}.ngl-ovl--big .ngl-ovl-step{gap:.75rem;font-size:1.65rem;line-height:1.42}.ngl-ovl--big .ngl-ovl-step>span{width:40px;height:40px;font-size:1.35rem}.ngl-ovl--big .ngl-ovl-hint{font-size:1.3rem}.ngl-ovl--big .ngl-guide-dots{gap:.45rem}.ngl-ovl--big .ngl-guide-dots i{width:14px;height:14px}.ngl-ovl--big .ngl-ovl-min{padding:0 .35rem;font-size:1.35rem}.ngl-ovl--big .ngl-note-icon{width:34px;height:34px;font-size:1.2rem}.ngl-ovl--big .ngl-note-pop{width:400px;font-size:1.2rem}.ngl-ovl--big.ngl-ovl--anch .ngl-ovl-step{font-size:1.34rem}.ngl-ovl--big .ngl-ovl-next{font-size:1.12rem}.ngl-ovl--big .ngl-ovl-fields{gap:.45rem;padding-left:calc(40px + .75rem)}.ngl-ovl--big .ngl-ovl-fields i{width:15px;height:15px}.ngl-ovl--big .ngl-ovl-fields span{font-size:1.15rem}.ngl-ovl--big .ngl-ovl-foot .ngl-tuto-btn{padding:.65rem 1.25rem;font-size:1.25rem}.ngl-ovl--big .ngl-ovl-foot .ngl-ybti-back{font-size:1.2rem}.ngl-ovl--big .ngl-guide-finish{gap:.7rem}.ngl-ovl--big .ngl-guide-finish .ngl-tuto-btn{padding:.75rem 1.3rem;font-size:1.3rem}.ngl-ovl--big .ngl-guide-finish .ngl-ybti-back{font-size:1.15rem}.ngl-ovl--big .ngl-ovl-bubble{width:72px;height:72px;font-size:2rem}.ngl-ovl--big .ngl-ovl-bubble i{padding:2px 8px;font-size:.95rem}.ngl-ovl--big .ngl-tuto-inlinebtn{font-size:inherit}@media (width<=720px){.ngl-ovl{max-width:none;left:.6rem;right:.6rem}.ngl-ovl--tl,.ngl-ovl--tr{top:5.2rem}.ngl-ovl--bl,.ngl-ovl--br,.ngl-ovl--min{top:auto;bottom:.6rem}.ngl-ovl--min{right:auto}.ngl-tuto-hnav,.ngl-tuto .ngl-room-bar-progress{display:none}}.ngl-guide-dots{gap:.32rem;margin-bottom:.15rem;display:flex}.ngl-guide-dots i{background:var(--bg-hover);border:2px solid var(--border);border-radius:50%;width:10px;height:10px;transition:background .2s,border-color .2s}.ngl-guide-dots i.is-done{background:var(--ngl-primary);border-color:var(--ngl-primary)}.ngl-guide-dots i.is-cur{border-color:var(--ngl-primary);animation:.4s cubic-bezier(.34,1.56,.64,1) nglPopIn}.ngl-guide-finish{flex-direction:column;align-items:flex-start;gap:.5rem;animation:.32s cubic-bezier(.2,.8,.25,1) nglStepIn;display:flex}.ngl-note{vertical-align:middle;display:inline-flex;position:relative}.ngl-note-icon{border:2px solid var(--border);background:var(--bg-card);cursor:help;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:.88rem;line-height:1;display:inline-flex}.ngl-note:hover .ngl-note-icon,.ngl-note:focus-within .ngl-note-icon{border-color:var(--ngl-primary)}.ngl-note-pop{z-index:40;border:2px solid var(--border);background:var(--bg-card);width:260px;color:var(--text-secondary);opacity:0;visibility:hidden;pointer-events:none;border-radius:12px;padding:.6rem .7rem;font-size:.86rem;font-weight:600;line-height:1.6;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-4px);box-shadow:0 10px 24px #00000029}.ngl-note:hover .ngl-note-pop,.ngl-note:focus-within .ngl-note-pop{opacity:1;visibility:visible;pointer-events:auto;transform:none}.ngl-note-pop a{color:var(--ngl-primary);font-weight:800}.ngl-ovl--bl .ngl-note-pop,.ngl-ovl--br .ngl-note-pop{top:auto;bottom:calc(100% + 6px);transform:translateY(4px)}.ngl-ovl--bl .ngl-note:hover .ngl-note-pop,.ngl-ovl--br .ngl-note:hover .ngl-note-pop,.ngl-ovl--bl .ngl-note:focus-within .ngl-note-pop,.ngl-ovl--br .ngl-note:focus-within .ngl-note-pop{transform:none}.ngl-tuto-editfill{flex-direction:column;flex:1;min-height:0;padding:.9rem 1.2rem 1.4rem;display:flex;overflow-y:auto}.ngl-tuto-editbar{justify-content:flex-end;margin-bottom:.4rem;display:flex}.ngl-tuto-editfill .edlite{flex:1}.ngl-tuto-tips{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;display:grid}.ngl-tuto-tipfold{border:2px solid var(--border);background:var(--bg-card);box-shadow:0 3px 0 var(--border);animation:.4s backwards nglRiseIn;animation-delay:calc(var(--i,0) * 60ms);border-radius:14px;padding:.7rem .9rem}.ngl-tuto-tipfold summary{cursor:pointer;font-size:.96rem;font-weight:800;list-style:none}.ngl-tuto-tipfold summary::-webkit-details-marker{display:none}.ngl-tuto-tipfold summary:after{content:" ▾";color:var(--text-muted);font-size:.8rem}.ngl-tuto-tipfold[open] summary:after{content:" ▴";content:" ▴"}.ngl-tuto-tipfold summary span{margin-right:.25rem;font-size:1.2rem}.ngl-tuto-tipfold:hover,.ngl-tuto-tipfold[open]{border-color:var(--ngl-primary)}.ngl-tuto-tipfold p{color:var(--text-muted);margin:.45rem 0 0;font-size:.86rem;line-height:1.55;animation:.25s nglFadeIn}.ngl-tuto-ideas ul{color:var(--text-secondary);margin:0;padding-left:1.2rem;font-size:.94rem;line-height:1.7}.ngl-tuto-pick-foot{flex-wrap:wrap;gap:.6rem;display:flex}.ngl-tuto-drop{border:2px dashed color-mix(in srgb, var(--ngl-primary) 45%, var(--border));background:color-mix(in srgb, var(--ngl-primary) 4%, var(--bg-card));color:var(--ngl-primary);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;padding:2rem 1rem;font-size:1.02rem;font-weight:900;display:flex}.ngl-tuto-drop:hover{background:color-mix(in srgb, var(--ngl-primary) 9%, var(--bg-card))}.ngl-tuto-preview{background:#000;border-radius:12px;width:100%;max-height:46vh}.ngl-tuto-finish{text-align:center;flex-direction:column;align-items:center;gap:.9rem;max-width:640px;margin:8vh auto 0;display:flex}.ngl-tuto-finish-emoji{font-size:3.2rem;animation:.6s cubic-bezier(.34,1.56,.64,1) backwards nglPopIn}.ngl-tuto-finish h2{margin:0;font-size:1.6rem;font-weight:900}.ngl-tuto-finish p{color:var(--text-secondary);margin:0;line-height:1.7}.ngl-tuto-finish-badges{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.ngl-tuto-finish-badge{color:#15803d;animation:.45s cubic-bezier(.34,1.56,.64,1) backwards nglPopIn;animation-delay:calc(.25s + var(--i,0) * 90ms);background:#dcfce7;border-radius:999px;padding:.4rem .8rem;font-size:.86rem;font-weight:800}.ngl-tuto-finish-badge.is-skip{background:var(--bg-hover);color:var(--text-muted)}.ngl-tuto-finish-foot{gap:.7rem;margin-top:.4rem;display:flex}@keyframes nglSplashIn{to{transform:scale(1)}}@keyframes nglSplashOut{to{opacity:0}}@keyframes nglRiseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes nglPopIn{0%{opacity:0;transform:scale(.3)}62%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes nglFadeIn{0%{opacity:0}to{opacity:1}}@keyframes nglStepIn{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes nglHeroLand{0%{opacity:0;transform:scale(1.25)translateY(16vh)}45%{opacity:1;transform:scale(1.12)translateY(12vh)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes nglWiggle{0%,to{transform:rotate(0)scale(1)}30%{transform:rotate(-6deg)scale(1.12)}60%{transform:rotate(5deg)scale(1.06)}}.ngl-splashwrap{z-index:60;pointer-events:none;width:0;height:0;position:absolute}.ngl-splash{background:radial-gradient(circle, color-mix(in srgb, var(--ngl-primary-light) 55%, #fff) 0%, color-mix(in srgb, var(--ngl-primary) 78%, #fff) 32%, var(--ngl-primary) 60%, var(--ngl-primary-dark) 100%);border-radius:50%;width:320vmax;height:320vmax;margin:-160vmax 0 0 -160vmax;position:absolute;top:0;left:0;transform:scale(0)}.ngl-splash:after{content:"";background:radial-gradient(circle at 38% 34%,#ffffff29 0 9%,#0000 10%),radial-gradient(circle at 66% 58%,#ffffff1c 0 12%,#0000 13%),radial-gradient(circle at 52% 74%,#4930211f 0 8%,#0000 9%),radial-gradient(circle at 72% 28%,#ffffff17 0 14%,#0000 15%);border-radius:50%;position:absolute;inset:0}.ngl-splashwrap.is-in .ngl-splash{animation:.48s cubic-bezier(.32,0,.35,1) forwards nglSplashIn}.ngl-splashwrap.is-out .ngl-splash{animation:.42s forwards nglSplashOut;transform:scale(1)}.ngl-splash-bub{opacity:0;background:color-mix(in srgb, var(--ngl-primary-light) 40%, #fff);border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;top:0;left:0}.ngl-splash-bub:nth-of-type(3n){background:color-mix(in srgb, var(--ngl-brown-light) 30%, #fff);width:12px;height:12px}.ngl-splash-bub:first-of-type{--bx:-130px;--by:-60px}.ngl-splash-bub:nth-of-type(2){--bx:120px;--by:-95px}.ngl-splash-bub:nth-of-type(3){--bx:150px;--by:40px}.ngl-splash-bub:nth-of-type(4){--bx:-95px;--by:110px}.ngl-splash-bub:nth-of-type(5){--bx:45px;--by:140px}.ngl-splash-bub:nth-of-type(6){--bx:-35px;--by:-145px}.ngl-splashwrap.is-in .ngl-splash-bub{animation:.6s cubic-bezier(.2,.7,.3,1) forwards nglBubBurst;animation-delay:calc(var(--i,0) * 30ms)}@keyframes nglBubBurst{0%{opacity:.95;transform:translate(0)scale(.4)}to{opacity:0;transform:translate(var(--bx,0), var(--by,0)) scale(1.7)}}.ngl-room-hero{animation:.45s cubic-bezier(.2,.8,.25,1) backwards nglRiseIn}.ngl-room-mascot{animation:2.6s ease-in-out infinite nglBob}.ngl-room-sec{animation:.45s cubic-bezier(.2,.8,.25,1) backwards nglRiseIn}.ngl-room-sec:first-of-type{animation-delay:70ms}.ngl-room-sec:nth-of-type(2){animation-delay:.14s}.ngl-room-sec:nth-of-type(3){animation-delay:.21s}.ngl-room-card{animation:.4s cubic-bezier(.2,.8,.25,1) backwards nglRiseIn;animation-delay:min(calc(.18s + var(--i,0) * 60ms), .7s)}.ngl-stage-banner{animation:.4s cubic-bezier(.2,.8,.25,1) backwards nglRiseIn}.ngl-node{animation:.45s cubic-bezier(.34,1.56,.64,1) backwards nglPopIn;animation-delay:min(calc(var(--i,0) * 50ms), .8s)}.ngl-node-label{animation:.4s backwards nglFadeIn;animation-delay:min(calc(var(--i,0) * 50ms + .15s), .95s)}.ngl-node:hover:not(:active){filter:brightness(1.06)}.ngl-node.is-active .ngl-node-icon{animation:.45s nglWiggle;display:inline-block}.ngl-anim-step{animation:.4s cubic-bezier(.2,.8,.25,1) nglStepIn}.ngl-anim-card{animation:.38s cubic-bezier(.2,.8,.25,1) nglStepIn}.ngl-ybti-opts button:active{box-shadow:0 1px 0 var(--border);transform:translateY(2px)scale(.99)}.ngl-ybti-hero{animation:.65s cubic-bezier(.22,.9,.3,1) nglHeroLand,9s ease-in-out .65s infinite nglHeroShift}.ngl-ybti-axis-detail{animation:.3s cubic-bezier(.2,.8,.25,1) nglStepIn}.ngl-ybti-note{animation:.45s backwards nglRiseIn;animation-delay:calc(.3s + var(--i,0) * .1s)}.ngl-ybti-topic{animation:.4s backwards nglRiseIn;animation-delay:calc(.42s + var(--i,0) * 50ms)}.ngl-ybti-cta{animation:2.4s ease-in-out infinite nglCtaPulse}@keyframes nglCtaPulse{0%,to{box-shadow:0 3px 0 color-mix(in srgb, var(--ngl-primary-dark) 70%, #000), 0 0 0 0 color-mix(in srgb, var(--ngl-primary) 45%, transparent)}55%{box-shadow:0 3px 0 color-mix(in srgb, var(--ngl-primary-dark) 70%, #000), 0 0 0 10px transparent}}@keyframes nglRingPulse{0%{opacity:.9;transform:scale(.72)}to{opacity:0;transform:scale(1.28)}}@keyframes nglShimmer{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}@keyframes nglBarGrow{0%{width:0}}@keyframes nglHeroShift{0%,to{background-position:0%}50%{background-position:100%}}.ngl-ybti-namelist{flex-wrap:wrap;gap:.5rem;display:flex}.ngl-ybti-name{border:2px solid var(--border);background:var(--bg-card);cursor:pointer;box-shadow:0 2px 0 var(--border);animation:.45s cubic-bezier(.34,1.56,.64,1) backwards nglPopIn;animation-delay:calc(.66s + var(--i,0) * 60ms);border-radius:999px;padding:.5rem .9rem;font-size:.96rem;font-weight:800;transition:transform .1s,border-color .12s,color .12s}.ngl-ybti-name:hover{border-color:var(--ngl-primary);color:var(--ngl-primary);transform:translateY(-1px)}.ngl-ybti-name.is-sel{background:var(--ngl-primary);border-color:var(--ngl-primary-dark);color:#fff;box-shadow:0 2px 0 var(--ngl-primary-dark)}.ngl-ybti-bp-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.7rem;display:grid}.ngl-ybti-bp-card{border:2px solid var(--border);background:var(--bg-card);animation:.45s backwards nglRiseIn;animation-delay:calc(.4s + var(--i,0) * 80ms);border-radius:14px;overflow:hidden}.ngl-ybti-bp-card.is-open{border-color:var(--ngl-primary);grid-column:1/-1}.ngl-ybti-bp-head{cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.3rem;width:100%;padding:.85rem 1rem .75rem;display:flex}.ngl-ybti-bp-head:hover{background:color-mix(in srgb, var(--ngl-primary) 6%, transparent)}.ngl-ybti-bp-head small{color:var(--text-muted);letter-spacing:.02em;font-size:.8rem;font-weight:900}.ngl-ybti-bp-head b{color:var(--ngl-primary-dark);font-size:1.08rem;font-weight:900}:root[data-theme=dark] .ngl-ybti-bp-head b{color:var(--ngl-primary-light)}.ngl-ybti-bp-tag{color:var(--text-secondary);font-size:.86rem;line-height:1.5}.ngl-ybti-bp-recnote{color:var(--ngl-brown);font-size:.78rem;font-weight:800}:root[data-theme=dark] .ngl-ybti-bp-recnote{color:var(--ngl-brown-light)}.ngl-ybti-bp-head i{color:var(--text-muted);align-self:flex-end;font-size:.78rem;font-style:normal;font-weight:800}.ngl-ybti-bp-body{border-top:2px dashed var(--border);background:color-mix(in srgb, var(--ngl-primary) 4%, var(--bg-card));flex-direction:column;gap:.55rem;padding:.8rem 1rem 1rem;animation:.3s cubic-bezier(.2,.8,.25,1) nglStepIn;display:flex}.ngl-ybti-bp-good{color:var(--text-secondary);margin:0;padding-left:1.15rem;font-size:.9rem;line-height:1.65}.ngl-ybti-bp-good li::marker{color:#22c55e}.ngl-ybti-bp-watch{color:color-mix(in srgb, #b45309 82%, var(--text-secondary));border-left:3px solid #d97706;margin:0;padding-left:.6rem;font-size:.88rem;line-height:1.6}.ngl-ybti-bp-fits{color:var(--text-muted);margin:0;font-size:.84rem;font-weight:700}.ngl-ybti-bp-alts{flex-wrap:wrap;gap:.45rem;margin-top:.25rem;display:flex}.ngl-ybti-bp-alt{border:2px solid var(--border);background:var(--bg-card);cursor:pointer;border-radius:999px;padding:.42rem .8rem;font-size:.88rem;font-weight:800;transition:transform .1s,border-color .12s,color .12s}.ngl-ybti-bp-alt:hover{border-color:var(--ngl-primary);color:var(--ngl-primary);transform:translateY(-1px)}.ngl-ybti-bp-alt.is-sel{background:var(--ngl-primary);border-color:var(--ngl-primary-dark);color:#fff}.ngl-ybti-bp-alt em{background:color-mix(in srgb, var(--ngl-brown) 14%, transparent);color:var(--ngl-brown);border-radius:999px;margin-left:.35rem;padding:.08rem .4rem;font-size:.74rem;font-style:normal;font-weight:900}.ngl-ybti-bp-alt.is-sel em{color:#fff;background:#ffffff3d}:root[data-theme=dark] .ngl-ybti-bp-alt em{color:var(--ngl-brown-light)}.ngl-ybti-alc-steps{align-items:center;margin-bottom:.7rem;padding:.2rem .1rem;display:flex}.ngl-ybti-alc-steps span{min-width:0;color:var(--text-muted);flex:1;align-items:center;gap:.38rem;font-size:.8rem;font-weight:900;display:flex}.ngl-ybti-alc-steps span:last-child{flex:none}.ngl-ybti-alc-steps span:not(:last-child):after{content:"";background:var(--border);border-radius:999px;flex:1;height:2px;margin:0 .5rem;transition:background .2s}.ngl-ybti-alc-steps span i{background:color-mix(in srgb, var(--border) 60%, var(--bg-card));width:23px;height:23px;color:var(--text-muted);border-radius:50%;flex:none;place-items:center;font-size:.74rem;font-style:normal;transition:background .2s,color .2s;display:grid}.ngl-ybti-alc-steps span.is-now{color:var(--ngl-primary-dark)}:root[data-theme=dark] .ngl-ybti-alc-steps span.is-now{color:var(--ngl-primary-light)}.ngl-ybti-alc-steps span.is-now i{background:var(--ngl-primary);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb, var(--ngl-primary) 20%, transparent);animation:.4s cubic-bezier(.34,1.56,.64,1) nglPopIn}.ngl-ybti-alc-steps span.is-done i{background:color-mix(in srgb, var(--ngl-primary) 22%, var(--bg-card));color:var(--ngl-primary-dark)}:root[data-theme=dark] .ngl-ybti-alc-steps span.is-done i{color:var(--ngl-primary-light)}.ngl-ybti-alc-steps span.is-done:after{background:color-mix(in srgb, var(--ngl-primary) 45%, var(--border))}.ngl-ybti-alc-tonenote{color:var(--ngl-brown);margin:0;font-size:.88rem;font-weight:800;animation:.35s cubic-bezier(.34,1.56,.64,1) nglPopIn}:root[data-theme=dark] .ngl-ybti-alc-tonenote{color:var(--ngl-brown-light)}.ngl-ybti-alc-recs{border:2px dashed color-mix(in srgb, var(--ngl-brown) 45%, var(--border));background:color-mix(in srgb, var(--ngl-brown) 5%, transparent);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.6rem .75rem;display:flex}.ngl-ybti-alc-recs>small{color:var(--ngl-brown);font-size:.84rem;font-weight:900}:root[data-theme=dark] .ngl-ybti-alc-recs>small{color:var(--ngl-brown-light)}.ngl-ybti-alc-stage{flex-direction:column;gap:.7rem;display:flex}.ngl-ybti-alc-row{gap:.5rem;display:flex}.ngl-ybti-alc-row input{border:2px solid var(--border);border-radius:12px;flex:1;min-width:0;padding:.6rem .85rem;font-size:.96rem;font-weight:700}.ngl-ybti-alc-row input:focus{border-color:var(--ngl-primary);outline:none}.ngl-ybti-alc-chips{flex-wrap:wrap;gap:.45rem;display:flex}.ngl-ybti-alc-chip{border:2px solid var(--border);background:var(--bg-card);cursor:pointer;box-shadow:0 2px 0 var(--border);border-radius:999px;padding:.45rem .85rem;font-size:.9rem;font-weight:800;transition:transform .1s,border-color .12s,color .12s,opacity .12s;animation:.4s cubic-bezier(.34,1.56,.64,1) backwards nglPopIn}.ngl-ybti-alc-chip:hover{border-color:var(--ngl-primary);color:var(--ngl-primary);transform:translateY(-1px)}.ngl-ybti-alc-chip.is-skill{border-color:color-mix(in srgb, var(--ngl-brown) 45%, var(--border))}.ngl-ybti-alc-chip.is-dead{opacity:.42;box-shadow:none;border-style:dashed;text-decoration:line-through}.ngl-ybti-alc-chip.is-sel{background:var(--ngl-primary);border-color:var(--ngl-primary-dark);color:#fff;box-shadow:0 2px 0 var(--ngl-primary-dark)}.ngl-ybti-alc-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.ngl-ybti-alc-hooks{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.5rem;display:grid}.ngl-ybti-alc-hook{border:2px solid var(--border);background:var(--bg-card);text-align:left;cursor:pointer;border-radius:12px;padding:.65rem .85rem;font-size:.92rem;font-weight:700;line-height:1.5;transition:transform .1s,border-color .12s}.ngl-ybti-alc-hook:hover{border-color:var(--ngl-primary);transform:translateY(-1px)}.ngl-ybti-alc-hook.is-sel{border-color:var(--ngl-primary);background:color-mix(in srgb, var(--ngl-primary) 9%, var(--bg-card));color:var(--ngl-primary-dark);box-shadow:inset 3px 0 0 var(--ngl-primary)}:root[data-theme=dark] .ngl-ybti-alc-hook.is-sel{color:var(--ngl-primary-light)}.ngl-ybti-alc-final{border:2px solid color-mix(in srgb, var(--ngl-primary) 45%, var(--border));background:color-mix(in srgb, var(--ngl-primary) 7%, var(--bg-card));border-radius:12px;flex-wrap:wrap;align-items:center;gap:.8rem;padding:.8rem 1rem;animation:.45s cubic-bezier(.34,1.56,.64,1) nglPopIn;display:flex}.ngl-ybti-alc-final b{min-width:180px;color:var(--ngl-primary-dark);flex:1;font-size:1.02rem;line-height:1.55}:root[data-theme=dark] .ngl-ybti-alc-final b{color:var(--ngl-primary-light)}.ngl-ybti-alc-final-main{flex-direction:column;flex:1;gap:.3rem;min-width:200px;display:flex}.ngl-ybti-alc-final-main b{flex:none;min-width:0}.ngl-ybti-alc-final-main small{color:var(--text-muted);font-size:.85rem;font-weight:800}.ngl-ybti-moments{flex-wrap:wrap;gap:.45rem;display:flex}.ngl-ybti-moment{border:2px solid var(--border);background:var(--bg-card);cursor:pointer;box-shadow:0 2px 0 var(--border);animation:.4s cubic-bezier(.34,1.56,.64,1) backwards nglPopIn;animation-delay:calc(var(--i,0) * 50ms);border-radius:999px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.92rem;font-weight:800;transition:transform .1s,border-color .12s,color .12s;display:inline-flex}.ngl-ybti-moment>span{background:color-mix(in srgb, var(--ngl-primary) 10%, var(--bg-hover));border-radius:50%;place-items:center;width:30px;height:30px;font-size:1.02rem;display:grid}.ngl-ybti-moment:hover{border-color:var(--ngl-primary);color:var(--ngl-primary);transform:translateY(-1px)}.ngl-ybti-moment.is-sel{background:var(--ngl-primary);border-color:var(--ngl-primary-dark);color:#fff;box-shadow:0 2px 0 var(--ngl-primary-dark)}.ngl-ybti-moment.is-sel>span{background:#ffffff38}.ngl-ybti-moment em{color:var(--ngl-brown);font-size:.76rem;font-style:normal;font-weight:900}.ngl-ybti-moment.is-sel em{color:#ffffffe0}:root[data-theme=dark] .ngl-ybti-moment em{color:var(--ngl-brown-light)}.ngl-ybti-emos{flex-direction:column;gap:.45rem;display:flex}.ngl-ybti-emos small{color:var(--text-muted);font-size:.86rem;font-weight:800}.ngl-ybti-emolist{flex-wrap:wrap;gap:.45rem;display:flex}.ngl-ybti-emo{border:2px solid color-mix(in srgb, var(--ngl-brown) 35%, var(--border));background:var(--bg-card);cursor:pointer;border-radius:999px;padding:.45rem .85rem;font-size:.9rem;font-weight:800;transition:transform .1s,border-color .12s,color .12s}.ngl-ybti-emo:hover{border-color:var(--ngl-brown);color:var(--ngl-brown);transform:translateY(-1px)}:root[data-theme=dark] .ngl-ybti-emo:hover{color:var(--ngl-brown-light)}.ngl-ybti-emo.is-sel{background:var(--ngl-brown);border-color:var(--ngl-brown-dark);color:#fff}.ngl-ybti-plan{border-color:var(--ngl-brown-dark);background:linear-gradient(125deg, var(--ngl-brown-dark), var(--ngl-brown) 45%, var(--ngl-primary-dark));color:#fff;box-shadow:0 4px 0 var(--ngl-brown-dark);background-size:200% 200%;gap:.55rem;padding:1.25rem 1.4rem 1.3rem;animation:10s ease-in-out infinite nglHeroShift;position:relative;overflow:hidden}.ngl-ybti-plan:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#ffffff24 50%,#0000 70%);animation:3.2s ease-in-out 1.1s infinite nglShimmer;position:absolute;inset:0;transform:translate(-100%)}.ngl-ybti-plan:after{content:"";pointer-events:none;border:1.5px dashed #ffffff47;border-radius:12px;position:absolute;inset:8px}.ngl-ybti-plan>*{z-index:1;position:relative}.ngl-ybti-plan-mascot{opacity:.16;filter:grayscale(.2);font-size:6.5rem;line-height:1;animation:4s ease-in-out infinite nglBob;position:absolute;bottom:-.9rem;right:-.35rem;transform:rotate(-12deg);z-index:0!important}.ngl-ybti-plan-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.ngl-ybti-plan-kicker{color:#ffffffd1;letter-spacing:.02em;font-size:.84rem;font-weight:900}.ngl-ybti-plan-type{color:#fff;background:#ffffff2e;border-radius:999px;padding:.22rem .65rem;font-size:.78rem;font-weight:900}.ngl-ybti-plan-title{letter-spacing:-.01em;color:#fff;text-shadow:0 3px #0003;margin:.1rem 0 0;font-size:1.9rem;font-weight:900;line-height:1.2;animation:.65s cubic-bezier(.22,.9,.3,1) .6s backwards nglHeroLand}.ngl-ybti-plan-title.is-empty{color:#ffffff8c;text-shadow:none;font-size:1.35rem}.ngl-ybti-plan-line{color:#fffffff0;margin:0;font-size:1.12rem;line-height:1.6}.ngl-ybti-plan-line b{color:#fff;text-shadow:0 2px #0000002e}.ngl-ybti-plan-line.is-empty{color:#ffffff8c;font-size:.9rem;font-weight:800}.ngl-ybti-plan-formula{border-top:1px solid #ffffff38;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.35rem;padding-top:.7rem;display:flex}.ngl-ybti-plan-formula>em{color:#fff9;font-size:.95rem;font-style:normal;font-weight:900}.ngl-ybti-plan-formula>span{color:#fff;animation:.4s cubic-bezier(.34,1.56,.64,1) backwards nglPopIn;animation-delay:calc(.75s + var(--i,0) * 80ms);background:#ffffff29;border-radius:999px;align-items:center;gap:.3rem;padding:.32rem .7rem .32rem .55rem;font-size:.86rem;font-weight:900;display:inline-flex}.ngl-ybti-plan-formula>span i{font-size:1rem;font-style:normal}.ngl-ybti-plan-formula>span.is-topic{color:var(--ngl-brown);background:#ffffffeb}.ngl-ybti-plan-formula>span.is-empty{color:#ffffffa6;background:0 0;border:1.5px dashed #ffffff73}.ngl-ybti-plan-tags{flex-wrap:wrap;gap:.35rem;display:flex}.ngl-ybti-plan-tags>span{color:#ffffffeb;background:#0000002e;border-radius:8px;align-items:center;gap:.3rem;padding:.24rem .6rem;font-size:.8rem;font-weight:800;display:inline-flex}.ngl-ybti-plan-tags>span i{font-style:normal}.ngl-ybti-plan-tags>span.is-emo{background:#fff3}.ngl-ybti-plan-tags>span.is-empty{color:#fff9;background:0 0;border:1.5px dashed #fff6}.ngl-ybti-locked{opacity:.72}.ngl-ybti-locked-tag{border:1.5px dashed var(--border);color:var(--text-muted);border-radius:999px;align-self:flex-start;padding:.3rem .7rem;font-size:.8rem;font-weight:900}.ngl-tuto-ideas-concept{background:color-mix(in srgb, var(--ngl-primary) 8%, var(--bg-card));color:var(--text-secondary);border-radius:10px;margin:0 0 .2rem;padding:.5rem .8rem;font-size:.92rem}.ngl-tuto-ideas-concept b{color:var(--ngl-primary-dark)}:root[data-theme=dark] .ngl-tuto-ideas-concept b{color:var(--ngl-primary-light)}@media (prefers-reduced-motion:reduce){.ngl-room *,.ngl-path *,.ngl-tuto *,.ngl-splashwrap,.ngl-splashwrap *{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.home-lingo-scroll{flex:1;grid-template-columns:minmax(0,880px);justify-content:center;align-items:start;column-gap:2rem;min-height:0;display:grid;position:relative;overflow:hidden auto}.home-lingo.is-wide .home-lingo-scroll{grid-template-columns:minmax(260px,360px) minmax(600px,1100px) minmax(260px,360px);padding:0 2rem}.home-lingo .ngl-room-landing{max-width:880px;min-height:auto;overflow:visible}.home-lingo.is-wide .ngl-room-landing{max-width:1100px}.home-rail{flex-direction:column;align-self:start;gap:.8rem;width:100%;padding:3.2rem 0 2rem;animation:.5s cubic-bezier(.2,.8,.25,1) .28s backwards nglRiseIn;display:flex;position:sticky;top:0}.home-rail-card{border:2px solid var(--border);background:var(--bg-card);box-shadow:0 3px 0 var(--border);border-radius:18px;padding:.95rem .85rem .75rem}.home-rail-head{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.home-rail-head h3{color:var(--ngl-brown);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.35rem;min-width:0;margin:0;font-size:.98rem;font-weight:900;display:flex;overflow:hidden}:root[data-theme=dark] .home-rail-head h3{color:var(--text-secondary)}.home-rail-more{cursor:pointer;color:var(--ngl-primary);background:0 0;border:0;flex-shrink:0;padding:0;font-size:.8rem;font-weight:800}.home-rail-more:hover{text-decoration:underline}.home-rail-cap{color:var(--text-muted);margin:.25rem 0 .5rem;font-size:.72rem;font-weight:700}.home-rail-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.home-rail-tabs{background:var(--bg-hover);border-radius:999px;gap:3px;margin:.45rem 0 .1rem;padding:3px;display:flex}.home-rail-tab{cursor:pointer;min-width:0;color:var(--text-muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:1 1 0;padding:.24rem .2rem;font-size:.7rem;font-weight:800;transition:background .15s,color .15s,box-shadow .15s}.home-rail-tab:hover{color:var(--text-primary)}.home-rail-tab.is-active{background:var(--bg-card);color:var(--ngl-primary-dark);box-shadow:0 1px 0 var(--border)}:root[data-theme=dark] .home-rail-tab.is-active{color:var(--ngl-primary-light)}.home-rail-empty{text-align:center;color:var(--text-secondary);padding:1rem .375rem;font-size:.8rem;font-weight:700;list-style:none}.home-rail-item{cursor:pointer;min-width:0;animation:.4s cubic-bezier(.2,.8,.25,1) backwards nglRiseIn;animation-delay:min(calc(var(--i,0) * 40ms), .4s);border-radius:10px;align-items:center;gap:.42rem;padding:.32rem .3rem;transition:background .12s;display:flex}.home-rail-item:hover{background:var(--bg-hover)}.home-rail-no{text-align:center;width:1.1rem;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.78rem;font-weight:900}.home-rail-item.is-top .home-rail-no{color:var(--ngl-primary);font-size:.88rem}.home-rail-thumb{object-fit:cover;background:var(--bg-hover);border-radius:6px;flex-shrink:0;width:62px;height:35px}.home-rail-meta{flex:auto;min-width:0}.home-rail-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;font-weight:700;line-height:1.3;overflow:hidden}.home-rail-sub{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;font-weight:600;overflow:hidden}.home-rail-views{flex-direction:column;flex:none;align-items:flex-end;gap:2px;line-height:1.1;display:flex}.home-rail-view-no{--hot-a:var(--accent);--hot-b:var(--accent-2);white-space:nowrap;background:linear-gradient(135deg, var(--hot-a), var(--hot-b));color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.02em;box-shadow:0 2px 0 var(--ngl-primary-dark);text-shadow:0 1px #00000024;border-radius:999px;padding:.2rem .52rem;font-size:.84rem;font-weight:900;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-block;position:relative;overflow:hidden}.home-rail-item:hover .home-rail-view-no{filter:brightness(1.07)}.home-rail-item:active .home-rail-view-no{box-shadow:0 0 0 var(--ngl-primary-dark);transform:translateY(2px)}.home-rail-item.is-top .home-rail-view-no{padding:.24rem .62rem;font-size:.94rem}.home-rail-item.is-top .home-rail-view-no:after{content:"";pointer-events:none;animation:3.4s ease-in-out infinite homeRailShine;animation-delay:calc(var(--i,0) * .35s);background:linear-gradient(105deg,#0000 35%,#ffffff80 50%,#0000 65%);position:absolute;inset:0;transform:translate(-130%)}@keyframes homeRailShine{0%,62%{transform:translate(-130%)}to{transform:translate(130%)}}.home-rail-skel{pointer-events:none;animation:none}.home-rail-skel:hover{background:0 0}.home-rail-skel .home-rail-no{opacity:.35}.home-rail-skel-pill{border-radius:999px;flex-shrink:0;width:3.3rem;height:1.25rem}.home-rail-fb{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:.5rem;padding:.32rem .3rem;transition:background .12s;display:flex}.home-rail-fb:hover{background:var(--bg-hover)}.home-rail-fbthumb{background:#000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:54px;display:flex;position:relative;overflow:hidden}.home-rail-fbthumb img,.home-rail-fbthumb video{object-fit:cover;width:100%;height:100%}.home-rail-fbthumb .fh-noico{opacity:.6;font-size:1.2rem}.home-rail-fbbody{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.home-rail-fbtitle{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.home-rail-fbmeta{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:600;overflow:hidden}.home-rail-cta{cursor:pointer;border:2px dashed color-mix(in srgb, var(--ngl-primary) 45%, var(--border));background:color-mix(in srgb, var(--ngl-primary) 8%, var(--bg-card));width:100%;color:var(--ngl-primary-dark);border-radius:12px;margin-top:.5rem;padding:.5rem;font-size:.78rem;font-weight:800}.home-rail-cta:hover{background:color-mix(in srgb, var(--ngl-primary) 14%, var(--bg-card))}:root[data-theme=dark] .home-rail-cta{color:var(--ngl-primary-light)}.ngl-room-tuto.is-hot{animation:3.2s ease-in-out infinite nglTutoHotFloat,2.4s ease-out infinite nglTutoHotRing;position:relative;overflow:hidden}.ngl-room-tuto.is-hot:before{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 32%,#ffffff4d 50%,#0000 68%);animation:3.6s ease-in-out infinite nglShimmer;position:absolute;inset:0}.ngl-room-tuto.is-hot .ngl-room-tuto-icon{animation:3.6s ease-in-out infinite nglTutoHotIcon;display:inline-block}.ngl-room-tuto-hint{text-overflow:ellipsis;min-width:0;color:var(--ngl-primary-dark);white-space:nowrap;background:#fff;border-radius:999px;flex:0 auto;padding:.22rem .62rem;font-size:.74rem;font-weight:900;animation:1.4s ease-in-out infinite nglBob;overflow:hidden;box-shadow:0 2px #00000029}@keyframes nglTutoHotFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes nglTutoHotRing{0%{box-shadow:0 4px 0 var(--ngl-brown), 0 0 0 0 color-mix(in srgb, var(--ngl-primary) 55%, transparent)}70%,to{box-shadow:0 4px 0 var(--ngl-brown), 0 0 0 14px transparent}}@keyframes nglTutoHotIcon{0%,78%,to{transform:rotate(0)scale(1)}84%{transform:rotate(-8deg)scale(1.14)}90%{transform:rotate(6deg)scale(1.08)}96%{transform:rotate(-3deg)scale(1.02)}}.ngl-lvpath{--amp:clamp(88px, 17cqi, 150px);--node:88px;flex-direction:column;gap:1.6rem;padding:2.4rem 0 .6rem;display:flex;position:relative;container-type:inline-size}.ngl-lvpath-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ngl-lvpath-svg path{fill:none;stroke:color-mix(in srgb, var(--ngl-brown) 42%, transparent);stroke-width:5px;stroke-linecap:round;stroke-dasharray:.5 13;animation:1.4s linear infinite nglLvFlow}:root[data-theme=dark] .ngl-lvpath-svg path{stroke:color-mix(in srgb, var(--ngl-primary) 55%, transparent)}@keyframes nglLvFlow{to{stroke-dashoffset:-13.5px}}.home-lingo.is-wide .ngl-lvpath{--node:100px}.ngl-lvpath-item{grid-template-columns:1fr var(--node) 1fr;align-items:center;column-gap:1.1rem;display:grid;position:relative}.ngl-lvpath-nodewrap{transform:translateX(calc(var(--off,0) * var(--amp)));grid-column:2;justify-content:center;display:flex;position:relative}.ngl-lvpath-node{width:var(--node);height:var(--node);cursor:pointer;color:#fff;background:linear-gradient(160deg, var(--ngl-primary-light), var(--ngl-primary));box-shadow:0 6px 0 var(--ngl-brown), inset 0 -3px 6px #0000001f;animation:.45s cubic-bezier(.34,1.56,.64,1) backwards nglPopIn;animation-delay:min(calc(.15s + var(--i,0) * 80ms), .9s);border:4px solid #fff;border-radius:50%;padding:0;transition:transform 80ms,box-shadow 80ms,filter .15s;position:relative}.ngl-lvpath-node:hover:not(:disabled){filter:brightness(1.06)}.ngl-lvpath-node:active:not(:disabled){box-shadow:0 2px 0 var(--ngl-brown), inset 0 -3px 6px #0000001f;transform:translateY(4px)}.ngl-lvpath-node:disabled{cursor:default;opacity:.75}.ngl-lvpath-node.is-paid{background:linear-gradient(160deg, var(--ngl-brown-light), var(--ngl-brown));box-shadow:0 6px 0 var(--ngl-brown-dark), inset 0 -3px 6px #0000001f}.ngl-lvpath-thumb{font-size:calc(var(--node) * .4);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.ngl-lvpath-thumb img{object-fit:cover;width:100%;height:100%}.ngl-lvpath-thumb i{filter:drop-shadow(0 2px #0000002e);font-style:normal;line-height:1}.ngl-lvpath-node.is-paid .ngl-lvpath-thumb img{filter:saturate(.6)brightness(.8)}.ngl-lvpath-lock{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;font-style:normal;display:flex;position:absolute;bottom:-4px;right:-4px;box-shadow:0 2px #00000029}.ngl-lvpath-bubble{z-index:1;white-space:nowrap;width:max-content;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.ngl-lvpath-label{min-width:0;transform:translateX(calc(var(--off,0) * var(--amp)));animation:.5s backwards nglFadeIn;animation-delay:min(calc(.3s + var(--i,0) * 80ms), 1s);flex-direction:column;grid-column:3;align-items:flex-start;gap:.3rem;display:flex}.ngl-lvpath-item[data-side=left] .ngl-lvpath-label{text-align:right;grid-column:1;align-items:flex-end}.ngl-lvpath-item[data-side=left] .ngl-lvpath-label .ngl-room-card-start{align-self:flex-end}.ngl-lvpath-label b{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:1.02rem;font-weight:800;line-height:1.3;display:-webkit-box;overflow:hidden}.ngl-lvpath-label small{color:var(--text-muted);font-size:.84rem;font-weight:600}@media (width<=720px){.ngl-lvpath{--amp:44px;gap:1.2rem}.ngl-lvpath-item{grid-template-columns:1fr;justify-items:center;row-gap:.45rem}.ngl-lvpath-nodewrap,.ngl-lvpath-label,.ngl-lvpath-item[data-side=left] .ngl-lvpath-label{grid-column:1}.ngl-lvpath-label,.ngl-lvpath-item[data-side=left] .ngl-lvpath-label{text-align:center;align-items:center;max-width:250px;transform:none}.ngl-lvpath-label .ngl-room-card-start,.ngl-lvpath-item[data-side=left] .ngl-lvpath-label .ngl-room-card-start{align-self:center}}.ngl-ybti-bp-formula{background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--ngl-primary) 16%, transparent), transparent 42%), radial-gradient(circle at 92% 100%, color-mix(in srgb, var(--ngl-brown) 14%, transparent), transparent 40%), color-mix(in srgb, var(--ngl-primary) 5%, var(--bg-card));border:2px dashed color-mix(in srgb, var(--ngl-primary) 38%, var(--border));border-radius:16px;flex-wrap:wrap;align-items:stretch;gap:.45rem;margin:.2rem 0 .9rem;padding:.8rem .9rem;display:flex}.ngl-ybti-bp-formula>em{color:color-mix(in srgb, var(--ngl-primary) 70%, var(--text-muted));align-self:center;font-size:1.15rem;font-style:normal;font-weight:900;animation:.4s .55s backwards nglFadeIn}.ngl-ybti-bp-chip{border:2px solid var(--border);background:var(--bg-card);cursor:pointer;text-align:center;min-width:96px;box-shadow:0 3px 0 var(--border);animation:.42s cubic-bezier(.2,.9,.3,1.3) backwards nglPopIn;animation-delay:calc(.3s + var(--i,0) * 90ms);border-radius:14px;flex-direction:column;align-items:center;gap:.08rem;padding:.55rem .8rem .5rem;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex}.ngl-ybti-bp-chip:hover{border-color:var(--ngl-primary);transform:translateY(-2px)}.ngl-ybti-bp-chip.is-open{border-color:var(--ngl-primary);box-shadow:0 3px 0 var(--ngl-primary-dark);background:color-mix(in srgb, var(--ngl-primary) 9%, var(--bg-card))}.ngl-ybti-bp-chip i{font-size:1.35rem;font-style:normal;line-height:1.2}.ngl-ybti-bp-chip b{color:var(--ngl-primary-dark);font-size:.98rem;font-weight:900;line-height:1.25}:root[data-theme=dark] .ngl-ybti-bp-chip b{color:var(--ngl-primary-light)}.ngl-ybti-bp-chip small{color:var(--text-muted);letter-spacing:.02em;font-size:.72rem;font-weight:800}.ngl-ybti-bp-chip.is-topic{border-color:color-mix(in srgb, var(--ngl-brown) 55%, var(--border));box-shadow:0 3px 0 color-mix(in srgb, var(--ngl-brown) 55%, var(--border))}.ngl-ybti-bp-chip.is-topic b{color:var(--ngl-brown)}:root[data-theme=dark] .ngl-ybti-bp-chip.is-topic b{color:var(--ngl-brown-light)}.ngl-ybti-bp-chip.is-topic.is-open{background:color-mix(in srgb, var(--ngl-brown) 10%, var(--bg-card));border-color:var(--ngl-brown)}.ngl-ybti-bp-chip.is-empty{border-style:dashed;animation:.42s cubic-bezier(.2,.9,.3,1.3) backwards nglPopIn,1.6s 1.2s infinite nglCtaPulse}.ngl-ybti-bp-chip.is-empty b{color:var(--text-muted)}.ngl-ybti-bp-rank{background:color-mix(in srgb, var(--ngl-brown) 12%, transparent);color:var(--ngl-brown);border-radius:999px;align-items:center;padding:.14rem .55rem;font-size:.74rem;font-weight:900;display:inline-flex}:root[data-theme=dark] .ngl-ybti-bp-rank{color:var(--ngl-brown-light)}.ngl-ybti-bp-rank.is-top{color:#1f8a4f;background:#22a05c24}.ngl-ybti-bp-rank.is-empty{background:color-mix(in srgb, var(--text-muted) 14%, transparent);color:var(--text-muted)}.ngl-ybti-bp-card.is-topic{border-color:color-mix(in srgb, var(--ngl-brown) 40%, var(--border))}.ngl-ybti-bp-card.is-topic .ngl-ybti-bp-head b{color:var(--ngl-brown)}:root[data-theme=dark] .ngl-ybti-bp-card.is-topic .ngl-ybti-bp-head b{color:var(--ngl-brown-light)}.ngl-ybti-bp-card.is-topic.is-open{border-color:var(--ngl-brown)}.ngl-ybti-bp-card.is-topic .ngl-ybti-bp-body{background:color-mix(in srgb, var(--ngl-brown) 5%, var(--bg-card))}.ngl-ybti-bp-alt-no{background:color-mix(in srgb, var(--ngl-primary) 14%, transparent);width:1.15rem;height:1.15rem;color:var(--ngl-primary-dark);border-radius:50%;place-items:center;margin-right:.35rem;font-size:.7rem;font-weight:900;display:inline-grid}.ngl-ybti-bp-alt.is-sel .ngl-ybti-bp-alt-no{color:#fff;background:#ffffff42}:root[data-theme=dark] .ngl-ybti-bp-alt-no{color:var(--ngl-primary-light)}.ngl-ybti-alc-mixline{color:var(--ngl-primary-dark);margin:0 0 .5rem;font-size:1.02rem;font-weight:900}:root[data-theme=dark] .ngl-ybti-alc-mixline{color:var(--ngl-primary-light)}.ngl-ybti-alc-mixline b{color:var(--ngl-brown)}:root[data-theme=dark] .ngl-ybti-alc-mixline b{color:var(--ngl-brown-light)}.ngl-room-work .workspace-empty-mascot{object-fit:contain;width:120px;height:120px}.ngl-room-hero{position:relative;overflow:hidden}.ngl-room-hero-art{object-fit:cover;opacity:.26;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ngl-room-hero>:not(.ngl-room-hero-art){z-index:1;position:relative}img.ngl-ybti-hero-mascot{object-fit:contain;width:96px;height:96px}.ngl-ybti-hero-type{object-fit:contain;filter:drop-shadow(0 4px #0000001f);width:132px;height:132px;margin:.2rem 0 .1rem;animation:.5s cubic-bezier(.34,1.56,.64,1) backwards nglPopIn}.ngl-ybti-moment-art{object-fit:contain;width:22px;height:22px}.ngl-room-tuto-node img,.ngl-tuto-hnode img,.ngl-tuto-node img{object-fit:contain;width:72%;height:72%;margin:auto;display:block}img.ngl-tuto-finish-emoji{width:220px;max-width:80%;height:auto}.ngl-tuto-finish-badge-ico{object-fit:contain;vertical-align:-4px;width:20px;height:20px}.ngl-tuto-tip-ico{object-fit:contain;vertical-align:-6px;width:24px;height:24px}.ngl-tuto-drop-ico{object-fit:contain;vertical-align:middle;width:40px;height:40px;margin-right:.3rem}.ngl-ybti-bp-art{object-fit:contain;vertical-align:middle;width:26px;height:26px}.ngl-ybti-hero-figure{flex:auto;align-self:stretch;min-height:230px;margin:.2rem 0 0;position:relative}.ngl-ybti-hero-glow{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#ffffff57,#fff0 68%);border-radius:50%;width:62%;max-height:100%;position:absolute;bottom:0;left:6%}.ngl-ybti-hero-figure .ngl-ybti-hero-mascot{filter:drop-shadow(0 6px #00000038);width:100%;height:100%;margin:0;animation:2.6s ease-in-out infinite nglBob;position:absolute;inset:0}.ngl-ybti-hero-figure .ngl-ybti-hero-mascot .mascot-img{object-position:left bottom}.ngl-ybti-hero-figure .ngl-ybti-hero-type{width:44%;max-width:176px;height:44%;max-height:176px;margin:0;position:absolute;bottom:4%;right:2%}img.ngl-ybti-intro-mascot{object-fit:contain;padding:.35rem}.ngl-ybti-plan-mascot{object-fit:contain;opacity:.34;filter:none;width:150px;height:150px;bottom:-.5rem;right:.3rem}.ngl-ybti-bp-head{flex-direction:row;align-items:center;gap:.75rem}.ngl-ybti-bp-head-tile{background:color-mix(in srgb, var(--ngl-primary) 9%, var(--bg-hover));border-radius:15px;flex:none;place-items:center;width:58px;height:58px;font-size:1.75rem;font-style:normal;line-height:1;display:grid;overflow:hidden}.ngl-ybti-bp-head-tile.is-topic,.ngl-ybti-bp-card.is-topic .ngl-ybti-bp-head-tile{background:color-mix(in srgb, var(--ngl-brown) 12%, var(--bg-hover))}.ngl-ybti-bp-head-art{object-fit:contain;text-align:center;width:100%;height:100%;font-size:1.75rem;line-height:58px;transform:scale(1.55)}span.ngl-ybti-bp-head-art{transform:none}.ngl-ybti-bp-head-text{flex-direction:column;flex:auto;align-items:flex-start;gap:.25rem;min-width:0;display:flex}.ngl-ybti-bp-head-text b{line-height:1.25}.ngl-ybti-bp-head>i{align-self:center}.ngl-ybti-bp-chip{justify-content:center}.ngl-ybti-moment>span{width:38px;height:38px;overflow:hidden}img.ngl-ybti-moment-art{width:100%;height:100%;transform:scale(1.6)}.ngl-ybti-plan-formula>span i,.ngl-ybti-plan-tags>span i{justify-content:center;align-items:center;display:inline-flex}.ngl-ybti-plan-formula .ngl-ybti-bp-art{width:30px;height:30px;margin:-.2rem 0;transform:scale(1.6)}.ngl-ybti-plan-tags .ngl-ybti-moment-art{width:24px;height:24px;margin:-.15rem 0}.ngl-ybti-plan-tags img.ngl-ybti-moment-art{transform:scale(1.6)}@media (width<=720px){.ngl-ybti-hero-figure{min-height:132px;max-height:176px}.ngl-ybti-hero-figure .ngl-ybti-hero-type{max-width:96px;max-height:96px}.ngl-tuto-step{padding:.9rem 1rem calc(1.6rem + var(--mobile-nav-h,0px))}.ngl-ybti-intro{gap:.6rem;padding:1.2rem 1rem 1.3rem}.ngl-ybti-intro>p{display:none}.ngl-ybti-intro h3{font-size:1.2rem}.ngl-ybti-intro-art{width:82px;height:82px}.ngl-ybti-intro-mascot{width:66px;height:66px;font-size:2rem}.ngl-ybti-intro-chips span{padding:.28rem .62rem;font-size:.76rem}.ngl-ybti-hero{gap:.8rem;padding:1rem}.ngl-ybti-hero-name{font-size:1.45rem}.ngl-tuto-hskip,.ngl-ybti-deepdock-close{min-width:44px}.ngl-room-bar .ngl-room-back,.ngl-tuto-hskip,.ngl-tuto-btn,.ngl-ybti-opts button,.ngl-ybti-alc-chip,.ngl-ybti-name,.ngl-ybti-topic,.ngl-ybti-moment,.ngl-ybti-emo,.ngl-ybti-alc-hook,.ngl-ybti-biz-tab,.ngl-ybti-bar-btn,.ngl-ybti-deepdock-close{min-height:44px}.ngl-ybti-biz-tab,.ngl-ybti-deepdock-close{justify-content:center;align-items:center;display:inline-flex}.ngl-note-icon{width:44px;height:44px;font-size:1rem}.ngl-ybti-back,.ngl-ybti-wiz-head .ngl-ybti-wiz-exit{align-items:center;min-height:44px;display:inline-flex}.ngl-ybti-wiz-edits{gap:.35rem .9rem}.ngl-ybti-intro .ngl-ybti-cta,.ngl-ybti-quiz .ngl-ybti-cta{text-align:center;align-self:stretch}}@media (width<=1024px) and (height<=480px){.ngl-ybti-intro{text-align:left;flex-flow:wrap;align-items:center;gap:.5rem .9rem;padding:.9rem 1rem}.ngl-ybti-intro-art{width:64px;height:64px}.ngl-ybti-intro-mascot{width:52px;height:52px;font-size:1.6rem}.ngl-ybti-intro h3{flex:160px;font-size:1.1rem}.ngl-ybti-intro-kicker{order:-1}.ngl-ybti-intro-chips{flex:100%;justify-content:flex-start}.ngl-ybti-cta{margin-left:auto}}.mascot.ngl-room-mascot--hero{width:160px;height:160px}.ngl-room--page .mascot.ngl-room-mascot--hero{width:120px;height:120px}.mascot.ngl-empty-art{width:116px;height:116px}.ngl-ovl-bubble-face{vertical-align:middle;width:22px;height:22px}.ngl-splash:before{content:"";opacity:.09;background:url(/art/mascot/neogul-silhouette.png) 50%/22vmax no-repeat;border-radius:50%;animation:.9s ease-out both nglSplashMark;position:absolute;inset:0}@keyframes nglSplashMark{0%{opacity:0;transform:scale(.6)}40%{opacity:.09}to{opacity:0;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.ngl-splash:before{display:none}}@media (width<=720px){.mascot.ngl-room-mascot--hero,.ngl-room--page .mascot.ngl-room-mascot--hero{width:96px;height:96px}}.ngl-tuto-hmascot{vertical-align:-6px;width:24px;height:24px}.ngl-tuto-finish-mascot{width:140px;height:140px;margin:-1.2rem auto .2rem;display:block}.ngl-ybti-wiz-head{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.55rem;display:flex}.ngl-ybti-wiz-q{color:var(--text-primary);margin:0 0 .2rem;font-size:1.08rem;font-weight:800;line-height:1.6}.ngl-ybti-wiz-q b{color:var(--ngl-primary-dark);font-weight:900}:root[data-theme=dark] .ngl-ybti-wiz-q b{color:var(--ngl-primary-light)}.ngl-ybti-wiz .ngl-ybti-bp-formula{margin-top:.3rem}.ngl-ybti-wiz .ngl-ybti-bp-chip small.is-top{color:#1f8a4f}.ngl-ybti-bp-pick{background:color-mix(in srgb, var(--ngl-primary) 5%, var(--bg-card));border:1.5px solid color-mix(in srgb, var(--ngl-primary) 25%, var(--border));border-radius:14px;flex-direction:column;gap:.7rem;padding:.85rem .95rem;display:flex}.ngl-ybti-bp-pick-body{align-items:flex-start;gap:.8rem;display:flex}.ngl-ybti-bp-pick-body>div{flex:1;min-width:0}.ngl-ybti-bp-pick-body .ngl-ybti-bp-good{margin:0 0 .35rem}.ngl-ybti-bp-pick-body .ngl-ybti-bp-watch{margin:0}.ngl-ybti-bp-alt{align-items:center;gap:.25rem;display:inline-flex}.ngl-ybti-bp-alt-art{object-fit:contain;width:26px;height:26px;margin:-.2rem .1rem -.2rem 0;transform:scale(1.5)}.ngl-ybti-topic-top{color:#1f8a4f;vertical-align:2px;background:#22a05c24;border-radius:999px;margin-right:.4rem;padding:.1rem .5rem;font-size:.72rem;font-style:normal;font-weight:900;display:inline-block}.ngl-ybti-plan-tags>span.is-mix{background:#ffffff24}.ngl-ybti-wiz-edits{flex-wrap:wrap;gap:.35rem 1rem;padding:.1rem .2rem;display:flex}.ngl-ybti-wiz-edits .ngl-ybti-back{font-size:.82rem}.ngl-ybti-wiz .ngl-ybti-plan{margin:0}.ngl-tuto-step>.ngl-ybti-result.is-focus{flex:1 0 auto;justify-content:center}.ngl-ybti-result.is-focus>:not(.ngl-ybti-wiz){display:none}.ngl-ybti-result.is-focus>.ngl-ybti-wiz{width:100%;max-width:820px;margin:0 auto;animation:.45s cubic-bezier(.34,1.56,.64,1) .3s backwards nglPopIn}.ngl-ybti-wiz-exit{min-height:32px;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:.375rem .55rem;font-size:.84rem;font-weight:800}.ngl-ybti-wiz-exit:hover{color:var(--ngl-primary-dark);background:var(--bg-hover)}:root[data-theme=dark] .ngl-ybti-wiz-exit:hover{color:var(--ngl-primary-light)}.ngl-ybti-grow{--ngl-primary:var(--accent);--ngl-primary-dark:color-mix(in srgb, var(--accent) 72%, #000);--ngl-primary-light:color-mix(in srgb, var(--accent) 82%, #fff);z-index:1400;pointer-events:none;left:var(--gx);top:var(--gy);width:var(--gw);height:var(--gh);background:linear-gradient(120deg, var(--ngl-primary), var(--ngl-primary-dark));color:#fff;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;font-size:.95rem;font-weight:800;display:flex;position:fixed;overflow:hidden}.ngl-ybti-grow:after{content:"";opacity:0;background:radial-gradient(circle at 18% 28%,#ffffff29 0 7%,#0000 8%),radial-gradient(circle at 76% 22%,#ffffff1a 0 10%,#0000 11%),radial-gradient(circle at 62% 72%,#ffffff1f 0 9%,#0000 10%),radial-gradient(circle at 30% 78%,#4930211f 0 6%,#0000 7%),radial-gradient(circle at 88% 60%,#4930211a 0 8%,#0000 9%);animation:.45s .18s forwards nglGrowPattern;position:absolute;inset:0}.ngl-ybti-grow.is-in{animation:.54s cubic-bezier(.5,0,.15,1) forwards nglGrowIn}.ngl-ybti-grow.is-in>span{animation:.5s forwards nglGrowLabel}.ngl-ybti-grow.is-out{left:var(--tx);top:var(--ty);width:var(--tw);height:var(--th);border-radius:0;animation:.42s forwards nglGrowOut}.ngl-ybti-grow.is-out>span{opacity:0}.ngl-ybti-grow.is-out:after{opacity:1;animation:none}@keyframes nglGrowIn{to{left:var(--tx);top:var(--ty);width:var(--tw);height:var(--th);border-radius:0}}@keyframes nglGrowLabel{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}@keyframes nglGrowPattern{to{opacity:1}}@keyframes nglGrowOut{to{opacity:0}}@media (prefers-reduced-motion:reduce){.ngl-ybti-grow{display:none}}.ngl-ybti-gate{flex-direction:column;display:flex;position:relative}.ngl-tuto-step>.ngl-ybti-gate:has(>.ngl-ybti-result.is-focus){flex:1 0 auto}.ngl-ybti-gate.is-locked>.ngl-ybti-result{filter:blur(10px)saturate(.8);opacity:.7;pointer-events:none;-webkit-user-select:none;user-select:none;max-height:120vh;overflow:hidden}.ngl-ybti-gate:not(.is-locked)>.ngl-ybti-result{animation:.7s both nglGateReveal}@keyframes nglGateReveal{0%{filter:blur(10px);opacity:.7}to{filter:blur();opacity:1}}.ngl-ybti-lock{z-index:5;justify-content:center;align-items:flex-start;padding:7vh 1rem 2rem;display:flex;position:absolute;inset:0}.ngl-ybti-lock-card{text-align:center;border-color:color-mix(in srgb, var(--ngl-primary) 45%, var(--border));width:100%;max-width:480px;box-shadow:0 18px 44px #4930212e, 0 3px 0 var(--border);align-items:center;padding:0 1.6rem 1.5rem;position:sticky;top:7vh}.mascot.ngl-ybti-lock-mascot{width:128px;height:128px;margin:-2.6rem auto -.4rem}.ngl-ybti-lock-card h3{font-size:1.22rem;line-height:1.45}.ngl-ybti-lock-card p{color:var(--text-muted);margin:0;font-size:.94rem;line-height:1.65}.ngl-ybti-lock-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.5rem;display:flex}.ngl-ybti-lock-actions .ngl-tuto-btn{align-self:auto}@media (width<=720px){.ngl-ybti-lock{padding-top:4vh}.ngl-ybti-lock-card{top:4vh}.mascot.ngl-ybti-lock-mascot{width:104px;height:104px}}.home-rail{gap:1rem}.home-rail-card{border-radius:22px;padding:1rem .75rem .875rem}.home-rail-head h3{gap:.5rem;font-size:1.125rem}.home-rail-tabs{margin:.5rem 0;padding:4px;display:flex}.home-rail-tab{flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:.375rem .25rem;line-height:1.15;display:flex}.home-rail-tab b{font-size:.8rem;font-weight:900}.home-rail-tab i{opacity:.85;font-size:.72rem;font-style:normal;font-weight:800}.home-rail-tab.is-active i{opacity:1}.home-rail-tab:focus-visible,.home-rail-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-rail-list{gap:2px}.home-rail-skel-head{width:58%;height:.9rem;margin:.125rem 0}.home-rail-skel-tabs{border-radius:999px;width:100%;height:2.5rem;display:block}.home-rail-li{margin:0;padding:0;list-style:none}button.home-rail-item{width:100%;font:inherit;color:inherit;text-align:left;background:0 0;border:0}.home-rail-item{border-radius:12px;gap:.5rem;padding:.5rem .375rem}.home-rail-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-rail-no{width:1.25rem;color:var(--text-secondary);font-size:.9rem}.home-rail-item.is-top .home-rail-no{font-size:1.05rem}.home-rail-thumb{border-radius:8px;width:64px;height:36px}.home-rail-title{font-size:.875rem;font-weight:800}.home-rail-view-up,.home-rail-view-unit,.home-rail-view-new,.home-rail-views{display:none}.home-rail-item>.home-rail-view-no{flex:none;margin-left:auto;padding:.375rem .625rem;font-size:1rem}.home-rail-item.is-top>.home-rail-view-no{padding:.375rem .625rem;font-size:1.125rem}.home-rail-item.is-top:not(.is-first) .home-rail-view-no:after{content:none;animation:none}.home-rail-skel-pill{width:4.5rem;height:1.75rem}.home-rail-skel .home-rail-thumb{width:64px;height:36px}.home-rail-fb{border-radius:12px;gap:.625rem;padding:.5rem .375rem}.home-rail-fb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-rail-fbthumb{background:var(--ngl-brown-dark);border-radius:10px;width:116px;height:65px}.home-rail-fbthumb video.home-rail-fbpreview{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.home-rail-fbtitle{font-size:.875rem;font-weight:800}.home-rail-cta{border-radius:14px;margin-top:.75rem;padding:.625rem;font-size:.875rem;font-weight:800}.home-rail-cta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-acorn{border:2px solid var(--border);background:var(--bg-card);width:100%;color:inherit;box-shadow:0 3px 0 var(--border);cursor:pointer;text-align:left;font:inherit;border-radius:18px;align-items:center;gap:.75rem;padding:.75rem .875rem;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex}.home-acorn:hover{border-color:var(--ngl-primary);box-shadow:0 5px 0 color-mix(in srgb, var(--ngl-primary) 46%, transparent);transform:translateY(-2px)}.home-acorn:active{box-shadow:0 1px 0 var(--border);transform:translateY(2px)}.home-acorn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mascot.home-acorn-mascot{width:56px;height:56px}.home-acorn-body{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.home-acorn-no{font-variant-numeric:tabular-nums;color:var(--text-primary);align-items:center;gap:.375rem;font-size:1.25rem;font-weight:800;display:flex}.home-acorn-no img{object-fit:contain;width:26px;height:26px}.home-acorn-sub{color:var(--text-secondary);font-size:.78rem;font-weight:600}.home-shorts{margin:-.375rem 0 0;position:relative}.home-shorts-strip{scroll-snap-type:x proximity;scrollbar-width:none;gap:.75rem;padding:.375rem .25rem .625rem;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.home-shorts-strip::-webkit-scrollbar{display:none}.home-short{border:2px solid var(--border);background:var(--ngl-brown-dark);cursor:pointer;width:136px;height:242px;box-shadow:0 3px 0 var(--border);scroll-snap-align:start;animation:.4s cubic-bezier(.2,.8,.25,1) backwards nglRiseIn;animation-delay:min(calc(.1s + var(--i,0) * 50ms), .6s);border-radius:18px;flex:0 0 136px;padding:0;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s,border-color .18s;position:relative;overflow:hidden}.home-short:hover,.home-short.is-playing{border-color:var(--ngl-primary);box-shadow:0 6px 0 var(--ngl-primary-dark), 0 10px 24px color-mix(in srgb, var(--ngl-primary) 30%, transparent);z-index:2;transform:translateY(-4px)scale(1.04)}.home-short:focus-visible{outline:2px solid var(--accent);outline-offset:2px;z-index:2}.home-short-thumb{object-fit:cover;width:100%;height:100%;display:block}.home-short-player{pointer-events:none;border:0;width:100%;height:100%;animation:.45s ease-out both homeShortFade;position:absolute;inset:0}@keyframes homeShortFade{0%{opacity:0}to{opacity:1}}.home-short-views{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;box-shadow:0 2px 0 var(--ngl-primary-dark);text-shadow:0 1px #0000002e;border-radius:999px;padding:.375rem .5rem;font-size:.9rem;font-weight:900;position:absolute;bottom:8px;left:8px;right:8px}.home-short--skel{box-shadow:none;border-color:#0000;animation:none}.home-shorts-arrow{z-index:3;border:2px solid var(--border);background:var(--bg-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;box-shadow:0 3px 0 var(--border);opacity:0;border-radius:50%;margin-top:-18px;padding:0 0 2px;font-size:1.3rem;font-weight:900;line-height:1;transition:opacity .15s,transform .1s;position:absolute;top:50%}.home-shorts:hover .home-shorts-arrow,.home-shorts-arrow:focus-visible{opacity:1}.home-shorts-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-shorts-arrow:active{box-shadow:0 1px 0 var(--border);transform:translateY(2px)}.home-shorts-arrow--l{left:-14px}.home-shorts-arrow--r{right:-14px}@media (hover:none){.home-shorts-arrow{display:none}}.home-top{margin:.25rem 0 0}.home-top-head{justify-content:space-between;align-items:center;gap:.5rem;margin:0 0 .5rem;display:flex}.home-top-head h2{color:var(--text-secondary);align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:900;display:flex}.home-top-strip{scroll-snap-type:x proximity;scrollbar-width:none;gap:.75rem;padding:.25rem .25rem .625rem;display:flex;overflow-x:auto}.home-top-strip::-webkit-scrollbar{display:none}.home-top-card{text-align:left;border:2px solid var(--border);background:var(--bg-card);width:216px;color:inherit;cursor:pointer;box-shadow:0 3px 0 var(--border);scroll-snap-align:start;font:inherit;border-radius:16px;flex:0 0 216px;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s;position:relative;overflow:hidden}.home-top-card:hover{border-color:var(--ngl-primary);box-shadow:0 5px 0 color-mix(in srgb, var(--ngl-primary) 46%, transparent);transform:translateY(-2px)}.home-top-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-top-thumb{aspect-ratio:16/9;object-fit:cover;background:var(--bg-hover);width:100%;display:block}.home-top-no{background:var(--bg-card);min-width:1.75rem;height:1.75rem;color:var(--ngl-primary);box-shadow:0 2px 0 var(--border);border-radius:999px;justify-content:center;align-items:center;padding:0 .5rem;font-size:.875rem;font-style:normal;font-weight:900;display:flex;position:absolute;top:8px;left:8px}.home-top-body{align-items:center;gap:.5rem;padding:.5rem .625rem .625rem;display:flex}.home-top-title{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:.875rem;font-weight:800;line-height:1.3;overflow:hidden}.home-top-views{white-space:nowrap;background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.02em;box-shadow:0 2px 0 var(--ngl-primary-dark);border-radius:999px;flex:none;padding:.25rem .625rem;font-size:.9rem;font-weight:900}.home-top-card--skel{height:168px;box-shadow:none;border-color:#0000}.home-lingo .ngl-room-hero{min-height:220px}.home-hero-mascot{flex:none;display:inline-block;position:relative}.home-hero-mascot .mascot--react{cursor:pointer}.home-hero-body{flex-direction:column;flex:1;align-self:stretch;min-width:0;display:flex;position:relative}.home-hero-body h1{z-index:2;position:relative}.home-streak{z-index:2;background:var(--bg-card);color:var(--ngl-primary-dark);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:.25rem;padding:.25rem .625rem .25rem .375rem;font-size:.875rem;font-weight:800;animation:.6s cubic-bezier(.34,1.56,.64,1) .5s backwards homeStreakPop;display:flex;position:absolute;bottom:0;right:-10px;box-shadow:0 2px #0000002e}.home-streak img{object-fit:contain;width:28px;height:28px}:root[data-theme=dark] .home-streak{color:var(--ngl-primary-light)}@keyframes homeStreakPop{0%{transform:scale(0)}to{transform:scale(1)}}.home-burst{pointer-events:none;z-index:3;width:0;height:0;position:absolute;top:50%;left:50%}.home-burst i{width:22px;height:22px;animation:.9s cubic-bezier(.2,.7,.3,1) forwards homeBurst;animation-delay:calc(var(--i,0) * 15ms);position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.home-burst i img{object-fit:contain;width:100%;height:100%;display:block}@keyframes homeBurst{0%{opacity:1;transform:translate(-50%, -50%) rotate(var(--a)) translateY(0) scale(.6)}60%{opacity:1}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--a)) translateY(-92px) scale(1.15)}}.home-bubbles{z-index:1;pointer-events:none;position:absolute;inset:0}.home-bubble{left:var(--x);top:var(--y);pointer-events:auto;cursor:pointer;color:#fff;font-size:calc(.98rem * var(--s,1));white-space:nowrap;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-shadow:0 1px #0000002e;animation:.5s cubic-bezier(.34,1.56,.64,1) backwards homeBubbleIn;animation-delay:calc(.35s + var(--i,0) * 70ms);background:#ffffff29;border:2px solid #ffffff8c;border-radius:999px;padding:.375rem .875rem;font-weight:900;transition:background .15s;position:absolute;transform:translate(-50%,-50%)}.home-bubble:hover{background:#ffffff57}.home-bubble:focus-visible{outline-offset:2px;outline:2px solid #fff}@keyframes homeBubbleIn{0%{opacity:0;scale:.4}to{opacity:1;scale:1}}.ngl-room-sky[data-tod=dawn]{background-color:color-mix(in srgb, var(--warning) 10%, transparent)}.ngl-room-sky[data-tod=dusk]{background-color:color-mix(in srgb, var(--warning) 9%, transparent)}.ngl-room-sky[data-tod=night]{background-color:color-mix(in srgb, var(--accent-2) 9%, transparent)}.ngl-room-sky[data-tod=night]:after{content:"";pointer-events:none;opacity:.8;background-image:radial-gradient(circle at 15% 22%,#ffffffbf 0 1.2px,#0000 2px),radial-gradient(circle at 32% 68%,#ffffff8c 0 1px,#0000 2px),radial-gradient(circle at 58% 14%,#ffffffb3 0 1.4px,#0000 2px),radial-gradient(circle at 77% 44%,#ffffff80 0 1px,#0000 2px),radial-gradient(circle at 90% 80%,#ffffffa6 0 1.2px,#0000 2px),radial-gradient(circle at 44% 88%,#ffffff80 0 1px,#0000 2px);position:absolute;inset:0}.ngl-room-tuto{border-radius:22px;gap:.75rem 1rem;padding:1.25rem 1.5rem}.ngl-room-tuto:focus-visible{outline-offset:3px;outline:2px solid #fff}.ngl-room-tuto-icon{border-radius:12px;width:88px;height:60px}.ngl-room-tuto-title{font-size:1.5rem}.ngl-room-tuto-path{gap:.75rem}.ngl-room-tuto-node{width:2.75rem;height:2.75rem;font-size:1.25rem}.home-lingo .ngl-room-tuto-node{background:var(--bg-card);border-color:color-mix(in srgb, var(--bg-card) 70%, transparent)}.home-lingo .ngl-room-tuto-node img{width:92%;height:92%}.home-lingo .ngl-room-tuto-node.is-next{border-color:#fff}.home-lingo .ngl-room-tuto-node.is-done{background:#fff}.ngl-room-tuto-node+.ngl-room-tuto-node:before{width:.75rem}.home-lingo .ngl-room-tuto.is-hot{box-shadow:0 4px 0 var(--ngl-brown), 0 0 0 4px color-mix(in srgb, var(--ngl-primary) 28%, transparent);animation:none}.home-lingo .ngl-room-tuto.is-hot:before{display:none}.home-lingo .ngl-room-tuto.is-hot .ngl-room-tuto-icon{animation:none}.ngl-lvpath-lock img{object-fit:contain;width:72%;height:72%;display:block}.home-lingo .ngl-room-sec h2{font-size:1.25rem}.home-lingo .ngl-room-card--enrolled .ngl-room-card-body b{font-size:1.125rem}.home-lingo .ngl-room-card:focus-visible,.home-lingo .ngl-lvpath-node:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.home-lingo .sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-lingo .ngl-room-empty,.home-lingo .ngl-lvpath-label small{color:var(--text-secondary)}.home-lingo .ngl-node-bubble{color:var(--ngl-primary-dark)}@media (width<=768px){.home-bubbles{display:none}.home-lingo .ngl-room-hero{min-height:0}.home-lingo .ngl-room-landing{padding-left:.9rem;padding-right:.9rem}.home-lingo .home-rail-more{min-height:44px;padding:0 .25rem}.home-lingo .ngl-tuto-hstate{display:none}.home-short{border-radius:14px;flex-basis:104px;width:104px;height:184px}.home-short-views{padding:.25rem .375rem;font-size:.78rem}.home-top-card{flex-basis:184px;width:184px}.ngl-room-tuto{padding:1rem 1.125rem}.ngl-room-tuto-title{font-size:1.25rem}.ngl-room-tuto-icon{width:64px;height:44px}.ngl-room-tuto-node{width:2.25rem;height:2.25rem}}@media (width<=480px){.home-streak{font-size:.8rem;right:-6px}.home-streak img{width:22px;height:22px}.home-top-card{flex-basis:168px;width:168px}.home-lingo .ngl-room-tuto{padding:.9rem}.home-lingo .ngl-room-tuto-path{gap:.5rem}.home-lingo .ngl-room-tuto-node{width:2.1rem;height:2.1rem}.home-lingo .ngl-room-tuto-node+.ngl-room-tuto-node:before{width:.5rem}}@media (prefers-reduced-motion:reduce){.home-short,.home-short-player,.home-streak,.home-burst i,.home-bubble,.home-top-card,.home-acorn{transform:none;animation:none!important}.home-burst{display:none}.home-rail-item.is-top .home-rail-view-no:after{content:none;animation:none}}.home-rail-list.is-settled .home-rail-item{animation:none}.home-rail-item.is-top .home-rail-sub{display:none}.home-rail-item.is-top .home-rail-title{white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.ngl-ybti-biz{border:2px solid var(--border);background:var(--bg-card);box-shadow:0 3px 0 var(--border);border-radius:16px;flex-direction:column;gap:.6rem;padding:.9rem 1rem 1rem;display:flex}.ngl-ybti-biz-head{flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;display:flex}.ngl-ybti-biz-head b{color:var(--text-primary);font-size:1.05rem;font-weight:800}.ngl-ybti-biz-head span{color:var(--text-secondary);font-size:.8rem;font-weight:600}.ngl-ybti-biz-tabs{gap:.35rem;display:flex}.ngl-ybti-biz-tab{border:2px solid var(--border);background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;box-shadow:0 2px 0 var(--border);border-radius:999px;padding:.3rem .85rem;font-size:.85rem;font-weight:800;transition:transform .15s,background .15s,color .15s}.ngl-ybti-biz-tab:hover{color:var(--text-primary);transform:translateY(-1px)}.ngl-ybti-biz-tab.is-on{background:var(--ngl-primary,var(--accent));border-color:var(--ngl-primary-dark,var(--accent));color:#fff;box-shadow:0 2px 0 var(--ngl-primary-dark,var(--accent))}.ngl-ybti-biz-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem .6rem;display:grid}.ngl-ybti-biz-field{flex-direction:column;gap:.25rem;min-width:0;display:flex}.ngl-ybti-biz-field>span{color:var(--text-secondary);font-size:.82rem;font-weight:700}.ngl-ybti-biz-field input{border:2px solid var(--border);background:var(--bg-card);min-width:0;min-height:44px;color:var(--text-primary);border-radius:12px;padding:.55rem .8rem;font-size:.92rem;font-weight:700}.ngl-ybti-biz-field input:focus{border-color:var(--ngl-primary,var(--accent));outline:none}.ngl-ybti-biz-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;max-width:720px;display:grid}.ngl-ybti-biz-face{flex-direction:column;gap:.3rem;min-width:0;margin:0;display:flex}.ngl-ybti-biz-face figcaption{color:var(--text-secondary);font-size:.8rem;font-weight:700}.ngl-ybti-biz-preview{aspect-ratio:96/56;border:2px solid var(--ngl-brown-dark,var(--border));width:100%;max-width:560px;box-shadow:0 4px 0 var(--ngl-brown-dark,var(--border));background:var(--bg-panel);border-radius:12px;overflow:hidden}.ngl-ybti-biz-preview img{object-fit:cover;width:100%;height:100%;display:block}.ngl-ybti-biz-skel{background:linear-gradient(90deg, var(--bg-hover) 25%, var(--bg-panel) 50%, var(--bg-hover) 75%);background-size:200% 100%;width:100%;height:100%;animation:1.2s linear infinite nglBizSkel}@keyframes nglBizSkel{0%{background-position:200% 0}to{background-position:-200% 0}}.ngl-ybti-biz-actions{flex-wrap:wrap;align-items:center;gap:.5rem .8rem;display:flex}.ngl-ybti-biz-actions .ngl-tuto-btn{min-height:44px;padding:.5rem 1.1rem}.ngl-ybti-biz-actions small{color:var(--text-secondary);font-size:.8rem;font-weight:600}@media (width<=640px){.ngl-ybti-biz-form,.ngl-ybti-biz-pair{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.ngl-ybti-biz-skel{animation:none}.ngl-ybti-biz-tab{transition:none}.ngl-ybti-biz-tab:hover{transform:none}}.home-rail-more{margin:-.75rem -.375rem;padding:.75rem .375rem}.rte{border:1px solid var(--border);background:var(--bg-card);border-radius:12px}.rte-toolbar{border-bottom:1px solid var(--border);background:var(--bg-panel);top:var(--rte-sticky-top,0);z-index:5;border-radius:12px 12px 0 0;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;display:flex;position:sticky;box-shadow:0 6px 10px -8px #0000004d}.rte-btn{min-width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:0 7px;font-size:.9rem;font-weight:600;display:inline-flex}.rte-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.rte-btn.on{background:var(--accent-soft);color:var(--accent)}.rte-btn svg{width:17px;height:17px}.rte-style{border:1px solid var(--border);background:var(--bg-card);height:30px;color:var(--text-primary);cursor:pointer;border-radius:7px;padding:0 8px;font-size:.82rem;font-weight:600}.rte-sep{background:var(--border);width:1px;height:18px;margin:0 4px}.rte-btn-script{white-space:nowrap;gap:3px;min-width:0;padding:0 9px;font-size:.78rem}.rte-btn-script:hover{background:var(--accent-soft);color:var(--accent)}.rte-color{position:relative;overflow:hidden}.rte-color .rte-color-a{border-bottom:3px solid var(--accent);font-weight:800;line-height:1}.rte-color input[type=color]{opacity:0;cursor:pointer;position:absolute;inset:0}.rte--compact{border-radius:10px}.rte-toolbar--compact{border-radius:10px 10px 0 0;gap:1px;padding:3px 6px}.rte--compact .rte-btn{min-width:27px;height:27px;font-size:.85rem}.rte--compact .rte-ce{padding:8px 10px;font-size:.9rem;line-height:1.6}.rte--compact .rte-placeholder{font-size:.9rem;line-height:1.6;top:8px;left:10px}.rte-body{position:relative}.rte-ce{min-height:var(--rte-min,220px);color:var(--text-primary);word-break:keep-all;outline:none;padding:14px 16px;font-size:.95rem;line-height:1.8}.rte-placeholder{color:var(--text-muted);opacity:.6;pointer-events:none;font-size:.95rem;line-height:1.8;position:absolute;top:14px;left:16px;right:16px}.rte-ce>*+*{margin-top:.7em}.rte-ce>:is(p,div:not([class]))+:is(p,div:not([class])){margin-top:0}.rte-ce h2{margin:.9em 0 .35em;font-size:1.3rem;font-weight:800}.rte-ce h3{margin:.8em 0 .3em;font-size:1.12rem;font-weight:800}.rte-ce img{border-radius:10px;max-width:100%}.rte-ce blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--text-secondary);border-radius:0 8px 8px 0;margin-left:0;padding:8px 16px}.rte-ce ul,.rte-ce ol{padding-left:1.4em}.rte-ce a{color:var(--accent);text-decoration:underline}.rte-ce hr{border:none;border-top:1px solid var(--border);margin:1.2em 0}.rte-ce table,.tb-detail-content table{border-collapse:collapse;max-width:100%;margin:.6em 0}.rte-ce table td,.rte-ce table th,.tb-detail-content table td,.tb-detail-content table th{border:1px solid var(--border);vertical-align:top;padding:.4em .6em}.rte-ce table th,.tb-detail-content table th{background:var(--bg-hover);font-weight:700}.rte-ce .rte-script-link,.tb-detail-content .rte-script-link,.rte-script-link{vertical-align:baseline;background:var(--accent-soft);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:.05em .6em;font-size:.9em;font-weight:700;text-decoration:none;display:inline-flex}.rte-ce .rte-script-link:hover,.tb-detail-content .rte-script-link:hover{background:color-mix(in srgb, var(--accent) 20%, transparent);text-decoration:none}.tb-detail-content .rte-script-link{cursor:pointer}.rte-ce .rte-script-link{cursor:grab}.rte-ce .rte-script-link:active{cursor:grabbing}.rte-ce .rte-link-card,.tb-detail-content .rte-link-card{border:1px solid var(--border,#0000001f);background:var(--surface-2,#00000005);border-radius:12px;max-width:520px;margin:10px 0;display:block;position:relative;overflow:hidden}.rte-ce .rte-link-card-link,.tb-detail-content .rte-link-card-link{color:inherit;align-items:stretch;gap:0;text-decoration:none;display:flex}.rte-ce .rte-link-card-thumb,.tb-detail-content .rte-link-card-thumb{align-self:stretch;width:120px;min-width:120px;display:flex;position:relative}.rte-ce .rte-link-card-img,.tb-detail-content .rte-link-card-img{object-fit:cover;background:#0000000d;border:0;border-radius:0;align-self:stretch;width:120px;min-width:120px;height:100%;margin:0}.rte-ce .rte-link-card-thumb .rte-link-card-img,.tb-detail-content .rte-link-card-thumb .rte-link-card-img{width:100%}.rte-ce .rte-link-card-play,.tb-detail-content .rte-link-card-play{pointer-events:none;background:#0000008c;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rte-ce .rte-link-card-play:after,.tb-detail-content .rte-link-card-play:after{content:"";border:8px solid #0000;border-left:13px solid #fff;border-right-width:0;margin-left:3px}.rte-ce .rte-link-card-body,.tb-detail-content .rte-link-card-body{flex-direction:column;flex:1;gap:3px;min-width:0;padding:10px 12px;display:flex}.rte-ce .rte-link-card-site,.tb-detail-content .rte-link-card-site{color:var(--text-dim,#8a8f98);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;font-weight:700;overflow:hidden}.rte-ce .rte-link-card-title,.tb-detail-content .rte-link-card-title{color:var(--text,inherit);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.94rem;font-weight:800;line-height:1.35;display:-webkit-box;overflow:hidden}.rte-ce .rte-link-card-desc,.tb-detail-content .rte-link-card-desc{color:var(--text-dim,#6b7280);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.45;display:-webkit-box;overflow:hidden}.rte-ce .rte-link-card-link:hover .rte-link-card-title,.tb-detail-content .rte-link-card-link:hover .rte-link-card-title{text-decoration:underline}.rte-ce .rte-link-card-x{cursor:pointer;color:#fff;background:#0000008c;border:0;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;line-height:1;display:flex;position:absolute;top:6px;right:6px}.rte-ce .rte-link-card-x:after{content:"✕";font-size:.7rem}.rte-ce .rte-link-card-x:hover{background:#000000c7}@media (width<=480px){.rte-ce .rte-link-card-img,.tb-detail-content .rte-link-card-img,.rte-ce .rte-link-card-thumb,.tb-detail-content .rte-link-card-thumb{width:92px;min-width:92px}.rte-ce .rte-link-card-thumb .rte-link-card-img,.tb-detail-content .rte-link-card-thumb .rte-link-card-img{width:100%}}.rte-body--drop{background:color-mix(in srgb, var(--accent) 5%, transparent)}.rte-body--drop .rte-ce{outline:2px dashed color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-6px;border-radius:10px}.rte-drop-caret{background:var(--accent);pointer-events:none;z-index:6;width:3px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:2px;animation:1s steps(2,start) infinite rte-caret-blink;position:absolute}@keyframes rte-caret-blink{50%{opacity:.35}}.rte-drop-hint{background:var(--accent);color:#fff;pointer-events:none;z-index:6;white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:.76rem;font-weight:800;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.rte-uploading{vertical-align:bottom;max-width:100%;display:inline-block;position:relative}.rte-uploading img{opacity:.55;filter:saturate(.6);border-radius:10px;max-width:100%}.rte-uploading .rte-upbar{background:#00000059;border-radius:999px;height:5px;display:block;position:absolute;bottom:8px;left:8px;right:8px;overflow:hidden}.rte-uploading .rte-upbar b{background:var(--accent);width:0;height:100%;transition:width .35s;display:block}.rte-ce img{cursor:pointer}.rte-img-ov{z-index:7;box-sizing:border-box;border:2px solid var(--accent);pointer-events:none;border-radius:6px;position:absolute}.rte-img-toolbar{pointer-events:auto;background:var(--bg-panel);border:1px solid var(--border);white-space:nowrap;border-radius:8px;align-items:center;gap:2px;padding:3px 4px;display:flex;position:absolute;top:-8px;left:50%;transform:translate(-50%,-100%);box-shadow:0 6px 18px #00000038}.rte-img-toolbar button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:3px 6px;font-size:.74rem;font-weight:700}.rte-img-toolbar button:hover{background:var(--bg-hover);color:var(--accent)}.rte-img-size{color:var(--text-muted);padding:0 4px;font-size:.7rem;font-weight:700}.rte-img-handle{background:var(--accent);border:2px solid var(--bg-card);cursor:nwse-resize;pointer-events:auto;border-radius:3px;width:14px;height:14px;position:absolute;bottom:-7px;right:-7px}.lecture-view-desc h2{margin:1em 0 .4em;font-size:1.35rem;font-weight:800}.lecture-view-desc h3{margin:.9em 0 .35em;font-size:1.15rem;font-weight:800}.lecture-view-desc p{margin:0 0 .9em}.lecture-view-desc img{border-radius:10px;max-width:100%;margin:.6em 0}.lecture-view-desc ul,.lecture-view-desc ol{margin:0 0 .9em;padding-left:1.5em}.lecture-view-desc li{margin:.3em 0}.lecture-view-desc blockquote{border-left:3px solid var(--accent,#7c3aed);background:#7c3aed14;border-radius:0 8px 8px 0;margin:1em 0;padding:10px 18px}.lecture-view-desc a{color:var(--accent,#7c3aed);text-decoration:underline}.lecture-view-desc hr{border:none;border-top:1px solid var(--border,#e5e5ea);margin:1.4em 0}.rte-memo{cursor:pointer;background:#f59e0b29;border-bottom:2px solid #f59e0bb3;border-radius:3px;padding:0 1px;transition:background .12s}.rte-memo:hover{background:#f59e0b47}.rte-memo:after{content:"📝";vertical-align:super;-webkit-user-select:none;user-select:none;margin-left:1px;font-size:.62em}.rte--memo{overflow:visible}.rte-toolbox{z-index:1350;background:var(--bg-panel);border:1px solid var(--border);border-radius:11px;min-width:168px;padding:5px;position:fixed;box-shadow:0 10px 32px #00000047}.rte-toolbox button{text-align:left;width:100%;color:var(--text-primary);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:.44rem .6rem;font-size:.83rem;font-weight:600;display:block}.rte-toolbox button:hover{background:var(--bg-hover)}.rte-toolbox button.danger{color:#dc2626}.rte-toolbox button.danger:hover{background:#dc26261f}.rte-memo-pop{z-index:1360;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.5rem;width:380px;max-width:calc(100vw - 24px);padding:.6rem .7rem .7rem;display:flex;position:fixed;box-shadow:0 12px 36px #0000004d}.rte-memo-pop-head{justify-content:space-between;align-items:center;display:flex}.rte-memo-pop-head span{color:var(--text-secondary);font-size:.8rem;font-weight:800}.rte-memo-pop-x{border:1px solid var(--border);background:var(--bg-input);width:24px;height:24px;color:var(--text-muted);cursor:pointer;border-radius:7px;font-size:.78rem;line-height:1}.rte-memo-pop-x:hover{border-color:var(--accent);color:var(--accent)}.rte-memo-pop-ta{resize:vertical;box-sizing:border-box;border:1px solid var(--border);background:var(--bg-input);width:100%;min-height:92px;color:var(--text-primary);font:inherit;border-radius:9px;padding:.5rem .6rem;font-size:.86rem;line-height:1.55}.rte-memo-pop-ta:focus{border-color:var(--accent);outline:none}.rte-memo-pop-ro{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.86rem;line-height:1.6}.rte-memo-thread{flex-direction:column;gap:.5rem;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.rte-memo-empty{color:var(--text-muted);font-size:.84rem}.rte-memo-item{border:1px solid var(--border);background:var(--bg-input);border-radius:10px;padding:.45rem .55rem}.rte-memo-item-text{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:.86rem;line-height:1.6}.rte-memo-link{color:var(--accent);word-break:break-all;text-decoration:underline}.rte-memo-link:hover{filter:brightness(1.1)}.rte-memo-item-foot{align-items:center;gap:.5rem;margin-top:.3rem;display:flex}.rte-memo-author{color:var(--accent);font-size:.68rem;font-weight:800}.rte-memo-time{color:var(--text-muted);font-size:.68rem}.rte-memo-item-actions{gap:.25rem;margin-left:auto;display:flex}.rte-memo-item-actions button{cursor:pointer;font:inherit;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;padding:.15rem .35rem;font-size:.72rem;font-weight:700}.rte-memo-item-actions button:hover{background:var(--bg-hover);color:var(--accent)}.rte-memo-item-actions .rte-memo-item-del:hover{color:#dc2626;background:#dc26261a}.rte-memo-pop-foot{align-items:center;gap:.5rem;display:flex}.rte-memo-hint{color:var(--text-muted);margin-left:auto;font-size:.68rem}.rte-memo-save{cursor:pointer;background:var(--accent);color:#fff;font:inherit;border:none;border-radius:8px;padding:.38rem .9rem;font-size:.8rem;font-weight:800}.rte-memo-save:hover{filter:brightness(1.05)}.rte-memo-del{border:1px solid var(--border);cursor:pointer;color:#dc2626;font:inherit;background:0 0;border-radius:8px;padding:.38rem .7rem;font-size:.8rem;font-weight:700}.rte-memo-del:hover{background:#dc26261a;border-color:#dc2626}.rte-ce span.rte-ins{color:#2b7de9}.rte-ce span.rte-del{color:#2b7de9;opacity:.72;-webkit-text-decoration:line-through #2b7de9;text-decoration:line-through #2b7de9;text-decoration-thickness:1.5px}.rte-ce img.rte-ins{outline-offset:2px;outline:2px solid #2b7de9}.rte-ce img.rte-del{outline-offset:2px;opacity:.4;outline:2px dashed #2b7de9}@media (width<=720px){.rte-content table{-webkit-overflow-scrolling:touch;width:max-content;max-width:100%;display:block;overflow-x:auto}}.gt-wrap{flex-direction:column;height:100%;min-height:calc(100dvh - 150px);display:flex}.gt-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.gt-title{margin:0;font-size:1.125rem;font-weight:800}.gt-sub{color:var(--text-muted);margin-left:6px;font-size:.8rem;font-weight:600}.gt-loading{color:var(--text-muted);font-size:.78rem}.gt-add{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gt-in{border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);border-radius:9px;padding:.5rem .6rem;font-size:.85rem}.gt-in-title{flex:1;min-width:180px}.gt-in-cat{width:150px}.gt-goal-ck{color:var(--text-secondary);align-items:center;gap:5px;font-size:.82rem;font-weight:700;display:inline-flex}.gt-add-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:.55rem 1.1rem;font-weight:800}.gt-add-btn:disabled{opacity:.45;cursor:default}.gt-cal{--gt-gutter:34px;border:1px solid var(--border);background:var(--bg-card);border-radius:16px;flex-direction:column;flex:1;display:flex;overflow:hidden}.gt-cal-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:.8rem 1rem;display:flex}.gt-month{text-align:center;min-width:120px;font-size:1.05rem;font-weight:800}.gt-nav{border:1px solid var(--border);background:var(--bg-base);cursor:pointer;width:34px;height:34px;color:var(--text-secondary);border-radius:8px}.gt-today-btn{border:1px solid var(--border);background:var(--bg-base);cursor:pointer;color:var(--text-secondary);border-radius:8px;padding:.4rem .9rem;font-weight:700}.gt-add-goal-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.4rem .9rem;font-weight:800}.gt-add-goal-btn:hover{opacity:.9}.gt-add-task-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem .9rem;font-weight:800}.gt-add-task-btn:hover{background:rgba(var(--accent-rgb,99, 102, 241), .1)}.gt-task-date{border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);border-radius:8px;margin-left:8px;padding:.25rem .5rem;font-family:inherit;font-size:.85rem}.gt-task-cat{color:var(--text-muted);white-space:nowrap;font-size:.7rem}.gt-task-add{flex-wrap:wrap}.gt-task-add .gt-task-cat-input{flex:0 130px;min-width:90px}.gt-task-star{border:1px solid var(--border);cursor:pointer;opacity:.4;background:0 0;border-radius:8px;padding:0 .5rem}.gt-task-star.on{opacity:1;border-color:#f59e0b}.gt-task-opts{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:.5rem;font-size:.8rem;display:flex}.gt-task-opts label{align-items:center;gap:6px;font-weight:700;display:inline-flex}.gt-task-opts input{border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);border-radius:8px;padding:.25rem .45rem;font-family:inherit;font-size:.82rem}.gt-chip-time{margin-right:3px;font-weight:800}.gt-modal-weeknav{align-items:center;gap:6px;margin-left:8px;display:inline-flex}.gt-nav-sm{width:26px;height:26px;font-size:.7rem}.gt-span{border:1px solid var(--border);border-radius:9px;display:inline-flex;overflow:hidden}.gt-span-btn{background:var(--bg-base);color:var(--text-secondary);cursor:pointer;border:none;padding:.4rem .75rem;font-size:.8rem;font-weight:700}.gt-span-btn+.gt-span-btn{border-left:1px solid var(--border)}.gt-span-btn.on{background:var(--accent);color:#fff}.gt-scope{border:1px solid var(--border);border-radius:9px;display:inline-flex;overflow:hidden}.gt-scope-btn{background:var(--bg-base);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border:none;padding:.4rem .8rem;font-size:.8rem;font-weight:700}.gt-scope-btn+.gt-scope-btn{border-left:1px solid var(--border)}.gt-scope-btn.on{background:var(--accent);color:#fff}.gt-mycolor{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.gt-mycolor-label{color:var(--text-muted);font-size:.76rem;font-weight:800}.gt-grid{grid-template-columns:repeat(7,1fr);display:grid}.gt-grid-head-row{display:flex}.gt-head-gutter{width:var(--gt-gutter);border-bottom:1px solid var(--border);border-right:1px solid var(--border);flex-shrink:0}.gt-grid-head-row .gt-grid-head{flex:1}.gt-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.gt-marquee{z-index:30;pointer-events:none;border:1.5px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:3px;position:absolute}.gt-week{flex:1;min-height:0;display:flex}.gt-weekbtn{width:var(--gt-gutter);border:none;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-base);color:var(--text-muted);cursor:pointer;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;padding:4px 0;display:flex}.gt-weekbtn:hover{background:rgba(var(--accent-rgb,99,102,241), .12);color:var(--accent)}.gt-weekbtn.has{color:var(--accent);background:rgba(var(--accent-rgb,99,102,241), .05)}.gt-weekbtn-txt{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:1px;font-size:.66rem;font-weight:800}.gt-weekbtn-cnt{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:15px;height:15px;font-size:.6rem;font-weight:800;line-height:15px}.gt-week-body{flex-direction:column;flex:1;min-height:0;display:flex}.gt-week-nums{grid-template-columns:repeat(7,1fr);display:grid}.gt-num{font-size:calc(.78rem * var(--gt-fs,1));border-right:1px solid var(--border);padding:3px 6px 1px;font-weight:700}.gt-num:nth-child(7n){border-right:none}.gt-num.out{opacity:.38}.gt-num.today{background:rgba(var(--accent-rgb,99,102,241), .09)}.gt-num.today span{color:var(--accent)}.gt-num .sun{color:#ef4444}.gt-num .sat{color:#3b82f6}.gt-week-goals{background:var(--bg-base);cursor:pointer;flex-direction:column;gap:2px;padding:2px 5px 3px;display:flex}.gt-week-goals>*{flex-shrink:0}.gt-week-goals:hover{background:rgba(var(--accent-rgb,99,102,241), .06)}.gt-gbar{color:#fff;cursor:default;background:var(--gc,var(--accent));white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;border-left:4px solid #00000047;border-radius:5px;width:100%;padding:2px 8px;font-size:.72rem;font-weight:700;display:block;overflow:hidden}.gt-gbar.mine{cursor:pointer;box-shadow:inset 0 0 0 1.5px #ffffff73}.gt-gbar.done{opacity:.5;text-decoration:line-through}.gt-gbar.miss{cursor:default;background-image:repeating-linear-gradient(45deg,#00000038 0 4px,#0000 4px 8px);box-shadow:inset 0 0 0 1.5px #ef4444e6}.gt-goal-item.miss .gt-goal-ro-txt{color:var(--danger,#ef4444)}.gt-goal-ro-check.miss{color:var(--danger,#ef4444);font-weight:800}.gt-lock-note{color:var(--text-muted);background:var(--bg-base);border:1px dashed var(--border);border-radius:8px;margin:0 0 .5rem;padding:.5rem .7rem;font-size:.8rem}.gt-gbar-more{color:var(--text-muted);font-size:.68rem}.gt-week-days{flex:1;grid-template-columns:repeat(7,1fr);min-height:0;display:grid}.gt-grid-head .gt-wd{text-align:center;font-size:calc(.78rem * var(--gt-fs,1));color:var(--text-muted);border-bottom:1px solid var(--border);padding:.5rem 0;font-weight:700}.gt-wd.sun{color:#ef4444}.gt-wd.sat{color:#3b82f6}.gt-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:3px;min-height:0;padding:4px 5px;display:flex;overflow:hidden}.gt-cell:nth-child(7n){border-right:none}.gt-cell:hover{background:var(--bg-base)}.gt-cell.out{opacity:.38}.gt-cell.today{background:rgba(var(--accent-rgb,99,102,241), .09)}.gt-cell-day{justify-content:space-between;align-items:center;gap:4px;font-size:.78rem;font-weight:700;display:flex}.gt-cell.today .gt-cell-day>span:first-child{color:var(--accent)}.gt-goal-btn{cursor:pointer;white-space:nowrap;border:1px solid var(--border);background:var(--bg-base);color:var(--text-muted);border-radius:999px;padding:1px 6px;font-size:.66rem;font-weight:700}.gt-goal-btn:hover{border-color:var(--accent);color:var(--accent)}.gt-goal-btn.has{background:rgba(var(--accent-rgb,99,102,241), .14);border-color:var(--accent);color:var(--accent)}.gt-modal-ov{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.gt-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:100%;max-width:520px;padding:1.1rem 1.25rem;box-shadow:0 20px 60px #00000059}.gt-modal-head{margin-bottom:10px;font-size:1.05rem;font-weight:800}.gt-modal-week{color:var(--text-muted);margin-left:6px;font-size:.82rem;font-weight:600}.gt-modal-ta{resize:vertical;border:1px solid var(--border);background:var(--bg-base);width:100%;min-height:180px;color:var(--text-primary);border-radius:10px;padding:.7rem .8rem;font-size:.9rem;line-height:1.6}.gt-goal-list{flex-direction:column;gap:6px;max-height:340px;margin-bottom:12px;display:flex;overflow-y:auto}.gt-goal-item{align-items:center;gap:8px;display:flex}.gt-goal-item.done .gt-goal-edit{color:var(--text-muted);text-decoration:line-through}.gt-goal-edit{border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);border-radius:8px;flex:1;padding:.45rem .6rem;font-size:.88rem}.gt-goal-item.other{opacity:.9;padding:3px 2px}.gt-goal-ro-check{text-align:center;width:16px;color:var(--text-muted);font-weight:800}.gt-goal-ro-name{color:var(--text-secondary);white-space:nowrap;font-size:.76rem;font-weight:800}.gt-goal-ro-txt{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.gt-goal-item.other.done .gt-goal-ro-txt{color:var(--text-muted);text-decoration:line-through}.gt-swatches{flex-wrap:wrap;align-items:center;gap:6px;padding-left:26px;display:flex}.gt-swatches-new{margin-top:4px;padding-left:0}.gt-sw-label{color:var(--text-muted);margin-right:2px;font-size:.74rem;font-weight:700}.gt-sw{width:20px;height:20px;box-shadow:0 0 0 1px var(--border);cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;padding:0;position:relative}.gt-sw.on{box-shadow:0 0 0 2px var(--text-primary)}.gt-sw-custom{justify-content:center;align-items:center;font-size:11px;line-height:1;display:inline-flex;overflow:hidden}.gt-sw-custom input{opacity:0;cursor:pointer;border:none;padding:0;position:absolute;inset:0}.gt-goal-add{gap:8px;display:flex}.gt-goal-add input{border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);border-radius:9px;flex:1;padding:.55rem .7rem;font-size:.88rem}.gt-goal-add button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:.55rem 1.1rem;font-weight:800}.gt-goal-add button:disabled{opacity:.5;cursor:default}.gt-modal-btns{gap:8px;margin-top:12px;display:flex}.gt-modal-save{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1;padding:.6rem;font-weight:800}.gt-modal-save:disabled{opacity:.5;cursor:default}.gt-modal-close{border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;border-radius:10px;padding:.6rem 1.1rem;font-weight:700}.gt-cell-day .sun{color:#ef4444}.gt-cell-day .sat{color:#3b82f6}.gt-cell-tasks{scrollbar-width:thin;flex-direction:column;gap:2px;min-height:0;display:flex;overflow:hidden auto}.gt-cell-tasks>*{flex-shrink:0}.gt-span-weeks .gt-cell-tasks{scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}.gt-span-weeks .gt-chip{font-size:calc(.78rem * var(--gt-fs,1));padding:2px 6px}.gt-week-nums{flex-shrink:0}.gt-week-goals{scrollbar-width:thin;flex:0 auto;min-height:0;overflow-y:auto}.gt-week-days{flex:1 1 0;min-height:0}.gt-embed{flex-shrink:0;height:440px;min-height:440px}.gt-embed .gt-cal,.gt-embed .gt-week{min-height:0}.gt-cal-open{color:var(--accent);white-space:nowrap;margin-left:auto;font-size:.83rem;font-weight:800;text-decoration:none}.gt-cal-open:hover{text-decoration:underline}.gt-goal-wrap{flex-direction:column;gap:3px;display:flex}.gt-attach{cursor:pointer}.gt-goal-atts{flex-wrap:wrap;gap:4px;padding-left:2.1rem;display:flex}.gt-att-chip{background:var(--bg-base);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:2px 8px;font-size:.74rem;font-weight:600;display:inline-flex}.gt-att-chip a{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;max-width:260px;text-decoration:none;overflow:hidden}.gt-att-chip a:hover{text-decoration:underline}.gt-att-x{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 2px;font-size:.85rem}.gt-att-x:hover{color:var(--danger,#ef4444)}.gt-chip{font-size:calc(.72rem * var(--gt-fs,1));background:var(--gc,var(--bg-base));color:#fff;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:5px;align-items:center;gap:4px;padding:1px 8px;font-weight:600;display:flex;position:relative;overflow:hidden}.gt-chip.done{opacity:.5;text-decoration:line-through}.gt-chip.goal{font-weight:800}.gt-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.gt-more{color:var(--text-muted);padding-left:5px;font-size:.68rem}.gt-goal-chip{font-size:calc(.7rem * var(--gt-fs,1));border-left:3px solid var(--gc,#64748b);background:color-mix(in srgb, var(--gc,#64748b) 14%, var(--bg-base));color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;border-radius:5px;align-items:center;gap:3px;padding:1px 6px 1px 5px;font-weight:700;line-height:1.35;display:flex;overflow:hidden}.gt-goal-chip.done{opacity:.55;text-decoration:line-through}.gt-subgoal-chip{background:color-mix(in srgb, var(--gc,#64748b) 8%, var(--bg-base));border-left-style:dashed}.gt-goal-ic{flex-shrink:0;font-size:.68rem}.gt-chip,.gt-goal-chip{min-height:calc(18px * var(--gt-fs,1));box-sizing:border-box;line-height:1.3}.gt-goal-who{background:var(--gc,#64748b);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:14px;height:14px;font-size:.6rem;font-weight:800;display:inline-grid}.gt-lists{grid-template-columns:2fr 1fr;gap:1rem;display:grid}.gt-panel{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;padding:.9rem 1rem}.gt-panel-title{margin:0 0 8px;font-size:.95rem;font-weight:800}.gt-week-day{border-top:1px solid var(--border);padding:4px 0}.gt-week-day:first-of-type{border-top:none}.gt-week-label{color:var(--text-muted);margin:3px 0;font-size:.76rem;font-weight:700}.gt-week-label.today{color:var(--accent)}.gt-empty{color:var(--text-muted);font-size:.78rem}.gt-row{align-items:center;gap:7px;padding:3px 0;font-size:.85rem;display:flex}.gt-row.done .gt-row-title{color:var(--text-muted);text-decoration:line-through}.gt-row-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.gt-tag{white-space:nowrap;border:1px solid;border-radius:999px;padding:1px 6px;font-size:.68rem;font-weight:700}.gt-icon{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 2px;font-size:.95rem;line-height:1}.gt-icon.gt-del:hover{color:var(--danger,#ef4444)}@media (width<=768px){.gt-lists{grid-template-columns:1fr}.gt-cell{min-height:66px}.gt-chip{font-size:.66rem}}.gt-week--plain .gt-week-body{flex:1;min-width:0}.twg-wrap{flex-direction:column;gap:.9rem;height:100%;min-height:0;display:flex}.twg-bar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.twg-week-label{font-size:1.02rem;font-weight:800}.twg-week-sub{color:var(--text-muted);font-size:.82rem}.twg-grid{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:.9rem;min-height:0;display:grid}@media (width<=1024px){.twg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.twg-grid{grid-template-columns:1fr}}.twg-col{border:1px solid var(--border);background:var(--bg-panel);border-radius:14px;flex-direction:column;gap:.45rem;min-height:260px;padding:.85rem;display:flex}.twg-col>*{flex-shrink:0}.twg-col-head{align-items:center;gap:.5rem;display:flex}.twg-avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:.85rem;font-weight:800;display:grid}.twg-name{flex:1;font-size:.95rem;font-weight:800}.twg-progress{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.78rem}.twg-progress b{color:var(--accent)}.twg-bar-track{background:var(--bg-hover);border-radius:999px;height:5px;overflow:hidden}.twg-bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .25s;display:block}.twg-list{flex-direction:column;gap:.25rem;margin-top:.2rem;display:flex}.twg-item{border-radius:8px;align-items:center;gap:.5rem;padding:.35rem .4rem;display:flex}.twg-item:hover{background:var(--bg-hover)}.twg-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.twg-item-edit{min-width:0;font:inherit;color:var(--text-primary);background:0 0;border:none;border-radius:6px;outline:none;flex:1;padding:2px 4px;font-size:.88rem}.twg-item-edit:focus{background:var(--bg-hover)}.twg-item.done .twg-item-edit{color:var(--text-muted);text-decoration:line-through}.twg-item-x{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:2px 5px;font-size:1rem;line-height:1}.twg-item:hover .twg-item-x{opacity:1}.twg-item-x:hover{color:#dc2626;background:var(--bg-hover)}.twg-empty{color:var(--text-muted);margin:.3rem 0;font-size:.82rem}.twg-add{gap:.4rem;margin-top:auto;padding-top:.5rem;display:flex}.twg-add input{min-width:0;font:inherit;border:1px solid var(--border);background:var(--bg-input,var(--bg-base));color:var(--text-primary);border-radius:9px;flex:1;padding:.45rem .6rem;font-size:.86rem}.twg-add button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:9px;flex-shrink:0;padding:.45rem .7rem;font-size:.84rem;font-weight:700}.twg-add button:disabled{opacity:.45;cursor:not-allowed}.twg-lock-note{color:var(--text-muted);font-size:.8rem}.twg-lock-note b{color:#dc2626}.twg-item-wrap{flex-direction:column;display:flex}.twg-grip{color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:.8rem}.twg-item.dragging{opacity:.4}.twg-item.drag-over{box-shadow:0 -2px 0 0 var(--accent);border-radius:0 0 8px 8px}.twg-col.drag-target{border-color:var(--accent)}.twg-ro-check{text-align:center;width:16px;color:var(--accent);flex-shrink:0;font-weight:800}.twg-ro-check.miss{color:#dc2626}.twg-item.miss{background:#dc262612;border-radius:8px}.twg-item.miss .twg-item-edit{color:#b91c1c}.twg-item-att{cursor:pointer;opacity:0;flex-shrink:0;font-size:.85rem}.twg-item:hover .twg-item-att{opacity:1}.twg-atts{flex-wrap:wrap;gap:4px;padding:2px 0 4px 2.1rem;display:flex}.gtm-modal{width:min(700px,100vw - 2rem)}.gtm-modal--split{width:min(1000px,100vw - 2rem)}.gtm-modal.gt-modal{padding:1.5rem 1.65rem}.gtm-modal .gt-modal-head{margin-bottom:14px;font-size:1.15rem}.gtm-cols{align-items:stretch;gap:1.6rem;min-height:360px;display:flex}.gtm-col{flex-direction:column;min-width:0;display:flex}.gtm-col--list{border-right:1px solid var(--border);flex:0 0 42%;padding-right:1rem}.gtm-col--form{flex:1}.gtm-col--list .gt-goal-list{max-height:62vh;overflow-y:auto}.gtm-list-empty{color:var(--text-muted);padding:.5rem 0;font-size:.8rem}.gt-dot-pick{cursor:pointer;justify-content:center;align-items:center;width:13px;height:13px;line-height:0;display:inline-flex;position:relative}.gt-dot-pick .gt-dot{cursor:pointer;width:11px;height:11px}.gt-dot-pick:hover .gt-dot{box-shadow:0 0 0 3px rgba(var(--accent-rgb,99,102,241), .25)}.gt-dot-pick input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}@media (width<=720px){.gtm-cols{flex-direction:column}.gtm-col--list{border-right:none;border-bottom:1px solid var(--border);flex-basis:auto;padding-bottom:.8rem;padding-right:0}.gtm-col--list .gt-goal-list{max-height:30vh}}.gtm-form{flex-direction:column;gap:.85rem;display:flex}.gtm-row{align-items:center;gap:.45rem;display:flex}.gtm-row input[type=text]{min-width:0;font:inherit;border:1px solid var(--border);background:var(--bg-input,var(--bg-base));color:var(--text-primary);border-radius:10px;flex:1;padding:.7rem .85rem;font-size:.95rem}.gtm-label{color:var(--text-muted);margin:.1rem 0 -.3rem;font-size:.76rem;font-weight:700}.gtm-cal{border:1px solid var(--border);border-radius:12px;padding:.85rem .95rem}.gtm-cal-bar{align-items:center;gap:.4rem;margin-bottom:.55rem;display:flex}.gtm-cal-title{text-align:center;flex:1;font-size:.95rem;font-weight:700}.gtm-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.gtm-wd{text-align:center;color:var(--text-muted);padding:3px 0;font-size:.74rem}.gtm-wd.sat{color:#3b82f6}.gtm-wd.sun{color:#ef4444}.gtm-day{aspect-ratio:1.15;font:inherit;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;font-size:.9rem;display:grid}.gtm-day:hover{background:var(--bg-hover)}.gtm-day.out{color:var(--text-muted);opacity:.45}.gtm-day.today{box-shadow:inset 0 0 0 1.5px var(--accent);font-weight:800}.gtm-day.in-range{background:color-mix(in srgb, var(--accent) 16%, transparent);border-radius:0}.gtm-day.range-start{background:var(--accent);color:#fff;border-radius:8px 0 0 8px}.gtm-day.range-end{background:var(--accent);color:#fff;border-radius:0 8px 8px 0}.gtm-day.range-start.range-end{border-radius:8px}.gtm-range-label{color:var(--text-secondary);text-align:center;margin-top:.35rem;font-size:.78rem}.gtm-range-label b{color:var(--accent)}.gtm-clear{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.76rem;text-decoration:underline}.gtm-submit{background:var(--accent);color:#fff;width:100%;font:inherit;cursor:pointer;border:none;border-radius:10px;margin-top:.15rem;padding:.75rem;font-size:.98rem;font-weight:800}.gtm-submit:disabled{opacity:.45;cursor:not-allowed}.gtm-date-field{border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text-primary);font:inherit;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;padding:.65rem .85rem;font-size:.95rem;font-weight:600;display:flex}.gtm-date-field:hover{border-color:var(--accent)}.gtm-date-caret{color:var(--text-muted);transition:transform .15s}.gtm-date-caret.open{transform:rotate(180deg)}.gtm-date-field+.gtm-cal{margin-top:.4rem}.twg-item{align-items:flex-start}.twg-item input[type=checkbox],.twg-item .twg-ro-check,.twg-item .twg-grip{margin-top:3px}textarea.twg-item-edit{resize:none;white-space:pre-wrap;word-break:break-word;min-height:1.45em;line-height:1.45;overflow:hidden}.twg-item .twg-item-att,.twg-item .twg-item-x{margin-top:2px}.gt-week-stack{scrollbar-width:thin;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden auto}.gt-week-spans{grid-template-columns:repeat(7,1fr);grid-auto-rows:var(--bar-h,20px);flex-shrink:0;gap:3px 0;padding:2px 0;display:grid}.gt-week-spans--overlay{z-index:2;pointer-events:none;position:absolute;top:0;left:0;right:0}.gt-week-spans--overlay .gt-span-bar{pointer-events:auto}.gt-span-bar{font-size:calc(.72rem * var(--gt-fs,1));color:#fff;background:var(--gc);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-left:3px solid #00000047;border-radius:6px;align-items:center;gap:4px;min-width:0;margin:0 3px;padding:0 7px;font-weight:600;display:flex;position:relative;overflow:hidden}.gt-span-bar b.gt-chip-time{font-weight:800}.gt-span-bar.done{opacity:.5;text-decoration:line-through}.gt-span-bar.cont-l{border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0;padding-left:4px}.gt-span-bar.cont-r{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.gt-span-handle{cursor:ew-resize;z-index:3;justify-content:center;align-items:center;width:16px;display:flex;position:absolute;top:0;bottom:0}.gt-span-handle--l{left:-2px}.gt-span-handle--r{right:-2px}.gt-span-handle:before{content:"";opacity:0;background:#fffffff2;border-radius:3px;width:4px;height:60%;transition:opacity .12s,height .12s;box-shadow:0 0 0 1px #0000002e}.gt-span-bar:hover .gt-span-handle:before,.gt-chip:hover .gt-span-handle:before{opacity:.8}.gt-span-handle:hover:before{opacity:1;width:5px;height:78%}.gt-span-bar.resizing{outline-offset:-2px;z-index:4;outline:2px solid #ffffffe6;box-shadow:0 2px 10px #00000047}.gt-span-bar.resizing .gt-span-handle:before{opacity:1;height:82%}.gtm-timegrid{border:1px solid var(--border);border-radius:12px;margin-top:.4rem;padding:.7rem}.gtm-time-typed{gap:6px;margin-bottom:.6rem;display:flex}.gtm-time-typed input{border:1px solid var(--border);background:var(--bg-input);min-width:0;color:var(--text-primary);font:inherit;border-radius:8px;flex:1;padding:.45rem .6rem;font-size:.86rem}.gtm-time-typed input:focus{border-color:var(--accent);outline:none}.gtm-time-typed button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:8px;flex:none;padding:0 .9rem;font-size:.82rem;font-weight:700}.gtm-time-sec{color:var(--text-muted);margin:.5rem 0 .35rem;font-size:.74rem;font-weight:800}.gtm-time-sec:first-of-type{margin-top:0}.gtm-time-row{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.gtm-time{text-align:center;border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);font:inherit;cursor:pointer;border-radius:8px;padding:.5rem 0;font-size:.84rem;font-weight:600;transition:background .1s,border-color .1s}.gtm-time:hover:not(:disabled){border-color:var(--accent)}.gtm-time.in-range{background:rgba(var(--accent-rgb,99,102,241), .12);border-color:#0000}.gtm-time.sel{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:800}.gtm-time:disabled{opacity:.32;cursor:not-allowed}.gtm-colors{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gt-cell.drag-target{outline:2px dashed var(--accent);outline-offset:-3px;background:rgba(var(--accent-rgb,99,102,241), .07)}.gt-chip.sel,.gt-span-bar.sel{box-shadow:inset 0 0 0 2px #fff, 0 0 0 2px var(--accent)}.gt-cell.cursor{box-shadow:inset 0 0 0 2px var(--accent)}.gt-chip,.gt-span-bar{cursor:pointer}.gt-chip:active,.gt-span-bar:active{cursor:grabbing}.tasks-with-panel{align-items:stretch;gap:.8rem;min-height:calc(100dvh - 60px);margin:-1.6rem -2rem;padding:.4rem .5rem;display:flex}.tasks-cal-col{flex:1;min-width:0;display:flex}.tasks-cal-col>.gt-wrap{flex:1;min-height:0}.tasks-with-panel.panel-collapsed>.gmp-wrap{display:none}.gt-panel-toggle{white-space:nowrap;border:1px solid var(--border);background:var(--bg-base);height:30px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-right:4px;padding:0 .7rem;font-size:.82rem;font-weight:700;line-height:1;display:inline-flex}.gt-panel-toggle:hover{border-color:var(--accent);color:var(--accent)}.gt-fs-select{color:var(--text-muted);flex-shrink:0;align-items:center;gap:5px;margin-left:auto;font-size:.78rem;font-weight:700;display:inline-flex}.gt-fs-select select{font:inherit;border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:.3rem .5rem;font-size:.82rem;font-weight:700}.gt-fs-select select:focus{border-color:var(--accent);outline:none}@media (width<=1024px){.tasks-with-panel{flex-direction:column;margin:-1rem}}.admin-main:has(.tasks-with-panel){scrollbar-width:thin;scrollbar-color:transparent transparent}.admin-main:has(.tasks-with-panel):hover{scrollbar-color:color-mix(in srgb, var(--text-muted) 55%, transparent) transparent}.admin-main:has(.tasks-with-panel)::-webkit-scrollbar{width:10px;height:10px}.admin-main:has(.tasks-with-panel)::-webkit-scrollbar-button{width:0;height:0;display:none}.admin-main:has(.tasks-with-panel)::-webkit-scrollbar-track{background:0 0}.admin-main:has(.tasks-with-panel)::-webkit-scrollbar-thumb{background:padding-box content-box;border:2px solid #0000;border-radius:999px}.admin-main:has(.tasks-with-panel):hover::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 55%, transparent);background-clip:content-box}.admin-main:has(.tasks-with-panel)::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 80%, transparent);background-clip:content-box}.admin-main:has(.tasks-with-panel)::-webkit-scrollbar-corner{background:0 0}.tasks-with-panel *{scrollbar-color:transparent transparent}.tasks-with-panel :hover{scrollbar-color:color-mix(in srgb, var(--text-muted) 55%, transparent) transparent}.tasks-with-panel ::-webkit-scrollbar{width:10px;height:10px}.tasks-with-panel ::-webkit-scrollbar-button{width:0;height:0;display:none}.tasks-with-panel ::-webkit-scrollbar-track{background:0 0}.tasks-with-panel ::-webkit-scrollbar-thumb{background:padding-box content-box;border:2px solid #0000;border-radius:999px}.tasks-with-panel :hover::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 55%, transparent);background-clip:content-box}.tasks-with-panel ::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 80%, transparent);background-clip:content-box}.tasks-with-panel ::-webkit-scrollbar-corner{background:0 0}.gmp-wrap{flex-direction:column;flex:0 0 300px;gap:.8rem;min-height:0;display:flex}@media (width<=1024px){.gmp-wrap{flex-basis:auto}}.gmp-goals{border:1px solid var(--border);background:var(--bg-panel);border-radius:14px;flex-direction:column;flex:7 1 0;min-height:0;padding:.85rem;display:flex}.gmp-head{align-items:center;gap:.4rem;display:flex}.gmp-arrow{border:1px solid var(--border);background:var(--bg-base);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0}.gmp-arrow:hover{border-color:var(--accent);color:var(--accent)}.gmp-member{flex:1;justify-content:center;align-items:center;gap:.4rem;font-size:.95rem;font-weight:800;display:flex}.gmp-avatar{color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.75rem;font-weight:800;display:grid}.gmp-avatar--all{background:var(--bg-hover);font-size:.9rem}.gmp-owner{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:17px;height:17px;font-size:.62rem;font-weight:800;display:grid}.gmp-date{color:var(--accent);background:var(--accent-soft,#6366f124);border-radius:999px;flex-shrink:0;padding:1px 5px;font-size:.64rem;font-weight:800}.gmp-me{color:var(--accent);background:var(--accent-soft,#6366f124);border-radius:999px;padding:1px 6px;font-size:.66rem;font-weight:800}.gmp-subhead{justify-content:space-between;align-items:center;margin:.4rem 0 .1rem;display:flex}.gmp-week{color:var(--text-muted);font-size:.76rem}.gmp-progress{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.76rem}.gmp-progress b{color:var(--accent)}.gmp-lock{color:#b45309;margin:.2rem 0;font-size:.74rem}.gmp-list{scrollbar-width:thin;flex-direction:column;flex:1;gap:.35rem;min-height:0;margin:.3rem 0;display:flex;overflow-y:auto}.gmp-empty{color:var(--text-muted);margin:.3rem 0;font-size:.8rem}.gmp-goal{border:1px solid var(--border);background:var(--bg-base);border-radius:9px;padding:.45rem .55rem}.gmp-goal.done{opacity:.6}.gmp-goal-top{align-items:center;gap:.4rem;display:flex}.gmp-goal-top input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.gmp-goal-count{color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.7rem;font-weight:800}.gmp-goal-title{word-break:break-word;flex:1;min-width:0;font-size:.85rem;font-weight:700}.gmp-goal.done .gmp-goal-title{text-decoration:line-through}.gmp-goal-del{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:2px 5px;font-size:.8rem;line-height:1}.gmp-goal:hover .gmp-goal-del{opacity:1}.gmp-goal-del:hover{color:#dc2626;background:var(--bg-hover)}.gmp-carry{color:#7c3aed;background:#7c3aed1f;border-radius:999px;flex-shrink:0;padding:1px 5px;font-size:.62rem;font-weight:800}.gmp-goal-desc{color:var(--text-secondary);word-break:break-word;margin:.25rem 0 0;font-size:.75rem;line-height:1.45}.gmp-subs{flex-direction:column;gap:.15rem;margin:.3rem 0 0;padding:0;list-style:none;display:flex}.gmp-subs li{align-items:center;gap:.35rem;font-size:.78rem;display:flex}.gmp-subs li input[type=checkbox]{width:13px;height:13px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.gmp-subs li.done span{color:var(--text-muted);text-decoration:line-through}.gmp-open-all{border:1px solid var(--border);background:var(--bg-base);width:100%;color:var(--accent);cursor:pointer;border-radius:9px;flex-shrink:0;margin-top:.5rem;padding:.5rem;font-size:.82rem;font-weight:800}.gmp-open-all:hover{border-color:var(--accent)}.gmp-memo{border:1px solid var(--border);background:var(--bg-panel);border-radius:14px;flex-direction:column;flex:3 1 0;min-height:90px;padding:.7rem .85rem;display:flex}.gmp-memo-label{color:var(--text-muted);margin:0 0 .4rem;font-size:.78rem;font-weight:800}.gmp-memo-area{resize:none;width:100%;min-height:0;font:inherit;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.83rem;line-height:1.55}.twg-add-btn{border:1px dashed var(--border);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:9px;margin-top:auto;padding:.5rem;font-size:.84rem;font-weight:700}.twg-add-btn:hover{border-color:var(--accent);color:var(--accent)}.twg-card{border:1px solid var(--border);background:var(--bg-base);cursor:grab;border-radius:10px;padding:.5rem .6rem}.twg-card.dragging{opacity:.4}.twg-card.drag-over{box-shadow:0 -2px 0 0 var(--accent)}.twg-card.done{opacity:.62}.twg-card.miss{background:#dc262612;border-color:#dc262659}.twg-card-top{align-items:center;gap:.4rem;display:flex}.twg-card-top input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.twg-card-count{color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.72rem;font-weight:800}.twg-card-title{word-break:break-word;flex:1;min-width:0;font-size:.9rem;font-weight:700}.twg-card.done .twg-card-title{color:var(--text-muted);text-decoration:line-through}.twg-card.miss .twg-card-title{color:#b91c1c}.twg-date{color:#7c3aed;background:#7c3aed1f;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:.66rem;font-weight:800}.twg-carry{color:#7c3aed;background:#7c3aed1f;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:.64rem;font-weight:800}.twg-card-actions{opacity:0;flex-shrink:0;align-items:center;gap:1px;display:flex}.twg-card:hover .twg-card-actions{opacity:1}.twg-card-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:3px 5px;font-size:.9rem;line-height:1}.twg-card-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.twg-card-del:hover{color:#dc2626}.twg-card-desc{color:var(--text-secondary);word-break:break-word;margin:.35rem 0 0;font-size:.8rem;line-height:1.5}.twg-subs{flex-direction:column;gap:.2rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.twg-subs li{align-items:center;gap:.4rem;font-size:.83rem;display:flex}.twg-subs li input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.twg-subs li.done span{color:var(--text-muted);text-decoration:line-through}.twg-sub-ro{text-align:center;width:14px;color:var(--accent);flex-shrink:0;font-size:.8rem;font-weight:800}.twg-modal{max-width:560px}.twg-modal-body{flex-direction:column;gap:.9rem;display:flex}.twg-field{flex-direction:column;gap:.3rem;display:flex}.twg-field>span{color:var(--text-muted);font-size:.78rem;font-weight:700}.twg-field>span small{font-weight:600}.twg-field input[type=text],.twg-field textarea{font:inherit;border:1px solid var(--border);background:var(--bg-input,var(--bg-base));color:var(--text-primary);border-radius:10px;padding:.6rem .75rem;font-size:.92rem}.twg-field textarea{resize:vertical;line-height:1.55}.twg-modal-subs{flex-direction:column;gap:.35rem;display:flex}.twg-modal-subs-empty{color:var(--text-muted);margin:.1rem 0;font-size:.78rem}.twg-modal-sub{align-items:center;gap:.4rem;display:flex}.twg-modal-sub input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.twg-modal-sub input[type=text]{min-width:0;font:inherit;border:1px solid var(--border);background:var(--bg-input,var(--bg-base));color:var(--text-primary);border-radius:8px;flex:1;padding:.4rem .55rem;font-size:.88rem}.twg-modal-addsub{border:1px dashed var(--border);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;padding:.35rem .7rem;font-size:.8rem;font-weight:700}.twg-modal-addsub:hover{border-color:var(--accent);color:var(--accent)}.twg-modal-save{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1;padding:.6rem;font-weight:800}.twg-modal-save:disabled{opacity:.5;cursor:default}.sch-modal{flex-direction:column;width:min(940px,100vw - 2rem);max-width:none;max-height:92vh;padding:0;display:flex;overflow:hidden}.sch-head{background:var(--accent);color:#fff;flex-shrink:0;align-items:center;gap:12px;padding:1rem 1.35rem;display:flex}.sch-head-title{font-size:1.12rem;font-weight:800}.sch-head-date{opacity:.92;font-size:.9rem;font-weight:600}.sch-close{color:#fff;cursor:pointer;background:#ffffff29;border:none;border-radius:9px;flex-shrink:0;width:34px;height:34px;margin-left:auto;font-size:1rem}.sch-close:hover{background:#ffffff4d}.sch-scroll{flex:1;min-height:0;padding-bottom:.4rem;overflow-y:auto}.sch-body{gap:1rem;padding:1.15rem 1.35rem 0;display:flex}.sch-pane{border:1px solid var(--border);background:var(--bg-panel);border-radius:14px;padding:.9rem}.sch-pane--cal{flex:0 0 46%;min-width:0}.sch-pane--cal .gtm-cal{border:none;padding:0}.sch-pane--time{flex-direction:column;flex:1;min-width:0;display:flex}.sch-pane-head{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:.7rem;font-size:.92rem;font-weight:700;display:flex}.sch-clock{font-size:1rem}.sch-time-clear{border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:7px;margin-left:auto;padding:.2rem .55rem;font-size:.74rem;font-weight:700}.sch-time-clear:hover{border-color:var(--accent);color:var(--accent)}.sch-time-summary{align-items:center;gap:6px;display:inline-flex}.sch-time-tilde{color:var(--text-muted)}.sch-time-hint{color:var(--text-muted);font-size:.86rem;font-weight:600}.sch-time-val{background:var(--bg-base);color:var(--text-primary);font:inherit;font-variant-numeric:tabular-nums;cursor:text;border:1px solid #0000;border-radius:7px;padding:.12rem .5rem;font-weight:800}.sch-time-val:hover{border-color:var(--accent);color:var(--accent)}.sch-time-edit{border:1px solid var(--accent);background:var(--bg-input);width:6.2em;color:var(--text-primary);font:inherit;border-radius:7px;outline:none;padding:.12rem .5rem;font-weight:800}.sch-desc-editor{margin:0 1.35rem .6rem}.sch-desc-editor .rte{max-width:100%}.sch-cat{flex-direction:column;gap:.5rem;margin:.6rem 1.35rem;display:flex}.sch-cat-tabs{flex-wrap:wrap;gap:.4rem;display:flex}.sch-cat-tab{border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.83rem;font-weight:700}.sch-cat-tab:hover{border-color:var(--accent);color:var(--accent)}.sch-cat-tab.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.sch-cat-pick{flex-wrap:wrap;gap:.4rem;padding:.2rem .1rem;display:flex}.sch-pick-chip{border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:.35rem .75rem;font-size:.82rem;font-weight:700;display:inline-flex}.sch-pick-chip:hover{border-color:var(--accent);color:var(--accent)}.sch-pick-chip.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.sch-pick-thumb{object-fit:cover;border-radius:50%;width:18px;height:18px}.sch-cat-note{color:var(--text-secondary);margin:.15rem .1rem;font-size:.8rem}.sch-recur{flex-direction:column;gap:.55rem;margin:.6rem 1.35rem;display:flex}.sch-recur.open{border:1px solid var(--border);background:var(--bg-base);border-radius:12px;padding:.7rem .85rem}.sch-recur-freqs{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.sch-recur-lbl{color:var(--text-secondary);margin-right:.2rem;font-size:.83rem;font-weight:800}.sch-recur-btn{border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:.35rem .8rem;font-size:.82rem;font-weight:700}.sch-recur-btn:hover{border-color:var(--accent);color:var(--accent)}.sch-recur-btn.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.sch-recur.open .sch-recur-btn{background:var(--bg-hover)}.sch-recur.open .sch-recur-btn.on{background:color-mix(in srgb, var(--accent) 14%, transparent)}.sch-recur-opts{flex-direction:column;gap:.5rem;display:flex}.sch-recur-row{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.82rem;font-weight:700;display:flex}.sch-recur-row input[type=number]{border:1px solid var(--border);background:var(--bg-input,var(--bg-base));width:3.4rem;color:var(--text-primary);font:inherit;border-radius:7px;padding:.3rem .4rem}.sch-recur-row input[type=date]{border:1px solid var(--border);background:var(--bg-input,var(--bg-base));color:var(--text-primary);font:inherit;border-radius:7px;padding:.3rem .45rem}.sch-recur-unit{color:var(--text-muted);font-weight:600}.sch-recur-wds{flex-wrap:wrap;gap:.3rem;display:flex}.sch-recur-wd{border:1px solid var(--border);background:var(--bg-base);width:2.1rem;height:2.1rem;color:var(--text-secondary);cursor:pointer;border-radius:50%;font-size:.8rem;font-weight:800}.sch-recur-wd:hover{border-color:var(--accent)}.sch-recur-wd.on{border-color:var(--accent);background:var(--accent);color:#fff}.sch-recur-wd.sun{color:#ef4444}.sch-recur-wd.sat{color:#3b82f6}.sch-recur-wd.on.sun,.sch-recur-wd.on.sat{color:#fff}.sch-recur-end{flex-direction:column;gap:.35rem;display:flex}.sch-recur-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.78rem;font-weight:700;text-decoration:underline}.sch-recur-preview{color:var(--text-muted);margin:.1rem 0 0;font-size:.8rem}.sch-recur-preview b{color:var(--accent)}.gt-chip-cat{flex-shrink:0;margin-right:2px;font-size:.72em}.sch-legend{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:12px;margin-top:.75rem;font-size:.76rem;display:flex}.sch-lg{align-items:center;gap:5px;display:inline-flex}.sch-lg-dot{border-radius:50%;width:12px;height:12px;display:inline-block}.sch-lg-start{background:var(--accent)}.sch-lg-range{background:color-mix(in srgb, var(--accent) 30%, transparent)}.sch-lg-hint{color:var(--accent);margin-left:auto;font-weight:700}.sch-form{flex-wrap:wrap;align-items:center;gap:.7rem;padding:1.1rem 1.35rem 0;display:flex}.sch-title{min-width:220px;font:inherit;border:1px solid var(--border);background:var(--bg-input,var(--bg-base));color:var(--text-primary);border-radius:11px;flex:1;padding:.78rem .95rem;font-size:1rem}.sch-title:focus{border-color:var(--accent);outline:none}.sch-colors{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.sch-desc{width:auto;font:inherit;border:1px solid var(--border);background:var(--bg-input,var(--bg-base));color:var(--text-primary);resize:vertical;border-radius:11px;margin:.75rem 1.35rem 0;padding:.7rem .9rem;font-size:.92rem;line-height:1.55;display:block}.sch-desc:focus{border-color:var(--accent);outline:none}.sch-atts{flex-wrap:wrap;align-items:center;gap:.4rem;padding:.6rem 1.35rem 0;display:flex}.sch-att-add{color:var(--accent);border:1px dashed var(--border);cursor:pointer;border-radius:8px;align-items:center;padding:.35rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.sch-att-add:hover{border-color:var(--accent)}.sch-att-add.busy{opacity:.6;cursor:default}.sch-dt{border:1px solid var(--border);border-radius:12px;margin:.85rem 1.35rem 0;overflow:hidden}.sch-dt-toggle{background:var(--bg-panel);cursor:pointer;width:100%;font:inherit;color:var(--text-primary);border:none;align-items:center;gap:.5rem;padding:.72rem .9rem;display:flex}.sch-dt-toggle:hover{background:var(--bg-hover)}.sch-dt-summary{font-size:.88rem;font-weight:700}.sch-dt-caret{color:var(--text-muted);margin-left:auto;font-size:.8rem}.sch-dt .sch-body{border-top:1px solid var(--border);padding:.9rem}.sch-selected{padding:1.1rem 1.35rem .4rem}.sch-selected-label{color:var(--text-muted);margin:0 0 .55rem;font-size:.8rem;font-weight:800}.sch-selected-label b{color:var(--accent)}.sch-chips{flex-wrap:wrap;gap:.5rem;display:flex}.sch-chips-empty{color:var(--text-muted);font-size:.82rem}.sch-chip{border:1px solid var(--border);background:var(--bg-base);border-radius:11px;align-items:center;gap:.45rem;padding:.45rem .65rem;display:inline-flex}.sch-chip.done{opacity:.55}.sch-chip input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.sch-chip-edit{font:inherit;color:var(--text-primary);background:0 0;border:none;outline:none;width:8rem;min-width:60px;font-size:.87rem}.sch-chip-edit:focus{background:var(--bg-hover);border-radius:6px}.sch-chip.done .sch-chip-edit{text-decoration:line-through}.sch-chip-meta{color:var(--text-muted);white-space:nowrap;font-size:.7rem}.sch-chip-x{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px;font-size:.8rem}.sch-chip-x:hover{color:#dc2626;background:var(--bg-hover)}.sch-chip-open{color:var(--text-primary);font:inherit;cursor:pointer;text-align:left;text-overflow:ellipsis;background:0 0;border:none;min-width:0;padding:0;font-weight:600;overflow:hidden}.sch-chip-open:hover{color:var(--accent);text-decoration:underline}.sch-done-toggle{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.45rem;margin:.2rem 1.35rem .6rem;font-size:.85rem;font-weight:700;display:inline-flex}.sch-done-toggle input{accent-color:var(--accent)}.sch-delete{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #dc262673;border-radius:12px;padding:.85rem 1.1rem;font-size:.9rem;font-weight:800}.sch-delete:hover{background:#dc26261a}.sch-foot{border-top:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:.8rem;padding:1rem 1.35rem 1.35rem;display:flex}.sch-reset{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;font-size:.78rem;text-decoration:underline}.sch-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;flex:200px;min-width:0;padding:.85rem 1.5rem;font-size:.98rem;font-weight:800}.sch-submit:disabled{opacity:.5;cursor:default}@media (width<=768px){.sch-body{flex-direction:column}.sch-pane--cal{flex-basis:auto}}.gm-modal{flex-direction:column;width:min(600px,100vw - 2rem);max-width:none;max-height:90vh;padding:0;display:flex;overflow:hidden}.gm-head{background:var(--accent);color:#fff;flex-shrink:0;align-items:center;gap:10px;padding:.95rem 1.25rem;display:flex}.gm-head-title{font-size:1.08rem;font-weight:800}.gm-head-sub{opacity:.9;font-size:.82rem;font-weight:600}.gm-close{color:#fff;cursor:pointer;background:#ffffff29;border:none;border-radius:9px;width:32px;height:32px;margin-left:auto}.gm-close:hover{background:#ffffff4d}.gm-body{flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1.2rem 1.25rem;display:flex;overflow-y:auto}.gm-field{flex-direction:column;gap:.35rem;display:flex}.gm-field>span{color:var(--text-muted);font-size:.78rem;font-weight:800}.gm-hint{color:var(--text-muted);margin-left:.4rem;font-size:.7rem;font-weight:600}.gm-datepick{flex-wrap:wrap;gap:.35rem;display:flex}.gm-date-btn{min-height:34px;font:inherit;border:1px solid var(--border);background:var(--bg-input,var(--bg-base));color:var(--text-secondary);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:.2rem;padding:.25rem .6rem;font-size:.8rem;font-weight:700;display:inline-flex}.gm-date-btn.day{flex-direction:column;gap:0;min-width:40px;padding:.2rem .35rem;line-height:1.15}.gm-date-btn.day small{opacity:.7;font-size:.72rem;font-weight:700}.gm-date-btn.day.sun{color:#ef4444}.gm-date-btn.day.sat{color:#3b82f6}.gm-date-btn:hover{border-color:var(--accent)}.gm-date-btn.on{border-color:var(--accent);background:var(--accent);color:#fff}.gm-date-btn.on small{opacity:.95}.gm-cal-anchor{margin-left:auto;position:relative}.gm-cal-btn{gap:.25rem}.gm-cal-btn small{font-size:.7rem;font-weight:800}.gm-cal-backdrop{z-index:1200;background:0 0;position:fixed;inset:0}.gm-cal-pop{z-index:1201;border:1px solid var(--border);background:var(--bg-card,var(--bg-base));border-radius:12px;width:260px;padding:.6rem;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000038}.gm-cal-head{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.gm-cal-title{color:var(--text-primary);font-size:.86rem;font-weight:800}.gm-cal-nav{border:1px solid var(--border);background:var(--bg-input,var(--bg-base));width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:8px;font-size:1rem;line-height:1}.gm-cal-nav:hover{border-color:var(--accent);color:var(--accent)}.gm-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.gm-cal-wd{margin-bottom:2px}.gm-cal-wdc{text-align:center;color:var(--text-muted);padding:2px 0;font-size:.66rem;font-weight:700}.gm-cal-wdc.sun{color:#ef4444}.gm-cal-wdc.sat{color:#3b82f6}.gm-cal-empty{aspect-ratio:1}.gm-cal-day{aspect-ratio:1;font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:.78rem;font-weight:600;display:inline-flex}.gm-cal-day:hover{border-color:var(--accent);color:var(--text-primary)}.gm-cal-day.sun{color:#ef4444}.gm-cal-day.sat{color:#3b82f6}.gm-cal-day.today{border-color:var(--border);font-weight:800}.gm-cal-day.on{background:var(--accent);border-color:var(--accent);color:#fff}.gm-field input[type=text],.gm-field textarea{font:inherit;border:1px solid var(--border);background:var(--bg-input,var(--bg-base));color:var(--text-primary);border-radius:10px;padding:.65rem .8rem;font-size:.94rem}.gm-field input[type=text]:focus,.gm-field textarea:focus{border-color:var(--accent);outline:none}.gm-field textarea{resize:vertical;line-height:1.55}.gm-atts{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.gm-att-add{color:var(--accent);border:1px dashed var(--border);cursor:pointer;border-radius:8px;align-items:center;padding:.35rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.gm-att-add:hover{border-color:var(--accent)}.gm-att-add.busy{opacity:.6;cursor:default}.gm-tree{flex-direction:column;gap:.35rem;display:flex}.gm-tree-empty{color:var(--text-muted);margin:.1rem 0;font-size:.78rem;line-height:1.5}.gm-node{border:1px solid var(--border);background:var(--bg-base);border-radius:10px;padding:.4rem .5rem}.gm-node--l1{background:var(--bg-panel)}.gm-node-row{align-items:center;gap:.4rem;display:flex}.gm-caret{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;width:18px;padding:0;font-size:.72rem}.gm-caret-sp{flex-shrink:0;width:18px}.gm-node-check{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.gm-node-title{min-width:0;font:inherit;background:var(--bg-input,var(--bg-card));color:var(--text-primary);border:1px solid #0000;border-radius:7px;flex:1;padding:.35rem .5rem;font-size:.88rem}.gm-node-title:focus{border-color:var(--accent);outline:none}.gm-node-attach{cursor:pointer;border-radius:6px;flex-shrink:0;padding:2px 4px;font-size:.9rem}.gm-node-attach:hover{background:var(--bg-hover)}.gm-node-attach.busy{opacity:.5}.gm-node-date-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font:inherit;cursor:pointer;white-space:nowrap;border-radius:7px;flex-shrink:0;padding:.25rem .45rem;font-size:.72rem;font-weight:700}.gm-node-date-btn:hover{border-color:var(--accent);color:var(--accent)}.gm-node-date-btn.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.gm-node-datepick{flex-wrap:wrap;gap:.3rem;padding:.4rem 0 .2rem 1.6rem;display:flex}.gm-node-atts{flex-wrap:wrap;gap:.35rem;padding:.35rem 0 .1rem 1.6rem;display:flex}.gm-children{border-left:2px solid var(--border);flex-direction:column;gap:.35rem;margin:.4rem 0 .1rem .5rem;padding-left:1.1rem;display:flex}.gm-del{border:1px solid var(--border);background:var(--bg-card);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:8px;flex-shrink:0;place-items:center;transition:all .12s;display:grid}.gm-del:hover{color:#dc2626;background:#dc262614;border-color:#dc2626}.gm-add-sub,.gm-add-top{border:1px dashed var(--border);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;padding:.4rem .75rem;font-size:.8rem;font-weight:700}.gm-add-sub:hover,.gm-add-top:hover{border-color:var(--accent);color:var(--accent)}.gm-add-top{margin-top:.2rem}.gm-foot{border-top:1px solid var(--border);flex-shrink:0;gap:.6rem;padding:.9rem 1.25rem;display:flex}.gm-cancel{border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;border-radius:10px;padding:.65rem 1.2rem;font-weight:700}.gm-save{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1;padding:.65rem;font-weight:800}.gm-save:disabled{opacity:.5;cursor:default}.gtv{flex-direction:column;gap:.15rem;margin-top:.4rem;display:flex}.gtv-node{flex-direction:column;display:flex}.gtv-row{align-items:center;gap:.35rem;min-width:0;padding:.15rem 0;display:flex}.gtv-caret{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;width:16px;padding:0;font-size:.66rem}.gtv-caret-sp{flex-shrink:0;width:16px}.gtv-row input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.gtv-count{color:var(--text-muted);background:var(--bg-hover);font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:.68rem;font-weight:800}.gtv-count.full{color:#fff;background:var(--accent)}.gtv-title{word-break:break-word;flex:1;min-width:0;font-size:.82rem}.gtv-date{color:#7c3aed;background:#7c3aed1f;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:.66rem;font-weight:800}.gtv-node.done>.gtv-row>.gtv-title{color:var(--text-muted);text-decoration:line-through}.gtv-att{opacity:.8;flex-shrink:0;font-size:.78rem;text-decoration:none}.gtv-att:hover{opacity:1}.gtv-children{border-left:2px solid var(--border);flex-direction:column;gap:.15rem;margin-left:.5rem;padding-left:.7rem;display:flex}.twg-card{cursor:pointer}.twg-card .twg-grip{cursor:grab;opacity:.35;margin-right:1px}.twg-card .twg-grip:hover{opacity:.9}.twg-card .twg-grip:active{cursor:grabbing}.twg-card-del{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:3px 5px;font-size:.85rem;line-height:1}.twg-card:hover .twg-card-del{opacity:1}.twg-card-del:hover{color:#dc2626;background:var(--bg-hover)}.gmp-goal{cursor:pointer}.gmp-goal:hover{border-color:var(--accent)}.twg-card.pending{cursor:default;background:#7c3aed0d;border:1.5px dashed #7c3aed}.twg-carry-pend{color:#b45309;background:#f59e0b29}.twg-carry-actions{gap:.4rem;margin-top:.45rem;display:flex}.twg-carry-ok,.twg-carry-no{cursor:pointer;border-radius:8px;flex:1;padding:.32rem .5rem;font-size:.78rem;font-weight:800}.twg-carry-ok{color:#fff;background:#7c3aed;border:none}.twg-carry-ok:hover{background:#6d28d9}.twg-carry-no{border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary)}.twg-carry-no:hover{color:#dc2626;border-color:#dc2626}.gmp-goal.pending{cursor:default;background:#7c3aed0d;border:1.5px dashed #7c3aed}.gmp-carry-pend{color:#b45309;background:#f59e0b29}.gmp-carry-actions{gap:.35rem;margin-top:.4rem;display:flex}.gmp-carry-ok,.gmp-carry-no{cursor:pointer;border-radius:7px;flex:1;padding:.26rem .4rem;font-size:.72rem;font-weight:800}.gmp-carry-ok{color:#fff;background:#7c3aed;border:none}.gmp-carry-ok:hover{background:#6d28d9}.gmp-carry-no{border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary)}.gmp-carry-no:hover{color:#dc2626;border-color:#dc2626}.twg-report-btn{border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);cursor:pointer;border-radius:8px;margin-left:auto;padding:.35rem .7rem;font-size:.82rem;font-weight:800}.twg-report-btn:hover{border-color:var(--accent);color:var(--accent)}.twg-report-ctl{color:var(--text-secondary);align-items:center;gap:.5rem;margin-left:auto;font-size:.82rem;display:flex}.twg-report-ctl>b{color:var(--accent)}.twg-report-go{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.35rem .7rem;font-size:.82rem;font-weight:800}.twg-report-go:disabled{opacity:.45;cursor:default}.twg-report-cancel{border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:.35rem .6rem;font-size:.82rem}.twg-card.report-sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.twg-pick{border:2px solid var(--border);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.7rem;font-weight:900;display:inline-flex}.twg-pick.on{border-color:var(--accent);background:var(--accent)}.dm-hint{color:var(--text-muted);margin-left:.6rem;font-size:.78rem}.dm-play{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-left:auto;padding:.4rem .9rem;font-size:.85rem;font-weight:800}.dm-play:hover{filter:brightness(1.08)}.dm-play:disabled{opacity:.45;cursor:default}.dm-src{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:.64rem;font-weight:800}.dm-src.gone{color:var(--text-muted);background:var(--bg-hover)}.dms-overlay{z-index:1000;color:#f1f5f9;background:#0f1117;flex-direction:column;display:flex;position:fixed;inset:0}.dms-close{z-index:2;color:#e2e8f0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:8px;padding:.4rem .8rem;font-size:.85rem;position:absolute;top:1rem;right:1.2rem}.dms-close:hover{background:#ffffff29}.dms-stage{cursor:pointer;flex:1;justify-content:center;align-items:center;min-height:0;padding:3rem clamp(1.5rem,8vw,7rem);display:flex}.dms-slide{scrollbar-width:thin;width:100%;max-width:900px;max-height:100%;overflow-y:auto}.dms-cover{text-align:center}.dms-cover-kicker{letter-spacing:.25em;color:#a5b4fc;margin:0 0 .8rem;font-size:1rem;font-weight:800}.dms-cover-sub{color:#94a3b8;margin:1.2rem 0 0;font-size:1.05rem}.dms-meta{align-items:center;gap:.6rem;margin-bottom:1.1rem;display:flex}.dms-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-weight:900;display:inline-flex}.dms-member{font-size:1.05rem;font-weight:800}.dms-kind{color:#cbd5e1;background:#ffffff1a;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:800}.dms-kind.goal{color:#c4b5fd;background:#7c3aed40}.dms-prog{color:#fbbf24;font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:900}.dms-prog.full{color:#34d399}.dms-title{word-break:break-word;margin:0 0 .9rem;font-size:clamp(1.6rem,4.5vw,2.6rem);font-weight:900;line-height:1.25}.dms-desc{color:#cbd5e1;white-space:pre-wrap;word-break:break-word;margin:0 0 1.1rem;font-size:1.05rem;line-height:1.65}.dms-tree{cursor:default;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:.9rem 1.1rem}.dms-tree .gtv-title{font-size:.98rem}.dms-atts{cursor:default;flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.dms-att{color:#c7d2fe;background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;padding:.3rem .7rem;font-size:.85rem;font-weight:700;text-decoration:none}.dms-att:hover{background:#ffffff29}.dms-nav{justify-content:center;align-items:center;gap:1rem;padding:.9rem 0 1.4rem;display:flex}.dms-arrow{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:50%;width:44px;height:44px;font-size:1.4rem;line-height:1}.dms-arrow:hover:not(:disabled){background:#ffffff2e}.dms-arrow:disabled{opacity:.3;cursor:default}.dms-counter{color:#94a3b8;font-variant-numeric:tabular-nums;text-align:center;min-width:64px;font-size:.9rem}.sch-cat-tab svg,.sch-dt-summary svg,.sch-clock svg,.sch-recur-lbl svg,.gt-goal-ic svg,.twg-date svg,.twg-carry svg,.twg-lock-note svg,.gt-att-chip a svg,.gm-node-date-btn svg,.gm-node-attach svg,.gm-del svg,.gtv-date svg,.gtv-att svg,.gmp-date svg,.gmp-carry svg,.gmp-lock svg,.gmp-memo-label svg,.twg-report-btn svg,.twg-report-go svg,.dm-play svg,.dms-kind svg,.dms-close svg,.sch-head-title svg,.sch-delete svg,.twg-card-del svg,.gmp-goal-del svg,.gt-sw-custom svg,.gmp-avatar--all svg{vertical-align:-3px;flex-shrink:0}.sch-cat-tab{align-items:center;gap:5px;display:inline-flex}.sch-clock{color:var(--text-secondary);align-items:center;display:inline-flex}.gt-goal-ic{align-items:center;display:inline-flex}.gt-goal-ic svg{width:12px;height:12px}.gtv-date svg,.gtv-att svg,.twg-date svg,.gmp-date svg,.twg-carry svg,.gmp-carry svg{width:13px;height:13px}.gt-sw-custom{color:var(--text-secondary);justify-content:center;align-items:center;display:inline-flex}.gt-sw-custom svg{width:13px;height:13px}.twg-card-del,.gmp-goal-del{justify-content:center;align-items:center;display:inline-flex}.twg-card-del svg,.gmp-goal-del svg{width:14px;height:14px}.gmp-avatar--all svg{width:15px;height:15px}.dms-kind{align-items:center;gap:4px;display:inline-flex}.dms-close{align-items:center;gap:6px;display:inline-flex}.dm-play,.twg-report-btn,.twg-report-go,.twg-lock-note,.gmp-lock,.gmp-memo-label{align-items:center;gap:5px;display:inline-flex}.sch-head-title{align-items:center;gap:7px;display:inline-flex}.sch-delete{align-items:center;gap:6px;display:inline-flex}.gm-node-attach,.gm-node-date-btn,.gm-del{align-items:center;gap:4px;display:inline-flex}.empty-state.twg-empty{padding:1.1rem .5rem}.dms-cover-title{margin:.4rem 0 .6rem;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:900}.dms-title{margin:0 0 .8rem;font-size:clamp(1.3rem,3.2vw,2.1rem);font-weight:900;line-height:1.3}@media (hover:none){.gt-today-btn,.gt-panel-toggle,.gt-add-task-btn,.gt-span-btn,.gt-scope-btn,.gt-cal-open{min-height:44px;padding-left:.8rem;padding-right:.8rem}.gt-nav,.gt-nav-sm,.twg-check{width:44px;height:44px}.gt-fs-select select{min-height:44px}.twg-report-btn,.twg-report-cancel,.twg-report-go,.twg-add-btn,.twg-carry-ok,.twg-carry-no,.dm-play{min-height:44px;padding-left:.8rem;padding-right:.8rem}.twg-card-del,.gmp-goal-del,.gmp-arrow,.gmp-open-all{min-width:44px;min-height:44px}.gm-close,.sch-close{width:44px;height:44px}.gm-cancel,.gm-save,.gm-add-top,.sch-submit,.sch-delete,.sch-reset{min-height:44px}.gm-node-date-btn,.gm-node-attach,.gm-del,.gm-att-add{min-width:44px;min-height:44px}.gm-date-btn,.sch-time-clear,.sch-att-add,.sch-dt-toggle{min-height:44px}.gt-att-chip a,.gt-att-x{align-items:center;min-height:44px;display:inline-flex}.gtv-att{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.gtv-caret{min-width:32px;min-height:32px}.sch-cat-tab,.sch-pick,.gt-dot-pick{min-height:44px}.dms-arrow,.dms-close{min-width:44px;min-height:44px}}.twg-check{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.twg-check input{cursor:pointer;margin:0}@media (hover:hover){.twg-check{width:32px;height:32px}.gmp-arrow{min-width:32px;min-height:32px}.gt-panel-toggle{min-height:32px}}.gmp-me{font-size:.72rem}@media (hover:none){.twg-check{width:44px;height:44px}.gt-sw{width:32px;height:32px}.sch-desc-editor .rte-btn{min-width:44px;min-height:44px}.sch-recur-btn,.sch-recur-wd,.sch-recur-clear{min-height:44px}.gm-date-btn{min-width:44px}.gtm-day{aspect-ratio:auto;min-height:44px}}@media (hover:hover){.sch-desc-editor .rte-btn{min-width:32px;min-height:32px}.sch-recur-btn{min-height:32px}}.gm-hint{font-size:.72rem}@media (width<=768px){.sch-body{gap:.6rem;padding:1rem .6rem 0}.sch-pane{padding:.6rem}}@media (hover:none){.gm-date-btn.day{min-width:44px}}@media (width<=1024px){.gmp-wrap{height:auto}.gmp-goals,.gmp-memo{flex:none}.gmp-list{max-height:46vh}.gmp-memo-area{min-height:96px}}@media (width<=768px){.gt-span,.gt-fs-select,.gt-panel-toggle{display:none}.gt-cal-bar{row-gap:.4rem}}@media (hover:none){.twg-grip{display:none}}@media (width<=1024px){.tasks-with-panel .tasks-cal-col{order:0}.tasks-with-panel .gmp-wrap{order:1}.twg-wrap{height:auto}.twg-grid{flex:none;align-content:start}.twg-col{min-height:0}}@media (hover:none){.twg-card-actions,.twg-item-att,.twg-item-x{opacity:1}}.suno-home{box-sizing:border-box;width:100%;max-width:1440px;margin:0 auto;padding:1.5rem 1rem 4rem}.sh-mbti-wrap{margin:.5rem 0 1.5rem}.sh-mbti{--ngl-primary:var(--accent);--ngl-primary-dark:color-mix(in srgb, var(--accent) 72%, #000);--ngl-primary-light:color-mix(in srgb, var(--accent) 82%, #fff);box-sizing:border-box;cursor:pointer;width:100%;min-height:218px;font:inherit;text-align:left;color:#fff;background:radial-gradient(90% 140% at 88% 0%, color-mix(in srgb, var(--ngl-primary-light) 45%, transparent), transparent 55%), linear-gradient(135deg, var(--ngl-primary) 0%, var(--ngl-primary-dark) 100%);box-shadow:0 16px 44px color-mix(in srgb, var(--ngl-primary) 34%, transparent);border:none;border-radius:24px;align-items:center;gap:1.6rem;padding:2rem 2.4rem;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.sh-mbti:hover{box-shadow:0 22px 54px color-mix(in srgb, var(--ngl-primary) 44%, transparent);transform:translateY(-3px)}.sh-mbti-sky{pointer-events:none;z-index:0;position:absolute;inset:0}.sh-mbti-sky i{width:calc(26px + var(--i,0) * 9px);height:calc(26px + var(--i,0) * 9px);left:calc(4% + var(--i,0) * 12.5%);animation:shMbtiFloat calc(5.5s + var(--i,0) * .9s) ease-in-out calc(var(--i,0) * -1.3s) infinite;background:#ffffff17;border-radius:50%;position:absolute}.sh-mbti-sky i:nth-child(odd){top:12%}.sh-mbti-sky i:nth-child(2n){top:58%}.sh-mbti-sky i:nth-child(3){top:70%}.sh-mbti-sky i:nth-child(6){top:8%}.sh-mbti-sky i:nth-child(3n){background:#2f1f1424}@keyframes shMbtiFloat{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-16px)scale(1.06)}}.sh-mbti-mascot{z-index:1;filter:drop-shadow(0 10px 18px #0000004d);flex-shrink:0;font-size:4.6rem;line-height:1;animation:2.6s ease-in-out infinite shMbtiBob;position:relative}.sh-mbti:hover .sh-mbti-mascot{animation:.7s shMbtiWiggle}@keyframes shMbtiBob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes shMbtiWiggle{0%,to{transform:rotate(0)scale(1)}30%{transform:rotate(-7deg)scale(1.14)}60%{transform:rotate(5deg)scale(1.06)}}.sh-mbti-body{z-index:1;flex-direction:column;align-items:flex-start;gap:.55rem;min-width:0;display:flex;position:relative}.sh-mbti-tag{letter-spacing:.02em;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:800}.sh-mbti-title{letter-spacing:-.01em;text-shadow:0 2px 14px #0000004d;font-size:1.75rem;font-weight:800;line-height:1.28}.sh-mbti-sub{color:#ffffffeb;text-shadow:0 1px 8px #00000040;font-size:.94rem;font-weight:500;line-height:1.55}.sh-mbti-cta{color:var(--ngl-primary-dark);background:#fff;border-radius:999px;align-items:center;gap:.45rem;margin-top:.5rem;padding:.78rem 1.5rem;font-size:1.02rem;font-weight:800;transition:transform .12s,box-shadow .12s;display:inline-flex;box-shadow:0 6px #0000002e}.sh-mbti:hover .sh-mbti-cta{transform:translateY(-2px);box-shadow:0 8px #0003}.sh-mbti-cta b{transition:transform .15s}.sh-mbti:hover .sh-mbti-cta b{transform:translate(4px)}.sh-mbti-splash{z-index:4000;pointer-events:none;width:0;height:0;position:fixed}.sh-mbti-splash i{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 40%, #fff) 0%, color-mix(in srgb, var(--accent) 78%, #fff) 30%, var(--accent) 58%, color-mix(in srgb, var(--accent) 72%, #000) 100%);border-radius:50%;width:320vmax;height:320vmax;margin:-160vmax 0 0 -160vmax;animation:.48s cubic-bezier(.32,0,.35,1) forwards shMbtiSplashIn;position:absolute;top:0;left:0;transform:scale(0)}@keyframes shMbtiSplashIn{to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.sh-mbti-sky i,.sh-mbti-mascot{animation:none}}@media (width<=720px){.sh-mbti{flex-direction:column;align-items:flex-start;gap:.8rem;min-height:0;padding:1.4rem 1.3rem 1.6rem}.sh-mbti-mascot{font-size:3.2rem}.sh-mbti-title{font-size:1.3rem}.sh-mbti-sub{font-size:.85rem}.sh-mbti-br{display:none}}.sh-carousel{--sh-car-auto:3.6s;background:radial-gradient(120% 160% at 82% 0,#241a4d 0%,#16122e 45%,#0e0b1f 100%);border:1px solid #ffffff14;border-radius:22px;margin:.5rem 0 1.75rem;position:relative;overflow:hidden;box-shadow:0 16px 44px #00000057}.sh-carousel:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(60% 90% at 90% 12%,#8d6bff33,#0000 60%),radial-gradient(50% 80% at 8% 100%,#0ea5e924,#0000 60%);position:absolute;inset:0}.sh-car-track{z-index:1;transition:transform .42s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.sh-car-slide{box-sizing:border-box;color:#fff;flex:0 0 100%;align-items:center;gap:1.5rem;min-width:100%;min-height:210px;padding:2rem 2.2rem 2.6rem;display:flex;position:relative}.sh-car-badge{color:#fff;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;display:flex;box-shadow:0 10px 26px #00000059,inset 0 1px #ffffff59}.sh-car-badge svg{width:38px;height:38px}.sh-car-body{flex:1;min-width:0;position:relative}.sh-car-title{letter-spacing:-.01em;text-shadow:0 2px 14px #00000059;margin:0 0 .7rem;font-size:1.6rem;font-weight:800;line-height:1.25}.sh-car-steps{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.05rem;display:flex}.sh-car-step{background:#ffffff24;border:1px solid #ffffff29;border-radius:999px;padding:.26rem .7rem;font-size:.8rem;font-weight:600}.sh-car-step--res{color:#111;background:#fff;border-color:#0000;font-weight:700}.sh-car-arrow{opacity:.7;font-size:.9rem}.sh-car-inputrow{gap:.5rem;max-width:560px;display:flex}.sh-car-input{color:#111;background:#fffffff7;border:none;border-radius:12px;flex:1;min-width:0;padding:.75rem .95rem;font-size:.95rem;box-shadow:0 4px 14px #0003}.sh-car-input--area{resize:none;max-height:44px;font-family:inherit;line-height:1.4}.sh-car-input:focus{outline:2px solid #ffffffe6}.sh-car-actions{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.sh-car-cta{color:#111;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:12px;align-items:center;gap:.4rem;padding:.72rem 1.3rem;font-size:.98rem;font-weight:700;transition:transform .12s,box-shadow .12s;display:inline-flex;box-shadow:0 6px 18px #00000047}.sh-car-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px #00000052}.sh-car-cta-arrow{transition:transform .15s}.sh-car-cta:hover .sh-car-cta-arrow{transform:translate(3px)}.sh-car-skip{color:#ffffffc7;cursor:pointer;background:0 0;border:none;font-size:.86rem;font-weight:600}.sh-car-skip:hover{color:#fff}.sh-car-dots{z-index:2;justify-content:center;gap:.4rem;display:flex;position:absolute;bottom:.9rem;left:0;right:0}.sh-car-dot{cursor:pointer;background:#ffffff47;border:none;border-radius:999px;width:26px;height:5px;padding:0;position:relative;overflow:hidden}.sh-car-dot.is-active{background:#fff6}.sh-car-dot-fill{transform-origin:0;background:#fff;width:100%;position:absolute;inset:0;transform:scaleX(0)}.sh-car-dot.is-active .sh-car-dot-fill{animation:sh-car-progress var(--sh-car-auto) linear forwards}@keyframes sh-car-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.sh-car-track{transition:none}.sh-car-dot.is-active .sh-car-dot-fill{animation:none;transform:scaleX(1)}}.sh-hero{text-align:center;padding:1.5rem 0 1.75rem}.sh-hero-title{color:var(--text-primary);letter-spacing:-.01em;margin:0 0 1.1rem;font-size:1.9rem;font-weight:800}.sh-url-box{border:1px solid var(--border);background:var(--bg-panel);cursor:text;border-radius:16px;align-items:center;gap:.5rem;max-width:720px;margin:0 auto;padding:.5rem .5rem .5rem 1.1rem;transition:border-color .15s,box-shadow .15s;display:flex}.sh-url-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sh-url-input{min-width:0;font:inherit;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:.55rem 0;font-size:1rem}.sh-url-input::placeholder{color:var(--text-muted)}.sh-url-btn{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:12px;flex-shrink:0;padding:.7rem 1.25rem;font-size:.95rem;font-weight:800;transition:filter .15s}.sh-url-btn:hover{filter:brightness(1.05)}.sh-banners{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.sh-banner{text-align:left;cursor:pointer;border:1px solid var(--border);min-height:168px;color:inherit;background:#141020;border-radius:18px;align-items:flex-end;padding:0;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.sh-banner:hover{transform:translateY(-2px);box-shadow:0 12px 30px #00000040}.sh-banner--tools{background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 55%,#db2777 100%)}.sh-banner--ext{background:linear-gradient(135deg,#0ea5e9 0%,#6366f1 55%,#a21caf 100%);text-decoration:none}.sh-banner-bg{object-fit:cover;object-position:center bottom;z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.sh-banner:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#08061026,#08061059 45%,#080610d1);position:absolute;inset:0}.sh-banner-inner{z-index:2;padding:1.25rem 1.4rem;position:relative}.sh-banner-tag{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff38;border-radius:999px;margin-bottom:.5rem;padding:3px 10px;font-size:.68rem;font-weight:800;display:inline-block}.sh-banner-inner h3{color:#fff;text-shadow:0 2px 12px #0009;margin:0 0 .35rem;font-size:1.2rem;font-weight:800}.sh-banner-inner p{color:#ffffffe6;text-shadow:0 1px 8px #0000008c;margin:0;font-size:.88rem}.sh-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.75rem;display:grid}.sh-col{border:1px solid var(--border);background:var(--bg-panel);border-radius:16px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.sh-col-head{justify-content:space-between;align-items:center;gap:.5rem;padding:.9rem 1rem .55rem;display:flex}.sh-col-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;min-width:0;margin:0;font-size:1rem;font-weight:800;display:flex;overflow:hidden}.sh-live-dot{background:var(--danger);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.8s ease-out infinite sh-pulse;box-shadow:0 0 #f6685e8c}@keyframes sh-pulse{0%{box-shadow:0 0 #f6685e8c}70%{box-shadow:0 0 0 6px #f6685e00}to{box-shadow:0 0 #f6685e00}}.sh-col-more{color:var(--accent);cursor:pointer;background:0 0;border:0;flex-shrink:0;font-size:.8rem;font-weight:700}.sh-col-taxo{flex-wrap:wrap;align-items:center;gap:.25rem .35rem;padding:0 1rem .6rem;display:flex}.sh-col-taxo-chip{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;display:inline-flex}.sh-col-taxo-chip:last-child{color:var(--accent)}.sh-col-taxo-sep{color:var(--text-tertiary,var(--text-secondary));font-weight:600}.sh-col-list{max-height:440px;margin:0;padding:.15rem .5rem .6rem;list-style:none;overflow-y:auto}.sh-rank-item{cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;min-width:0;padding:.4rem .45rem;display:flex}.sh-rank-item:hover{background:var(--bg-hover)}.sh-rank-no{text-align:center;width:1.35rem;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.9rem;font-weight:800}.sh-rank-item.is-top .sh-rank-no{color:var(--accent);font-size:1rem}.sh-rank-thumb{object-fit:cover;background:var(--bg-hover);border-radius:6px;flex-shrink:0;width:60px;height:34px}.sh-rank-meta{flex:auto;min-width:0}.sh-rank-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0 0 .1rem;font-size:.82rem;font-weight:600;line-height:1.3;overflow:hidden}.sh-rank-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.72rem;overflow:hidden}.sh-rank-views{flex-direction:column;flex:none;align-items:flex-end;gap:1px;padding-left:.15rem;line-height:1.15;display:flex}.sh-rank-view-no{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--accent);font-size:.98rem;font-weight:900}@supports ((-webkit-background-clip:text) or (background-clip:text)){.sh-rank-view-no{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}}.sh-rank-item.is-top .sh-rank-view-no{font-size:1.08rem}.sh-rank-view-up{color:var(--danger);font-variant-numeric:tabular-nums;white-space:nowrap;background:#f6685e24;border-radius:999px;padding:1px 6px;font-size:.68rem;font-weight:800}.sh-rank-view-new{color:var(--accent);background:var(--accent-soft);letter-spacing:.02em;border-radius:999px;padding:1px 6px;font-size:.64rem;font-weight:900}.sh-rank-view-unit{color:var(--text-muted);font-size:.66rem;font-weight:700}.sh-rank-skel{cursor:default;pointer-events:none}.sh-rank-skel:hover{background:0 0}.sh-rank-skel .sh-rank-no{opacity:.35}.sh-skel{background:linear-gradient(90deg, var(--bg-hover) 25%, var(--border) 37%, var(--bg-hover) 63%);background-size:400% 100%;border-radius:6px;animation:1.4s ease-in-out infinite sh-shimmer;display:block}.sh-skel-line{width:92%;height:.66rem;margin-bottom:.28rem}.sh-skel-line--sm{width:52%;height:.55rem;margin-bottom:0}@keyframes sh-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.sh-skel,.sh-live-dot{animation:none}}.sh-col-empty{text-align:center;color:var(--text-muted);padding:1.4rem;font-size:.85rem;list-style:none}.sh-patch{grid-column:span 2}.sh-patch-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;max-height:440px;margin:0;padding:.35rem .6rem .7rem;list-style:none;display:grid;overflow-y:auto}.sh-patch-item{cursor:pointer;border:1px solid var(--border);background:var(--bg-panel);border-radius:12px;min-width:0;padding:.7rem .8rem;transition:border-color .15s,transform .15s,box-shadow .15s}.sh-patch-item:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 18px #00000014}.sh-patch-head{align-items:center;gap:.35rem;margin-bottom:.35rem;display:flex}.sh-patch-badge{color:#fff;letter-spacing:.02em;border-radius:999px;padding:1px 7px;font-size:.64rem;font-weight:800}.sh-patch-badge.is-kr{background:linear-gradient(135deg,#3b82f6,#2563eb)}.sh-patch-badge.is-gl{background:linear-gradient(135deg,#f43f5e,#e11d48)}.sh-patch-date{color:var(--text-muted);margin-left:auto;font-size:.68rem;font-weight:600}.sh-patch-title{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .2rem;font-size:.9rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.sh-patch-excerpt{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.76rem;line-height:1.4;display:-webkit-box;overflow:hidden}.sh-patch-empty{text-align:center;padding:2.2rem 1.4rem}.sh-patch-empty-title{color:var(--text-primary);margin:0 0 .4rem;font-size:.95rem;font-weight:800}.sh-patch-empty-sub{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.5}.sh-courses{margin-top:1.75rem}.sh-courses-head{justify-content:space-between;align-items:center;margin-bottom:.9rem;display:flex}.sh-courses-title{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:800}.sh-courses-more{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:.85rem;font-weight:700}.sh-courses-scroll{scroll-snap-type:x proximity;gap:.9rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.sh-course-card{scroll-snap-align:start;text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--bg-panel);color:inherit;border-radius:14px;flex-direction:column;flex:0 0 200px;gap:.5rem;padding:.6rem;transition:border-color .15s,transform .15s;display:flex}.sh-course-card:hover{border-color:var(--accent);transform:translateY(-2px)}.sh-course-thumb{aspect-ratio:16/9;background:var(--bg-hover);border-radius:10px;justify-content:center;align-items:center;width:100%;font-size:2rem;display:flex;overflow:hidden}.sh-course-thumb img{object-fit:cover;width:100%;height:100%}.sh-course-title{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.9rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.sh-course-meta{color:var(--text-muted);font-size:.76rem;font-weight:600}.sh-fb .sh-courses-title{align-items:center;gap:.45rem;display:flex}.sh-fb-thumb{background:#000;position:relative}.sh-fb-thumb img,.sh-fb-thumb video{object-fit:cover;width:100%;height:100%}.sh-fb-thumb .fh-noico{opacity:.6;font-size:2rem}.sh-fb-ver{background:var(--accent);color:#fff;border-radius:999px;padding:1px 8px;font-size:.68rem;font-weight:800;position:absolute;top:6px;left:6px;box-shadow:0 1px 4px #0000004d}.sh-fb-cta{text-align:center;border-style:dashed;border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-panel));justify-content:center;align-items:center;gap:.45rem}.sh-fb-cta b{color:var(--text-primary);font-size:.92rem;font-weight:800;line-height:1.35}.sh-fb-cta-emoji{font-size:1.7rem}@media (width<=1000px){.sh-cols{grid-template-columns:1fr}.sh-col-list{max-height:360px}.sh-patch{grid-column:auto}}@media (width<=560px){.sh-patch-list{grid-template-columns:1fr}}@media (width<=720px){.sh-hero-title{font-size:1.4rem}.sh-url-box{padding-left:.9rem}.sh-url-btn{padding:.6rem .9rem;font-size:.88rem}.sh-banners{grid-template-columns:1fr;gap:.75rem}.sh-banner{min-height:140px}.sh-course-card{flex-basis:150px}.sh-car-slide{flex-direction:column;align-items:flex-start;gap:.7rem;min-height:0;padding:1.4rem 1.3rem 2.2rem}.sh-car-badge{border-radius:16px;width:56px;height:56px}.sh-car-badge svg{width:28px;height:28px}.sh-car-title{margin-bottom:.55rem;font-size:1.2rem}.sh-car-inputrow,.sh-car-actions{width:100%}.suno-home{padding:.85rem .8rem 3rem}.sh-hero{padding:.4rem 0 1rem}.sh-hero-title{margin-bottom:.85rem;font-size:1.25rem}.sh-url-box{border-radius:14px;padding:.4rem .4rem .4rem .9rem}.sh-url-input{font-size:.9rem}.sh-url-btn{border-radius:10px;padding:.58rem .8rem;font-size:.84rem}.sh-banners{gap:.7rem;margin-bottom:1.1rem}.sh-banner{border-radius:14px;min-height:118px}.sh-banner-inner{padding:.9rem 1rem}.sh-banner-inner h3{font-size:1.02rem}.sh-banner-inner p{font-size:.78rem}.sh-cols{gap:.7rem;margin-bottom:1.2rem}.sh-courses{margin-top:1.3rem}.sh-courses-title{font-size:1.05rem}.sh-courses-scroll{grid-template-columns:1fr 1fr;gap:.6rem;padding-bottom:0;display:grid;overflow:visible}.sh-course-card{border-radius:12px;flex:none;padding:.5rem}.sh-course-title{font-size:.82rem}}@media (width<=360px){.sh-hero-title{font-size:1.12rem}.sh-banner-inner h3{font-size:.96rem}.sh-url-btn{padding:.55rem .7rem}}
