@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-3{top:calc(var(--spacing) * 3)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--font-sans:"Microsoft YaHei UI", "PingFang SC", "Noto Sans CJK SC", sans-serif;--font-mono:"JetBrains Mono", "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--bg:#f5f7fb;--panel:#ffffffe0;--panel-solid:#fff;--ink:#17211f;--muted:#62706f;--line:#7384803d;--line-strong:#52625f6b;--accent:#2563eb;--accent-ink:#1d4ed8;--blue:#275eea;--amber:#d48913;--red:#dc3f35;--green:#15803d;--coral:#f06449;--lime:#86b94f;--shadow-soft:0 24px 70px #27363221;--shadow-tight:0 12px 32px #2736321a;--radius:8px;--topbar-space:0px;--ease-out:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{min-height:100vh;font-family:var(--font-sans);letter-spacing:0;text-rendering:geometricprecision;margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}code,pre,kbd,samp,.mono,.score-number,.dock-score strong,.flag-console input,.payload-box,.board-score,.rank-chip,.row-sparkline{font-family:var(--font-mono)}.button{min-height:40px;color:var(--ink);cursor:pointer;transition:transform .18s var(--ease-out), border-color .18s var(--ease-out), background .18s var(--ease-out), box-shadow .18s var(--ease-out);background:#ffffffd1;border:1px solid #52625f47;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:650;display:inline-flex;box-shadow:0 8px 20px #2736320f}.button:hover{background:#fff;border-color:#2563eb5c;transform:translateY(-1px);box-shadow:0 14px 28px #2736321a}.button svg{flex:none;width:16px;height:16px}.button.primary,.segmented-actions .button.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 14px 30px #2563eb33}.sliding-pill-group{isolation:isolate;position:relative}.sliding-pill-group>:not(.pill-indicator){z-index:1;position:relative}.pill-indicator{z-index:0;width:var(--pill-w,0px);height:var(--pill-h,0px);background:var(--accent);opacity:var(--pill-opacity,0);pointer-events:none;transform:translate3d(var(--pill-x,0px), var(--pill-y,0px), 0);transition:opacity .22s var(--ease-out), transform .34s var(--ease-out), width .34s var(--ease-out), height .34s var(--ease-out);border-radius:999px;position:absolute;top:0;left:0;box-shadow:0 14px 30px #2563eb33}.button.danger{border-color:var(--red);color:var(--red)}.page{width:min(1480px,100vw - 32px);animation:page-enter .32s var(--ease-out) both;margin:0 auto;padding:24px 0 48px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.panel-pad{padding:16px}.game-page,.login-page{animation:page-enter .32s var(--ease-out) both}.muted{color:var(--muted)}.badge{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;background:#f9fafb;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:750;display:inline-flex}.badge.green{color:var(--green);background:#15803d14;border-color:#15803d47}.badge.blue{color:var(--blue);background:#2563eb14;border-color:#2563eb47}.badge.amber{color:var(--amber);background:#d977061a;border-color:#d9770647}.badge.red{color:var(--red);background:#dc262614;border-color:#dc262647}.game-page{width:min(1480px,100vw - 32px);margin:0 auto;padding:18px 0 54px}.game-alert{border-radius:var(--radius);color:#92400e;background:#fffbebd6;border:1px solid #d9770647;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;font-weight:750;display:flex}.challenge-matrix{grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:14px;margin-top:16px;display:grid}.challenge-card{border-radius:var(--radius);color:#172033;text-align:left;cursor:pointer;width:100%;min-height:174px;font:inherit;background:#fffffff5;border:1px solid #97a1af73;grid-template-rows:auto 1fr auto auto;gap:12px;padding:16px;text-decoration:none;transition:opacity .18s,transform .18s,border-color .18s,background .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 28px #1c263712}.challenge-card:before{content:"";background:var(--accent);opacity:.86;height:4px;position:absolute;inset:0 0 auto}.challenge-card:hover{border-color:#2563eb94;transform:translateY(-5px);box-shadow:0 20px 42px #2563eb21}.challenge-card.active{border-color:var(--accent);box-shadow:0 22px 48px #2563eb29, inset 0 0 0 1px var(--accent)}.challenge-card.opening{border-color:#2563ebb3;box-shadow:0 22px 48px #2563eb29}.challenge-card.opening .challenge-icon svg{animation:.9s linear infinite spin}.challenge-card.solved{background:#eff6fff5}.challenge-card[hidden]{display:none}.challenge-icon{background:#f8fafc;border:1px solid #1118271f;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.challenge-card-head,.challenge-card-meta,.challenge-card-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.challenge-card-title{overflow-wrap:anywhere;min-width:0;font-size:18px;font-weight:900;line-height:1.2}.challenge-card-meta{color:var(--muted);text-transform:uppercase;justify-content:flex-start;font-size:12px;font-weight:850}.challenge-card-foot strong{font-size:28px;font-weight:950;line-height:1}.challenge-card-foot span{color:var(--muted);font-size:12px;font-weight:800}.empty-board{border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);text-align:center;padding:28px}.challenge-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(12px);background:#f1f5f9a3;place-items:center;padding:24px;animation:.16s both fade-in;display:grid;position:fixed;inset:0}.challenge-modal{border-radius:var(--radius);background:#fffffff5;border:1px solid #ffffffc7;width:min(880px,100vw - 32px);max-height:min(88vh,860px);padding:24px;animation:.2s both modal-in;position:relative;overflow:auto;box-shadow:0 34px 120px #1e40af2e}.modal-close{cursor:pointer;background:#ffffffb8;border:1px solid #97a1af5c;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:absolute;top:14px;right:14px}.modal-hero{justify-content:space-between;align-items:flex-start;gap:48px;padding-right:38px;display:flex}.dock-category{color:var(--accent);text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:950;display:inline-flex}.modal-hero h2{overflow-wrap:anywhere;margin:0;font-size:34px;line-height:1.1}.dock-score{justify-items:end;min-width:86px;display:grid}.dock-score strong{font-size:42px;font-weight:950;line-height:.95}.dock-score span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:850}.dock-tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.dock-tags span{min-height:30px;color:var(--muted);background:#ffffffb8;border:1px solid #97a1af59;border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:850;display:inline-flex}.dock-tags .green{color:var(--green);border-color:#15803d40}.dock-tags .loading-chip{color:var(--accent);background:#eff6ffb8;border-color:#2563eb3d}.dock-description{border-top:1px solid #97a1af42;border-bottom:1px solid #97a1af42;margin-top:18px;padding:18px 0}.challenge-skeleton{gap:10px;display:grid}.challenge-skeleton span{height:14px;animation:skeleton-sheen 1.2s var(--ease-out) infinite;background:linear-gradient(90deg,#e2e8f0bd,#dbeafee6,#e2e8f0bd) 0 0/220% 100%;border-radius:999px;display:block}.challenge-skeleton span:first-child{width:84%}.challenge-skeleton span:nth-child(2){width:96%}.challenge-skeleton span:nth-child(3){width:58%}.attachment-strip{gap:8px;margin-top:16px;display:grid}.attachment-chip{border-radius:var(--radius);color:#1e3a8a;background:#eff6ffc2;border:1px solid #2563eb2e;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:9px 11px;transition:transform .16s,background .16s,box-shadow .16s;display:grid}.attachment-chip:hover{background:#dbeafeeb;transform:translateY(-1px);box-shadow:0 12px 28px #1e40af1f}.attachment-chip span{gap:2px;min-width:0;display:grid}.attachment-chip strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment-chip em{color:#64748b;font-size:12px;font-style:normal;font-weight:800}.machine-strip{border-radius:var(--radius);background:#eff6ffb8;border:1px solid #2563eb33;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px;display:flex}.machine-status,.machine-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.machine-status span{color:var(--muted);font-size:12px;font-weight:750}.icon-button{color:#172033;cursor:pointer;background:#fff;border:1px solid #97a1af73;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-width:36px;min-height:36px;padding:0 10px;font-weight:850;display:inline-flex}.icon-button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.icon-button.danger{color:var(--red);border-color:#dc26264d}.icon-button:disabled,.flag-console button:disabled{cursor:not-allowed;opacity:.42}.flag-console{border-radius:var(--radius);color:#1d4ed8;background:#eff6ffd1;border:1px solid #2563eb38;grid-template-columns:auto minmax(0,1fr) 42px;align-items:center;gap:10px;margin-top:16px;padding:10px;display:grid}.flag-console input{color:#172033;background:#ffffffe6;border:1px solid #2563eb2e;border-radius:8px;outline:none;min-width:0;height:42px;padding:0 12px}.flag-console input::placeholder{color:#94a3b8}.flag-console input:disabled{cursor:not-allowed;opacity:.68}.flag-console button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.console-message{color:#b45309;margin:10px 0 0;font-weight:850}.console-message.success{color:var(--green)}.login-required-note{border-radius:var(--radius);color:#92400e;background:#fffbebdb;border:1px solid #f59e0b42;align-items:center;gap:8px;margin-top:16px;padding:10px 12px;font-size:13px;font-weight:850;display:flex}.login-required-note a{color:#1d4ed8;white-space:nowrap;margin-left:auto}.recent-submits{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.recent-submits span{color:var(--muted);border:1px solid #97a1af59;border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-flex}.recent-submits .ok{color:var(--green);border-color:#15803d3d}@keyframes card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-sheen{0%{background-position:100% 0}to{background-position:-100% 0}}.game-layout{transition:filter .18s var(--ease-out), transform .18s var(--ease-out);grid-template-columns:132px minmax(260px,1fr) 310px;align-items:start;gap:16px;display:grid}.game-layout.modal-blurred{filter:blur(5px);pointer-events:none}.challenge-stage{min-width:0}.stage-head{justify-content:space-between;align-items:center;min-height:42px;margin-bottom:12px;display:flex}.stage-head h1{margin:0;font-size:26px;line-height:1.08}.stage-head p{color:var(--muted);margin:4px 0 0;font-size:13px;font-weight:850}.category-rail{top:calc(var(--topbar-space) + 18px);gap:8px;min-width:0;display:grid;position:sticky}.category-rail a,.category-rail button{color:#334155;cursor:pointer;text-align:left;width:100%;min-height:42px;transition:background .24s var(--ease-out), border-color .24s var(--ease-out), color .24s var(--ease-out), transform .24s var(--ease-out), box-shadow .24s var(--ease-out);background:#ffffffc7;border:1px solid #97a1af5c;border-radius:999px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 10px;font-family:inherit;font-size:13px;font-weight:900;text-decoration:none;display:grid}.category-rail a:hover,.category-rail button:hover{background:#fff;border-color:#2563eb61;transform:translate(3px)}.category-rail a.active,.category-rail button.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 14px 32px #2563eb33}.category-rail.sliding-pill-group[data-pill-ready=true] a.active,.category-rail.sliding-pill-group[data-pill-ready=true] button.active{box-shadow:none;background:0 0;border-color:#0000}.category-rail em{opacity:.76;font-size:11px;font-style:normal}.game-side{top:calc(var(--topbar-space) + 18px);gap:12px;min-width:0;display:grid;position:sticky}.side-profile,.activity-card{border-radius:var(--radius);color:#172033;-webkit-backdrop-filter:blur(16px)saturate(1.08);background:#ffffffd6;border:1px solid #94a3b83d;overflow:hidden;box-shadow:0 18px 46px #2563eb14}.side-profile{gap:16px;padding:16px;display:grid}.profile-head{align-items:center;gap:12px;display:flex}.profile-avatar{color:#fff;background:#1d4ed8;border-radius:8px;justify-content:center;align-items:center;width:50px;height:50px;font-size:24px;font-weight:950;display:inline-flex}.profile-head div{gap:4px;min-width:0;display:grid}.profile-head strong{color:#172033;text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:950;line-height:1.1;overflow:hidden}.profile-head em{color:#64748b;text-transform:uppercase;font-size:12px;font-style:normal;font-weight:850}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.profile-stats span{justify-items:center;gap:3px;min-width:0;display:grid}.profile-stats strong{color:#172033;font-size:20px;font-weight:950}.profile-stats em{color:#64748b;font-size:12px;font-style:normal;font-weight:800}.profile-progress{background:#94a3b83d;border-radius:999px;height:8px;overflow:hidden}.profile-progress span{border-radius:inherit;height:100%;transition:width .35s var(--ease-out);background:#2563eb;display:block}.profile-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.profile-actions a,.profile-actions button{color:#1d4ed8;cursor:pointer;background:#eff6ffd1;border:1px solid #2563eb38;border-radius:999px;justify-content:center;align-items:center;min-height:34px;font-size:13px;font-weight:900;display:inline-flex}.activity-card{min-height:430px;padding:14px}.activity-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:14px;display:grid}.activity-tabs button{color:#64748b;cursor:pointer;min-height:32px;transition:background .22s var(--ease-out), color .22s var(--ease-out);background:0 0;border:0;border-radius:6px;font-size:13px;font-weight:900}.activity-tabs button.active{color:#fff;background:#2563eb}.activity-tabs.sliding-pill-group[data-pill-ready=true] button.active{background:0 0}.activity-feed{gap:12px;display:grid}.activity-item{color:#475569;cursor:default;width:100%;font:inherit;text-align:left;transition:background .18s var(--ease-out), transform .18s var(--ease-out);background:0 0;border:0;border-radius:8px;grid-template-columns:24px minmax(0,1fr);gap:9px;padding:0;text-decoration:none;display:grid}.activity-item:is(a,button){cursor:pointer}.activity-item:is(a,button):hover{background:#eff6ffbd;transform:translate(2px)}.activity-icon{color:#2563eb;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.activity-item time{color:#64748b;font-size:12px;font-weight:900;display:block}.activity-item strong{overflow-wrap:anywhere;color:#172033;font-size:13px;font-weight:850;line-height:1.45;display:block}.activity-item p,.activity-empty{color:#64748b;margin:2px 0 0;font-size:12px;font-weight:750}.detail-title,.page-title{letter-spacing:0;margin:0}.markdown{line-height:1.72}.markdown code{background:#eef2f7;border-radius:4px;padding:2px 5px}.selectable-markdown,.selectable-markdown *{cursor:text;-webkit-user-select:text;user-select:text}.selectable-markdown a{cursor:pointer}.selectable-markdown img{object-fit:contain;width:auto;max-width:100%;height:auto;margin:16px auto;display:block}.mc-obfuscated{min-width:10ch;display:inline-grid;position:relative}.mc-obfuscated>span{opacity:0;grid-area:1/1;animation:.5s step-end infinite mc-section-k}.mc-obfuscated>span:first-child{animation-delay:var(--mc-delay)}.mc-obfuscated>span:nth-child(2){animation-delay:calc(var(--mc-delay) - .1s)}.mc-obfuscated>span:nth-child(3){animation-delay:calc(var(--mc-delay) - .2s)}.mc-obfuscated>span:nth-child(4){animation-delay:calc(var(--mc-delay) - .3s)}.mc-obfuscated>span:nth-child(5){animation-delay:calc(var(--mc-delay) - .4s)}@keyframes mc-section-k{0%,19.9%{opacity:1}20%,to{opacity:0}}.markdown.compact{font-size:14px;line-height:1.6}.markdown.compact p{margin:6px 0 0}.global-user-uid{z-index:1401;color:#52606c;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.94;margin:0;padding:0;line-height:1;position:fixed;bottom:4px;left:auto;right:5px}.global-user-uid code{color:inherit;letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:650}body:has(.beta-v2-app) .global-user-uid{color:var(--beta-fg-1)}body:has(.admin-workspace) .global-user-uid{color:#78b6d0}body:has(.classic-2025-shell) .global-user-uid{color:#52606c}:is(body:has(.rhythm-game) .global-user-uid,body:has(.recruit-gateway) .global-user-uid){color:#c9f1ff}@media (max-width:640px){.global-user-uid{bottom:3px;left:auto;right:4px}.global-user-uid code{font-size:9px}}.field-stack{gap:10px;display:grid}.input{width:100%;min-height:42px;color:var(--ink);transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out), background .18s var(--ease-out);background:#ffffffe6;border:1px solid #52625f57;border-radius:8px;outline:none;padding:0 12px}.input:focus{background:#fff;border-color:#2563ebb8;box-shadow:0 0 0 4px #2563eb1f}.input:disabled{cursor:not-allowed;color:var(--muted);background:#f3f4f6}.action-row{flex-wrap:wrap;gap:8px;display:flex}.board-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}table{border-collapse:collapse;width:100%}tbody tr{cursor:pointer;transition:background .15s}tbody tr:hover,.selected-row{background:#f2f7f6}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:11px 10px}.solve-dot{border:1px solid var(--line-strong);background:#fff;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.solve-dot.solved{border-color:var(--green);background:var(--green)}.board-page{gap:16px;display:grid}.login-eyebrow{color:var(--accent-ink);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:8px;font-size:12px;font-weight:950;display:inline-flex}.board-toolbar{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.segmented-actions,.board-category-bar{flex-wrap:nowrap;gap:8px;display:flex}.board-category-bar{justify-content:flex-end}.board-category-chip{color:#31413d;cursor:pointer;min-height:36px;transition:color .2s var(--ease-out), border-color .2s var(--ease-out), background .2s var(--ease-out), transform .2s var(--ease-out);background:#ffffffa8;border:1px solid #52625f33;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-weight:850;display:inline-flex}.board-category-chip:hover{background:#fff;border-color:#2563eb5c;transform:translateY(-1px)}.board-category-chip.active{border-color:var(--accent);background:var(--accent);color:#fff}.segmented-actions.sliding-pill-group[data-pill-ready=true] .button.active,.board-category-bar.sliding-pill-group[data-pill-ready=true] .board-category-chip.active{color:#fff;box-shadow:none;background:0 0;border-color:#0000}.board-category-chip em{opacity:.7;font-size:12px;font-style:normal}.board-table-panel{box-shadow:var(--shadow-tight);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;overflow:hidden}.board-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.board-panel-head>div{gap:3px;display:grid}.board-panel-head strong,.board-side-title span{font-weight:950}.board-panel-head span{color:var(--muted);font-size:12px;font-weight:800}.board-refreshing,.board-side-title,.blood-rank{align-items:center;gap:7px;display:inline-flex}.score-timeline{border-bottom:1px solid var(--line);background:#f8fafcb8;gap:10px;padding:14px 16px 12px;display:grid}.timeline-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.timeline-head strong{font-weight:950}.timeline-head>div{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.timeline-legend{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:850;display:inline-flex}.timeline-legend:before{content:"";background:var(--accent);border-radius:50%;width:9px;height:9px}.timeline-chart{width:100%;height:180px}.timeline-grid{fill:none;stroke:#94a3b847;stroke-width:1px}.timeline-line{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.timeline-line.series-1,.timeline-legend.series-1:before{stroke:#2563eb;background:#2563eb}.timeline-line.series-2,.timeline-legend.series-2:before{stroke:#60a5fa;background:#60a5fa}.timeline-line.series-3,.timeline-legend.series-3:before{stroke:#1e40af;background:#1e40af}.timeline-line.series-4,.timeline-legend.series-4:before{stroke:#93c5fd;background:#93c5fd}.board-table th{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.rank-row{transition:background .16s var(--ease-out), transform .16s var(--ease-out)}.rank-row:hover{background:#2563eb12}.rank-chip{background:#ffffffc2;border:1px solid #52625f33;border-radius:999px;justify-content:center;align-items:center;width:34px;height:30px;font-size:13px;font-weight:900;display:inline-flex}.rank-chip.top-1{color:#9a5c00;background:#fff7dce6;border-color:#d4891366}.rank-chip.top-2{color:var(--blue);background:#eff6ffe6;border-color:#275eea47}.rank-chip.top-3{color:#1e40af;background:#eff6ffb8;border-color:#60a5fa52}.board-player{text-overflow:ellipsis;vertical-align:bottom;max-width:220px;display:inline-block;overflow:hidden}.group-pill{min-height:26px;color:var(--muted);background:#ffffffa8;border:1px solid #52625f2e;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:850;display:inline-flex}.board-score{font-weight:950}.solve-count{font-weight:900}.solve-count em{color:var(--muted);font-size:12px;font-style:normal}.row-sparkline{width:112px;height:34px}.row-sparkline path:first-child{fill:none;stroke:#62706f33;stroke-width:1px}.sparkline-line{fill:none;stroke:var(--blue);stroke-linecap:round;stroke-width:2.4px}.progress-dots{align-items:center;gap:5px;display:inline-flex}.progress-dots .solve-dot{margin-right:0}.board-table th:last-child,.board-table td:last-child{white-space:nowrap;min-width:850px}.board-progress-icons{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:2px;min-width:max-content;max-width:none;display:flex}.board-progress-icons>span{color:#485b5847;flex:0 0 18px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.board-progress-icons>span.solved{color:#2563eb}.board-progress-icons>span.blood-1{color:#d99a00;filter:drop-shadow(0 0 3px #f4b80061)}.board-progress-icons>span.blood-2{color:#7a8490}.board-progress-icons>span.blood-3{color:#a85d2e}.board-progress-icons>span.category-break{margin-left:7px}.blood-badge.blood-1{color:#925600;background:#fff3b8;border-color:#e8ae0fad}.blood-badge.blood-2{color:#5d6875;background:#f1f3f5;border-color:#8994a080}.blood-badge.blood-3{color:#8b4a24;background:#fff0e6;border-color:#ae643575}.blood-badge{border-style:solid;border-width:1px;margin-left:7px}.board-empty{color:var(--muted);text-align:center;padding:28px 16px}.board-side{box-shadow:var(--shadow-tight);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;gap:12px;display:grid}.board-side-title{justify-content:space-between}.board-side-title em{color:var(--muted);font-size:12px;font-style:normal;font-weight:850}.blood-list{gap:9px;display:grid}.blood-item{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px 0;display:grid}.blood-item:first-child{border-top:0}.blood-item strong{overflow-wrap:anywhere}.blood-item p{margin:4px 0 0;font-size:12px}.blood-rank{color:#925600;background:#fff3b8;border:1px solid #e8ae0fad;border-radius:999px;justify-content:center;min-width:58px;min-height:30px;font-weight:950;box-shadow:0 0 12px #f4b80024}.blood-rank.rank-2{color:#5d6875;background:#f1f3f5;border:1px solid #8994a080}.blood-rank.rank-3{color:#8b4a24;background:#fff0e6;border:1px solid #ae643575}.board-notice{color:var(--red);margin:0;font-weight:850}.login-card{border-radius:var(--radius);width:min(560px,100%);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#fffffff0,#ffffffb8),linear-gradient(120deg,#2563eb24,#0000 42%,#60a5fa1f);border:1px solid #ffffffc7;gap:18px;padding:26px;display:grid;position:relative;overflow:hidden}.login-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--blue), #93c5fd);height:4px;position:absolute;inset:0 0 auto}.login-page{grid-template-columns:minmax(0,560px) minmax(260px,360px);justify-content:center;align-items:stretch;gap:16px;width:min(980px,100vw - 32px);margin:0 auto;padding:42px 0 56px;display:grid}.login-card-head{gap:6px;display:grid}.login-form{gap:12px}.login-field{gap:8px;font-weight:850;display:grid}.login-input-shell{display:block;position:relative}.login-input-shell svg{color:var(--muted);position:absolute;top:50%;left:13px;transform:translateY(-50%)}.login-input-shell .input{min-height:48px;padding-left:44px}.login-submit{min-height:48px}.login-message{border-radius:var(--radius);align-items:center;gap:8px;margin:0;padding:10px 12px;font-weight:850;display:inline-flex}.login-message.success{color:var(--green);background:#15803d14}.login-message.error{color:var(--red);background:#dc3f3514}.dev-login{justify-self:start}.login-aside{border-radius:var(--radius);box-shadow:var(--shadow-tight);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff8f;border:1px solid #ffffffb3;align-content:center;gap:10px;padding:18px;display:grid}.login-aside div{border-top:1px solid var(--line);gap:7px;padding:12px 0;display:grid}.login-aside div:first-child{border-top:0}.login-aside svg{color:var(--accent-ink)}.login-aside strong{font-weight:950}.login-aside span{color:var(--muted);line-height:1.65}.spin{animation:.9s linear infinite spin}.admin-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.admin-layout.wide{grid-template-columns:minmax(0,1fr) minmax(360px,520px)}.admin-heading{justify-content:space-between;margin-bottom:14px}.admin-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.kpi{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);gap:6px;padding:12px;display:grid}.kpi span{color:var(--muted);font-size:12px;font-weight:750}.kpi strong{font-size:24px;line-height:1}.kpi-blue{background:#2563eb0f;border-color:#2563eb47}.kpi-red{background:#dc26260f;border-color:#dc262640}.kpi-amber{background:#d9770612;border-color:#d9770647}.kpi-green{background:#05966912;border-color:#05966947}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.search-field{flex:340px;position:relative}.search-field svg{color:var(--muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-field .input{padding-left:38px}.user-profile-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.user-profile-head>div{gap:4px;display:grid}.profile-list{gap:8px;margin:0;display:grid}.profile-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding-bottom:8px;display:flex}.profile-list dt{color:var(--muted);font-weight:750}.profile-list dd{overflow-wrap:anywhere;text-align:right;min-width:0;max-width:220px;margin:0}.announcement-list,.notice-stack{gap:10px;display:grid}.announcement-list{grid-auto-rows:max-content;align-content:start}.announcement-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);text-align:left;cursor:pointer;gap:8px;width:100%;padding:14px;display:grid}.announcement-row.active{border-color:var(--ink);box-shadow:4px 4px 0 var(--ink)}.announcement-row .muted{overflow-wrap:anywhere}.announcement-editor{min-height:260px}.notice-item{border-top:1px solid var(--line);gap:6px;padding:10px 0;display:grid}.notice-item:first-child{border-top:0;padding-top:0}.notice-item.pinned{border-color:#2563eb47}.textarea{resize:vertical;min-height:150px;padding-top:10px}.textarea.small{min-height:86px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.segmented-field{gap:8px;display:grid}.segmented-field>span{color:var(--muted);font-size:13px;font-weight:800}.segmented-grid{grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:8px;display:grid}.segmented-grid button{border:1px solid var(--line);border-radius:var(--radius);color:#293241;cursor:pointer;text-align:left;background:#fff;justify-content:flex-start;align-items:center;gap:8px;min-height:42px;padding:0 10px;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:flex}.segmented-grid button:hover{background:#fff;border-color:#2563eb57;transform:translateY(-1px)}.segmented-grid button.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 10px 24px #2563eb2e}.difficulty-slider{grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:9px;margin-top:7px;display:grid}.difficulty-slider button{border:1px solid var(--line);background:var(--panel-muted,#f5f7fa);min-height:30px;color:var(--muted);font-family:var(--font-mono), monospace;letter-spacing:.04em;cursor:pointer;border-radius:5px;padding:0 8px;font-size:11px;font-weight:800}.difficulty-slider button.active{color:#0472a8;background:#e8f7ff;border-color:#56b7ee}.difficulty-slider input{width:100%;accent-color:var(--accent);cursor:ew-resize}.difficulty-slider output{min-width:112px;color:var(--ink);font-family:var(--font-mono), monospace;text-align:right;font-size:12px;font-weight:800}.difficulty-slider output strong{background:var(--panel-muted,#f5f7fa);width:24px;color:var(--muted);border-radius:4px;place-items:center;margin-left:3px;font-size:11px;display:inline-grid}.difficulty-slider output[data-tone=basic]{color:#087a5a}.difficulty-slider output[data-tone=easy]{color:#237098}.difficulty-slider output[data-tone=mid]{color:#9b5f13}.difficulty-slider output[data-tone=hard]{color:#af3b21}.difficulty-slider output[data-tone=severe]{color:#a51e45}.segmented-grid button strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.attachment-editor{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfd;gap:10px;padding:12px;display:grid}.panel-title-inline{justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-title-inline span{align-items:center;gap:7px;font-weight:850;display:inline-flex}.panel-title-inline em{color:var(--muted);font-size:12px;font-style:normal;font-weight:850}.file-upload-button{border-radius:var(--radius);min-height:40px;color:var(--accent);cursor:pointer;background:#eff6ffb8;border:1px dashed #2563eb61;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:850;display:inline-flex;position:relative}.file-upload-button input{cursor:pointer;opacity:0;position:absolute;inset:0}.attachment-list{gap:8px;display:grid}.attachment-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px;display:grid}.attachment-row div{gap:2px;min-width:0;display:grid}.attachment-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment-row span{color:var(--muted);font-size:12px;font-weight:750}.checkbox-row{align-items:center;gap:8px;font-weight:700;display:flex}.checkbox-row-detail{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-muted,#f5f7fa);color:#173247;align-items:flex-start;padding:10px}.checkbox-row-detail>input{margin-top:4px}.checkbox-row-detail span{gap:3px;display:grid}.checkbox-row-detail strong{color:#173247}.checkbox-row-detail small{color:#5d7285;font-size:12px;font-weight:500;line-height:1.55}.admin-user-pagination{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:12px;font-size:12px;display:flex}.admin-user-pagination>span:first-child{margin-right:auto}.admin-user-pagination strong{color:var(--ink)}.admin-user-pagination label{align-items:center;gap:5px;display:inline-flex}.admin-user-pagination select{border:1px solid var(--line);min-height:30px;color:var(--ink);background:#fff;border-radius:5px;padding:0 5px}.checkbox-row.compact{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-height:42px;padding:0 10px}.review-layout{grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr)}.panel-title-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.panel-title-row h2{margin:0;font-size:16px}.alert-row{background:#dc26260a}.payload-box{white-space:pre-wrap;overflow-wrap:anywhere;max-width:360px;max-height:120px;margin:0;font-size:12px;line-height:1.45;overflow:auto}.switch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.settings-terms{min-height:330px}.settings-range-hint{margin:-2px 0 2px;line-height:1.55}.settings-stage-heading{justify-content:space-between;align-items:center}.settings-stage-heading>span{align-items:center;gap:8px;display:inline-flex}.settings-stage-copy{margin:-2px 0 2px;line-height:1.55}.settings-stage-list{gap:10px;max-height:580px;padding-right:3px;display:grid;overflow:auto}.settings-stage-card{border:1px solid var(--line);background:var(--panel);border-left:3px solid #64c5e8;border-radius:10px;gap:9px;padding:11px;display:grid}@supports (color:color-mix(in lab, red, red)){.settings-stage-card{background:color-mix(in srgb, var(--panel) 88%, #dff5ff)}}.settings-stage-card-head{color:var(--muted);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.settings-stage-errors{color:#b42318;background:#dc26260f;border:1px solid #dc262647;border-radius:9px;gap:4px;margin:0;padding:9px 12px 9px 28px;font-size:12px;line-height:1.45;display:grid}.settings-stage-valid{color:#05825c;margin:0;font-size:12px;font-weight:700}.settings-terms-divider{background:var(--line);height:1px;margin:4px 0}.terms-box{white-space:pre-wrap;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfd;max-height:260px;padding:12px;line-height:1.7;overflow:auto}.profile-layout{align-items:start}.profile-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.profile-heading p{margin:7px 0 0}.identity-strip{border-radius:var(--radius);background:#fffbebbd;border:1px solid #d9770647;align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:flex}.identity-strip.verified{background:#f0fdf4c2;border-color:#15803d42}.identity-strip-icon{width:38px;height:38px;color:var(--amber);background:#fff;border-radius:50%;flex:0 0 38px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 8px 20px #27363214}.identity-strip.verified .identity-strip-icon{color:var(--green)}.identity-strip>span:last-child,.identity-choice>span{gap:2px;min-width:0;display:grid}.identity-strip small,.identity-choice small{color:var(--muted);font-size:12px;line-height:1.4}.identity-actions{gap:8px;padding:4px 0 8px;display:grid}.identity-choice{border-bottom:1px solid var(--line);grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:8px 10px;display:grid}.identity-choice>svg{color:var(--accent)}.external-confirm{border-radius:var(--radius);animation:page-enter .24s var(--ease-out) both;background:#eff6ffb8;border:1px solid #2563eb3d;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.profile-message{border-radius:var(--radius);color:var(--accent-ink);background:#eff6ffb8;border:1px solid #2563eb33;align-items:center;gap:7px;margin:2px 0;padding:9px 10px;font-size:13px;font-weight:750;display:flex}.profile-message.success{color:var(--green);background:#f0fdf4c2;border-color:#15803d3d}.profile-message.error{color:var(--red);background:#fef2f2c2;border-color:#dc26263d}.readonly-input-shell{display:block;position:relative}.readonly-input-shell>svg{z-index:1;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.readonly-input-shell .input{color:var(--muted);background:#f3f4f6;padding-left:38px}.campus-auth-page{width:min(100vw - 32px,560px);min-height:calc(100vh - var(--topbar-space));animation:page-enter .32s var(--ease-out) both;place-items:center;margin:0 auto;padding:24px 0 48px;display:grid}.campus-auth-panel{border:1px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-tight);background:#ffffffeb;gap:16px;padding:18px;display:grid}.campus-auth-heading{align-items:center;gap:12px;display:flex}.campus-auth-heading h1,.campus-auth-heading p{margin:0}.campus-auth-heading h1{font-size:21px}.campus-auth-heading p{color:var(--muted);margin-top:3px;font-size:13px}.campus-auth-mark{background:var(--accent);color:#fff;border-radius:8px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;box-shadow:0 12px 28px #2563eb38}.camera-stage{aspect-ratio:4/3;border-radius:var(--radius);background:linear-gradient(90deg,#2563eb0a 1px,#0000 1px) 0 0/28px 28px,linear-gradient(0deg,#2563eb0a 1px,#0000 1px) 0 0/28px 28px,#edf3fb;border:1px solid #2563eb3d;width:100%;position:relative;overflow:hidden}.camera-stage video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .22s var(--ease-out);display:block}.camera-stage.active video{opacity:1}.camera-placeholder{color:var(--accent);place-items:center;display:grid;position:absolute;inset:0}.camera-placeholder svg{width:36px;height:36px}.scan-frame{aspect-ratio:1;pointer-events:none;border:2px solid #ffffffe6;border-radius:8px;width:min(62%,260px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #2563eb8f,0 0 0 999px #1826411f}.camera-stage.active .scan-frame:after{content:"";background:#60a5fa;height:2px;animation:1.8s ease-in-out infinite scan-line;position:absolute;left:8px;right:8px;box-shadow:0 0 12px #60a5fae6}.campus-auth-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.campus-auth-message,.campus-auth-status{color:var(--red);align-items:center;gap:7px;margin:0;font-size:13px;font-weight:750;display:flex}.campus-auth-status{color:var(--accent-ink)}.campus-auth-result{border:1px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-tight);text-align:center;background:#ffffffeb;justify-items:center;gap:12px;padding:44px 20px;display:grid}.campus-auth-result svg{width:44px;height:44px}.campus-auth-result h1{margin:0;font-size:24px}.campus-auth-result.success{color:var(--green)}.campus-auth-result.invalid{color:var(--red)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@keyframes scan-line{0%,to{opacity:.45;top:10px}50%{opacity:1;top:calc(100% - 12px)}}.toast-stack{z-index:80;pointer-events:none;gap:10px;width:min(360px,100vw - 28px);display:grid;position:fixed;bottom:18px;right:18px}.toast-item{border:1px solid var(--line);border-radius:14px;gap:4px;padding:12px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.toast-item{border:1px solid color-mix(in oklab, var(--line) 80%, transparent)}}.toast-item{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.toast-item{background:color-mix(in oklab, var(--panel) 92%, black)}}.toast-item{animation:.18s ease-out toast-in;box-shadow:0 16px 40px #00000047}.toast-item strong{font-size:14px}.toast-item span{color:var(--muted);font-size:13px;line-height:1.4}.toast-success{border-color:#34d399}@supports (color:color-mix(in lab, red, red)){.toast-success{border-color:color-mix(in oklab, #34d399 45%, var(--line))}}.toast-blood{border-color:#f87171}@supports (color:color-mix(in lab, red, red)){.toast-blood{border-color:color-mix(in oklab, #f87171 55%, var(--line))}}.toast-error{border-color:#fb7185}@supports (color:color-mix(in lab, red, red)){.toast-error{border-color:color-mix(in oklab, #fb7185 58%, var(--line))}}.toast-error{background:#240b12;background:lab(6.06945% 13.6271 1.17147);box-shadow:0 16px 42px #30050f6b,inset 3px 0 #fb7185c7}.toast-error strong{color:#ffb2bd}.toast-info{border-color:#60a5fa}@supports (color:color-mix(in lab, red, red)){.toast-info{border-color:color-mix(in oklab, #60a5fa 45%, var(--line))}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.machine-hint,.machine-cmd{margin:0 0 10px;font-size:13px}.machine-cmd{background:var(--panel-2,var(--panel));border-radius:10px;padding:8px 10px;display:block}@supports (color:color-mix(in lab, red, red)){.machine-cmd{background:color-mix(in oklab, var(--panel-2,var(--panel)) 90%, black)}}.machine-cmd{overflow-x:auto}.flag-progress-list{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.flag-progress-list span{border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.flag-progress-list span.ok{border-color:#34d399}@supports (color:color-mix(in lab, red, red)){.flag-progress-list span.ok{border-color:color-mix(in oklab, #34d399 50%, var(--line))}}.flag-progress-list span.ok{color:#34d399}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.data-table th{color:var(--muted);font-weight:600}.submissions-page{width:min(1120px,100vw - 32px);padding-top:34px}.submission-ledger{background:linear-gradient(90deg,#2563eb06 1px,#0000 1px) 0 0/36px 36px,#fffffff0;border-color:#2563eb26;overflow:hidden;box-shadow:0 24px 64px #1f30421a}.submissions-head{background:#ffffffb8;border-bottom:1px solid #52625f24;align-items:center;margin:0;padding:22px 24px 18px}.submissions-head>div:first-child{gap:3px;display:grid}.submissions-head .page-title{color:#16201f;text-align:left;font-size:clamp(25px,3vw,34px);font-weight:900;line-height:1.08}.submissions-kicker{color:var(--accent);font-family:var(--font-mono);letter-spacing:.16em;font-size:10px;font-weight:800}.submissions-head-actions{align-items:center;gap:9px;display:flex}.submissions-count{color:#355277;background:#eff6ffcc;border:1px solid #2563eb29;border-radius:999px;align-items:center;min-height:34px;padding:0 11px;font-size:12px;font-weight:800;display:inline-flex}.submissions-back{min-height:36px;box-shadow:none;padding:0 12px}.submissions-table-wrap{background:#ffffffad}.submissions-table{table-layout:fixed;min-width:820px;font-size:14px}.submissions-col-time{width:144px}.submissions-col-challenge{width:auto}.submissions-col-category{width:88px}.submissions-col-flag{width:202px}.submissions-col-result{width:98px}.submissions-col-score{width:106px}.submissions-table th,.submissions-table td{vertical-align:middle;padding:13px 16px}.submissions-table th{color:#72817f;letter-spacing:.08em;background:#f5f8fbe6;height:42px;font-size:11px;font-weight:800}.submissions-table tbody tr{background:#ffffff8a;transition:background .16s,box-shadow .16s;position:relative}.submissions-table tbody tr:hover{background:#eff6ffa3;box-shadow:inset 3px 0 #60a5fa}.submissions-table tbody tr.is-correct:hover{box-shadow:inset 3px 0 #34a56f}.submission-time-cell time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;gap:2px;display:grid}.submission-time-cell strong{color:#283936;font-size:12px;font-weight:800}.submission-time-cell span{color:#74827f;font-size:12px}.submission-challenge-link{color:#182624;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:850;line-height:1.35;display:inline-block;overflow:hidden}.submission-challenge-link:hover,.submission-challenge-link:focus-visible{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.submission-category{color:#315f9f;min-width:48px;min-height:25px;font-family:var(--font-mono);text-transform:uppercase;background:#eff6ffc7;border:1px solid #2563eb33;border-radius:4px;justify-content:center;align-items:center;padding:0 7px;font-size:11px;font-weight:800;display:inline-flex}.submission-category[data-category=pwn]{color:#b13d35;background:#fef2f2c7;border-color:#dc3f3538}.submission-category[data-category=crypto]{color:#a16207;background:#fffbebd6;border-color:#d977063d}.submission-category[data-category=blockchain]{color:#15803d;background:#f0fdf4db;border-color:#16a34a38}.submission-category[data-category=reverse]{color:#6d45b5;background:#f5f3ffd6;border-color:#7c3aed33}.submission-category[data-category=misc]{color:#0f766e;background:#f0fdfad6;border-color:#0d948833}.submission-category[data-category=devops]{color:#0e7490;background:#ecfeffdb;border-color:#0891b238}.submission-category[data-category=mobile]{color:#4338ca;background:#eef2ffdb;border-color:#4f46e533}.submission-category[data-category=art]{color:#be185d;background:#fdf2f8db;border-color:#db277733}.submission-flag{color:#344543;text-overflow:ellipsis;-webkit-user-select:text;user-select:text;white-space:nowrap;background:#f3f6f8;border:1px solid #52625f24;border-radius:5px;max-width:100%;padding:6px 9px;font-size:12px;line-height:1.25;display:inline-block;overflow:hidden}.submission-result{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;min-height:28px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.submission-result.correct{color:#197044;background:#f0fdf4cc;border-color:#15803d33}.submission-result.wrong{color:#b23e37;background:#fef2f2cc;border-color:#dc3f3533}.submission-score-stack{justify-items:start;gap:2px;display:grid}.submission-score-stack strong{color:#7b8987;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px}.submission-score-stack strong.scored{color:#167447;font-size:16px}.submission-score-stack em{color:#a16207;font-size:10px;font-style:normal;font-weight:800}.submissions-empty{height:120px;text-align:center!important;vertical-align:middle!important}@media (max-width:680px){.submissions-page{width:min(100% - 20px,1120px);padding-top:16px}.submissions-head{align-items:flex-start;padding:18px}.submissions-head-actions{flex-direction:column-reverse;align-items:flex-end}.submissions-table{min-width:760px}.submissions-col-flag{width:176px}}:is(html:has(.beta-submissions-page),body:has(.beta-submissions-page)){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111}.beta-submissions-page{--beta-submission-surface:#191919;--beta-submission-raised:#222;--beta-submission-line:#3a3a3a;--beta-submission-text:#eee;--beta-submission-muted:#7b7b7b;min-height:100vh;color:var(--beta-submission-text)}.beta-submissions-page .submission-ledger{border-color:var(--beta-submission-line);background:var(--beta-submission-surface);box-shadow:0 24px 64px #00000059}.beta-submissions-page .submissions-head{border-bottom-color:var(--beta-submission-line);background:#111}.beta-submissions-page .submissions-head .page-title,.beta-submissions-page .submission-time-cell strong,.beta-submissions-page .submission-challenge-link{color:var(--beta-submission-text)}.beta-submissions-page .submissions-kicker,.beta-submissions-page .submission-challenge-link:hover,.beta-submissions-page .submission-challenge-link:focus-visible{color:#75c7f0}.beta-submissions-page .submissions-count{color:#75c7f0;background:#113555;border-color:#75c7f04d}.beta-submissions-page .submissions-back{border:1px solid var(--beta-submission-line);background:var(--beta-submission-raised);color:var(--beta-submission-text)}.beta-submissions-page .submissions-back:hover{background:#113555;border-color:#75c7f0}.beta-submissions-page .submissions-table-wrap{background:var(--beta-submission-surface)}.beta-submissions-page .submissions-table th,.beta-submissions-page .submissions-table td{border-bottom-color:var(--beta-submission-line)}.beta-submissions-page .submissions-table th{background:var(--beta-submission-raised);color:var(--beta-submission-muted)}.beta-submissions-page .submissions-table tbody tr{background:var(--beta-submission-surface)}.beta-submissions-page .submissions-table tbody tr:hover{background:#2a2a2a;box-shadow:inset 3px 0 #75c7f0}.beta-submissions-page .submissions-table tbody tr.is-correct:hover{box-shadow:inset 3px 0 #1fd8a4}.beta-submissions-page .submission-time-cell span,.beta-submissions-page .submission-score-stack strong,.beta-submissions-page .submissions-empty{color:var(--beta-submission-muted)}.beta-submissions-page .submission-category{color:#75c7f0;background:#113555;border-color:#75c7f057}.beta-submissions-page .submission-category[data-category=pwn]{color:#ff9592;background:#500f1c;border-color:#ff959252}.beta-submissions-page .submission-category[data-category=crypto]{color:#facc15;background:#3a2d0d;border-color:#facc1547}.beta-submissions-page .submission-category[data-category=blockchain]{color:#71e06f;background:#14371a;border-color:#71e06f4d}.beta-submissions-page .submission-category[data-category=reverse]{color:#c4b5fd;background:#29203e;border-color:#c4b5fd47}.beta-submissions-page .submission-category[data-category=misc]{color:#5eead4;background:#103630;border-color:#2dd4bf47}.beta-submissions-page .submission-category[data-category=devops]{color:#67e8f9;background:#103440;border-color:#67e8f947}.beta-submissions-page .submission-category[data-category=mobile]{color:#a5b4fc;background:#20274d;border-color:#a5b4fc47}.beta-submissions-page .submission-category[data-category=art]{color:#fda4af;background:#421529;border-color:#fb718547}.beta-submissions-page .submission-flag{border-color:var(--beta-submission-line);color:#b4b4b4;background:#0d0d0d}.beta-submissions-page .submission-result.correct{color:#1fd8a4;background:#0f2e22;border-color:#1fd8a44d}.beta-submissions-page .submission-result.wrong{color:#ff9592;background:#500f1c;border-color:#ff95924d}.beta-submissions-page .submission-score-stack strong.scored{color:#1fd8a4}.beta-submissions-page .submission-score-stack em{color:#facc15}.beta-submissions-page :focus-visible{outline-offset:2px;outline:2px solid #75c7f0}.challenge-card.partial{box-shadow:inset 0 0 0 1px #fbbf2466;box-shadow:inset 0 0 0 1px lab(81.2477% 13.2707 77.1047/.4)}.looking-glass-link{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.looking-glass-link:hover .board-player{color:var(--accent,#60a5fa);text-decoration:underline}.trend-mark{opacity:0;align-items:center;gap:2px;margin-left:6px;font-size:12px;font-weight:700;transition:opacity .25s,transform .25s;display:inline-flex;transform:translateY(4px)}.trend-mark-active{opacity:1;transform:translateY(0)}.trend-mark-up{color:#34d399}.trend-mark-down{color:#f87171}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020617b8;background:lab(1.77048% 1.21938 -8.84589/.72);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:var(--panel,#0f172a);border-radius:16px;width:min(720px,100%);max-height:min(80vh,720px);padding:18px;overflow:auto;box-shadow:0 24px 80px #00000073}.looking-glass-modal .badge{margin-left:6px}.machine-cmd.copyable{cursor:pointer;border:1px dashed var(--line);color:inherit;font:inherit;background:#0ea5e914;background:lab(63.352% -17.6082 -44.8631/.08);border-radius:8px;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:inline-flex}.machine-cmd.copyable:hover{border-color:#38bdf8}@supports (color:color-mix(in lab, red, red)){.machine-cmd.copyable:hover{border-color:color-mix(in oklab, #38bdf8 55%, var(--line))}}.touched-users{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.touched-toggle{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.touched-toggle em{color:inherit;background:#94a3b82e;background:lab(66.329% -2.05803 -12.7689/.18);border-radius:999px;padding:1px 8px;font-size:12px;font-style:normal}.touched-panel{margin-top:10px}.touched-panel .segmented-actions.compact{flex-wrap:wrap;gap:6px;margin-bottom:10px}.touched-panel .self-row{background:#38bdf81f;background:lab(71.5897% -21.7159 -40.1262/.12)}.segmented-actions.compact .button{padding:4px 10px;font-size:12px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
