@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:400;src:url(../media/mitr-thai-400-normal.0m_aodrkpcafc.woff2)format("woff2"),url(../media/mitr-thai-400-normal.333_udmzbbzh9.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:400;src:url(../media/mitr-vietnamese-400-normal.1d-ysxp_y4a-5.woff2)format("woff2"),url(../media/mitr-vietnamese-400-normal.1up87_6co516e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:400;src:url(../media/mitr-latin-ext-400-normal.3aehpz-yws5fl.woff2)format("woff2"),url(../media/mitr-latin-ext-400-normal.225y2337qa_a_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:400;src:url(../media/mitr-latin-400-normal.0jn8y-w9zpdil.woff2)format("woff2"),url(../media/mitr-latin-400-normal.1q-g9fkj9lfrm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:500;src:url(../media/mitr-thai-500-normal.3igly1n69pq-_.woff2)format("woff2"),url(../media/mitr-thai-500-normal.2kzlrr5-4owp8.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:500;src:url(../media/mitr-vietnamese-500-normal.3aq2b2wegyrpi.woff2)format("woff2"),url(../media/mitr-vietnamese-500-normal.2594i-62i3sk7.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:500;src:url(../media/mitr-latin-ext-500-normal.1jus_c57890m2.woff2)format("woff2"),url(../media/mitr-latin-ext-500-normal.18itfm-fsg344.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:500;src:url(../media/mitr-latin-500-normal.1l9r4xqp2v2gc.woff2)format("woff2"),url(../media/mitr-latin-500-normal.3xz6f5tclkkok.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:600;src:url(../media/mitr-thai-600-normal.1n-_nbwqmy5z7.woff2)format("woff2"),url(../media/mitr-thai-600-normal.3j3tmd3y1b1a_.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:600;src:url(../media/mitr-vietnamese-600-normal.1phhgvotue9gw.woff2)format("woff2"),url(../media/mitr-vietnamese-600-normal.1b91_lbye_opw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:600;src:url(../media/mitr-latin-ext-600-normal.0ou1tt6hjc4ur.woff2)format("woff2"),url(../media/mitr-latin-ext-600-normal.3rfio042r2hve.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:600;src:url(../media/mitr-latin-600-normal.20gs-tpbbvglr.woff2)format("woff2"),url(../media/mitr-latin-600-normal.0in5n_pbibshu.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-sans-thai-thai-400-normal.1dqfxqyeh811x.woff2)format("woff2"),url(../media/noto-sans-thai-thai-400-normal.248msg2hca52y.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-sans-thai-latin-ext-400-normal.3ad253atfvzcw.woff2)format("woff2"),url(../media/noto-sans-thai-latin-ext-400-normal.0e5qa5wvbyukz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-sans-thai-latin-400-normal.42f8l63-h23zb.woff2)format("woff2"),url(../media/noto-sans-thai-latin-400-normal.3mdbtavpftt8q.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(../media/noto-sans-thai-thai-500-normal.0757t9rl4xr9f.woff2)format("woff2"),url(../media/noto-sans-thai-thai-500-normal.21j6ubrazrykg.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(../media/noto-sans-thai-latin-ext-500-normal.0e8dcjjt3gts0.woff2)format("woff2"),url(../media/noto-sans-thai-latin-ext-500-normal.14ski2gn5d9ex.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(../media/noto-sans-thai-latin-500-normal.1fy4bcel5txi0.woff2)format("woff2"),url(../media/noto-sans-thai-latin-500-normal.1uhpzigoma-nb.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(../media/noto-sans-thai-thai-600-normal.01gqlfrhoygtq.woff2)format("woff2"),url(../media/noto-sans-thai-thai-600-normal.11m27vyv7t0ir.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(../media/noto-sans-thai-latin-ext-600-normal.0lcque7ms9a2w.woff2)format("woff2"),url(../media/noto-sans-thai-latin-ext-600-normal.08sz8qrn5f0bw.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(../media/noto-sans-thai-latin-600-normal.43zs497cf16uq.woff2)format("woff2"),url(../media/noto-sans-thai-latin-600-normal.0oi6usjpcl2ue.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(../media/noto-sans-thai-thai-700-normal.15-98avio19uy.woff2)format("woff2"),url(../media/noto-sans-thai-thai-700-normal.3hd7ixnhjizoo.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(../media/noto-sans-thai-latin-ext-700-normal.1_vk9v-vq81xx.woff2)format("woff2"),url(../media/noto-sans-thai-latin-ext-700-normal.0juykiz06i7_3.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(../media/noto-sans-thai-latin-700-normal.0cjj8b5tn3txs.woff2)format("woff2"),url(../media/noto-sans-thai-latin-700-normal.3cvdl3gmcef1p.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#f7f6f3;--surface:#fff;--surface-muted:#f2f1ed;--surface-strong:#e7e5df;--text:#1c1d1f;--text-muted:#5d6066;--text-subtle:#868990;--primary:#13213a;--primary-hover:#22324f;--on-primary:#fff;--accent:#c23a1b;--accent-hover:#a32f14;--accent-soft:#fdebe5;--on-accent:#fff;--info:#2457a6;--info-soft:#e8effb;--success:#0b7a55;--success-soft:#e3f5ec;--warning:#9a5a00;--warning-soft:#fdf0d5;--danger:#b42323;--danger-soft:#fde8e6;--line:#e2e0da;--line-strong:#cfccc4;--focus:#c23a1b47;--shadow-sm:0 1px 2px #1418210d;--shadow:0 1px 2px #1418210a,0 4px 14px #1418210f;--shadow-lg:0 12px 32px #1418211f;--r-sm:8px;--r:12px;--r-lg:16px;--r-xl:22px;--font-body:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif;--font-head:Mitr,"Noto Sans Thai",system-ui,sans-serif;--sidebar-w:248px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=ocean]{--bg:#f3f7f9;--surface:#fff;--surface-muted:#eaf2f5;--surface-strong:#d9e7ec;--text:#16222c;--text-muted:#56656f;--text-subtle:#84929b;--primary:#123349;--primary-hover:#1b4864;--accent:#0f7c8c;--accent-hover:#0b6573;--accent-soft:#e0f3f5;--line:#d9e4e8;--line-strong:#c3d3d9;--focus:#0f7c8c47}:root[data-theme=orchid]{--bg:#faf7fb;--surface:#fff;--surface-muted:#f4eef6;--surface-strong:#e8dcec;--text:#27202b;--text-muted:#645a6a;--text-subtle:#91879a;--primary:#38254a;--primary-hover:#4d3463;--accent:#ad3a6c;--accent-hover:#8f2e58;--accent-soft:#fbe9f1;--line:#e6dde9;--line-strong:#d4c6d9;--focus:#ad3a6c42}*{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%}body{background:var(--bg);min-width:320px;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}img{max-width:100%}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3,h4{font-family:var(--font-head);color:var(--primary);letter-spacing:-.01em;margin:0;font-weight:500}h1{font-size:clamp(24px,2.6vw,32px);line-height:1.3}h2{font-size:19px;line-height:1.4}h3{font-size:16px;line-height:1.45}p{margin:0 0 10px}p:last-child{margin-bottom:0}code{background:var(--surface-muted);border-radius:6px;padding:1px 6px;font-size:.9em}hr{border:0;border-top:1px solid var(--line);margin:20px 0}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.small{font-size:13px}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nowrap{white-space:nowrap}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:4px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{font-family:var(--font-head);letter-spacing:-.03em;color:var(--primary);white-space:nowrap;font-size:23px;font-weight:600;text-decoration:none!important}.brand span{color:var(--accent)}.sidebar .brand{padding:2px 10px 14px}.nav-heading{color:var(--text-subtle);letter-spacing:.06em;margin:16px 10px 4px;font-size:11.5px;font-weight:600}.nav{gap:2px;display:grid}.nav-item{border-radius:var(--r-sm);min-height:38px;color:var(--text-muted);align-items:center;gap:10px;padding:7px 10px;font-size:14px;display:flex;text-decoration:none!important}.nav-item:hover{background:var(--surface-muted);color:var(--primary)}.nav-item.active{background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.nav-item .icon{flex:0 0 18px;place-items:center;width:18px;display:grid}.nav-item .label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-item .meta{color:var(--text-subtle);font-size:11px}.sidebar-bottom{border-top:1px solid var(--line);gap:10px;margin-top:auto;padding-top:12px;display:grid}.user-chip{align-items:center;gap:10px;min-width:0;padding:6px 8px;display:flex}.user-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.user-chip small{color:var(--text-muted);font-size:12px;display:block}.user-chip>span:last-child{min-width:0}.sidebar-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:0 8px;display:flex}.sidebar-tools .theme-picker select{max-width:120px}.link-button{color:var(--text-muted);white-space:nowrap;background:0 0;border:0;padding:4px 0;font-size:13px}.link-button:hover{color:var(--danger)}.workspace{flex-direction:column;min-width:0;display:flex}.workspace-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:28px 32px 48px}.mobile-header{display:none}.site-footer{color:var(--text-subtle);width:100%;max-width:1200px;margin:0 auto;padding:16px 32px 24px;font-size:12.5px}.topbar{z-index:20;background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px max(20px,50vw - 600px);display:flex;position:sticky;top:0}.topbar nav{align-items:center;gap:12px;display:flex}.public-main{max-width:1200px;min-height:calc(100vh - 120px);margin:0 auto;padding:28px 20px 48px}.mobile-menu{position:relative}.mobile-menu>summary{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);cursor:pointer;place-items:center;width:40px;height:40px;font-size:18px;list-style:none;display:grid}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu[open]>summary{background:var(--surface-muted)}.mobile-menu-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:min(300px,100vw - 32px);max-height:calc(100vh - 80px);box-shadow:var(--shadow-lg);z-index:40;gap:4px;padding:10px;display:grid;position:absolute;top:48px;right:0;overflow:auto}.avatar{object-fit:cover;background:var(--accent-soft);width:32px;height:32px;color:var(--accent-hover);border-radius:50%;flex:0 0 32px;place-items:center;font-size:13px;font-weight:600;display:inline-grid;overflow:hidden}.avatar.lg{flex-basis:40px;width:40px;height:40px;font-size:15px}.avatar.sq{background:var(--primary);color:var(--on-primary);border-radius:10px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:24px;display:flex}.page-header-main{flex:420px;min-width:0}.page-header .back{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:10px;font-size:13.5px;display:inline-flex}.page-header .back:hover{color:var(--primary)}.eyebrow{letter-spacing:.04em;color:var(--accent);margin-bottom:6px;font-size:12.5px;font-weight:600}.title-row{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.page-header .description{color:var(--text-muted);max-width:720px;margin-top:8px}.meta-row{color:var(--text-muted);flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:13.5px;display:flex}.meta-row>span{align-items:center;gap:6px;display:inline-flex}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-actions form{display:contents}.section{margin-bottom:32px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-head h2{align-items:center;gap:8px;display:flex}.section-head .count{font-family:var(--font-body);color:var(--text-muted);background:var(--surface-muted);border-radius:999px;padding:1px 9px;font-size:13px;font-weight:600}.section-head p{color:var(--text-muted);flex-basis:100%;margin:2px 0 0;font-size:13.5px}.layout-2{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.layout-2.wide-side{grid-template-columns:minmax(0,1fr) 380px}.layout-2.left-side{grid-template-columns:300px minmax(0,1fr)}.sticky-side{gap:16px;display:grid;position:sticky;top:20px}.narrow{max-width:640px;margin-left:auto;margin-right:auto}.medium{max-width:860px}.center-page{place-items:center;min-height:calc(100vh - 180px);padding:20px 0;display:grid}.center-page>*{width:100%;max-width:460px}.stack{align-content:start;gap:12px;display:grid}.stack-lg{align-content:start;gap:20px;display:grid}.cluster{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cluster form{display:contents}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.grid.sm{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.grid.lg{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.cols-2{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);min-width:0;padding:18px}.card.pad-lg{padding:24px}.card.flush{padding:0;overflow:hidden}.card.muted-bg{background:var(--surface-muted);box-shadow:none}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.card-head h2,.card-head h3{margin:0}.card-head p{color:var(--text-muted);margin:2px 0 0;font-size:13.5px}.card-foot{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.card-link{color:inherit;flex-direction:column;gap:6px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;text-decoration:none!important}.card-link:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.card-link h3{color:var(--primary)}.card-link .card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;display:-webkit-box;overflow:hidden}.card-link .card-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px 12px;margin-top:auto;padding-top:8px;font-size:12.5px;display:flex}.card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-title{font-family:var(--font-head);color:var(--primary);margin:0 0 10px;font-size:15px;font-weight:500}.list{display:grid}.list-item{border-top:1px solid var(--line);color:inherit;align-items:center;gap:12px;min-width:0;padding:12px 16px;display:flex}.list-item:first-child{border-top:0}a.list-item{text-decoration:none!important}a.list-item:hover{background:var(--surface-muted)}.list-item .grow{flex:1;min-width:0}.list-item .title{color:var(--primary);text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.list-item .sub{color:var(--text-muted);font-size:13px}.list-item .chev{color:var(--text-subtle)}.list-item.unread{background:color-mix(in srgb,var(--accent-soft) 45%,transparent)}.num{background:var(--surface-muted);width:28px;height:28px;color:var(--primary);border-radius:8px;flex:0 0 28px;place-items:center;font-size:13px;font-weight:600;display:inline-grid}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px}.stat .label{color:var(--text-muted);font-size:12.5px}.stat .value{color:var(--primary);font-variant-numeric:tabular-nums;margin-top:2px;font-size:26px;font-weight:600;line-height:1.25}.stat .hint{color:var(--text-subtle);font-size:12px}.stat.accent{background:var(--accent-soft);border-color:#0000}.stat.accent .value{color:var(--accent-hover)}.pill{white-space:nowrap;background:var(--surface-muted);color:var(--text-muted);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12.5px;font-weight:600;line-height:1.7;display:inline-flex}.pill:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.pill.plain:before{display:none}.pill.info{background:var(--info-soft);color:var(--info)}.pill.success{background:var(--success-soft);color:var(--success)}.pill.warning{background:var(--warning-soft);color:var(--warning)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.pill.accent{background:var(--accent-soft);color:var(--accent-hover)}.pill.dark{background:var(--primary);color:var(--on-primary)}.pill.live:before{animation:1.4s infinite pulse}@keyframes pulse{50%{opacity:.25}}.tag{background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--line);border-radius:6px;align-items:center;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.tag.standalone{background:var(--accent-soft);color:var(--accent-hover);border-color:#0000}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin:-4px 0 24px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--text-muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px;font-weight:500;display:inline-flex;text-decoration:none!important}.tab:hover{color:var(--primary)}.tab.active{color:var(--accent-hover);border-bottom-color:var(--accent);font-weight:600}.tab .count{background:var(--surface-muted);color:var(--text-muted);border-radius:999px;padding:0 8px;font-size:12px}.tab.active .count{background:var(--accent-soft);color:var(--accent-hover)}.chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);color:var(--text-muted);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:500;display:inline-flex;text-decoration:none!important}.chip:hover{border-color:var(--line-strong);color:var(--primary)}.chip.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.button{background:var(--accent);min-height:40px;color:var(--on-accent);white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:14.5px;font-weight:600;line-height:1.3;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex;text-decoration:none!important}.button:hover{background:var(--accent-hover)}.button:disabled{opacity:.5;cursor:not-allowed}.button.secondary{background:var(--surface);color:var(--primary);border-color:var(--line-strong)}.button.secondary:hover{background:var(--surface-muted)}.button.dark{background:var(--primary);color:var(--on-primary)}.button.dark:hover{background:var(--primary-hover)}.button.ghost{color:var(--text-muted);background:0 0}.button.ghost:hover{background:var(--surface-muted);color:var(--primary)}.button.danger,.button.warn{background:var(--danger);color:#fff}.button.danger:hover,.button.warn:hover{background:color-mix(in srgb,var(--danger) 85%,#000)}.button.danger-outline{background:var(--surface);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.button.danger-outline:hover{background:var(--danger-soft)}.button.success{background:var(--success);color:#fff}.button.sm{border-radius:8px;min-height:32px;padding:4px 12px;font-size:13px}.button.lg{border-radius:12px;min-height:52px;padding:12px 22px;font-size:16px}.button.block{width:100%}.text-button{color:var(--accent);background:0 0;border:0;padding:2px 4px;font-size:13px;font-weight:600}.text-button:hover{text-decoration:underline}.text-button.danger{color:var(--danger)}.form{gap:14px;display:grid}.form.narrow-form{max-width:560px}label,.label{color:var(--text);gap:6px;font-size:14px;font-weight:500;display:grid}.hint{color:var(--text-muted);font-size:12.5px;font-weight:400}input,textarea,select{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:42px;color:var(--text);border-radius:10px;padding:9px 12px;font-size:15px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--text-subtle)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus);outline:0}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--accent);flex:0 0 18px;margin:0;padding:0}input[type=file]{background:var(--surface-muted);border-style:dashed;padding:8px}textarea{resize:vertical;min-height:100px;line-height:1.55}fieldset{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}legend{margin-bottom:8px;padding:0;font-size:14px;font-weight:600}.form-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.form-section{border-top:1px solid var(--line);gap:12px;padding-top:14px;display:grid}.form-section:first-child{border-top:0;padding-top:0}.form-section>h3,.form-section>.label{margin:0}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px;display:flex}.check{cursor:pointer;align-items:flex-start;gap:10px;font-weight:400;display:flex}.check input{margin-top:3px}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-form>input,.inline-form>select{flex:180px;width:auto}.options{gap:8px;display:grid}.option{border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;font-weight:500;transition:border-color .12s,background .12s;display:flex;position:relative}.option:hover{border-color:var(--accent)}.option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.segmented{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.segmented label{cursor:pointer;display:block;position:relative}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented span{border:1.5px solid var(--line-strong);min-height:52px;font-family:var(--font-head);color:var(--primary);background:var(--surface);border-radius:12px;place-items:center;font-size:20px;display:grid}.segmented label:hover span{border-color:var(--accent)}.segmented input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.segmented input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.scale-ends{color:var(--text-muted);justify-content:space-between;margin-top:4px;font-size:12px;display:flex}.disclosure{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.disclosure>summary{cursor:pointer;color:var(--primary);border-radius:var(--r-lg);align-items:center;gap:10px;padding:14px 18px;font-weight:600;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:after{content:"";border-right:2px solid var(--text-subtle);border-bottom:2px solid var(--text-subtle);flex:0 0 8px;width:8px;height:8px;margin-left:auto;transition:transform .15s;transform:rotate(45deg)}.disclosure[open]>summary:after{transform:rotate(-135deg)}.disclosure>summary:hover{background:var(--surface-muted)}.disclosure[open]>summary{border-bottom:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0}.disclosure>.disclosure-body{padding:18px}.disclosure .plus{background:var(--accent);width:24px;height:24px;color:var(--on-accent);border-radius:7px;flex:0 0 24px;place-items:center;font-size:16px;line-height:1;display:grid}.disclosure.dashed{box-shadow:none;background:0 0;border-style:dashed}.disclosure.dashed[open]{background:var(--surface);border-style:solid}.disclosure .summary-sub{color:var(--text-muted);font-size:13px;font-weight:400}details.inline>summary{cursor:pointer;color:var(--text-muted);padding:6px 0;font-size:13.5px;font-weight:500}details.inline>summary:hover{color:var(--primary)}details.inline[open]>summary{margin-bottom:8px}.alert{background:var(--warning-soft);color:var(--warning);border-radius:12px;align-items:flex-start;gap:10px;margin:0 0 16px;padding:12px 16px;font-size:14px;display:flex}.alert>div{min-width:0}.alert strong{display:block}.alert p{margin:4px 0 0}.alert.success{background:var(--success-soft);color:var(--success)}.alert.info{background:var(--info-soft);color:var(--info)}.alert.danger{background:var(--danger-soft);color:var(--danger)}.alert .alert-icon{font-size:16px;line-height:1.4}.alert.compact{margin:0}.callout{border-radius:var(--r-lg);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 18px;display:flex}.callout h3{color:var(--accent-hover)}.callout p{color:var(--text-muted);margin:2px 0 0;font-size:13.5px}.callout form{display:contents}.empty{text-align:center;border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);color:var(--text-muted);background:color-mix(in srgb,var(--surface) 55%,transparent);justify-items:center;gap:6px;padding:32px 20px;display:grid}.empty .empty-icon{margin-bottom:4px;font-size:26px;line-height:1}.empty strong{color:var(--primary);font-weight:600}.empty p{max-width:420px;margin:0;font-size:13.5px}.empty .button{margin-top:8px}.table-wrap{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 14px}.table tr:last-child td{border-bottom:0}.table th{background:var(--surface-muted);color:var(--text-muted);white-space:nowrap;font-size:12.5px;font-weight:600}.table td .cluster{flex-wrap:nowrap}.files{flex-wrap:wrap;gap:8px;display:flex}.file{background:var(--surface-muted);border:1px solid var(--line);color:var(--primary);text-overflow:ellipsis;white-space:nowrap;border-radius:10px;align-items:center;gap:8px;max-width:100%;padding:6px 12px;font-size:13.5px;display:inline-flex;overflow:hidden;text-decoration:none!important}.file:hover{border-color:var(--line-strong)}.image-preview{border:1px solid var(--line);border-radius:12px;max-width:100%;max-height:320px;margin-top:10px;display:block}.content-card .body{white-space:pre-wrap;overflow-wrap:anywhere}.content-card .ext-link{align-items:center;gap:6px;font-weight:600;display:inline-flex}.member{align-items:center;gap:10px;min-width:0;display:flex}.member .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.capacity{background:var(--surface-muted);border-radius:99px;height:6px;overflow:hidden}.capacity>span{background:var(--accent);border-radius:99px;height:100%;display:block}.capacity.full>span{background:var(--success)}.qr-box{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);justify-items:center;gap:10px;padding:18px;display:grid}.qr-box img{border-radius:8px;display:block}.copy-url{width:100%;color:var(--text-muted);overflow-wrap:anywhere;background:var(--surface-muted);border-radius:8px;padding:8px 10px;font-size:12.5px;display:block}.code-display{font-family:var(--font-head);letter-spacing:.12em;color:var(--primary);font-size:28px}.kv{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:14px;display:grid}.kv dt{color:var(--text-muted)}.kv dd{margin:0;font-weight:500}.steps{scrollbar-width:none;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.steps::-webkit-scrollbar{display:none}.step{min-width:96px;color:var(--text-subtle);flex:1 0 auto;gap:6px;font-size:12px;display:grid}.step:before{content:"";background:var(--surface-strong);border-radius:99px;height:4px}.step.done{color:var(--text-muted)}.step.done:before{background:color-mix(in srgb,var(--accent) 45%,var(--surface-strong))}.step.current{color:var(--accent-hover);font-weight:600}.step.current:before{background:var(--accent)}.submission{gap:12px;display:grid}.submission-head{align-items:flex-start;gap:12px;display:flex}.submission-head .grow{flex:1;min-width:0}.submission-head h3{text-overflow:ellipsis;overflow:hidden}.submission .body{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-muted);border-radius:10px;padding:12px 14px}.grade-box{background:var(--surface-muted);border:1px solid var(--line);border-radius:12px;gap:12px;padding:14px;display:grid}.grade-box .form-row{grid-template-columns:140px 1fr}.result-box{background:var(--success-soft);color:var(--success);border-radius:12px;align-items:center;gap:16px;padding:14px 16px;display:flex}.result-box .score{white-space:nowrap;font-size:28px;font-weight:700;line-height:1}.result-box .score small{opacity:.8;font-size:15px}.status-big{align-items:center;gap:12px;display:flex}.status-big .dot{background:var(--surface-muted);border-radius:12px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.status-big .dot.success{background:var(--success-soft);color:var(--success)}.status-big .dot.warning{background:var(--warning-soft);color:var(--warning)}.status-big .dot.danger{background:var(--danger-soft);color:var(--danger)}.status-big .dot.info{background:var(--info-soft);color:var(--info)}.status-big strong{font-family:var(--font-head);color:var(--primary);font-size:17px;font-weight:500;display:block}.live-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:20px;display:grid}.prompt-list{gap:6px;display:grid}.prompt-item{border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex;text-decoration:none!important}.prompt-item:hover{border-color:var(--line-strong)}.prompt-item.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.prompt-item .grow{flex:1;min-width:0}.prompt-item .title{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.prompt-item .sub{color:var(--text-muted);font-size:12px}.control-bar{background:var(--surface-muted);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;padding:12px;display:flex}.control-bar form{display:contents}.big-question{font-family:var(--font-head);color:var(--primary);margin:6px 0 4px;font-size:clamp(22px,3vw,30px);font-weight:500;line-height:1.35}.results{gap:10px;display:grid}.result-row{grid-template-columns:minmax(90px,30%) 1fr auto;align-items:center;gap:12px;font-size:14px;display:grid}.result-row .r-label{overflow-wrap:anywhere;font-weight:500}.result-row .bar{background:var(--surface-muted);border-radius:6px;height:22px;overflow:hidden}.result-row .bar>span{background:var(--accent);border-radius:6px;min-width:3px;height:100%;display:block}.result-row .value{color:var(--primary);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.answer-card{max-width:620px;margin:0 auto}.qna-item{align-items:flex-start;gap:12px;display:flex}.qna-votes{background:var(--surface-muted);min-width:52px;color:var(--primary);border-radius:10px;justify-items:center;padding:6px;font-weight:600;display:grid}.qna-votes small{color:var(--text-muted);font-size:11px;font-weight:500}.answer-wall{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.answer-wall>div{background:var(--surface-muted);overflow-wrap:anywhere;border-radius:12px;padding:12px 14px}.word-cloud{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;padding:16px;line-height:1.15;display:flex}.word-cloud span{font-family:var(--font-head);color:var(--primary)}.word-cloud span:nth-child(3n+1){color:var(--accent)}.word-cloud span:nth-child(4n+2){color:var(--info)}.pin-board,.pin-input{background:var(--surface-muted);border:0;border-radius:12px;width:min(100%,720px);padding:0;display:block;position:relative;overflow:hidden}.pin-board img,.pin-input img{width:100%;height:auto;display:block}.pin-input{cursor:crosshair}.pin-dot{background:var(--accent);border:3px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0006}:is(body:has(.projector) .sidebar,body:has(.projector) .mobile-header,body:has(.projector) .site-footer){display:none}body:has(.projector) .app-shell{display:block}body:has(.projector) .workspace-main{max-width:none;padding:0}.projector{--p-bg:#0f1729;--p-fg:#f6f4ef;--p-muted:#a6adbb;--p-tile:#ffffff12;background:var(--p-bg);min-height:100vh;color:var(--p-fg);flex-direction:column;padding:28px clamp(24px,4vw,56px);display:flex}.projector a{color:var(--p-muted)}.projector-head{color:var(--p-muted);justify-content:space-between;align-items:center;gap:16px;font-size:15px;display:flex}.projector-head .brand{color:var(--p-fg);font-size:20px}.projector-body{flex:1;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:clamp(24px,4vw,56px);padding:32px 0;display:grid}.projector h1{color:var(--p-fg);margin:14px 0 8px;font-size:clamp(32px,4.6vw,64px);line-height:1.2}.projector .p-status{color:var(--p-muted);font-size:clamp(16px,1.6vw,22px)}.projector .pill{color:var(--p-fg);background:#ffffff1f}.projector .pill.live{color:#fff;background:#e5484d}.projector-results{gap:12px;margin-top:28px;display:grid}.projector .result-row{grid-template-columns:minmax(120px,32%) 1fr auto;font-size:clamp(17px,1.7vw,24px)}.projector .result-row .bar{background:var(--p-tile);border-radius:8px;height:clamp(24px,2.6vw,36px)}.projector .result-row .bar>span{background:#ff7a59;border-radius:8px}.projector .result-row .value,.projector .word-cloud span{color:var(--p-fg)}.projector .word-cloud span:nth-child(3n+1){color:#ff9b7d}.projector .word-cloud span:nth-child(4n+2){color:#8fc1ff}.projector .answer-wall>div{background:var(--p-tile);font-size:clamp(16px,1.5vw,22px)}.projector .qna-item{background:var(--p-tile);border-radius:14px;padding:14px 18px;font-size:clamp(17px,1.7vw,24px)}.projector .qna-votes{color:var(--p-fg);background:#ffffff1f}.projector .qna-votes small{color:var(--p-muted)}.projector .pin-board{background:var(--p-tile)}.projector-qr{color:#111;text-align:center;background:#fff;border-radius:20px;justify-items:center;gap:8px;padding:20px;display:grid}.projector-qr img{width:100%;max-width:260px;height:auto}.projector-qr strong{font-family:var(--font-head);font-size:18px;font-weight:500}.projector-qr .code{font-family:var(--font-head);letter-spacing:.14em;font-size:26px}.projector-qr .url{color:#555;overflow-wrap:anywhere;font-size:12px}.projector-waiting{color:var(--p-muted);font-size:clamp(18px,1.8vw,26px)}.projector-foot{color:var(--p-muted);justify-content:space-between;gap:16px;font-size:14px;display:flex}.contest-hero{border-radius:var(--r-xl);background:var(--primary);color:var(--on-primary);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-bottom:20px;padding:clamp(22px,3vw,36px);display:grid}.contest-hero h1{color:inherit;font-size:clamp(26px,3.4vw,40px)}.contest-hero p{color:color-mix(in srgb,var(--on-primary) 78%,transparent);max-width:640px}.contest-hero .eyebrow{color:color-mix(in srgb,var(--on-primary) 70%,var(--accent))}.contest-hero .pill{color:var(--on-primary);background:#ffffff24}.contest-hero .back{color:color-mix(in srgb,var(--on-primary) 75%,transparent);margin-bottom:10px;font-size:13.5px;display:inline-block}.contest-hero .button.secondary{color:var(--on-primary);background:0 0;border-color:#ffffff59}.contest-hero .button.secondary:hover{background:#ffffff14}.contest-hero .qr-box{color:var(--text);padding:12px}.entry-image{aspect-ratio:4/3;object-fit:cover;background:var(--surface-muted);width:100%;display:block}.entry-body{gap:10px;padding:16px;display:grid}.entry-number{font-family:var(--font-head);color:var(--text-muted);font-size:13px}.org-tools{background:var(--surface-muted);border-radius:12px;gap:10px;padding:14px;display:grid}.rank-list{gap:8px;display:grid}.rank-item{background:var(--surface-muted);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.rank-item .rank{font-family:var(--font-head);text-align:center;width:32px;color:var(--accent-hover);font-size:18px}.rank-item .grow{flex:1;min-width:0}.auth-card{text-align:center;gap:14px;padding:32px 28px;display:grid}.auth-card .logo{font-family:var(--font-head);color:var(--primary);letter-spacing:-.03em;font-size:34px;font-weight:600}.auth-card .logo span{color:var(--accent)}.auth-card .form{text-align:left}.google-button{border:1px solid var(--line-strong);background:var(--surface);min-height:48px;color:var(--text);border-radius:12px;justify-content:center;align-items:center;gap:12px;font-weight:600;display:flex;text-decoration:none!important}.google-button:hover{background:var(--surface-muted)}.status-icon{background:var(--warning-soft);width:56px;height:56px;color:var(--warning);border-radius:16px;place-items:center;margin:0 auto;font-size:26px;display:grid}.status-icon.danger{background:var(--danger-soft);color:var(--danger)}.status-icon.success{background:var(--success-soft);color:var(--success)}.status-icon.info{background:var(--info-soft);color:var(--info)}.divider-text{color:var(--text-subtle);align-items:center;gap:10px;font-size:12.5px;display:flex}.divider-text:before,.divider-text:after{content:"";border-top:1px solid var(--line);flex:1}.theme-picker{color:var(--text-muted);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.theme-picker select{border-radius:8px;width:auto;min-height:30px;padding:3px 24px 3px 8px;font-size:12.5px}.theme-swatch{background:linear-gradient(135deg,var(--primary) 0 50%,var(--accent) 50%);width:14px;height:14px;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--line);border-radius:50%}@media (max-width:1080px){.layout-2,.layout-2.wide-side,.layout-2.left-side{grid-template-columns:minmax(0,1fr)}.sticky-side{position:static}.live-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:860px){.app-shell{display:block}.sidebar{display:none}.mobile-header{z-index:30;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.workspace-main{padding:20px 16px 40px}.site-footer{text-align:center;padding:12px 16px 24px}.projector-body{grid-template-columns:minmax(0,1fr)}.projector-qr{max-width:280px}.contest-hero{grid-template-columns:minmax(0,1fr)}.contest-hero .qr-box{justify-self:start}}@media (max-width:640px){.page-header{margin-bottom:18px}.page-actions{width:100%}.page-actions .button{flex:auto}.cols-2{grid-template-columns:1fr}.grid,.grid.lg,.grid.sm{grid-template-columns:minmax(0,1fr)}.card{padding:16px}.card.pad-lg{padding:18px}.button{min-height:44px}.button.sm{min-height:36px}.tabs{margin-left:-16px;margin-right:-16px;padding:0 12px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grade-box .form-row{grid-template-columns:1fr}.result-row{grid-template-columns:1fr auto}.result-row .bar{grid-area:2/1/auto/-1}.public-main{padding:20px 16px 40px}.topbar{padding:10px 16px}.table th,.table td{white-space:nowrap;padding:9px 10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.page-actions .inline-form{flex-wrap:nowrap}.page-actions .inline-form>select{flex:0 auto}@media (max-width:1080px){.layout-2.side-first>aside{order:-1}}.stack>.pill,.stack>.tag{justify-self:start}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.choice-card{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:16px;flex-direction:column;gap:10px;padding:24px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;text-decoration:none!important}.choice-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.choice-card:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.choice-card h2{color:var(--primary);margin:6px 0 0;font-size:19px}.choice-card p{color:var(--text-muted);flex:1;margin:0;font-size:14px;line-height:1.6}.choice-go{color:var(--accent-hover);font-size:15px;font-weight:600}.choice-icon{background:var(--accent-soft);width:52px;height:52px;color:var(--accent-hover);border-radius:14px;place-items:center;display:grid}.choice-icon .nav-icon{width:26px;height:26px}.choice-icon.sm{border-radius:10px;width:36px;height:36px}.choice-icon.sm .nav-icon{width:20px;height:20px}.create-form{max-width:640px}.board{scroll-snap-type:x proximity;overscroll-behavior-x:contain;align-items:flex-start;gap:16px;margin:0 -2px;padding:4px 2px 20px;display:flex;overflow-x:auto}.board-col{scroll-snap-align:start;flex-direction:column;flex:0 0 300px;gap:12px;min-width:0;display:flex}.board-col-head{border-radius:var(--r);background:var(--primary);color:var(--on-primary);align-items:flex-start;gap:8px;padding:12px 14px;display:flex}.board-col.teacher .board-col-head{background:var(--accent);color:var(--on-accent)}.board-col-head h2{color:inherit;flex:1;margin:0;font-size:17px;line-height:1.35}.board-col-head .n{font-family:var(--font-body);opacity:.8;font-size:12px;font-weight:500;display:block}.board-col-menu{opacity:.85;border-radius:6px;padding:0 4px;font-size:20px;line-height:1;color:inherit!important;text-decoration:none!important}.board-col-menu:hover{opacity:1;background:#ffffff26}.board-add>summary{border-radius:var(--r);border:1.5px dashed var(--line-strong);background:var(--surface-muted);min-height:40px;color:var(--text-muted);cursor:pointer;place-items:center;font-size:22px;list-style:none;display:grid}.board-add>summary::-webkit-details-marker{display:none}.board-add>summary:hover{border-color:var(--accent);color:var(--accent-hover)}.board-add[open]>summary{background:var(--surface);border-style:solid}.board-add.big>summary{min-height:56px;font-size:15px;font-weight:600}.board-add .form{border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);margin-top:8px;padding:14px}.board-instr{border-radius:var(--r);background:var(--surface);border:1px solid var(--line);padding:8px 12px;font-size:14px}.board-instr>summary{cursor:pointer;color:var(--text-muted);font-weight:600}.board-instr p{margin:8px 0 0}.board-state{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.board-note{color:var(--text-muted);margin:0 4px;font-size:13px}.board-empty{border-radius:var(--r);border:1px dashed var(--line);text-align:center;color:var(--text-subtle);margin:0;padding:18px 12px;font-size:13px}.post{border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex}.post.mine{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.post-head{align-items:center;gap:10px;display:flex}.post-head .who{flex-direction:column;flex:1;min-width:0;display:flex}.post-head .who strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.post-head .who .you{color:var(--text-muted);font-weight:400}.post-head .who>span{color:var(--text-subtle);font-size:12px}.post h3{margin:0;font-size:17px;line-height:1.35}.post-body{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:10;-webkit-box-orient:vertical;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.post-image{object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line);width:100%;max-height:380px;display:block}.post .ext-link{overflow-wrap:anywhere;font-size:13px}.post-foot{border-top:1px solid var(--line);justify-content:flex-end;padding-top:8px;font-size:13px;display:flex}@media (max-width:640px){.board-col{flex-basis:86vw}}.workspace-main:has(.board){max-width:none}.post-social{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:2px;padding-top:10px;display:flex}.reactions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.react{border:1px solid var(--line);background:var(--surface-muted);cursor:pointer;min-height:28px;color:var(--text);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:14px;display:inline-flex}.react span{color:var(--text-muted);font-size:12px;font-weight:600}.react:hover{border-color:var(--line-strong)}.react.on{background:var(--accent-soft);border-color:var(--accent)}.react.on span{color:var(--accent-hover)}.react-pick{position:relative}.react-pick>summary{border:1px dashed var(--line-strong);width:32px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:999px;place-items:center;font-size:15px;list-style:none;display:grid}.react-pick>summary::-webkit-details-marker{display:none}.react-pick>summary sup{margin-left:-1px;font-size:9px}.react-pick>summary:hover{color:var(--accent-hover);border-color:var(--accent)}.react-menu{z-index:5;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;gap:2px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0}.react-menu button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:34px;height:34px;font-size:20px}.react-menu button:hover{background:var(--surface-muted);transform:scale(1.15)}.comment-count{color:var(--text-muted);margin-left:auto;font-size:13px}.comments{flex-direction:column;gap:8px;display:flex}.comments .older>summary{color:var(--text-muted);cursor:pointer;margin-bottom:8px;font-size:12.5px}.comments .older{flex-direction:column;gap:8px;display:flex}.comment{align-items:flex-start;gap:8px;display:flex}.comment .avatar{flex:none;width:26px;height:26px;font-size:11px}.comment-main{background:var(--surface-muted);border-radius:12px;flex:1;min-width:0;padding:6px 10px}.comment-main>div{font-size:12.5px}.comment-main>div span{color:var(--text-subtle);font-size:11.5px}.comment-main p{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0;font-size:13.5px}.comment-del{color:var(--text-subtle);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px;font-size:16px;line-height:1}.comment-del:hover{color:var(--danger);background:var(--danger-soft)}.comment-form{gap:6px;display:flex}.comment-form input{border-radius:999px;flex:1;min-width:0;min-height:34px;padding:6px 12px;font-size:13.5px}.board-col-menu svg{margin:1px 0;display:block}.slideshow{height:100vh;min-height:0;padding-bottom:16px;position:relative;overflow:hidden}.slide{flex-direction:column;flex:1;gap:clamp(16px,2.5vh,28px);min-height:0;padding:clamp(16px,3vh,32px) 0;animation:.35s slide-in;display:flex}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.slide{animation:none}}.slide-author{align-items:center;gap:18px;display:flex}.slide-author h1{margin:0;font-size:clamp(28px,3.6vw,52px)}.slide-author .p-status{margin:4px 0 0}.slide-avatar{color:#fff;width:clamp(48px,5vw,72px);height:clamp(48px,5vw,72px);font-family:var(--font-head);background:#ff7a59;border-radius:50%;flex:none;place-items:center;font-size:clamp(22px,2.4vw,34px);display:grid}.slide-content{flex:1;align-items:center;gap:clamp(20px,3vw,48px);min-height:0;display:grid}.slide-content.has-media{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.slide-content.has-media:not(:has(.slide-text)){grid-template-columns:1fr}.slide-media{gap:12px;height:100%;min-height:0;display:grid}.slide-media.n2{grid-template-columns:1fr 1fr}.slide-media.n3,.slide-media.n4{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.slide-media.n3 img:first-child{grid-row:span 2}.slide-media img{object-fit:contain;background:#ffffff0a;border-radius:14px;width:100%;height:100%;min-height:0}.slide-text{flex-direction:column;gap:16px;min-height:0;display:flex;overflow:auto}.slide-body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--p-fg);margin:0;font-size:clamp(20px,2.2vw,34px);line-height:1.5}.slide-content:not(.has-media) .slide-body{max-width:30ch;font-size:clamp(24px,3vw,46px)}.slide-link{overflow-wrap:anywhere;font-size:clamp(15px,1.3vw,20px);color:#8fc1ff!important}.slide-empty{text-align:center;flex:1;place-content:center;display:grid}.slide-bar{background:var(--p-tile);color:var(--p-muted);border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;font-size:14px;display:flex;position:relative}.slide-modes{background:#00000040;border-radius:999px;padding:3px;display:flex}.slide-modes button{color:var(--p-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 14px}.slide-modes button.on{background:var(--p-fg);color:var(--p-bg);font-weight:600}.slide-speed select{color:var(--p-fg);font:inherit;background:#00000040;border:1px solid #ffffff26;border-radius:8px;padding:4px 8px}.slide-nav{align-items:center;gap:10px;margin-left:auto;display:flex}.slide-count{text-align:center;min-width:64px;color:var(--p-fg);font-variant-numeric:tabular-nums;font-weight:600}.slide-btn{min-width:40px;height:40px;color:var(--p-fg);font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:10px;place-items:center;padding:0 10px;font-size:20px;display:grid}.slide-btn.wide{align-items:center;gap:6px;font-size:14px;display:inline-flex}.slide-btn:hover,.slide-modes button:hover:not(.on){color:var(--p-fg);background:#ffffff24}.slide-btn:focus-visible,.slide-modes button:focus-visible{outline-offset:2px;outline:3px solid #8fc1ff}.slide-progress{transform-origin:0;background:#ff7a59;border-radius:3px;height:3px;animation:linear forwards slide-progress;position:absolute;bottom:0;left:14px;right:14px}@keyframes slide-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.slideshow.is-full .slide-bar{opacity:.25;transition:opacity .2s}.slideshow.is-full .slide-bar:hover,.slideshow.is-full .slide-bar:focus-within{opacity:1}@media (max-width:760px){.slide-content.has-media{grid-template-rows:minmax(0,1.4fr) auto;grid-template-columns:1fr}.slide-nav{margin-left:0}}.guest-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:40vw;font-size:14px;font-weight:600;overflow:hidden}.public-main:has(.board){max-width:none}body:has(.projector) .topbar{display:none}body:has(.projector) .public-main{max-width:none;min-height:0;padding:0}:is(.workspace-main:has(.padlet),.public-main:has(.padlet)){max-width:none;padding:0}body:has(.padlet) .site-footer{display:none}.padlet{--wall-fg:#1d1d1f;--wall-muted:#1d1d1fa8;--wall-chip:#ffffff9e;--wall-chip-hover:#ffffffd9;min-height:100vh;color:var(--wall-fg);flex-direction:column;display:flex;background-attachment:fixed!important}.public-main .padlet{min-height:calc(100vh - 58px)}.padlet.dark{--wall-fg:#fff;--wall-muted:#fffc;--wall-chip:#ffffff29;--wall-chip-hover:#ffffff47}.padlet.has-image.dark .padlet-head,.padlet.has-image.dark .board-col-head{text-shadow:0 1px 3px #0000008c}.padlet.has-image:not(.dark) .padlet-head,.padlet.has-image:not(.dark) .board-col-head{text-shadow:0 0 6px #fffc}.padlet-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 24px 10px;display:flex}.padlet-title{min-width:0;max-width:760px}.padlet-by{color:var(--wall-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.padlet-by .avatar{flex-basis:22px;width:22px;height:22px;font-size:11px}.padlet-by .dot{opacity:.7}.padlet-back{background:var(--wall-chip);border-radius:50%;place-items:center;width:26px;height:26px;margin-right:2px;font-size:15px;display:grid;color:var(--wall-fg)!important;text-decoration:none!important}.padlet-back:hover{background:var(--wall-chip-hover)}.padlet-head h1{font-family:var(--font-body);letter-spacing:0;color:var(--wall-fg);margin:4px 0 0;font-size:clamp(22px,2.4vw,28px);font-weight:700}.padlet-title>p{color:var(--wall-muted);margin:2px 0 0;font-size:14px}.padlet-tools{flex:none;align-items:center;gap:6px;display:flex}.padlet-tools>form{display:contents}.padlet-icon{background:var(--wall-chip);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:0;border-radius:8px;align-items:center;gap:6px;height:34px;padding:0 12px;font-size:13.5px;font-weight:600;display:inline-flex;color:var(--wall-fg)!important;text-decoration:none!important}.padlet-icon:hover{background:var(--wall-chip-hover)}.live-dot{background:#e5383b;border-radius:50%;width:8px;height:8px;animation:1.4s infinite pulse}.padlet-tabs{scrollbar-width:none;gap:4px;padding:0 24px 8px;display:flex;overflow-x:auto}.padlet-tabs a{white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:13px;color:var(--wall-muted)!important;text-decoration:none!important}.padlet-tabs a:hover{background:var(--wall-chip)}.padlet-tabs a.on{background:var(--wall-chip-hover);font-weight:600;color:var(--wall-fg)!important}.padlet>.callout{background:#ffffffeb;border:0;margin:4px 24px 8px;box-shadow:0 1px 3px #0000001f}.padlet-note{color:var(--wall-muted);margin:0 24px 6px;font-size:13px}.padlet .board{flex:1;gap:16px;margin:0;padding:8px 24px 32px;scroll-padding-inline:24px}.padlet .board-col{flex-basis:304px;gap:10px}.padlet .board-col-head,.padlet .board-col.teacher .board-col-head{color:var(--wall-fg);background:0 0;border-radius:0;padding:4px 2px 0}.padlet .board-col-head h2{font-family:var(--font-body);color:var(--wall-fg);font-size:15px;font-weight:700}.padlet .board-col-head .n{color:var(--wall-muted);opacity:1;font-size:12px;font-weight:500}.padlet .board-col-menu{opacity:1;color:var(--wall-muted)!important}.padlet .board-col-menu:hover{background:var(--wall-chip);color:var(--wall-fg)!important}.padlet .board-add>summary{background:var(--wall-chip);min-height:36px;color:var(--wall-fg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:0;border-radius:8px;font-size:22px;font-weight:400}.padlet .board-add>summary:hover{background:var(--wall-chip-hover);color:var(--wall-fg)}.padlet .board-add[open]>summary{background:var(--wall-chip-hover)}.padlet .board-add.big>summary{font-size:14px;font-weight:600}.padlet .board-add .form{border:0;border-radius:10px;box-shadow:0 2px 8px #00000024}.padlet .board-instr{color:var(--text);background:#ffffffe6;border:0;border-radius:10px}.padlet .board-state{color:var(--wall-fg)}.padlet .board-state .pill{background:#ffffffe6}.padlet .board-note{color:var(--wall-muted)}.padlet .board-note a{color:inherit;text-decoration:underline}.padlet .board-empty{background:var(--wall-chip);color:var(--wall-muted);border:0}.padlet .post{color:#1d1d1f;background:#fff;border:0;border-radius:10px;gap:8px;padding:12px;box-shadow:0 1px 2px #00000014,0 1px 6px #0000000f}.padlet .post.mine{box-shadow:0 0 0 2px #1d1d1f,0 1px 6px #0000001a}.padlet .post-head{gap:8px}.padlet .post-head .avatar{flex-basis:24px;width:24px;height:24px;font-size:11px}.padlet .post-head .who{flex-direction:row;align-items:baseline;gap:6px}.padlet .post-head .who strong{font-size:13px;font-weight:600}.padlet .post-head .who>span{color:#8a8a8e;white-space:nowrap;font-size:12px}.padlet .post h3{font-family:var(--font-body);color:#1d1d1f;font-size:15px;font-weight:700}.padlet .post-body{color:#2c2c2e;font-size:14px}.padlet .post-image{border:0;border-radius:6px;max-height:420px}.padlet .post .ext-link{color:#1d1d1f;-webkit-text-decoration:underline #c7c7cc;text-decoration:underline #c7c7cc}.padlet .post .files .file{background:#f2f2f4;border:0}.padlet .post details.inline>summary,.padlet .post-foot a{color:#6e6e73;font-size:12.5px}.padlet .post-foot{border-top:0;padding-top:0}.padlet .post-social{border-top:1px solid #efeff1;gap:6px;padding-top:8px}.padlet .react{background:#f2f2f4;border:0;min-height:26px;padding:1px 8px;font-size:13px}.padlet .react.on{background:#e8eefc;box-shadow:inset 0 0 0 1px #9db4ef}.padlet .react.on span{color:#1d3f99}.padlet .react-pick>summary{color:#6e6e73;background:#f2f2f4;border:0;width:30px;height:26px}.padlet .comment-count{color:#8a8a8e;font-size:12.5px}.padlet .comment-main{background:#f2f2f4}.padlet .comment-form input{background:#f2f2f4;border:0;min-height:30px;font-size:13px}.padlet .comment-form input:focus{background:#fff;box-shadow:inset 0 0 0 1px #c7c7cc}.padlet .comment-form .button{display:none}.padlet .comment-form:focus-within .button{display:inline-flex}.drawer-backdrop{z-index:40;background:#0000002e;position:fixed;inset:0}.drawer{z-index:41;color:#1d1d1f;width:min(360px,100vw);text-shadow:none;background:#fff;flex-direction:column;transition:transform .22s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(105%);box-shadow:-8px 0 30px #00000029}.drawer.open{transform:none}.drawer header{border-bottom:1px solid #efeff1;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.drawer h2{font-family:var(--font-body);color:#1d1d1f;font-size:17px;font-weight:700}.drawer h3{font-family:var(--font-body);color:#1d1d1f;font-size:14px;font-weight:700}.drawer-close{color:#6e6e73;background:0 0;border:0;border-radius:8px;width:34px;height:34px;font-size:24px;line-height:1}.drawer-close:hover{background:#f2f2f4}.drawer-body{flex-direction:column;flex:1;gap:10px;padding:16px 18px 24px;display:flex;overflow-y:auto}.drawer-label{color:#6e6e73;margin:6px 0 0;font-size:12.5px;font-weight:600}.swatches{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.swatch{aspect-ratio:1;cursor:pointer;border:0;border-radius:8px;box-shadow:inset 0 0 0 1px #0000001a}.swatch:hover{transform:scale(1.06)}.swatch.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #1d1d1f}.custom-color{align-items:center;gap:10px;display:flex}.custom-color input[type=color]{cursor:pointer;background:#fff;border:1px solid #d1d1d6;border-radius:8px;width:40px;height:34px;padding:2px}.custom-color span{color:#6e6e73;flex:1;font-family:ui-monospace,monospace;font-size:13px}.wall-upload{text-align:center;cursor:pointer;border:1.5px dashed #c7c7cc;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:16px;display:flex;position:relative}.wall-upload:hover{background:#fafafa;border-color:#1d1d1f}.wall-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.wall-upload span{font-size:14px;font-weight:600}.wall-upload small{color:#8a8a8e;font-size:12px}.wall-upload.busy{opacity:.6}.drawer-error{color:#b42323;margin:0;font-size:13px}.seg{background:#f2f2f4;border-radius:9px;padding:3px;display:flex}.seg button{color:#6e6e73;background:0 0;border:0;border-radius:7px;flex:1;padding:6px;font-size:13.5px}.seg button.on{color:#1d1d1f;background:#fff;font-weight:600;box-shadow:0 1px 2px #0000001f}@media (max-width:640px){.padlet-head{flex-direction:column;padding:14px 16px 8px}.padlet-tabs{padding:0 16px 8px}.padlet>.callout{margin:4px 16px 8px}.padlet .board{padding:8px 16px 24px;scroll-padding-inline:16px}.padlet-icon span:not(.live-dot){display:inline}}.padlet .react-pick>summary sup{display:none}.col-menu{position:relative}.col-menu>summary{cursor:pointer;list-style:none}.col-menu>summary::-webkit-details-marker{display:none}.col-menu-pop{z-index:6;color:#1d1d1f;width:240px;text-shadow:none;font-family:var(--font-body);background:#fff;border-radius:10px;flex-direction:column;gap:8px;padding:12px;font-size:14px;font-weight:400;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 24px #0000002e}.col-menu-pop label{color:#1d1d1f}.field-group{flex-direction:column;gap:6px;display:flex}.field-label{font-size:14px;font-weight:600}.course-link{flex-direction:column;gap:8px;display:flex}.course-link .hint{margin:0}.app-shell:has(.pad-setup){grid-template-columns:1fr}:is(.app-shell:has(.pad-setup) .sidebar,.app-shell:has(.pad-setup) .mobile-header,.app-shell:has(.pad-setup) .site-footer){display:none}.workspace-main:has(.pad-setup){max-width:none;padding:0}.pad-setup{z-index:30;background:#fff;grid-template-columns:minmax(0,1fr) 440px;display:grid;position:fixed;inset:0}.setup-preview{padding:28px 40px;position:relative;overflow:hidden}.setup-preview-head{color:#1d1d1f;flex-direction:column;gap:2px;display:flex}.setup-preview-head small{color:#1d1d1fa8;font-size:13px}.setup-preview-head strong{overflow-wrap:anywhere;font-size:28px;font-weight:700;line-height:1.3}.setup-preview-cols{align-items:flex-start;gap:16px;margin-top:36px;display:flex}.setup-col{flex-direction:column;gap:10px;width:280px;display:flex}.setup-col-title{color:#1d1d1f;font-size:15px;font-weight:700}.setup-col-add{color:#1d1d1f;background:#ffffff9e;border-radius:8px;place-items:center;height:36px;font-size:22px;display:grid}.setup-add-col{color:#1d1d1f;background:#ffffff9e;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600}.setup-drawer{color:#1d1d1f;background:#fff;border-radius:16px 0 0 16px;flex-direction:column;min-height:0;display:flex;box-shadow:-8px 0 30px #0000001f}.setup-drawer header{grid-template-columns:44px 1fr auto;align-items:center;gap:8px;padding:16px 18px;display:grid}.setup-drawer h1{text-align:center;font-family:var(--font-body);color:#1d1d1f;font-size:20px;font-weight:700}.setup-close{border-radius:10px;place-items:center;width:40px;height:40px;font-size:28px;line-height:1;display:grid;color:#3a3a3c!important;text-decoration:none!important}.setup-close:hover{background:#f2f2f4}.setup-done{color:#fff;background:#e8336f;border:0;border-radius:999px;padding:9px 18px;font-size:15px;font-weight:700}.setup-done:hover{background:#cf2560}.setup-done:disabled{opacity:.6}.setup-body{flex-direction:column;flex:1;gap:26px;padding:4px 22px 32px;display:flex;overflow-y:auto}.setup-field{flex-direction:column;gap:10px;display:flex}.setup-field>span:first-child{font-size:17px;font-weight:700}.setup-field input:not([type=checkbox]),.setup-field select{background:#f0f0f2;border:0;border-radius:12px;min-height:48px;padding:10px 16px;font-size:16px}.setup-field input:focus,.setup-field select:focus{background:#fff;outline:none;box-shadow:inset 0 0 0 2px #1d1d1f}.formats{grid-template-columns:repeat(3,1fr);gap:14px 12px;display:grid}.format{flex-direction:column;gap:6px;font-size:14px;display:flex}.format small{color:#8a8a8e;font-size:12px}.format.soon{opacity:.45}.format-thumb{aspect-ratio:4/3;background:#e9e9ee;border-radius:10px;gap:5px;padding:8px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #0000000f}.format.on .format-thumb{background:#bfe0f7;box-shadow:0 0 0 3px #7c5cff}.format-thumb i{background:#ffffffe6;border-radius:3px;display:block}.format-thumb.columns{grid-template-rows:1fr 1.4fr;grid-template-columns:repeat(3,1fr)}.format-thumb.wall{grid-template-rows:1.3fr 1fr;grid-template-columns:repeat(3,1fr)}.format-thumb.grid{grid-template-rows:1fr 1fr;grid-template-columns:repeat(3,1fr)}.format-thumb.timeline{grid-template-rows:1fr 6px;grid-template-columns:repeat(3,1fr)}.format-thumb.timeline i:nth-child(n+4){border-radius:0;align-self:center;height:2px}.format-thumb.stream{grid-template-columns:1fr;padding:6px 22%}.format-thumb.stream i:nth-child(n+4){display:none}.format-thumb.map{grid-template-columns:repeat(3,1fr)}.format-thumb.map i{border-radius:50%;place-self:center;width:12px;height:12px}.format-check{color:#fff;background:#7c5cff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:grid;position:absolute;bottom:6px;right:6px}@media (max-width:820px){.pad-setup{grid-template-rows:180px 1fr;grid-template-columns:1fr}.setup-preview{padding:18px 20px}.setup-preview-cols{margin-top:14px}.setup-drawer{border-radius:16px 16px 0 0}}.menu-card{position:relative}.menu-card .cover-link{color:inherit;text-decoration:none!important}.menu-card .cover-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.menu-card .card-top{z-index:2;pointer-events:none;position:relative}.menu-card .card-top>*{pointer-events:auto}.card-top-end{align-items:center;gap:4px;display:flex}.card-menu{z-index:3;position:relative}.card-menu-btn{width:32px;height:32px;color:var(--text-muted);background:0 0;border:0;border-radius:8px;place-items:center;margin:-4px -8px -4px 0;display:grid}.card-menu-btn:hover,.card-menu-btn[aria-expanded=true]{background:var(--surface-muted);color:var(--primary)}.card-menu-pop{z-index:20;background:var(--surface);border:1px solid var(--line);min-width:230px;box-shadow:var(--shadow-lg);border-radius:14px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:-8px}.card-menu-pop form{display:contents}.card-menu-pop>a,.card-menu-pop button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;padding:10px 12px;font-size:14.5px;display:flex;text-decoration:none!important}.card-menu-pop>a:hover,.card-menu-pop button:hover{background:var(--surface-muted)}.card-menu-pop>*+*{border-top:1px solid var(--line)}.card-menu-pop>:hover,.card-menu-pop>:hover+*{border-top-color:#0000}.card-menu-pop svg{color:var(--text-muted);flex:none}.card-menu-pop .danger,.card-menu-pop .danger svg{color:var(--danger)}.confirm-dialog{border-radius:var(--r-lg);width:min(420px,100vw - 32px);box-shadow:var(--shadow-lg);background:var(--surface);color:var(--text);border:0;padding:22px}.confirm-dialog::backdrop{background:#14182166}.confirm-dialog h2{margin-bottom:8px}.confirm-dialog p{color:var(--text-muted);font-size:14px}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.menu-card:has(.card-menu-pop){z-index:10}.app-shell:has(.padlet){grid-template-columns:1fr}:is(.app-shell:has(.padlet) .sidebar,.app-shell:has(.padlet) .mobile-header){display:none}.padlet-logo{font-family:var(--font-head);letter-spacing:-.03em;opacity:.85;margin-bottom:10px;font-size:19px;font-weight:600;display:inline-block;color:var(--wall-fg)!important;text-decoration:none!important}.padlet-logo span{color:inherit}.padlet-logo:hover{opacity:1}.board-add-btn{background:var(--surface-muted);width:100%;min-height:36px;color:var(--text);cursor:pointer;border:0;border-radius:8px;place-items:center;font-size:22px;line-height:1;display:grid}.padlet .board-add-btn{background:var(--wall-chip);color:var(--wall-fg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.padlet .board-add-btn:hover{background:var(--wall-chip-hover)}.padlet .post.c-red{background:#fbd5d3}.padlet .post.c-orange{background:#fde3c8}.padlet .post.c-yellow{background:#fbefb6}.padlet .post.c-green{background:#d3efd8}.padlet .post.c-blue{background:#d4e6fb}.padlet .post.c-purple{background:#e6dcfb}.padlet .post:not(.c-white) .post-social{border-top-color:#00000014}.padlet .post:not(.c-white) .react,.padlet .post:not(.c-white) .react-pick>summary,.padlet .post:not(.c-white) .comment-main,.padlet .post:not(.c-white) .comment-form input{background:#fff9}.composer{color:#1d1d1f;border:0;border-radius:20px;flex-direction:column;width:min(520px,100vw - 24px);max-height:min(760px,100vh - 24px);padding:0;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000047}.composer:not([open]){display:none}.composer::backdrop{background:#14182159}.composer-head{align-items:center;gap:10px;padding:14px 14px 6px;display:flex}.composer-icon{color:#3a3a3c;background:#0000000d;border:0;border-radius:12px;place-items:center;width:42px;height:42px;font-size:26px;line-height:1;display:grid}.composer-icon:hover{background:#00000017}.composer-where{color:#6e6e73;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.composer-where strong{color:#1d1d1f}.composer-submit{color:#fff;background:#e8336f;border:0;border-radius:999px;padding:10px 22px;font-size:15px;font-weight:700}.composer-submit:hover:not(:disabled){background:#cf2560}.composer-submit:disabled{color:#b0b0b5;cursor:default;background:#0000000f}.composer-body{flex-direction:column;flex:1;gap:12px;padding:4px 18px 12px;display:flex;overflow-y:auto}.composer-title{font-family:var(--font-body);color:#1d1d1f;background:0 0;border:0;min-height:0;padding:6px 2px;font-size:24px;font-weight:700}.composer-title:focus,.composer-text:focus,.composer-link:focus{box-shadow:none;outline:none}.composer-title::placeholder,.composer-text::placeholder{color:#a1a1a6}.composer-tools{background:#ffffff8c;border:1.5px dashed #9cc7ee;border-radius:16px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.composer-tools button{color:#6e6e73;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:104px;font-size:13px;display:flex}.composer-tools button+button{border-left:1px solid #0000000d}.composer-tools button:hover,.composer-tools button.on{color:#2f7ad1;background:#eaf3fd}.composer-hint{color:#8a8a8e;margin:-4px 2px 0;font-size:12px}.composer-link{background:#0000000d;border:0;border-radius:12px;min-height:44px;padding:10px 14px;font-size:15px}.composer-files{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.composer-file{background:#ffffffbf;border-radius:12px;flex-direction:column;gap:4px;padding:6px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #0000000f}.composer-file img,.composer-doc{aspect-ratio:4/3;object-fit:cover;border-radius:8px;width:100%}.composer-doc{color:#6e6e73;background:#f2f2f4;place-items:center;font-weight:700;display:grid}.composer-file .name{color:#3a3a3c;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.composer-file button{color:#fff;background:#0000008c;border:0;border-radius:50%;width:24px;height:24px;font-size:15px;line-height:1;position:absolute;top:2px;right:2px}.composer-text{resize:none;color:#1d1d1f;background:0 0;border:0;flex:1;min-height:130px;padding:4px 2px;font-size:16px}.composer-error{color:#b42323;background:#fde8e6;border-radius:10px;margin:0;padding:8px 12px;font-size:13.5px}.composer-foot{background:#ffffff73;border-top:1px solid #0000000f;align-items:center;gap:10px;padding:10px 14px;display:flex}.composer-chip{color:#3a3a3c;background:#ffffffb3;border:1.5px solid #00000014;border-radius:12px;align-items:center;gap:8px;min-width:0;max-width:100%;padding:7px 12px;font-size:14px;display:inline-flex;position:relative}.composer-chip i{border-radius:50%;width:16px;height:16px;box-shadow:inset 0 0 0 1px #0003}.composer-chip>span[aria-hidden]{color:#8a8a8e}.composer-chip.select select{text-overflow:ellipsis;background:0 0;border:0;max-width:220px;min-height:0;padding:0;font-size:14px}.composer-chip.plain{text-overflow:ellipsis;white-space:nowrap;background:0 0;border-color:#0000;overflow:hidden}.composer-color{position:relative}.composer-colors{background:#fff;border-radius:14px;gap:6px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 8px 24px #0000002e}.composer-colors button{border:0;border-radius:50%;width:28px;height:28px;box-shadow:inset 0 0 0 1px #00000026}.composer-colors button.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #7c5cff}@media (max-width:640px){.composer{border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}.composer-tools button{min-height:84px}}.post-open{cursor:zoom-in;border-radius:6px;flex-direction:column;gap:8px;display:flex;color:inherit!important;text-decoration:none!important}.post-open:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.viewer{z-index:50;color:#1d1d1f;text-shadow:none;background:#fff;grid-template-columns:minmax(0,1fr) clamp(300px,32vw,440px) 72px;animation:.18s viewer-in;display:grid;position:fixed;inset:0}@keyframes viewer-in{0%{opacity:0}to{opacity:1}}.viewer-stage{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-width:0;min-height:0;padding:0;display:flex;overflow-y:auto}.viewer-stage.media{background:#111}.viewer-stage.media a{flex:1 0 auto;justify-content:center;width:100%;min-height:0;display:flex}.viewer-stage.media img{object-fit:contain;max-width:100%;max-height:100vh;display:block}.viewer-stage.text{background:#f6f6f7;padding:clamp(24px,6vw,96px)}.viewer-stage.text.c-red{background:#fbd5d3}.viewer-stage.text.c-orange{background:#fde3c8}.viewer-stage.text.c-yellow{background:#fbefb6}.viewer-stage.text.c-green{background:#d3efd8}.viewer-stage.text.c-blue{background:#d4e6fb}.viewer-stage.text.c-purple{background:#e6dcfb}.viewer-text{flex-direction:column;gap:18px;width:100%;max-width:820px;display:flex}.viewer-text h2{font-family:var(--font-body);color:#1d1d1f;font-size:clamp(26px,3.2vw,44px);font-weight:700;line-height:1.25}.viewer-text p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:clamp(18px,1.8vw,26px);line-height:1.6}.viewer-side{border-left:1px solid #efeff1;flex-direction:column;gap:12px;min-height:0;padding:24px 22px;display:flex;overflow-y:auto}.viewer-where{color:#6e6e73;flex-direction:column;font-size:13px;line-height:1.5;display:flex}.viewer-where strong{color:#1d1d1f;font-size:15px}.viewer-side .post-head .avatar{flex-basis:32px;width:32px;height:32px}.viewer-side .post-head .who strong{font-size:14px}.viewer-side .post-head .who>span{color:#8a8a8e;font-size:12.5px}.viewer-title{font-family:var(--font-body);color:#1d1d1f;font-size:24px;font-weight:700;line-height:1.35}.viewer-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:15px}.viewer-side .ext-link{overflow-wrap:anywhere;font-size:14px}.viewer-grade{font-size:13.5px}.viewer-side .post-social{border-top:1px solid #efeff1;margin-top:8px;padding-top:12px}.viewer-rail{border-left:1px solid #efeff1;flex-direction:column;align-items:center;gap:12px;padding:18px 0;display:flex}.viewer-count{color:#6e6e73;flex-direction:column;align-items:center;margin:4px 0;font-size:15px;line-height:1.3;display:flex}.viewer-count strong{color:#1d1d1f;border-bottom:1.5px solid #c7c7cc;margin-bottom:2px;padding-bottom:2px}.viewer-btn{background:#f2f2f4;border-radius:50%;place-items:center;width:46px;height:46px;font-size:26px;line-height:1;display:grid;color:#1d1d1f!important;text-decoration:none!important}.viewer-btn:hover{background:#e5e5ea}.viewer-btn.off{background:#f7f7f8;color:#c7c7cc!important}@media (max-width:900px){.viewer{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:1fr;overflow-y:auto}.viewer-rail{border-bottom:1px solid #efeff1;border-left:0;flex-direction:row;grid-row:1;justify-content:space-between;padding:8px 12px}.viewer-count{flex-direction:row;gap:4px}.viewer-count strong{border:0;margin:0;padding:0}.viewer-count strong:after{content:" /"}.viewer-stage{grid-row:2;max-height:60vh}.viewer-stage.media img{max-height:60vh}.viewer-side{border-left:0;grid-row:3}}.toggles{flex-wrap:wrap;gap:6px;display:flex}.toggles form{display:contents}.toggle{border:1.5px solid var(--line-strong);background:var(--surface);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.toggle:before{content:"";background:var(--line-strong);border-radius:50%;width:8px;height:8px}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle:hover{border-color:var(--text-subtle)}.toggle.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.toggle:has(input:checked){background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.toggle.on:before{background:#4ade80}.toggle:has(input:checked):before{background:#4ade80}.toggle:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}form:has(input[name=graded]:not(:checked)) .score-field{display:none}.col-menu-pop .col-menu-title{font-size:14px}.col-menu-pop .col-menu-link{font-size:13px}.post{position:relative}.post-menu{z-index:3;position:absolute;top:6px;right:8px}.post-menu .card-menu-btn{background:#ffffffbf;width:28px;height:28px;margin:0}.post:has(.post-menu) .post-head{padding-right:30px}.board-col:has(.card-menu-pop){z-index:5;position:relative}.col-menu-pop{width:280px;max-height:min(70vh,560px);overflow-y:auto}.col-edit{gap:8px}.col-edit label{font-size:13px}.col-edit textarea{min-height:64px}.col-menu-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding-top:8px;display:flex}.col-user-menu .card-menu-btn{width:28px;height:28px;color:var(--wall-muted,var(--text-muted));margin:0}.col-user-menu .card-menu-btn:hover,.col-user-menu .card-menu-btn[aria-expanded=true]{background:var(--wall-chip,var(--surface-muted));color:var(--wall-fg,var(--primary))}.board-col:has(.col-user-menu .card-menu-pop){z-index:6;position:relative}.board-col-head .card-menu-pop{text-shadow:none;font-family:var(--font-body);font-weight:400}.post:has(.card-menu-pop){z-index:10}
