@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-cyrillic-ext-400-normal-El6lRT8b.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-ext-400-normal-fk07B0hk.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-cyrillic-400-normal-DUb-KqT8.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-400-normal-DDHmqnIJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-vietnamese-400-normal-V2dSmW1H.woff2) format("woff2"),url(/assets/nunito-sans-vietnamese-400-normal-D5dwM7ZL.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-latin-ext-400-normal-BoHsJHPR.woff2) format("woff2"),url(/assets/nunito-sans-latin-ext-400-normal-CHwj-NZB.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-latin-400-normal-AkRraKH2.woff2) format("woff2"),url(/assets/nunito-sans-latin-400-normal-DY9yCUyQ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-cyrillic-ext-600-normal-CVjnjZn6.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-ext-600-normal-DZXkk6dX.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-cyrillic-600-normal-D4TuIAT6.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-600-normal-CKMyzy87.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-vietnamese-600-normal-DD7cNabE.woff2) format("woff2"),url(/assets/nunito-sans-vietnamese-600-normal-BW3IEr32.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-latin-ext-600-normal-nHO2odcJ.woff2) format("woff2"),url(/assets/nunito-sans-latin-ext-600-normal-DEh-VjuY.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-latin-600-normal-BtVRvDNj.woff2) format("woff2"),url(/assets/nunito-sans-latin-600-normal-DLks-Kj1.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-cyrillic-ext-700-normal-GO46tfsI.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-ext-700-normal-Cqve7k0J.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-cyrillic-700-normal-BJ2iHHyS.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-700-normal-DG2UZxR9.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-vietnamese-700-normal-CZwaiz_e.woff2) format("woff2"),url(/assets/nunito-sans-vietnamese-700-normal-BwTSkH1V.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-latin-ext-700-normal-DBq_Pukt.woff2) format("woff2"),url(/assets/nunito-sans-latin-ext-700-normal-jHN8vCOt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-latin-700-normal-CICRJDmU.woff2) format("woff2"),url(/assets/nunito-sans-latin-700-normal-CLVG92B9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--c-blue: #2153a0;--c-navy: #16294b;--c-green: #8dc63f;--c-sunshine: #f2a93b;--c-teal: #17948c;--c-red: #c4452f;--c-grape: #5b4a8f;--on-blue: #ffffff;--on-blue-muted: #c6d8f2;--on-navy: #ffffff;--on-navy-muted: #dbe6f7;--on-green: var(--c-navy);--on-sunshine: var(--c-navy);--on-teal: #ffffff;--on-red: #ffffff;--on-grape: #ffffff;--on-grape-muted: #d9d1f2;--c-green-deep: #5f8f21;--c-sunshine-deep: #b57415;--c-teal-deep: #0f6f69;--c-red-deep: #8a3323;--c-blue-deep: #16408a;--tint-green: #f6f8e9;--tint-sunshine: #fdf0d9;--tint-teal: #def0ee;--tint-red: #fbeae7;--tint-blue: #e6eef9;--ground: #f4f7fb;--card: #ffffff;--line: #e6ebf3;--chip: #eef1f6;--dot-idle: #cfd7e4;--ink: #1c2b4a;--ink-2: #56658a;--ink-faint: #8b93a4;--ink-dim: #a9b3c6;--identity: var(--c-blue);--on-identity: var(--on-blue);--identity-deep: var(--c-blue-deep);--identity-tint: var(--tint-blue);--font-young: "ABeeZee", "PingFang SC", "Microsoft YaHei", sans-serif;--font-reg: "Nunito Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--font-ui: var(--font-reg);--text-base: 16px;--text-reading: 19px;--reading-leading: 1.7;--radius-tile: 20px;--radius-button: 16px;--radius-control: 12px;--radius-badge: 9px;--tap-min: 44px;--shadow-dock: 0 6px 20px rgba(28, 43, 74, .1);--ease: cubic-bezier(.22, .9, .3, 1);--dur: .18s;--shell-max: 480px;--blue: var(--c-blue);--blue-deep: var(--c-blue-deep);--blue-soft: var(--tint-blue);--green: var(--c-green);--green-deep: var(--c-green-deep);--green-soft: var(--tint-green);--tint: var(--chip);--accent: var(--identity);--accent-deep: var(--identity-deep);--accent-soft: var(--identity-tint);--ok: var(--c-green);--ok-soft: var(--tint-green);--err: var(--c-red);--err-soft: var(--tint-red);--warn: var(--c-sunshine);--warn-soft: var(--tint-sunshine);--radius-s: var(--radius-control);--radius-m: var(--radius-button);--radius-l: var(--radius-tile);--radius-pill: 999px;--shadow: 0 0 0 rgba(28, 43, 74, 0);--shadow-lift: var(--shadow-dock)}[data-band=pre]{--identity: var(--c-sunshine);--on-identity: var(--on-sunshine);--identity-deep: var(--c-sunshine-deep);--identity-tint: var(--tint-sunshine);--font-ui: var(--font-young);--text-base: 19px;--text-reading: 27px;--reading-leading: 1.9;--radius-tile: 26px;--tap-min: 68px;--accent: var(--identity);--accent-deep: var(--identity-deep);--accent-soft: var(--identity-tint);--radius-l: var(--radius-tile)}[data-band=pri]{--identity: var(--c-green);--on-identity: var(--on-green);--identity-deep: var(--c-green-deep);--identity-tint: var(--tint-green);--font-ui: var(--font-young);--text-base: 17px;--text-reading: 24px;--reading-leading: 1.8;--radius-tile: 22px;--tap-min: 60px;--accent: var(--identity);--accent-deep: var(--identity-deep);--accent-soft: var(--identity-tint);--radius-l: var(--radius-tile)}[data-band=sec]{--identity: var(--c-teal);--on-identity: var(--on-teal);--identity-deep: var(--c-teal-deep);--identity-tint: var(--tint-teal);--font-ui: var(--font-reg);--text-base: 16px;--text-reading: 21px;--reading-leading: 1.7;--radius-tile: 20px;--tap-min: 54px;--accent: var(--identity);--accent-deep: var(--identity-deep);--accent-soft: var(--identity-tint);--radius-l: var(--radius-tile)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);line-height:1.55;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;border:none;background:none;padding:0;cursor:pointer}a{color:var(--c-blue)}:focus-visible{outline:3px solid color-mix(in srgb,var(--c-blue) 55%,transparent);outline-offset:2px}.tile{background:var(--card);border-radius:var(--radius-tile);padding:16px}.tile--hero{background:var(--c-blue);color:var(--on-blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap-min);padding:0 24px;border-radius:var(--radius-button);font-weight:700;background:var(--c-blue);color:var(--on-blue);transition:transform var(--dur) var(--ease),filter var(--dur) var(--ease);-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.97)}.btn:disabled{background:var(--line);color:var(--ink-faint);cursor:default}.btn--ghost{background:var(--line);color:var(--c-blue)}.btn--identity{background:var(--identity);color:var(--on-identity)}.btn--block{display:flex;width:100%}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-control);font-size:.78em;font-weight:700;background:var(--chip);color:var(--ink-2)}.chip--accent{background:var(--identity-tint);color:var(--identity-deep)}.kick{font-size:.72em;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--identity-deep)}.muted{color:var(--ink-2)}.target-word{color:var(--c-blue);font-weight:700}.shell{max-width:var(--shell-max);margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:18px 18px calc(90px + env(safe-area-inset-bottom))}.appbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;min-height:40px}.bottomnav{position:fixed;left:50%;transform:translate(-50%);bottom:calc(12px + env(safe-area-inset-bottom));width:min(calc(100% - 32px),calc(var(--shell-max) - 32px));display:flex;gap:6px;background:var(--card);border-radius:18px;box-shadow:var(--shadow-dock);padding:6px;z-index:5}.bottomnav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0;border-radius:var(--radius-control);text-decoration:none;color:var(--ink-faint);font-size:.7em;font-weight:700}.bottomnav__item.is-active{background:var(--c-blue);color:var(--on-blue)}.staff{min-height:100dvh;display:flex;flex-direction:column;background:var(--ground)}.staff__topbar{background:var(--c-navy);color:var(--on-navy);display:flex;align-items:center;gap:14px;padding:10px 20px;font-size:.95em}.staff__topbar .spacer{margin-left:auto;color:var(--on-navy-muted);font-size:.85em}.staffmark{display:flex;flex-direction:column;line-height:1.25}.staffmark__name{font-weight:700}.staffmark__role{font-size:.82em;font-weight:400;opacity:.75}.staffmark--signin{align-items:center;font-size:1.15em;margin-bottom:20px}.staff__body{flex:1;display:flex;min-height:0}.staff__side{width:200px;flex:none;background:var(--card);border-right:1px solid var(--line);padding:14px 0;font-size:.9em}.staff__side a{display:block;padding:9px 20px;color:var(--ink-2);text-decoration:none}.staff__side a.is-active{background:var(--tint-blue);color:var(--c-blue-deep);box-shadow:inset 3px 0 0 var(--c-blue)}.staff__main{flex:1;min-width:0;padding:20px 24px}@media (max-width: 700px){.staff__side{display:none}}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.screen-in{animation:screen-in .3s var(--ease) both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.legalfoot{flex:none;padding:10px 16px calc(10px + env(safe-area-inset-bottom));text-align:center;font-size:11px;line-height:1.5;color:var(--ink-faint)}.legalfoot a{color:var(--ink-faint);text-decoration:none}.legalfoot a:hover{color:var(--ink-2)}:root{--badge-blue: var(--blue);--badge-blue-soft: var(--blue-soft);--badge-navy: var(--blue-deep);--badge-navy-soft: var(--blue-soft);--badge-green: var(--green-deep);--badge-green-soft: var(--green-soft);--badge-sunshine: #b57415;--badge-sunshine-soft: #fdf0d9;--badge-teal: #0f6f69;--badge-teal-soft: #def0ee;--badge-red: var(--err);--badge-red-soft: var(--err-soft);--badge-grape: #6b3fa0;--badge-grape-soft: #ece2f7;--badge-ink: var(--badge-blue);--badge-wash: var(--badge-blue-soft)}[data-badge-color=blue]{--badge-ink: var(--badge-blue);--badge-wash: var(--badge-blue-soft)}[data-badge-color=navy]{--badge-ink: var(--badge-navy);--badge-wash: var(--badge-navy-soft)}[data-badge-color=green]{--badge-ink: var(--badge-green);--badge-wash: var(--badge-green-soft)}[data-badge-color=sunshine]{--badge-ink: var(--badge-sunshine);--badge-wash: var(--badge-sunshine-soft)}[data-badge-color=teal]{--badge-ink: var(--badge-teal);--badge-wash: var(--badge-teal-soft)}[data-badge-color=red]{--badge-ink: var(--badge-red);--badge-wash: var(--badge-red-soft)}[data-badge-color=grape]{--badge-ink: var(--badge-grape);--badge-wash: var(--badge-grape-soft)}.badge-tile{display:flex;flex-direction:column;align-items:center;gap:8px;width:132px;padding:14px 10px 12px;border-radius:var(--radius-tile);background:var(--card);text-align:center}.badge-tile__disc{flex:none;display:flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:var(--radius-pill);background:var(--badge-wash);color:var(--badge-ink)}.badge-tile__name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%;height:2.5em;font-size:.94em;font-weight:700;line-height:1.25;color:var(--ink)}.badge-tile--locked .badge-tile__disc{background:var(--tint);color:var(--ink-faint)}.badge-tile--locked .badge-tile__name{color:var(--ink-2)}.badge-tile__foot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:34px;margin-top:auto}.badge-tile__earned{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-pill);background:var(--badge-wash);color:var(--badge-ink);font-size:.74em;font-weight:700;white-space:nowrap}.badge-tile__earned svg{flex:none}.badge-tile__bar{width:100%;height:6px;border-radius:var(--radius-pill);background:var(--tint);overflow:hidden}.badge-tile__bar span{display:block;height:100%;border-radius:var(--radius-pill);background:var(--badge-ink)}.badge-tile__count{font-size:.74em;font-variant-numeric:tabular-nums;color:var(--ink-faint)}.badgetile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));grid-auto-rows:1fr;align-items:start;gap:14px;margin-top:6px}.badge-dot{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-pill);background:var(--badge-wash);color:var(--badge-ink)}.input{display:block;width:100%;min-height:var(--tap-min);padding:0 14px;margin:4px 0 14px;border:2px solid var(--line);border-radius:var(--radius-m);background:var(--card);color:var(--ink);font:inherit}.input:focus-visible{outline:none;border-color:var(--blue)}.input--inline{display:inline-block;width:auto;min-width:90px;min-height:34px;margin:0;padding:0 8px;border-width:1px;font-size:.9em}.input--area{min-height:0;padding:8px 12px;line-height:1.5;resize:vertical}.signout{opacity:.85;font-weight:700;text-decoration:underline;text-underline-offset:3px}.signout:hover{opacity:1}.staff__side button{display:block;width:100%;text-align:left;padding:9px 20px;color:var(--ink-2);font:inherit}.staff__side button.is-active{background:var(--blue-soft);color:var(--blue-deep);box-shadow:inset 3px 0 0 var(--blue);font-weight:700}.panes{display:flex;gap:16px;align-items:flex-start}.pane{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow);padding:14px 16px}.pane--narrow{flex:none;width:230px}.pane__title{font-size:1em;margin-bottom:10px}.pane__group{margin-bottom:12px}.listrow{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;padding:8px 10px;margin-top:4px;border-radius:var(--radius-s);font-size:.92em}.listrow:hover{background:var(--tint)}.listrow.is-on{background:var(--blue-soft);color:var(--blue-deep)}.listrow .muted{font-size:.86em}.inlineform{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.table-wrap{width:100%;overflow-x:auto;margin-top:10px}.dt-style{width:100%;border-collapse:collapse;font-size:.92em}.dt-style th{text-align:left;font-size:.72em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);padding:6px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.dt-style td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.dt-style tbody tr:last-child td{border-bottom:none}.clickrow{cursor:pointer}.clickrow:hover td{background:var(--tint)}.dt-style tr.is-tapping td{background:var(--accent-soft)}.status{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-pill);font-size:.76em;font-weight:700;white-space:nowrap}.status--draft{background:var(--tint);color:var(--ink-2)}.status--review{background:var(--warn-soft);color:var(--ink)}.status--published{background:var(--ok-soft);color:var(--ink)}.status--warn{background:var(--warn-soft);color:var(--ink)}.editor__head{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.editor__head h2{font-size:1.1em}.editor__cols{display:flex;gap:16px;align-items:flex-start}.editor__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}.editor__side{flex:none;width:380px}.tile__head{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:6px}.field{display:block;margin-bottom:4px}.field__label{display:block;font-size:.78em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-top:10px}.field__hint{display:block;margin-top:-8px;margin-bottom:12px;font-size:.82em;color:var(--ink-2)}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 16px}.chiprow{display:flex;gap:8px;margin:6px 0 14px}.chip-radio{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);font-size:.9em;cursor:pointer}.chip-radio.is-on{background:var(--blue-soft);border-color:var(--blue);color:var(--blue-deep);font-weight:700}.checkline{display:flex;align-items:center;gap:8px;margin:8px 0 12px;font-size:.92em;cursor:pointer}.btnrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn-mini{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;border-radius:var(--radius-pill);background:var(--blue-soft);color:var(--blue-deep);font-size:.88em;font-weight:700;cursor:pointer}.btn-mini:hover{background:color-mix(in srgb,var(--blue) 18%,var(--card))}.linkish{color:var(--blue);font-size:.9em;font-weight:700;text-decoration:underline;text-underline-offset:3px}.linelist{margin:8px 0 0;padding:0;list-style:none}.linelist li{display:flex;gap:10px;padding:6px 8px;border-bottom:1px solid var(--line)}.linelist li:last-child{border-bottom:none}.linelist__no{flex:none;width:22px;color:var(--ink-faint);font-size:.85em}.thumb{display:block;width:48px;height:48px;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius-s)}.player{display:block;width:100%;margin-top:12px}.tapbtn{margin-top:12px;min-height:64px;font-size:1.05em}.problems{margin:8px 0 0;padding:0;list-style:none}.problems li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.problems li:last-child{border-bottom:none}.steps{margin:10px 0 0;padding-left:20px;color:var(--ink-2);font-size:.94em}.steps li{margin-bottom:5px}.statrow{display:flex;gap:24px;margin-top:10px}.stat{display:flex;flex-direction:column}.stat__n{font-size:1.8em;font-weight:700;color:var(--blue-deep)}.stat__l{font-size:.82em;color:var(--ink-2)}.statrow--wrap{flex-wrap:wrap;row-gap:14px}.code-text{font-variant-numeric:tabular-nums;letter-spacing:.08em}@keyframes row-new-fade{0%{background:var(--accent-soft)}to{background:transparent}}.row-new td{animation:row-new-fade 2.4s var(--ease) both}.icon-picker{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}.icon-picker button{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--card);color:var(--ink-2);cursor:pointer}.icon-picker button:hover{background:var(--tint)}.icon-picker button.is-on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-deep)}.swatch-picker{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}.swatch{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 10px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);font-size:.86em;cursor:pointer}.swatch:hover{background:var(--tint)}.swatch.is-on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-deep);font-weight:700}.swatch__dot{width:16px;height:16px;border-radius:var(--radius-pill);background:var(--badge-ink)}.badge-preview{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;margin-top:6px}.badge-preview__cap{margin-top:6px;font-size:.8em;text-align:center}.err-text{margin:10px 0;color:var(--err);font-size:.9em}.ok-text{margin:10px 0;color:var(--green-deep);font-size:.9em}.warn-text{margin:10px 0;padding:8px 12px;border-radius:var(--radius-s);background:var(--warn-soft);color:var(--ink);font-size:.9em}@media (max-width: 1180px){.panes,.editor__cols{flex-wrap:wrap}.editor__side,.pane--narrow{width:100%}}
