.adm-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.adm-tabs button{border:1px solid var(--line);background:var(--card-2);min-height:44px;color:var(--fg);font:600 14px var(--font);cursor:pointer;border-radius:999px;padding:0 16px}.adm-tabs button:hover{background:var(--muted)}.adm-tabs button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.adm-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.adm-row{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}.adm-row h3{margin:0 0 4px;font-size:16px}.adm-meta{color:var(--fg-2);flex-wrap:wrap;gap:6px 14px;margin:0 0 10px;font-size:14px;display:flex}.adm-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.adm-panel{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.adm-panel.bare{border:0;margin:0;padding:0}.adm-panel .err{color:var(--bad);margin:6px 0 0;font-size:14px}.adm-panel .fld{margin-bottom:12px}.adm-appeal{background:var(--card-2);border:1px solid var(--line);white-space:pre-wrap;border-radius:12px;margin:0 0 8px;padding:10px 14px;font-size:14px}.adm-att{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.adm-st{font-weight:700}.adm-st.on{color:var(--ok)}.adm-st.off{color:var(--bad)}.adm-sel-row{gap:12px;margin-bottom:16px;display:grid}@media (width>=720px){.adm-sel-row{grid-template-columns:1fr 1fr}}.adm-h{margin:24px 0 12px;font-size:18px}.adm-panel h4{margin:0 0 12px;font-size:15px}.adm-check{align-items:center;gap:8px;margin-bottom:12px;display:flex;font-weight:400!important}.adm-row .btn[aria-pressed=true]{border-color:var(--primary)}.adm-fs{border:1px solid var(--line);border-radius:12px;margin:0 0 12px;padding:10px 14px}.ex-bar{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.ex-field{flex-direction:column;flex:200px;gap:4px;display:flex}.ex-field input,.ex-field select{min-height:44px;font:inherit;color:var(--fg);background:var(--card-2);border:1px solid var(--input-border);border-radius:var(--r);padding:0 12px}.ex-check{align-items:center;gap:8px;min-height:44px;display:flex}.ex-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.ex-card h3{overflow-wrap:anywhere;margin:0 0 4px}.ex-img{object-fit:contain;border-radius:var(--r);background:var(--muted);width:100%;max-height:240px;margin-top:10px;display:block}.ex-files{margin:8px 0 0;padding:0;list-style:none}.ex-files a{color:var(--blue);overflow-wrap:anywhere;text-decoration:underline}.ex-heart{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.ex-more{text-align:center;margin-top:16px}.ex-invite{border-color:var(--primary);margin-bottom:16px}.ex-invite h3{margin:0 0 6px}.rk-tabs{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.rk-tabs button[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.rk-wrap{overflow-x:auto}.rk-table{border-collapse:collapse;width:100%}.rk-table th,.rk-table td{text-align:left;border-bottom:1px solid var(--line);min-height:44px;padding:10px 12px}.rk-table tr.me{background:color-mix(in srgb,var(--primary) 16%,var(--card));font-weight:700}.rk-sep td{text-align:center;color:var(--fg-2)}.rk-goal{margin-top:16px}.rk-bar{background:var(--muted);border-radius:999px;height:12px;overflow:hidden}.rk-bar>span{background:var(--ok);height:100%;display:block}.rk-goal-row{margin:10px 0}.rk-select{flex-direction:column;gap:4px;max-width:260px;margin-bottom:12px;display:flex}.rk-select select{min-height:44px;font:inherit;color:var(--fg);background:var(--card-2);border:1px solid var(--input-border);border-radius:var(--r);padding:0 12px}.tm-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.tm-card.mine{border-color:var(--primary)}.tm-card h3{margin:0 0 4px}.tm-members{margin:8px 0 0;padding:0;list-style:none}.tm-members li{overflow-wrap:anywhere;align-items:center;gap:8px;min-height:44px;display:flex}.dot.on{background:var(--ok)}.dot.off{background:var(--bad)}.rd{width:100%;max-width:360px;margin:0 auto;display:block}.rd-grid{fill:none;stroke:var(--line);stroke-width:1px}.rd-axis{stroke:var(--line);stroke-width:1px}.rd-shape{fill:color-mix(in srgb,var(--primary) 35%,transparent);stroke:var(--primary);stroke-width:2px}.rd-label{fill:var(--fg);font-size:13px}.td-badges{flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.pf-name{flex-direction:column;gap:12px;max-width:420px;display:flex}.pf-name input[type=text]{min-height:44px;font:inherit;color:var(--fg);background:var(--card-2);border:1px solid var(--input-border);border-radius:var(--r);padding:0 12px}.ca-form{gap:4px;display:grid}.ca-grid{gap:0 16px;display:grid}@media (width>=720px){.ca-grid{grid-template-columns:1fr 1fr}}.ca-field-row{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.ca-field-row .field{flex:200px;margin-bottom:0}.ca-reset{border:1px solid var(--line);min-height:44px;color:var(--fg);font:600 14px var(--font);cursor:pointer;background:0 0;border-radius:999px;padding:0 14px}.ca-reset:hover{background:var(--muted)}.ca-badge{border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700;display:inline-block}.ca-badge.ok{color:var(--ok);border-color:var(--ok)}.ca-badge.wait{color:var(--fg-2)}.ca-badge.off{color:var(--bad);border-color:var(--bad)}.ca-ta{min-height:120px}.ca-link{align-items:center;min-height:44px;display:inline-flex}.ca-status{min-height:1.4em}.ca-radios{flex-wrap:wrap;gap:8px 20px;margin-bottom:12px;display:flex}.faq-bar{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.faq-list{flex-direction:column;gap:8px;display:flex}.faq-item{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--card);padding:0 14px}.faq-item summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.faq-item p{color:var(--fg-2);white-space:pre-wrap;margin:0 0 12px}.nova-back{z-index:60;background:#14101e80;justify-content:flex-end;display:flex;position:fixed;inset:0}.nova-panel{background:var(--card);color:var(--fg);border-left:1px solid var(--line);width:min(420px,100%);height:100%;box-shadow:var(--shadow);padding:20px;overflow-y:auto}.nova-panel h2{margin:0;font-size:18px}.nova-panel h3{margin:20px 0 8px;font-size:15px}.nova-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.nova-steps{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.nova-steps li>*{align-items:center;gap:8px;min-height:44px;display:flex}.nova-steps .done{color:var(--ok);font-weight:600}.nova-hand{margin:0;padding-left:20px}.nova-hand p{color:var(--fg-2);margin:2px 0 10px}.ct-filters{flex-wrap:wrap;gap:16px;display:flex}.ct-filters .field{flex:200px}.ct-list{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.ct-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}.ct-item.locked{opacity:.75}.ct-row{min-height:44px;color:var(--fg);flex-direction:column;gap:2px;padding:12px 16px;text-decoration:none;display:flex}a.ct-row:hover{background:var(--muted)}.ct-title{font-weight:700}.ct-meta{color:var(--fg-2);font-size:14px}.ct-actions{flex-wrap:wrap;gap:12px;margin:12px 0;display:flex}.ct-actions .btn{text-decoration:none}.ct-scenario{white-space:pre-wrap}.ct-table-wrap{overflow-x:auto}.ct-table{border-collapse:collapse;width:100%;margin-top:8px}.ct-table th,.ct-table td{text-align:left;border:1px solid var(--line);padding:8px 6px}.ct-answer{border:1px solid var(--line);border-radius:var(--r);min-height:200px;margin-top:8px}@media print{body *{visibility:hidden}.ct-print-area,.ct-print-area *{visibility:visible}.ct-print-area{width:100%;box-shadow:none;color:#000;background:#fff;border:0;position:absolute;top:0;left:0}.ct-table th,.ct-table td,.ct-answer{border-color:#000}.ct-answer{min-height:300px}.no-print{display:none}}.dash-page{gap:16px;display:grid}.dash-range{flex-wrap:wrap;gap:8px;display:flex}.dash-range .btn{min-width:44px}.dash-range .btn.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.dash-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.dash-card{padding:16px}.dash-label{color:var(--fg-2);margin:0;font-size:14px;font-weight:700}.dash-value{margin:4px 0;font-size:32px;font-weight:800;line-height:1.1}.dash-note{color:var(--fg-2);margin:0 0 4px;font-size:13px}.dash-trend{font-size:13px;font-weight:700;display:block}.dash-trend.up{color:var(--ok)}.dash-trend.down{color:var(--bad)}.dash-trend.flat{color:var(--fg-2)}.dash-block h2{margin:0 0 12px;font-size:18px}.dash-block h3{margin:12px 0 8px;font-size:16px}.dash-two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.dash-list{gap:8px;margin:0;padding-left:20px;display:grid}.dash-list ul{color:var(--fg-2);margin:4px 0 0;padding-left:18px;font-size:14px}.dash-list a{align-items:center;min-height:44px;display:inline-flex}.dash-online{gap:8px;margin:0;display:grid}.dash-online div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;display:flex}.dash-online dt{color:var(--fg-2)}.dash-online dd{margin:0;font-size:24px;font-weight:800}.dash-team-btn{min-width:44px;min-height:44px;color:var(--blue);font:700 14px var(--font);cursor:pointer;text-align:left;background:0 0;border:0;padding:0 8px;text-decoration:underline}.dash-team-btn[aria-expanded=true]{color:var(--fg)}.dash-silent{border:2px dashed var(--bad);color:var(--bad);border-radius:999px;padding:2px 10px;font-weight:800;display:inline-block}.dash-members{margin-top:12px}.dash-chart{margin:0}.dash-chart svg{width:100%;height:auto;display:block}.dc-grid{stroke:var(--grid);stroke-width:1px}.dc-axis{fill:var(--fg-2);font-size:11px}.dc-line{fill:none;stroke-width:2.5px;stroke-linejoin:round}.dc-line.dc-a{stroke:var(--primary)}.dc-line.dc-b{stroke:var(--accent);stroke-dasharray:6 4}.dc-dot.dc-a{fill:var(--primary);stroke:var(--card);stroke-width:1px}.dc-dot.dc-b{fill:var(--accent);stroke:var(--fg);stroke-width:1px}.dc-legend{flex-wrap:wrap;gap:16px;margin:8px 0;padding:0;font-size:13px;list-style:none;display:flex}.dc-legend li{align-items:center;gap:6px;display:flex}.dc-table summary{cursor:pointer;align-items:center;min-height:44px;font-weight:700;display:flex}.ea-opt{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:8px;display:flex}.ea-opt .field{flex:220px;margin-bottom:0}.ea-mark{border:1px solid var(--line);background:var(--card-2);min-height:44px;color:var(--fg);font:600 14px var(--font);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.ea-mark input{width:22px;height:22px;margin:0}.ea-ok{color:var(--ok);font-weight:700}.ea-off{color:var(--fg-2);text-decoration:line-through}.ea-textarea{border:1px solid var(--line);background:var(--card);width:100%;min-height:96px;color:var(--fg);font:inherit;box-sizing:border-box;border-radius:12px;padding:10px 12px}.ea-grid{gap:0 16px;display:grid}@media (width>=720px){.ea-grid{grid-template-columns:1fr 1fr}}.ea-table{border-collapse:collapse;width:100%;font-size:14px}.ea-table th,.ea-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px}.ea-scroll{overflow-x:auto}.ea-files{margin:6px 0;padding-left:20px}.ea-files a{min-height:44px;line-height:44px;display:inline-block}.ea-badge{border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:13px;display:inline-block}.ea-prompt{white-space:pre-wrap;word-break:break-word;background:var(--card-2);border:1px solid var(--line);border-radius:12px;margin:0 0 8px;padding:8px 12px;font-size:14px}.evq-opts{margin:0 0 8px;padding-left:20px;font-size:14px}.evq-correct{color:var(--ok);font-weight:700}.evc-rank{grid-template-columns:auto 1fr;align-items:center;gap:8px;margin-bottom:8px;display:grid}.ev-count{font-variant-numeric:tabular-nums;margin:8px 0;font-size:28px;font-weight:700}.ev-q{border:0;margin:14px 0;padding:0}.ev-q legend{margin-bottom:6px;font-weight:600}.ev-opt{align-items:center;gap:8px;min-height:44px;padding:6px 0;display:flex}.ev-table{border-collapse:collapse;width:100%;margin-top:8px}.ev-table th,.ev-table td{text-align:left;border-bottom:1px solid var(--line);padding:8px 6px}.ev-table tr.mine{background:color-mix(in srgb,var(--primary) 16%,transparent);font-weight:700}.la-filters{gap:0 16px;margin-bottom:8px;display:grid}@media (width>=720px){.la-filters{grid-template-columns:repeat(4,1fr)}}.la-table{gap:10px;margin:0;padding:0;list-style:none;display:grid}.la-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px}.la-item h3{word-break:break-all;margin:0 0 4px;font-size:15px}.la-meta{color:var(--fg-2);flex-wrap:wrap;gap:4px 14px;margin:0;font-size:14px;display:flex}.la-detail{background:var(--card-2);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;border-radius:12px;max-height:240px;margin:8px 0 0;padding:8px 12px;font:13px/1.5 ui-monospace,Menlo,Consolas,monospace;overflow:auto}.la-more{margin-top:16px}.la-form{gap:4px;display:grid}.la-sec{border:1px solid var(--line);border-radius:12px;margin:0 0 16px;padding:12px 16px}.la-sec legend{padding:0 6px;font-weight:700}.la-grid{gap:0 16px;display:grid}@media (width>=720px){.la-grid{grid-template-columns:1fr 1fr}}.la-row{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.la-row .field{flex:200px;margin-bottom:0}.la-reset{border:1px solid var(--line);min-height:44px;color:var(--fg);font:600 14px var(--font);cursor:pointer;background:0 0;border-radius:999px;padding:0 14px}.la-reset:hover{background:var(--muted)}.la-check{align-items:center;gap:8px;min-height:44px;font-weight:400;display:flex}.la-check input{width:22px;height:22px}.la-status{min-height:1.4em}.rm-conn{color:var(--fg-2);flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 12px;font-size:13px;display:flex}.rm-conn:before{content:"";background:var(--fg-2);border-radius:50%;flex:none;width:8px;height:8px;margin-right:4px}.rm-conn.on:before{background:var(--ok)}.rm-conn.warn:before{background:var(--gold)}.rm-conn.bad{color:var(--bad)}.rm-conn.bad:before{background:var(--bad)}.rm-tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px;display:grid}.rm-tile{padding:14px 18px}.rm-tile-v{font-size:16px;font-weight:700}.rm-actions{flex-wrap:wrap;align-items:flex-end;gap:16px 24px;display:flex}.rm-act{flex-direction:column;gap:6px;min-width:0;display:flex}.rm-code{flex:260px}.rm-code label{font-size:14px;font-weight:600}.rm-code-row{gap:8px;display:flex}.rm-code-row input{text-transform:uppercase;letter-spacing:.2em;max-width:180px;font-family:ui-monospace,Consolas,monospace}.rm-err{color:var(--bad);margin:0;font-size:14px}.rm-ok{color:var(--ok);margin:12px 0 0;font-weight:600}.rm-list{gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.rm-room{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 18px;display:flex}.rm-room .sub{margin:0}.rm-room .rm-err{flex-basis:100%}.rm-code-tag{letter-spacing:.15em;font-family:ui-monospace,Consolas,monospace}.rm-rules{margin-top:20px}.rm-rules h2{margin:0 0 8px;font-size:16px}.rm-rules ul{color:var(--fg-2);margin:0;padding-left:20px;font-size:14px;line-height:1.6}.rm-members{gap:6px;margin:12px 0;padding:0;list-style:none;display:grid}.rm-members li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;min-height:36px;display:flex}.rm-members li span:first-child{margin-right:auto;font-weight:600}.rm-btns{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.rm-hint{margin-top:10px}.rm-count{font-variant-numeric:tabular-nums;margin:0 0 8px;font-size:28px;font-weight:700}.rm-q{border:0;min-width:0;margin:8px 0 12px;padding:0}.rm-q legend{margin-bottom:12px;font-size:17px;font-weight:600}.rm-opts{gap:10px;display:grid}.rm-opt{text-align:left;white-space:normal;border-radius:var(--r-ctl);letter-spacing:0;justify-content:flex-start;padding:10px 16px;font-weight:600}.rm-ended{margin:0 0 8px;font-size:20px;font-weight:700}.rm-h{margin:0 0 8px;font-size:18px}.rm-table{border-collapse:collapse;width:100%}.rm-table th,.rm-table td{text-align:left;border-bottom:1px solid var(--line);padding:8px 6px}.rm-btn-err{margin-top:8px}.ch{flex-direction:column;gap:16px;margin:16px 0;display:flex}.ch-card{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:16px}.ch-card h2{margin:0 0 8px;font-size:1.05rem}.ch-todo{border-color:var(--primary)}.ch-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.ch-list{margin:0;padding:0;list-style:none}.ch-row{min-height:44px;color:var(--fg);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;display:flex}a.ch-row:hover{text-decoration:underline}.ch-empty{min-height:44px;color:var(--fg-2);line-height:44px;display:block}.ch-stats{color:var(--fg-2);flex-wrap:wrap;gap:16px;margin:8px 0 0;display:flex}.ch-rank{margin:0;padding:0;list-style:none}.ch-rank li{border-radius:var(--r);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:0 8px;display:flex}.ch-rank li.me{background:color-mix(in srgb,var(--primary) 16%,var(--card));font-weight:700}@font-face{font-family:EB Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/EBGaramond-vietnamese-600-normal-Dmi8L14S.woff2)format("woff2");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:EB Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/EBGaramond-latin-600-normal-DHwxsLHv.woff2)format("woff2");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:EB Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/EBGaramond-vietnamese-700-normal-E9ZwkAgy.woff2)format("woff2");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:EB Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/EBGaramond-latin-700-normal-D7LhwqnD.woff2)format("woff2");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:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/EBGaramond-vietnamese-400-italic-DQ8HKnks.woff2)format("woff2");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:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/EBGaramond-latin-400-italic-DSEbMgZu.woff2)format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Inter-latin-400-normal-C38fXH4l.woff2)format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Inter-latin-600-normal-LgqL8muc.woff2)format("woff2");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}.cert-page{--paper:#fbf7ec;--cert-ink:#14213d;--ink-soft:#3d4a68;--cert-gold:#a9822f;--gold-light:#d9bd78;--cert-line:#cdbb8a;min-height:100vh;color:var(--cert-ink);background:#e9e6df;padding:24px 12px 48px;font-family:Inter,system-ui,sans-serif}.cert-page *{box-sizing:border-box}.cert-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:297mm;margin:0 auto 16px;font-size:14px;display:flex}.cert-toolbar a{color:var(--cert-ink);align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.cert-toolbar button{font:inherit;background:var(--cert-ink);color:#fff;cursor:pointer;border:0;border-radius:8px;min-width:44px;min-height:44px;padding:0 20px}.cert-toolbar button:focus-visible,.cert-toolbar a:focus-visible{outline:3px solid var(--cert-gold);outline-offset:2px}.cert-state{text-align:center;max-width:520px;margin:12vh auto;font-size:18px;line-height:1.6}.cert-state h1{margin:0 0 8px;font-family:EB Garamond,Georgia,serif;font-size:28px}.cert-state a{color:var(--cert-ink);align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.cert-sheet{page:cert;background:var(--paper);-webkit-print-color-adjust:exact;print-color-adjust:exact;width:297mm;height:210mm;color:var(--cert-ink);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 6px 30px #0000002e}.cert-sheet .frame-outer{border:1.6mm solid var(--cert-ink);position:absolute;inset:9mm}.cert-sheet .frame-inner{border:.35mm solid var(--cert-gold);position:absolute;inset:13.5mm}.cert-sheet .corner{border:.35mm solid var(--cert-gold);background:var(--paper);width:16mm;height:16mm;position:absolute}.cert-sheet .corner:after{content:"";border:.35mm solid var(--cert-gold);position:absolute;inset:3mm}.cert-sheet .c-tl{top:11mm;left:11mm}.cert-sheet .c-tr{top:11mm;right:11mm}.cert-sheet .c-bl{bottom:11mm;left:11mm}.cert-sheet .c-br{bottom:11mm;right:11mm}.cert-sheet .orbits{opacity:.12;width:170mm;height:170mm;position:absolute;bottom:-88mm;right:-78mm}.cert-sheet .content{text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;inset:20mm 26mm}.cert-sheet .brand{align-items:center;gap:4mm;margin-top:2mm;display:flex}.cert-sheet .brand svg{width:13mm;height:13mm}.cert-sheet .brand b{letter-spacing:.32em;color:var(--cert-ink);font-family:EB Garamond,Georgia,serif;font-size:22pt;font-weight:700}.cert-sheet .eyebrow{letter-spacing:.34em;text-transform:uppercase;color:var(--cert-gold);margin-top:7mm;font-size:9pt;font-weight:600}.cert-sheet h1{letter-spacing:.08em;color:var(--cert-ink);text-transform:uppercase;margin:3mm 0 0;font-family:EB Garamond,Georgia,serif;font-size:40pt;font-weight:600;line-height:1.1}.cert-sheet .rule{color:var(--cert-gold);align-items:center;gap:4mm;margin:5mm 0 4mm;display:flex}.cert-sheet .rule i{background:var(--gold-light);width:38mm;height:.35mm;display:block}.cert-sheet .rule svg{width:5mm;height:5mm}.cert-sheet .lead{color:var(--ink-soft);margin:0;font-family:EB Garamond,Georgia,serif;font-size:14pt;font-style:italic}.cert-sheet .name{color:var(--cert-ink);margin:3mm 0 0;font-family:EB Garamond,Georgia,serif;font-size:38pt;font-weight:600;line-height:1.15}.cert-sheet .name-line{background:var(--cert-line);width:120mm;height:.35mm;margin:1.5mm 0 4mm}.cert-sheet .body-text{color:var(--ink-soft);max-width:190mm;margin:0;font-size:11.5pt;line-height:1.6}.cert-sheet .body-text strong{color:var(--cert-ink);font-weight:600}.cert-sheet .foot{grid-template-columns:1fr auto 1fr;align-items:end;gap:6mm;width:100%;margin-top:auto;display:grid}.cert-sheet .sign{text-align:center;color:var(--ink-soft);font-size:9.5pt}.cert-sheet .sign .sig-space{border-bottom:.35mm solid var(--cert-ink);height:14mm;margin:0 6mm 2mm}.cert-sheet .sign b{color:var(--cert-ink);font-weight:600;display:block}.cert-sheet .verify{text-align:left;align-items:center;gap:4mm;display:flex}.cert-sheet .qr{border:.35mm solid var(--cert-ink);background:#fff;width:26mm;height:26mm;padding:1.2mm;display:block}.cert-sheet .verify-text{color:var(--ink-soft);font-size:8.5pt;line-height:1.5}.cert-sheet .verify-text .code{font-variant-numeric:tabular-nums;letter-spacing:.12em;color:var(--cert-ink);margin:.5mm 0;font-family:Inter,monospace;font-size:12pt;font-weight:600;display:block}.cert-sheet .verify-text .url{color:var(--cert-ink);white-space:nowrap}.cert-sheet .meta{text-align:center;color:var(--ink-soft);font-size:9.5pt}.cert-sheet .meta b{color:var(--cert-ink);font-weight:600;display:block}.cert-sheet .meta b.second{margin-top:3mm}.cert-sheet .revoked-stamp{z-index:2;color:#9a1b1b;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;background:#fbf7ecd1;border:1.2mm solid #9a1b1b;border-radius:3mm;padding:3mm 10mm;font-family:EB Garamond,Georgia,serif;font-size:44pt;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-12deg)}.cert-sheet .verify-revoked{color:#9a1b1b;text-align:left;max-width:70mm;font-size:9.5pt;line-height:1.5}@page cert{size:A4 landscape;margin:0}@media print{body.cert-route,body.cert-route .cert-page{background:0 0!important;margin:0!important;padding:0!important}.cert-page,.cert-page *{visibility:visible}.cert-toolbar{display:none!important}.cert-sheet{box-shadow:none;page-break-inside:avoid;break-inside:avoid;margin:0}}@media screen and (width<=1150px){.cert-sheet{zoom:.62}}@media screen and (width<=700px){.cert-sheet{zoom:.34}}.exam-wrap{max-width:820px;margin:0 auto;padding:16px 0 48px}.exam-back{min-height:44px;color:var(--blue);align-items:center;text-decoration:underline;display:inline-flex}.exam-list,.exam-attempt{gap:16px;display:grid}.exam-card h2,.exam-part h2{margin:0;font-size:20px}.exam-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.exam-badge{border:1px solid var(--line);background:var(--card-2);color:var(--fg);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700}.exam-badge.open{color:var(--ok);border-color:var(--ok)}.exam-facts{color:var(--fg-2);margin:8px 0;padding-left:20px}.exam-reason{border-radius:var(--r-ctl);background:var(--card-2);border:1px solid var(--line);color:var(--fg);margin:8px 0;padding:10px 14px}.exam-actions{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.exam-actions .btn{text-decoration:none}.exam-title{margin:0;font-size:22px}.exam-note{border-radius:var(--r-ctl);background:var(--card-2);border:1px solid var(--line);margin:0;padding:10px 14px}.exam-outcome{border-radius:var(--r-ctl);border:1px solid var(--line);background:var(--card);margin:0;padding:10px 14px;font-size:18px;font-weight:800}.exam-outcome.passed{color:var(--ok);border-color:var(--ok)}.exam-outcome.failed{color:var(--bad);border-color:var(--bad)}.exam-error{color:var(--bad);margin:8px 0;font-weight:600}.exam-ok{color:var(--ok);margin:8px 0;font-weight:600}.exam-sticky{z-index:2;background:var(--card);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex;position:sticky;top:0}.exam-timer{font:800 28px/1 var(--font);font-variant-numeric:tabular-nums;border-radius:var(--r-ctl);background:var(--card-2);border:1px solid var(--line);align-items:center;min-height:44px;padding:0 14px;display:flex}.exam-timer.low{color:var(--bad);border-color:var(--bad)}.exam-q{border:1px solid var(--line);border-radius:var(--r-ctl);min-width:0;margin:12px 0;padding:12px 14px}.exam-q legend{max-width:100%;padding:0 6px;font-weight:700}.exam-opt{cursor:pointer;border-radius:10px;align-items:center;gap:12px;min-height:44px;padding:6px 8px;display:flex}.exam-opt:hover{background:var(--muted)}.exam-opt input{width:22px;height:22px;accent-color:var(--primary);flex:none}.exam-save{min-height:20px;color:var(--fg-2);margin:4px 0 0;font-size:13px}.exam-prompt{white-space:pre-wrap;margin:8px 0}.exam-feedback{white-space:pre-wrap;border-radius:var(--r-ctl);background:var(--card-2);margin:8px 0;padding:10px 14px}.exam-versions h3{margin:16px 0 4px;font-size:16px}.exam-versions ul{margin:4px 0;padding-left:20px}.exam-file{min-height:44px;color:var(--blue);word-break:break-all;align-items:center;text-decoration:underline;display:inline-flex}.exam-form textarea{width:100%;font:inherit;border-radius:var(--r-ctl);border:1px solid var(--input-border);background:var(--input);color:var(--fg);padding:10px}.exam-form input[type=file]{max-width:100%;min-height:44px}@media (width<=520px){.exam-timer{font-size:22px}}:root{--font:"Nunito","Be Vietnam Pro",system-ui,sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fcefe6;--bg-img:linear-gradient(180deg,#fcefe6,#f1ecf8);--bar:#f6e8ee;--topbg:#fcf3eff2;--card:#fff;--card-2:#f7f2fb;--muted:#efe8f7;--line:#dccfea;--input-border:#8f85a3;--fg:#2f2a3b;--fg-2:#625b74;--input:#fff;--footbg:#efe8f7;--primary:#6d5bd0;--primary-hover:#5b49bd;--on-primary:#fff;--blue:#5b49bd;--accent:#f29aa8;--gold:#b45309;--ok:#047857;--bad:#b91c1c;--danger-solid:#b91c1c;--grad:linear-gradient(90deg,#8e7cf0,#f29aa8);--shadow:0 8px 24px #6a4fa326;--r:22px;--r-ctl:14px;--stars:none;--grid:#e6ddf0;--radar-fill:#6d5bd033;--i-warn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E");--i-danger:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E");--i-ok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E");--i-clock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");--i-redo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16'/%3E%3Cpath d='M8 16H3v5'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#241f3a;--bg-img:linear-gradient(160deg,#241f3a,#2e2547 60%,#3a2b4d);--bar:#1d1830;--topbg:#241f3af2;--card:#30284a;--card-2:#3a3158;--muted:#443a64;--line:#51466f;--input-border:#8f83b0;--fg:#f3edfa;--fg-2:#bfb2d6;--input:#262040;--footbg:#1d1830;--primary:#f2b880;--primary-hover:#f7c894;--on-primary:#2a2038;--blue:#c4b5fd;--accent:#f4a6a0;--gold:#f6c177;--ok:#6ee7b7;--bad:#fda4af;--danger-solid:#b91c1c;--grad:linear-gradient(90deg,#f2b880,#f4a6a0);--shadow:0 6px 20px #0003;--r:22px;--r-ctl:14px;--stars:radial-gradient(1px 1px at 20px 30px,#fff6 50%,transparent),radial-gradient(1px 1px at 140px 90px,#fff4 50%,transparent),radial-gradient(1.5px 1.5px at 260px 40px,#fff5 50%,transparent);--grid:#51466f;--radar-fill:#f2b88040}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#241f3a;--bg-img:linear-gradient(160deg,#241f3a,#2e2547 60%,#3a2b4d);--bar:#1d1830;--topbg:#241f3af2;--card:#30284a;--card-2:#3a3158;--muted:#443a64;--line:#51466f;--input-border:#8f83b0;--fg:#f3edfa;--fg-2:#bfb2d6;--input:#262040;--footbg:#1d1830;--primary:#f2b880;--primary-hover:#f7c894;--on-primary:#2a2038;--blue:#c4b5fd;--accent:#f4a6a0;--gold:#f6c177;--ok:#6ee7b7;--bad:#fda4af;--danger-solid:#b91c1c;--grad:linear-gradient(90deg,#f2b880,#f4a6a0);--shadow:0 6px 20px #0003;--r:22px;--r-ctl:14px;--stars:radial-gradient(1px 1px at 20px 30px,#fff6 50%,transparent),radial-gradient(1px 1px at 140px 90px,#fff4 50%,transparent),radial-gradient(1.5px 1.5px at 260px 40px,#fff5 50%,transparent);--grid:#51466f;--radar-fill:#f2b88040}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font:400 16px/1.55 var(--font);background-image:var(--stars),var(--bg-img);background-repeat:repeat,no-repeat;background-size:300px 160px,100% 100%;margin:0}.theme{border:1px solid var(--line);background:var(--card-2);min-width:44px;min-height:44px;color:var(--fg);font:600 13px var(--font);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex;position:relative}.theme:hover{background:var(--muted)}.theme svg,.nova svg{flex:none}.vh,.theme.icon .lbl{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}.util{background:var(--bar);border-bottom:1px solid var(--line);color:var(--fg-2);font-size:13px}.util .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:34px;display:flex}.top{z-index:20;background:var(--topbg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.top .wrap{align-items:center;gap:12px;min-height:64px;display:flex}.logo{white-space:nowrap;color:var(--fg);flex:none;order:0;align-items:center;gap:8px;font-size:18px;font-weight:800;display:flex}.logo i{border:2px solid var(--blue);border-radius:50%;width:24px;height:24px;display:inline-block;position:relative}.logo i:after{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;right:1px}nav{order:1;gap:2px;min-width:0;margin-left:8px;display:flex}nav a,.navgroup-btn{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:8px 14px;font-size:14px;font-weight:600;display:flex}nav a:hover,nav a[aria-current],.navgroup-btn:hover,.navgroup.active>.navgroup-btn{background:var(--muted)}.navgroup{position:relative}.navgroup-btn{color:var(--fg);cursor:pointer;background:0 0;border:0;font-family:inherit}.navgroup-btn svg{transition:transform .15s}.navgroup.open .navgroup-btn svg{transform:rotate(180deg)}.navgroup-label{display:none}.navgroup-list{background:var(--card);border:1px solid var(--line);border-radius:var(--r-ctl);z-index:40;min-width:220px;box-shadow:var(--shadow);flex-direction:column;gap:2px;padding:6px;display:none;position:absolute;top:calc(100% + 6px);left:0}.navgroup.open .navgroup-list{display:flex}.actions{flex:none;align-items:center;gap:8px;display:flex}.actions.primary{order:2;margin-left:auto}.actions.secondary{order:3}.menu-btn{display:none}.nova{border:1px solid var(--accent);background:var(--card-2);min-width:44px;min-height:44px;color:var(--fg);font:600 13px var(--font);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:2px;display:inline-flex}.nova:hover{background:var(--muted)}.nova .av{background:radial-gradient(circle at 30% 30%,#e9d5ff,#8e7cf0);border-radius:50%;flex:none;width:38px;height:38px;position:relative}.nova .av:after{content:"";background:var(--ok);border:2px solid var(--card-2);border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0}.nova .lab{white-space:nowrap;padding-right:12px;display:none}@media (width>=1500px){.nova .lab{display:inline}}.pagehead{padding:24px 0 4px}.pagehead h1{margin:0;font-size:clamp(22px,3vw,28px);font-weight:800;line-height:1.25}.pagehead h1:after{content:"";background:var(--grad);border-radius:3px;width:40px;height:4px;margin:10px 0 0;display:block}.pagehead.home{text-align:center;padding:36px 0 8px}.pagehead.home h1{letter-spacing:.01em;font-size:clamp(26px,4vw,36px)}.pagehead.home h1:after{width:64px;margin:14px auto 0}.pagetag{border:1px dashed var(--line);color:var(--fg-2);border-radius:999px;margin:48px 0 0;padding:4px 12px;font-size:12px;display:inline-block}.page.narrow .pagehead,.page.narrow .layout{max-width:920px}.layout{grid-template-columns:1fr;gap:24px;margin-top:16px;display:grid}@media (width>=960px){.layout.with-aside{grid-template-columns:1fr 300px}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-size:12px;font-weight:800}h2.sec{margin:28px 0 4px;font-size:20px;font-weight:700}.sub{color:var(--fg-2);margin:0 0 12px;font-size:14px}.btn{background:var(--primary);min-height:44px;color:var(--on-primary);font:700 14px var(--font);cursor:pointer;letter-spacing:.03em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0 18px;display:inline-flex}.btn:hover:not([disabled]){background:var(--primary-hover)}.btn.ghost{border-color:var(--line);color:var(--fg);background:0 0}.btn.ghost:hover{background:var(--muted)}.btn.wide{width:100%}.pill{border:1px solid var(--line);background:var(--card-2);border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:6px 12px;font-size:13px;display:inline-flex}a.pill{cursor:pointer;font-weight:600}a.pill:hover{background:var(--muted)}.pill.st-lech{border-color:var(--gold);color:var(--gold)}.pill.st-pending_removal{border-color:var(--bad);color:var(--bad)}.st{border:1px solid var(--line);color:var(--fg-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.st:before{content:"";width:13px;height:13px;-webkit-mask:var(--i) center/contain no-repeat;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;background:currentColor;flex:none;display:none}.st.on{border-color:var(--ok);color:var(--ok);--i:var(--i-ok)}.st.off{border-color:var(--line)}.st.now{border-color:var(--blue);color:var(--blue);--i:var(--i-clock)}.st.warn{border-color:var(--gold);color:var(--gold);--i:var(--i-redo)}.st.bad{border-color:var(--bad);color:var(--bad);--i:var(--i-danger)}.st.on:before,.st.now:before,.st.warn:before,.st.bad:before{display:inline-block}.dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.side .card{margin-bottom:16px;padding:16px}.side h3{letter-spacing:.1em;text-transform:uppercase;border-bottom:3px solid var(--accent);margin:0 0 12px;padding-bottom:8px;font-size:14px;display:inline-block}.topics{margin:0;padding:0;list-style:none}.topics li{border-bottom:1px solid var(--line);color:var(--fg-2);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:14px;display:flex}.topics li a{color:var(--fg)}.topics em{border:1px solid var(--line);text-align:center;border-radius:999px;min-width:28px;padding:0 8px;font-size:12px;font-style:normal}.follow{flex-wrap:wrap;gap:8px;display:flex}footer{background:var(--footbg);border-top:1px solid var(--line);margin-top:56px;padding:32px 0 16px}footer .cols{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}footer h3{letter-spacing:.1em;text-transform:uppercase;border-bottom:3px solid var(--accent);margin:0 0 12px;padding-bottom:6px;font-size:15px;display:inline-block}footer p,footer li{color:var(--fg-2);font-size:14px}.copy{color:var(--fg-2);margin-top:24px;font-size:13px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}#root{flex-direction:column;min-height:100vh;display:flex}#root>main,#root>.page{flex:1}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=button]),textarea,select{border-radius:var(--r-ctl);border:1px solid var(--input-border);background:var(--input);width:100%;min-height:44px;color:var(--fg);font:400 15px var(--font);padding:10px 14px}input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary);flex:none}input[type=file]{font:inherit;color:var(--fg-2);max-width:100%}input[type=file]::file-selector-button{border:1px solid var(--input-border);background:var(--card-2);min-height:44px;color:var(--fg);font:700 14px var(--font);cursor:pointer;border-radius:999px;margin-right:12px;padding:0 18px}input[type=file]::file-selector-button:hover{background:var(--muted)}textarea{resize:vertical;min-height:96px}.field{margin-bottom:16px}.field label,.adm-panel label{margin-bottom:6px;font-size:14px;font-weight:600;display:block}.field .hint{color:var(--fg-2);margin:4px 0 0;font-size:13px}.field .err{color:var(--bad);margin:6px 0 0;font-size:14px}.check{align-items:center;gap:10px;min-height:44px;margin:8px 0;font-weight:400;display:flex}.alert,.form-err,.form-ok{border:1px solid var(--gold);border-radius:var(--r-ctl);color:var(--fg);background:color-mix(in srgb,var(--gold) 10%,var(--card));--tone:var(--gold);--i:var(--i-warn);padding:12px 14px 12px 46px;font-size:14px;position:relative}.alert:before,.form-err:before,.form-ok:before{content:"";background:var(--tone);width:20px;height:20px;-webkit-mask:var(--i) center/contain no-repeat;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;position:absolute;top:13px;left:14px}.alert{margin-top:16px}.alert.compact{margin:16px 0}.main-col p>a:not(.btn):not(.pill){color:var(--blue);text-decoration:underline}.alert b{color:var(--tone)}.alert p{margin:6px 0 0}.alert.danger,.form-err{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--card));--tone:var(--bad);--i:var(--i-danger)}.form-ok,.alert.ok{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--card));--tone:var(--ok);--i:var(--i-ok)}.form-err,.form-ok{margin:0 0 16px}.form-ok:empty{display:none}.alert .appeal{margin-top:12px}.alert .hint,.alert .sub{color:var(--fg-2);margin:6px 0 10px}.authcard{max-width:460px;margin:0 auto}:is(.page.narrow:has(.authcard) .pagehead,.page.narrow:has(.authcard) .layout){max-width:460px;margin-inline:auto}.authcard .eyebrow,form.card>.eyebrow{margin-bottom:14px;display:block}.links{color:var(--fg-2);margin-top:16px;font-size:14px}.links a{color:var(--blue);min-height:44px;line-height:44px;text-decoration:underline;display:inline-block}.mono{word-break:break-all;-webkit-user-select:all;user-select:all;background:var(--input);border:1px solid var(--line);border-radius:12px;margin:6px 0 12px;padding:10px 14px;font-family:ui-monospace,Consolas,monospace;font-size:14px;display:block}.btn[disabled]{background:var(--muted);color:var(--fg-2);border-color:var(--line);cursor:not-allowed}.btn.ghost[disabled]{opacity:.65;background:0 0}.main-col{min-width:0;padding-bottom:8px}.layout>*{min-width:0}.hint{color:var(--fg-2);margin:4px 0 12px;font-size:13px}.mt-16{margin-top:16px}.mb-12{margin-bottom:12px}.flush{margin:0 0 4px}.flush-b{margin:0 0 8px}.pre{white-space:pre-wrap}.tap{align-items:center;min-height:44px;display:inline-flex}.tap-line{min-height:44px;line-height:44px;display:inline-block}.ml-8{margin-left:8px}.qr{background:#fff;border-radius:8px;align-self:center;padding:8px}.list-reset{margin:0;padding:0;list-style:none}.skel-list{gap:12px;margin-top:12px;display:grid}.skel-list.cols{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.skel{border-radius:var(--r);background:linear-gradient(90deg,var(--card) 25%,var(--muted) 50%,var(--card) 75%);border:1px solid var(--line);background-size:200% 100%;height:92px;animation:1.4s linear infinite skel}.skel.tall{height:150px}@keyframes skel{to{background-position:-200% 0}}.empty{text-align:center;border-style:dashed;padding:28px 20px}.empty p{color:var(--fg-2);margin:0 0 12px}@media (width<=1099px){.menu-btn{display:inline-flex}.top .wrap{flex-wrap:wrap;gap:8px;padding-top:8px;padding-bottom:8px}.actions.primary{order:1}.menu-btn{order:2;margin-left:0}nav{flex-direction:column;flex:100%;order:10;margin-left:0;display:none}nav.open{display:flex}.actions.secondary{border-top:1px solid var(--line);flex:100%;order:11;padding-top:8px;display:none}.top.open .actions.secondary{display:flex}.actions.secondary .theme.icon .lbl{clip:auto;width:auto;height:auto;margin:0;position:static;overflow:visible}.navgroup-btn{display:none}.navgroup-label{letter-spacing:.12em;text-transform:uppercase;color:var(--blue);padding:12px 12px 4px;font-size:12px;font-weight:800;display:block}.navgroup-list{min-width:0;box-shadow:none;background:0 0;border:0;padding:0;display:flex;position:static}}.tbl-wrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 8px}.confirm{border:1px solid var(--line);background:var(--card-2);border-radius:var(--r-ctl);margin-top:8px;padding:12px}.hero{padding:20px}.hero h2{margin:6px 0 4px;font-size:24px;font-weight:800;line-height:1.3}.hero .lead{color:var(--fg-2);margin:0;font-size:15px}.chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.rooms{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px;display:grid}.room h3{margin:0 0 4px}.room .when{margin:0 0 8px}.room.is-open{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),var(--shadow)}.room.is-past{box-shadow:none;background:0 0}.room .go{margin:12px 0 0}.profile{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.avatar{border:3px solid var(--card);width:72px;height:72px;box-shadow:var(--shadow);background:radial-gradient(circle at 30% 30%,#c4b5fd,#6d5bd0);border-radius:50%;flex:none}.profile h2{margin:2px 0 0;font-size:26px}.bell{position:relative}.bell .badge{background:var(--danger-solid);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:2px;right:2px}.bell-panel{z-index:40;width:min(340px,100vw - 32px);max-height:60vh;padding:8px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto}.bell-panel ul{margin:0;padding:0;list-style:none}.bell-panel li button{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;min-height:44px;color:var(--fg);font:400 14px var(--font);cursor:pointer;background:0 0;padding:10px;display:block}.bell-panel li.unread button{font-weight:600}.bell-panel small{color:var(--fg-2);font-weight:400;display:block}@media (width<=1099px){.bell{position:static}.bell-panel{width:auto;left:16px;right:16px}}.grp{letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2);margin:20px 0 0;font-size:13px;font-weight:700}.qd-list{gap:14px;margin-top:12px;display:grid}.qd-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.qd-head h3{margin:0;font-size:17px}.qd-npc{margin:0 0 12px;font-size:14px;font-style:italic}.qd-reqrow{color:var(--fg);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.topics li.qd-req{display:block}.qd-rewards{margin:14px 0;font-size:14px}.qd-quiz{margin-top:12px}.qd-q{border:0;margin:0 0 14px;padding:0}.qd-q legend{color:var(--fg);margin-bottom:6px;font-size:14px;font-weight:600}.qd-opt{min-height:44px;color:var(--fg);align-items:center;gap:10px;padding:0 4px;font-size:14px;display:flex}.qd-opt input{flex:none;width:20px;height:20px}.st.qd-lock{--i:var(--i-clock)}.st.qd-lock:before{display:inline-block}.qd-bal{margin:4px 0 0;font-size:28px;font-weight:800}.qd-price{margin:0 0 12px;font-size:15px}.qd-confirm{border-color:var(--primary);margin-top:20px}.qd-ledger li{min-height:44px}.qd-plus{color:var(--ok)}.qd-minus{color:var(--bad)}.dropzone{border:2px dashed var(--input-border);border-radius:var(--r-ctl);background:var(--card-2);flex-wrap:wrap;align-items:center;gap:12px;padding:14px;display:flex}.dropzone.is-over{border-color:var(--primary);background:var(--muted)}.dropzone .state{color:var(--fg-2);font-size:14px}.dropzone input:focus-visible+label{outline:2px solid var(--blue);outline-offset:2px}.dropzone label.btn{cursor:pointer;margin:0;font-size:14px;font-weight:700;display:inline-flex}.qd-balances{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.qd-confirm{margin-top:0}
