:root{--ink:#20262b;--muted:#667078;--line:#dde2e5;--soft-line:#e9edef;--canvas:#f2f4f5;--paper:#ffffff;--soft:#f7f8f8;--green:#167c65;--green-soft:#eaf5f1;--red:#b44950;--amber:#a66b14;--sidebar:#242b30}.tutorial-app{min-height:100vh;background:#edf0f1;color:#1f292f}.tutorial-header{position:sticky;z-index:50;top:0;min-height:62px;padding:0 22px;border-bottom:1px solid #ccd3d6;background:#20282d;color:#eef2f3;display:grid;grid-template-columns:230px 1fr 230px;align-items:center;gap:18px}.tutorial-brand{width:max-content;display:flex;align-items:center;gap:10px}.tutorial-brand>svg{color:#6ec2a8}.tutorial-brand small,.tutorial-brand span,.tutorial-brand strong{display:block}.tutorial-brand strong{font-size:14px}.tutorial-brand small{margin-top:1px;color:#9ba7ad;font-size:9px}.tutorial-header nav{height:62px;display:flex;align-items:stretch;justify-content:center}.tutorial-header nav a{min-width:104px;padding:0 17px;border-bottom:3px solid transparent;display:flex;align-items:center;justify-content:center;gap:8px;color:#b9c3c8;font-size:12px;font-weight:750}.tutorial-header nav a:hover{color:#fff;background:#293238}.tutorial-header nav a.active{border-bottom-color:#60b79d;color:#fff;background:#293238}.tutorial-header nav a span{min-width:23px;padding:2px 6px;border-radius:8px;background:#3b474d;color:#dfe6e9;font-size:9px;text-align:center}.tutorial-account{display:flex;align-items:center;justify-content:flex-end;gap:12px}.tutorial-account>span{text-align:right}.tutorial-account small,.tutorial-account strong{display:block}.tutorial-account small{color:#95a2a8;font-size:9px}.tutorial-account strong{margin-top:2px;font-size:12px}.tutorial-account form{margin:0}.tutorial-account button{width:34px;height:34px;padding:0;border:1px solid #4b575d;border-radius:4px;background:#293238;color:#cad3d7;display:grid;place-items:center}.tutorial-account button:hover{border-color:#9fb0b7;color:#fff}.tutorial-login-page{min-height:100vh;padding:36px 18px;background:#253036 url(/tutorial/table-felt.png) 50%/cover;display:grid;place-items:center}.tutorial-login-card{width:min(410px,100%);padding:30px;border:1px solid #cbd3d6;border-radius:6px;background:rgba(255,255,255,.97);box-shadow:0 22px 60px rgba(4,15,18,.34);display:grid;gap:18px}.tutorial-login-mark{width:46px;height:46px;border:1px solid #8bb8aa;border-radius:5px;background:#e5f3ee;color:#176d5a;display:grid;place-items:center}.tutorial-eyebrow{margin:0 0 5px;color:#16715d;font-size:10px;font-weight:850}.tutorial-login-card h1{margin-bottom:6px;font-size:24px}.tutorial-login-card>div>p:last-child{margin:0;color:#667078;font-size:11px;line-height:1.6}.tutorial-login-card label{display:grid;gap:6px;color:#4c575e;font-size:11px;font-weight:750}.tutorial-login-card input{min-height:42px;padding:9px 11px;border:1px solid #c6cfd3;border-radius:4px;outline:0}.tutorial-login-card input:focus{border-color:#167c65;box-shadow:0 0 0 2px #dceee8}.tutorial-login-card>button{min-height:42px;border:1px solid #126b57;border-radius:4px;background:#167c65;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:800}.tutorial-login-card>button:hover{background:#126b57}.tutorial-login-card>button:disabled{cursor:wait;opacity:.6}.tutorial-form-error{margin:0;padding:10px 12px;border:1px solid #dfb8ba;background:#fff1f1;color:#9b323a;font-size:11px}.tutorial-loading-page{min-height:100vh;background:#dfecea;display:grid;place-items:center;color:#27443e}.tutorial-loading-content{min-width:220px;display:grid;justify-items:center}.tutorial-loading-content>strong{margin-top:2px;font-size:14px}.tutorial-loading-content>span{height:14px;margin-top:9px;display:flex;align-items:center;gap:5px}.tutorial-loading-content>span i{width:5px;height:5px;border-radius:50%;background:#3d8f7b;animation:tutorial-loading-dot 1s ease-in-out infinite}.tutorial-loading-content>span i:nth-child(2){animation-delay:.14s}.tutorial-loading-content>span i:nth-child(3){animation-delay:.28s}.tutorial-loading-scene{position:relative;width:156px;height:126px}.tutorial-loading-shadow{bottom:7px;width:68px;height:10px;border-radius:50%;background:rgba(34,83,73,.2);animation:tutorial-loading-shadow 1.15s ease-in-out infinite}.tutorial-loading-mascot,.tutorial-loading-shadow{position:absolute;left:50%;transform:translateX(-50%)}.tutorial-loading-mascot{bottom:12px;width:82px;height:100px;animation:tutorial-loading-jump 1.15s ease-in-out infinite}.tutorial-loading-hair{position:absolute;z-index:1;top:4px;left:13px;width:56px;height:58px;border-radius:48% 48% 42% 42%;background:#315a69;box-shadow:inset 0 -8px 0 rgba(20,61,73,.28)}.tutorial-loading-hair:after,.tutorial-loading-hair:before{content:"";position:absolute;top:20px;width:25px;height:31px;border-radius:50% 50% 45% 45%;background:#315a69}.tutorial-loading-hair:before{left:-15px;transform:rotate(17deg)}.tutorial-loading-hair:after{right:-15px;transform:rotate(-17deg)}.tutorial-loading-face{position:absolute;z-index:2;top:18px;left:21px;width:40px;height:37px;border-radius:46% 46% 50% 50%;background:#ffe4d0;box-shadow:inset 0 -3px 0 #f5c9bb}.tutorial-loading-face:before{content:"";position:absolute;top:16px;left:10px;width:4px;height:5px;border-radius:50%;background:#34474b;box-shadow:16px 0 0 #34474b,-4px 7px 0 -1px #ee9d9d,20px 7px 0 -1px #ee9d9d}.tutorial-loading-face:after{content:"";position:absolute;top:27px;left:18px;width:6px;height:3px;border-bottom:2px solid #b96f70;border-radius:0 0 6px 6px}.tutorial-loading-body{position:absolute;z-index:1;top:54px;left:24px;width:34px;height:39px;border-radius:12px 12px 6px 6px;background:#fff8f5;border:2px solid #64ad9b;box-shadow:inset 0 -12px 0 #73bbaa}.tutorial-loading-body:after,.tutorial-loading-body:before{content:"";position:absolute;bottom:-9px;width:11px;height:14px;border-radius:4px;background:#344f5a}.tutorial-loading-body:before{left:3px;transform:rotate(7deg)}.tutorial-loading-body:after{right:3px;transform:rotate(-7deg)}.tutorial-loading-arm{position:absolute;z-index:4;top:61px;width:25px;height:8px;border-radius:8px;background:#ffe0ca}.tutorial-loading-arm.left{left:12px;transform:rotate(22deg)}.tutorial-loading-arm.right{right:12px;transform:rotate(-22deg)}.tutorial-loading-tile{position:absolute;z-index:5;top:57px;left:31px;width:21px;height:29px;border:2px solid #d9d7cd;border-radius:3px;background:#fffefa;color:#cf4545;display:grid;place-items:center;font-size:15px;font-style:normal;font-weight:900;box-shadow:0 2px 0 #b8d4ca;animation:tutorial-loading-tile 1.15s ease-in-out infinite}.tutorial-loading-spark{position:absolute;width:10px;height:10px;animation:tutorial-loading-spark 1.15s ease-in-out infinite}.tutorial-loading-spark:after,.tutorial-loading-spark:before{content:"";position:absolute;background:#db9d42;border-radius:1px}.tutorial-loading-spark:before{top:4px;left:0;width:10px;height:2px}.tutorial-loading-spark:after{top:0;left:4px;width:2px;height:10px}.tutorial-loading-spark.spark-one{top:31px;left:23px}.tutorial-loading-spark.spark-two{top:18px;right:24px;animation-delay:.18s;transform:scale(.72)}@keyframes tutorial-loading-jump{0%,to{transform:translate(-50%) rotate(-2deg)}48%{transform:translate(-50%,-18px) rotate(2deg)}}@keyframes tutorial-loading-shadow{0%,to{opacity:.75;transform:translateX(-50%) scaleX(1)}48%{opacity:.3;transform:translateX(-50%) scaleX(.58)}}@keyframes tutorial-loading-tile{0%,to{transform:rotate(-3deg)}48%{transform:rotate(4deg)}}@keyframes tutorial-loading-spark{0%,20%,to{opacity:0;transform:scale(.35) rotate(0)}48%,68%{opacity:1;transform:scale(1) rotate(45deg)}}@keyframes tutorial-loading-dot{0%,to{opacity:.28;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.tutorial-loading-content>span i,.tutorial-loading-mascot,.tutorial-loading-shadow,.tutorial-loading-spark,.tutorial-loading-tile{animation:none}}.tutorial-queue-page{width:min(1540px,calc(100% - 36px));margin:0 auto;padding:28px 0 50px}.tutorial-page-heading{margin-bottom:18px;display:flex;align-items:end;justify-content:space-between;gap:24px}.tutorial-page-heading h1{margin:0 0 5px;font-size:25px}.tutorial-page-heading>div>p:last-child{margin:0;color:#637078;font-size:12px}.tutorial-page-heading>strong{min-width:90px;font-size:25px;text-align:right}.tutorial-page-heading>strong small{margin-top:2px;display:block;color:#6f7b82;font-size:9px}.tutorial-filters{margin-bottom:12px;padding:11px;border:1px solid #d2d8db;border-radius:5px;background:#fff;display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(4,minmax(130px,.65fr));gap:8px}.tutorial-filters select,.tutorial-search{min-height:38px;border:1px solid #c7d0d4;border-radius:4px;background:#fff}.tutorial-filters select{width:100%;padding:0 9px;color:#39454c;font-size:11px}.tutorial-search{padding:0 10px;display:flex;align-items:center;gap:8px;color:#758188}.tutorial-search input{width:100%;min-width:0;height:36px;padding:0;border:0;outline:0;color:#29343a;font-size:11px}.tutorial-case-list{border:1px solid #d2d8db;border-radius:5px;background:#fff;overflow:hidden}.tutorial-case-row{min-height:126px;padding:12px 13px;border-bottom:1px solid #e1e5e7;display:grid;grid-template-columns:180px minmax(390px,1.4fr) 150px minmax(190px,.75fr) 76px;align-items:center;gap:14px}.tutorial-case-row:last-child{border-bottom:0}.tutorial-case-row:hover{background:#f9fbfa}.tutorial-case-row.match-start{border-top:3px solid #6f7d83}.tutorial-case-row:first-child{border-top:0}.tutorial-case-location>span{display:block;color:#4f5d64;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800}.tutorial-case-location strong{margin-top:9px;display:block;font-size:13px}.tutorial-case-location small{margin-top:4px;display:block;color:#68747b;font-size:10px;line-height:1.5}.tutorial-case-hand{min-width:0}.tutorial-dora-inline{margin-top:6px;min-height:34px;display:flex;align-items:center;gap:3px}.tutorial-dora-inline small{margin-right:5px;color:#758087;font-size:9px}.tutorial-case-decisions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tutorial-case-decisions>span{min-height:76px;padding:7px;border:1px solid #dfe4e6;background:#f8f9f9;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px}.tutorial-case-decisions small{width:100%;color:#657178;font-size:9px;text-align:center}.tutorial-case-meta>div{display:flex;flex-wrap:wrap;gap:4px}.tutorial-case-meta>div span,.tutorial-tags span{padding:3px 6px;border:1px solid #d9dfe2;border-radius:3px;background:#f5f7f7;color:#536068;font-size:9px}.tutorial-case-meta>small{margin-top:8px;display:block;color:#7a858b;font-size:9px}.tutorial-case-meta>p{max-height:34px;margin:5px 0 0;overflow:hidden;color:#3f4b52;font-size:10px;line-height:1.6}.tutorial-case-links{display:flex;justify-content:flex-end;gap:6px}.tutorial-case-links a{width:34px;height:34px;border:1px solid #cbd3d7;border-radius:4px;background:#fff;color:#526168;display:grid;place-items:center}.tutorial-case-links a:last-child{border-color:#3c8b76;background:#eaf5f1;color:#16715d}.tutorial-case-links a:hover{border-color:#167c65;color:#167c65}.tutorial-empty{min-height:240px;color:#7a858b;display:grid;place-content:center;justify-items:center;gap:10px;font-size:12px}.tutorial-pagination{min-height:48px;display:flex;align-items:center;justify-content:space-between;color:#6d7980;font-size:10px}.tutorial-pagination>div{display:flex;align-items:center;gap:9px}.tutorial-pagination button{min-height:32px;padding:0 11px;border:1px solid #cad2d6;border-radius:4px;background:#fff;color:#47545b;font-size:10px}.tutorial-pagination button:disabled{cursor:not-allowed;opacity:.45}.mahjong-hand{display:flex;align-items:flex-end;gap:0}.individual-schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.individual-schedule-card{padding:16px;border:1px solid #d8dfdf;border-radius:6px;background:#fff;box-shadow:0 4px 14px rgba(38,52,55,.06)}.individual-schedule-card footer,.individual-schedule-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}.individual-schedule-card header{padding-bottom:11px;border-bottom:1px solid #edf0f0}.individual-schedule-card header strong{color:#26373a;font-size:14px}.individual-schedule-card header span{color:#6d7a7d;font-size:10px}.individual-schedule-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px 0}.individual-schedule-players span{padding:9px 8px;border-left:3px solid #6c9d91;background:#f4f8f7;color:#304348;font-size:12px;border-left-color:var(--player-color,#6c9d91);background:color-mix(in srgb,var(--player-color,#6c9d91) 10%,#fff);display:flex;align-items:baseline;justify-content:space-between;gap:6px}.individual-schedule-players .schedule-player-name{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.individual-schedule-players .schedule-player-score{flex:none;font-size:12px;font-weight:800;font-style:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.schedule-player-score.positive{color:#2c7a61}.schedule-player-score.negative{color:#b05a4b}.individual-schedule-card footer{color:#6d7a7d;font-size:10px}.schedule-actions{display:inline-flex;align-items:center;gap:6px}.individual-schedule-card.schedule-mine{border-color:#7cc0aa;background:#e4f5ed;box-shadow:0 4px 14px rgba(16,97,79,.14)}.individual-schedule-card.schedule-mine header{border-bottom-color:#cdeade}.individual-schedule-card.schedule-mine header strong{color:#0f5a43}.individual-schedule-card.schedule-completed{background:#dde4ea;border-color:#b7c4cf;box-shadow:none}.individual-schedule-card.schedule-completed header{border-bottom-color:#c3ced7}.individual-schedule-card.schedule-completed header strong{color:#33424e}.individual-schedule-card.schedule-completed header span{color:#6a7a87}.individual-schedule-card.schedule-completed footer{color:#61717e}.individual-schedule-card.schedule-completed .schedule-done{color:#4f6070}.individual-schedule-card.schedule-completed .table-edit-link{border-color:#9fb0bd;color:#41525f}.individual-schedule-card.schedule-completed .table-edit-link:hover{border-color:#5d7488;color:#33424e}.individual-schedule-card.schedule-completed .schedule-player-score.positive{color:#3f7a67}.individual-schedule-card.schedule-completed .schedule-player-score.negative{color:#96605a}.individual-schedule-card.schedule-completed.schedule-mine,.individual-schedule-card.schedule-mine.schedule-completed{box-shadow:inset 4px 0 0 #2f9c7d;border-color:#9dbcae}.schedule-done{color:#23745f;font-size:11px}.schedule-stage-group{margin-top:14px}.schedule-stage-group h4{margin:0 0 8px;color:#44565a;font-size:13px;font-weight:750}.schedule-stage-group>.schedule-week-summary{min-height:44px;margin-bottom:12px;padding:8px 12px;border:1px solid var(--line);border-left:3px solid #7cc0aa;border-radius:5px;background:var(--soft);display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;cursor:pointer;list-style:none}.schedule-stage-group>.schedule-week-summary::-webkit-details-marker{display:none}.schedule-stage-group>.schedule-week-summary:before{content:"▸";color:var(--muted);font-size:12px}.schedule-stage-group[open]>.schedule-week-summary:before{content:"▾"}.schedule-stage-group>.schedule-week-summary:hover{border-color:#9fb8ae}.schedule-stage-group>.schedule-week-summary strong{color:#2b3f42;font-size:13px}.schedule-stage-group>.schedule-week-summary .table-count{margin-left:auto}.schedule-stage-group[open]>.schedule-week-summary{border-color:#c9ddd6;background:#f4faf8}.schedule-pending-card{min-height:92px;border-style:dashed;background:#fafcfc}.schedule-pending-label{padding:18px 0 4px;color:#879395;font-size:13px;letter-spacing:.04em}.individual-schedule-players span.schedule-eliminated{border-left-color:#b4bdc0;background:#eef1f1;color:#7d888b}.individual-schedule-players span small{display:block;margin-top:3px;color:#8d6960;font-size:9px;font-weight:700}.stage-status{display:inline-flex;min-width:42px;justify-content:center;padding:4px 8px;border-radius:10px;font-size:10px;font-weight:750}.match-table.individual-standings-table{min-width:660px}.individual-standings-table{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.individual-standings-table td,.individual-standings-table th{text-align:right;white-space:nowrap}.match-table.individual-standings-table td,.match-table.individual-standings-table th{padding-left:9px;padding-right:9px}.individual-standings-table th{white-space:normal;line-height:1.25}.individual-standings-table td:first-child,.individual-standings-table th:first-child{text-align:center}.individual-standings-table td.standings-player,.individual-standings-table td.standings-status,.individual-standings-table th:last-child,.individual-standings-table th:nth-child(2){text-align:left}.individual-standings-table tbody td+td,.individual-standings-table thead th+th{border-left:1px solid rgba(18,32,38,.12)}.individual-standings-table td.standings-player{width:1%}.individual-standings-table td.standings-player .player-tag{width:max-content;max-width:100%}.individual-standings-table td.standings-majsoul{text-align:left;vertical-align:middle}.individual-standings-table td.standings-majsoul-empty{color:var(--muted);font-size:13px}.individual-standings-table td.standings-gap,.individual-standings-table td.standings-number,.individual-standings-table td.standings-pt{font-size:16px;font-weight:800}.individual-standings-table td.standings-status{white-space:nowrap;width:1%}.standings-status-inner{display:inline-flex;align-items:center;gap:6px}.individual-standings-table .stage-status{min-width:52px;padding:6px 12px;border-radius:12px;font-size:13px;font-weight:800}.individual-standings-table .elimination-zone-tag{padding:5px 11px;font-size:12px}.individual-standings-table .stage-elimination-week{background:#fdeacb;color:#8f5306}.individual-standings-table td.standings-distribution{padding-left:4px;padding-right:4px}.rank-distribution-cell{display:inline-flex;align-items:stretch;overflow:hidden;border:1px solid var(--soft-line);border-radius:6px;background:#fff}.rank-distribution-value{min-width:22px;padding:2px 0;border-left:1px solid var(--soft-line);font-size:16px;font-weight:800;text-align:center;line-height:1.25}.rank-distribution-value:first-child{border-left:0}.rank-distribution-1{color:#b45309;background:#fffbeb}.rank-distribution-2{color:#475569;background:#f8fafc}.rank-distribution-3{color:#0f766e;background:#f0fdfa}.rank-distribution-4{color:#94a3b8;background:#f8fafc}.qualification-line td{padding:7px 12px;border-top:3px solid #d97706;border-bottom:1px solid #f2c879;background:#fff7df;color:#b45309;font-size:13px;font-weight:800;letter-spacing:.02em}.stage-seal{display:inline-flex;align-items:center;padding:3px 9px;border:1px solid;border-radius:999px;font-size:11px;font-style:normal;font-weight:800;vertical-align:middle}.stage-seal-active{color:#b45309;background:#fff7df}.stage-seal-done{color:#15803d;background:#ecfdf3}.stage-seal-pending{color:#64748b;background:#f8fafc}.workflow .stage-seal{margin-left:6px}.workflow li.workflow-done{opacity:.58;filter:saturate(.45);background:#f1f3f3;border-top-color:#9aa5a5}.workflow li.workflow-active{background:#fffaf0;border:2px solid #d97706;box-shadow:0 8px 24px rgba(217,119,6,.18);transform:translateY(-2px)}.workflow li.workflow-pending{background:#fafbfc;border-top-color:#b8c1c7;opacity:.82}.stage-final{background:#f5e7c5;color:#7c5714}.medal{gap:4px;padding:4px 9px;border:1px solid;font-weight:850;white-space:nowrap}.medal-diamond{border-color:#6ea5ba;background:linear-gradient(115deg,#eefcff,#bce8f5 44%,#f8feff 67%,#c8eaf4);color:#23617b;box-shadow:0 0 0 1px rgba(220,248,255,.9),0 0 15px rgba(73,155,187,.34);text-shadow:0 1px 0 #fff}.medal-gold{border-color:#c7972e;background:linear-gradient(115deg,#fff9dd,#f5ce64 48%,#fff4be);color:#855707;box-shadow:0 0 0 1px rgba(255,235,162,.8),0 0 14px rgba(201,151,46,.38);text-shadow:0 1px 0 rgba(255,255,255,.7)}.medal-horse{border-color:#b86d55;background:linear-gradient(115deg,#7d2f28,#b94e35 48%,#e7b85d);color:#fff9df;box-shadow:0 0 0 1px rgba(232,184,93,.55),0 0 16px rgba(142,55,40,.34);text-shadow:0 1px 2px rgba(78,23,18,.5)}.medal-bronze{border-color:#a9714a;background:linear-gradient(115deg,#fdf1e4,#dfa678 48%,#f8dcc0);color:#7a4520;box-shadow:0 0 0 1px rgba(255,227,200,.78),0 0 15px rgba(169,113,74,.34);text-shadow:0 1px 0 rgba(255,255,255,.62)}.medal-mark{font-size:12px;line-height:1}.medal-row td{border-color:#dfe5e7}.medal-row td:first-child{border-left:4px solid}.medal-row td strong{font-size:15px;font-weight:900}.medal-row.medal-row-diamond{background:linear-gradient(100deg,#eafaff,#d2eff9 44%,#f6fdff)!important;color:#1b5771}.medal-row.medal-row-diamond td{border-color:#bce1ee}.medal-row.medal-row-gold{background:linear-gradient(100deg,#fff9e4,#f8dd93 44%,#fffbeb)!important;color:#7d5207}.medal-row.medal-row-gold td{border-color:#edd7a0}.medal-row.medal-row-horse{background:linear-gradient(100deg,#fbeade,#f3c9ae 44%,#fdf0dd)!important;color:#7b2f22}.medal-row.medal-row-horse td{border-color:#e3b79b}.medal-row.medal-row-bronze{background:linear-gradient(100deg,#fdf3e9,#f0d6b8 44%,#fdf1e4)!important;color:#7a4520}.medal-row.medal-row-bronze td{border-color:#ddc2a4}.medal-row.medal-row-silver{background:linear-gradient(100deg,#f6f8fa,#d5dde4 44%,#fbfcfd)!important;color:#46545f}.medal-row.medal-row-silver td{border-color:#ccd6de}.medal-silver{border-color:#9aa8b3;background:linear-gradient(115deg,#fbfcfd,#d3dce3 48%,#f2f5f8);color:#46545f;box-shadow:0 0 0 1px rgba(226,233,239,.9),0 0 13px rgba(120,138,152,.3);text-shadow:0 1px 0 #fff}.individual-standings-table tr.rank-podium td:first-child strong{position:relative;font-size:20px;font-weight:900;letter-spacing:-.5px;animation:rankGlow 3.6s ease-in-out infinite}@supports ((-webkit-background-clip:text) or (background-clip:text)) or (-webkit-background-clip:text){.individual-standings-table tr.medal-row-diamond td:first-child strong{background-image:linear-gradient(155deg,#0d4d66,#46aed1 38%,#0f6a8c 58%,#6fd0e8);-webkit-background-clip:text;background-clip:text;color:transparent}.individual-standings-table tr.medal-row-gold td:first-child strong{background-image:linear-gradient(155deg,#8a5a06,#e8b62f 38%,#a87209 58%,#f5d888);-webkit-background-clip:text;background-clip:text;color:transparent}.individual-standings-table tr.medal-row-silver td:first-child strong{background-image:linear-gradient(155deg,#55636e,#ccd7de 38%,#78868f 58%,#eaf0f4);-webkit-background-clip:text;background-clip:text;color:transparent}}@keyframes rankGlow{0%,to{filter:drop-shadow(0 1px 2px rgba(24,44,54,.16))}50%{filter:drop-shadow(0 1px 4px rgba(24,44,54,.3))}}@media (prefers-reduced-motion:reduce){.individual-standings-table tr.rank-podium td:first-child strong{animation:none}}.rank-podium td:first-child{border-left-color:currentColor}.individual-standings-table tr.rank-middle{background:linear-gradient(100deg,rgba(206,236,224,.85) 0,rgba(255,255,255,.6) 38%,rgba(255,219,175,calc(.18 + var(--mid-warm, 0) * .72)) 100%)}.individual-standings-table tr.rank-middle:hover{background:linear-gradient(100deg,rgba(196,232,218,.95) 0,rgba(255,255,255,.7) 38%,rgba(255,212,165,calc(.26 + var(--mid-warm, 0) * .74)) 100%)}.individual-standings-table tr.rank-middle td{border-color:#e2ece8}.individual-standings-table tr.rank-elimination-zone{background:linear-gradient(100deg,#e3e6e8,#d3d8dc 58%,#e9ecee)}.individual-standings-table tr.rank-elimination-zone td{border-color:#c6ccd1}.individual-standings-table tr.rank-elimination-zone td:first-child{box-shadow:inset 4px 0 0 #a8452c}.individual-standings-table tr.rank-elimination-zone td[data-label="排名"] strong{color:#7c3120}.elimination-zone-tag{display:inline-block;margin-right:5px;padding:2px 7px;border:1px solid #bb8371;border-radius:999px;background:#f6e6df;color:#96381d;font-size:10px;font-weight:850;white-space:nowrap}.medal{animation:medalPulse 3.8s ease-in-out infinite}.medal-diamond{position:relative;overflow:hidden}.medal-diamond:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);animation:medalShine 3.4s ease-in-out infinite}@keyframes medalPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.08)}}@keyframes medalShine{0%,55%{transform:translateX(-120%)}85%,to{transform:translateX(120%)}}@media (prefers-reduced-motion:reduce){.medal{animation:none}.medal-diamond:after{animation:none;opacity:0}}.stage-semifinal{background:#e4edf5;color:#315f7e}.stage-preliminary{background:#e3f1eb;color:#28715e}.stage-eliminated{background:#596467;color:#fff}.eliminated-standing-row{background:#d8ddde!important;color:#4b5558}.eliminated-standing-row td{border-color:#c2cacc}.individual-standings-table .eliminated-standing-row td{border-top:1px solid #c2cacc}.eliminated-line td{padding:7px 12px;border-top:3px solid #64748b;border-bottom:1px solid #aab5b9;background:#c9d1d4;color:#3c484d;font-size:13px;font-weight:800;letter-spacing:.02em}.eliminated-line-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.eliminated-line-toggle{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid #97a3a7;border-radius:999px;background:#eef1f2;color:#3c484d;font:inherit;font-size:11px;font-weight:800;letter-spacing:.02em;cursor:pointer}.eliminated-line-toggle:hover{border-color:#64748b;background:#fff}.eliminated-line-toggle:focus-visible{outline:2px solid #64748b;outline-offset:1px}.mahjong-hand.compact{gap:0}.mahjong-drawn-tile{margin-left:18px;display:flex;align-items:flex-end}.mahjong-drawn-tile.compact{margin-left:13.5px}.mahjong-tile{position:relative;flex:0 0 auto;padding:1px;border:solid #c9ccc5;border-width:1px 1px 3px;border-radius:3px;background:#fbf9ef;box-shadow:0 1px 2px rgba(0,0,0,.28);display:inline-block}.mahjong-tile img{width:100%;height:100%;display:block;object-fit:contain;-webkit-user-select:none;user-select:none}.mahjong-tile-hand{width:36px;height:48px}.mahjong-tile-compact{width:27px;height:36px}.mahjong-tile-choice{width:42px;height:56px}.mahjong-tile-dora,.mahjong-tile-river{width:25px;height:34px}.mahjong-tile-meld{width:36px;height:48px}.mahjong-tile.muted{opacity:.32;border-style:dashed;border-color:#5f6e6b;background:rgba(241,246,243,.46);box-shadow:none;filter:saturate(.45)}.mahjong-tile.dimmed{border-color:#c2c8c6;background:#e5e8e6;filter:grayscale(1) brightness(.9);box-shadow:0 1px 2px rgba(0,0,0,.28)}.mahjong-tile.muted.dimmed{opacity:.32;border-style:dashed;box-shadow:none;filter:saturate(.45)}.mahjong-tile-sideways-slot{position:relative;flex:0 0 auto;display:inline-block;line-height:0}.mahjong-tile-sideways-slot-hand{width:48px;height:36px}.mahjong-tile-sideways-slot-compact{width:36px;height:27px}.mahjong-tile-sideways-slot-choice{width:56px;height:42px}.mahjong-tile-sideways-slot-dora,.mahjong-tile-sideways-slot-river{width:34px;height:25px}.mahjong-tile-sideways-slot-meld{width:48px;height:36px}.mahjong-tile.rotated{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(90deg)}.mahjong-back{width:34px;height:45px;padding:0;border:solid color-mix(in srgb,var(--tile-back-color,#2b82ad),#00141e 38%);border-width:1px 1px 3px;border-radius:3px;box-shadow:0 2px 2px rgba(0,0,0,.24);display:inline-block}.mahjong-back,.mahjong-back i{background:var(--tile-back-color,#2b82ad)}.mahjong-back i{position:relative;width:100%;height:100%;overflow:hidden;border-radius:1px;display:block}.mahjong-back.compact{width:23px;height:31px;padding:0}.mahjong-back.meld{width:36px;height:48px;padding:0}.mahjong-table.tile-back-diamond .mahjong-back i:before{content:"";position:absolute;width:38%;aspect-ratio:1;top:50%;left:50%;border:1px solid rgba(229,251,255,.9);border-radius:2px;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 0 1px rgba(0,31,48,.34),inset 0 0 0 1px rgba(0,31,48,.18)}.mahjong-table.tile-back-diamond .mahjong-back i:after{content:"";position:absolute;width:3px;height:3px;top:50%;left:50%;border-radius:50%;background:#e7fbff;box-shadow:0 -6px 0 rgba(224,249,254,.82),0 6px 0 rgba(224,249,254,.82),-6px 0 0 rgba(224,249,254,.82),6px 0 0 rgba(224,249,254,.82),0 0 0 1px rgba(0,31,48,.28);transform:translate(-50%,-50%)}.mahjong-table.tile-back-star .mahjong-back i{background-color:var(--tile-back-color);background-image:radial-gradient(circle,rgba(232,252,255,.62) 0 1px,transparent 1.5px);background-size:7px 7px}.mahjong-table.tile-back-star .mahjong-back i:before{content:"";position:absolute;width:12px;height:12px;top:50%;left:50%;background:#e7fbff;clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);filter:drop-shadow(0 0 1px rgba(0,25,38,.72));transform:translate(-50%,-50%)}.mahjong-table.tile-back-lattice .mahjong-back i{background-color:var(--tile-back-color);background-image:repeating-linear-gradient(45deg,transparent 0 5px,rgba(230,251,255,.58) 5px 6px,transparent 6px 11px),repeating-linear-gradient(-45deg,transparent 0 5px,rgba(0,28,42,.28) 5px 6px,transparent 6px 11px)}.mahjong-meld,.mahjong-melds,.opponent-concealed{display:flex;align-items:flex-end}.mahjong-melds{flex-direction:column-reverse;align-items:flex-end;gap:3px}.mahjong-meld{gap:0}.mahjong-meld-stack{position:relative;width:48px;height:62px;flex:0 0 48px;display:flex;align-items:flex-end}.mahjong-meld-added{position:absolute;top:0;left:0}.tutorial-detail-page{width:min(1600px,calc(100% - 28px));margin:0 auto;padding:12px 0 30px}.tutorial-detail-toolbar{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px}.tutorial-detail-toolbar a{min-height:30px;padding:0 9px;border:1px solid #ccd4d8;border-radius:4px;background:#fff;color:#4f5d64;display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:750}.tutorial-detail-toolbar a:hover{border-color:#167c65;color:#167c65}.tutorial-detail-toolbar>div{display:flex;align-items:center;gap:6px}.tutorial-skin-picker{position:relative;z-index:40}.tutorial-skin-picker>summary{min-height:30px;padding:0 9px;border:1px solid #ccd4d8;border-radius:4px;background:#fff;color:#4f5d64;cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:750}.tutorial-skin-picker>summary::-webkit-details-marker{display:none}.tutorial-skin-picker>summary:hover,.tutorial-skin-picker[open]>summary{border-color:#167c65;color:#167c65}.tutorial-skin-popover{position:absolute;top:calc(100% + 6px);right:0;width:320px;padding:12px;border:1px solid #cbd4d7;border-radius:5px;background:rgba(255,255,255,.98);box-shadow:0 12px 30px rgba(21,38,43,.2);display:grid;gap:12px}.tutorial-skin-popover section{display:grid;gap:7px}.tutorial-skin-popover section>span{color:#5c6970;font-size:9px;font-weight:800}.tutorial-skin-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tutorial-skin-options button{min-height:40px;padding:5px 7px;border:1px solid #d2d9dc;border-radius:4px;background:#f8fafa;color:#425158;display:grid;grid-template-columns:30px 1fr 13px;align-items:center;gap:6px;font-size:10px;font-weight:750;text-align:left}.tutorial-skin-options button:hover{border-color:#88ad9f}.tutorial-skin-options button[aria-pressed=true]{border-color:#25846d;background:#edf7f3;color:#126b57}.skin-preview{width:30px;height:25px;border:1px solid rgba(26,54,58,.3);border-radius:2px;background-position:50%;background-size:cover;display:block}.skin-preview-miku{background-image:url(/tutorial/skins/miku-table.jpg)}.skin-preview-luotianyi{background-image:url(/tutorial/skins/luotianyi-table.jpg)}.skin-preview-felt{background-image:url(/tutorial/table-felt.png)}.skin-back-preview{position:relative;width:19px;height:27px;margin-left:5px;overflow:hidden;border:solid color-mix(in srgb,var(--tile-back-color),#00141e 38%);border-width:1px 1px 3px;border-radius:2px;background:var(--tile-back-color);display:block}.skin-back-preview-diamond:after{content:"";position:absolute;width:7px;height:7px;top:50%;left:50%;border:1px solid #e7fbff;box-shadow:0 0 0 1px rgba(0,31,48,.3);transform:translate(-50%,-50%) rotate(45deg)}.skin-back-preview-star{background-color:var(--tile-back-color);background-image:radial-gradient(circle,rgba(232,252,255,.68) 0 1px,transparent 1.5px);background-size:6px 6px}.skin-back-preview-star:after{content:"";position:absolute;width:9px;height:9px;top:50%;left:50%;background:#e7fbff;clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);filter:drop-shadow(0 0 1px rgba(0,25,38,.72));transform:translate(-50%,-50%)}.skin-back-preview-lattice{background-color:var(--tile-back-color);background-image:repeating-linear-gradient(45deg,transparent 0 4px,rgba(230,251,255,.68) 4px 5px,transparent 5px 9px),repeating-linear-gradient(-45deg,transparent 0 4px,rgba(0,28,42,.3) 4px 5px,transparent 5px 9px)}.tutorial-color-controls{position:relative;padding-top:2px}.tutorial-color-swatch{position:absolute;top:0;right:0;width:24px;height:18px;border:1px solid #7c898e;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}.color-channel{display:grid;grid-template-columns:14px minmax(0,1fr) 22px;align-items:center;gap:7px;font-size:9px;font-weight:800}.color-channel input{width:100%;height:18px;margin:0}.color-channel output{color:#45545b;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.color-channel-r input{accent-color:#c64049}.color-channel-g input{accent-color:#278255}.color-channel-b input{accent-color:#267eb1}.tutorial-detail-layout{display:grid;grid-template-columns:minmax(730px,1fr) 340px;align-items:start;gap:12px}.tutorial-decision-panel,.tutorial-table-panel{border:1px solid #cfd6d9;border-radius:5px;background:#fff}.tutorial-table-panel{min-width:0;padding:12px}.tutorial-case-title{min-height:48px;padding:0 3px 10px;display:flex;align-items:center;justify-content:space-between;gap:16px}.tutorial-case-title>div>span{display:block;color:#6e7980;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:800}.tutorial-case-title h1{margin:4px 0 0;font-size:16px}.tutorial-status{padding:5px 8px;border:1px solid;border-radius:3px;font-size:9px;font-weight:800;white-space:nowrap}.tutorial-status.status-pending_initial,.tutorial-status.status-pending_secondary{border-color:#d7bf8e;background:#fff8e9;color:#8c5d14}.tutorial-status.status-final{border-color:#9bc8ba;background:#eaf5f1;color:#16715d}.tutorial-status.status-rejected_initial,.tutorial-status.status-rejected_secondary{border-color:#dab3b7;background:#fff1f1;color:#a33c45}.tutorial-status.status-test{border-color:#83a9bd;background:#edf7fb;color:#235f79}.mahjong-table-scroll{overflow:auto;border:1px solid #233d38;border-radius:4px;background:#102d28}.mahjong-table{position:relative;width:960px;height:600px;margin:0 auto;overflow:hidden;background-color:#17483f;background-position:50%;background-size:cover;box-shadow:inset 0 0 48px rgba(2,17,15,.62);color:#fff}.mahjong-table.table-background-felt{background-image:url(/tutorial/table-felt.png)}.mahjong-table.table-background-miku{background-image:linear-gradient(rgba(8,40,47,.2),rgba(8,40,47,.28)),url(/tutorial/skins/miku-table.jpg);background-position:center 48%}.mahjong-table.table-background-luotianyi{background-image:linear-gradient(rgba(3,30,44,.16),rgba(3,30,44,.26)),url(/tutorial/skins/luotianyi-table.jpg);background-position:center 46%}.mahjong-table-scroll.scaled{overflow:hidden}.mahjong-table-scroll.scaled .mahjong-table{margin:0;transform-origin:top left}.table-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 75px rgba(3,18,16,.7),inset 0 0 0 8px rgba(201,169,105,.16)}.table-background-luotianyi .table-vignette,.table-background-miku .table-vignette{background:rgba(211,236,239,.06);box-shadow:inset 0 0 55px rgba(7,24,35,.38),inset 0 0 0 8px rgba(221,246,248,.2)}.opponent-hand{position:absolute;z-index:2;width:350px;height:31px;display:flex;align-items:flex-end;justify-content:center}.opponent-concealed{gap:0}.opponent-hand-top{top:38px;left:50%;transform:translateX(-50%) rotate(180deg)}.opponent-hand-left{top:284.5px;left:-57px;transform:rotate(90deg)}.opponent-hand-right{top:284.5px;right:-57px;transform:rotate(-90deg)}.table-melds{position:absolute;z-index:6;width:208px;height:208px;display:flex;align-items:flex-end;justify-content:flex-end;pointer-events:none}.table-melds-bottom{right:0;bottom:16px}.table-melds-bottom .meld-daiminkan>.mahjong-tile-sideways-slot-meld{transform:translateY(-12px)}.table-melds-top{top:0;left:0;transform:rotate(180deg)}.table-melds-left{bottom:0;left:0;transform:rotate(90deg)}.table-melds-right{top:0;right:0;transform:rotate(-90deg)}.table-melds-left .mahjong-tile-meld,.table-melds-right .mahjong-tile-meld,.table-melds-top .mahjong-tile-meld{width:23px;height:31px}.table-melds-left .mahjong-tile-sideways-slot-meld,.table-melds-right .mahjong-tile-sideways-slot-meld,.table-melds-top .mahjong-tile-sideways-slot-meld{width:31px;height:23px}.table-melds-left .mahjong-back.meld,.table-melds-right .mahjong-back.meld,.table-melds-top .mahjong-back.meld{width:23px;height:31px}.table-melds-left .mahjong-meld-stack,.table-melds-right .mahjong-meld-stack,.table-melds-top .mahjong-meld-stack{width:31px;height:40px;flex-basis:31px}.table-player{position:absolute;z-index:5;min-width:120px;padding:5px 7px;border:1px solid rgba(255,255,255,.22);border-radius:3px;background:rgba(9,26,24,.76);display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:6px;font-size:9px;box-shadow:0 2px 7px rgba(0,0,0,.2)}.table-player>span{width:20px;height:20px;border-radius:2px;background:rgba(255,255,255,.12);display:grid;place-items:center}.table-player strong{max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-player.current{border-color:#6dd0b1;background:rgba(9,45,38,.9)}.table-player-top{top:4px;left:50%;right:auto;transform:translateX(-50%)}.table-player-bottom{bottom:72px;left:50%;transform:translateX(-50%)}.table-player-left{top:284px;left:98px;transform:rotate(90deg)}.table-player-right{top:284px;right:98px;transform:rotate(-90deg)}.table-river{position:absolute;z-index:3;width:159px;height:136px;flex-direction:column}.table-river,.table-river-row{display:flex;align-items:flex-start}.table-river-row{width:max-content;height:34px}.table-river-row>span{width:25px;height:34px;flex:0 0 25px;display:grid;place-items:center}.table-river-row>span.riichi{width:34px;height:25px;flex-basis:34px}.table-river-row>span.riichi .mahjong-tile{border-width:1px;box-shadow:none}.table-river-row>span.called{visibility:visible}.table-river-bottom{top:389px;left:400.5px}.table-river-top{top:75px;left:400.5px;transform:rotate(180deg);transform-origin:center}.table-river-left{top:232px;left:240.5px;transform:rotate(90deg);transform-origin:center}.table-river-right{top:232px;left:560.5px;transform:rotate(-90deg);transform-origin:center}.table-center{position:absolute;z-index:4;top:213px;left:390px;width:180px;height:174px;border:1px solid rgba(255,255,255,.7);border-radius:4px;background:rgba(229,239,235,.84);color:#183d35;box-shadow:0 4px 13px rgba(0,0,0,.17)}.table-center-main{width:100%;height:100%;padding:27px 25px;display:flex;flex-direction:column;align-items:center;justify-content:center}.table-center-main>strong{font-size:13px}.table-center-dora{min-height:42px;margin-top:6px;padding:4px 5px;border:1px solid rgba(39,79,68,.16);background:rgba(255,255,255,.32);display:flex;align-items:center;justify-content:center;gap:3px}.table-center-dora>span{margin-right:2px;color:#58736b;font-size:8px}.table-center-dora.compact{padding-inline:2px;gap:1px}.table-center-dora.compact .mahjong-tile-dora{width:22px;height:30px}.table-dora-sequence{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:3px;font-style:normal}.table-center-dora.compact .table-dora-sequence{gap:1px}.table-dora-sequence.ordered:before{content:"";position:absolute;top:-7px;left:11px;right:10px;height:5px;background:radial-gradient(circle at left center,rgba(18,104,84,.9) 0 1.5px,rgba(255,255,255,.82) 1.7px 2.4px,transparent 2.6px),linear-gradient(90deg,rgba(18,104,84,.35),rgba(18,104,84,.76));background-position:0,2px;background-size:5px 5px,calc(100% - 2px) 1px;background-repeat:no-repeat;filter:drop-shadow(0 1px 0 rgba(255,255,255,.72))}.table-dora-sequence.ordered:after{content:"";position:absolute;top:-9px;right:8px;width:5px;height:5px;border-top:1px solid rgba(18,104,84,.8);border-right:1px solid rgba(18,104,84,.8);filter:drop-shadow(1px -1px 0 rgba(255,255,255,.5));transform:rotate(45deg)}.table-center-main>p{margin:5px 0 0;color:#76591e;font-size:9px}.table-center-main>small{margin-top:2px;color:#58736b;font-size:8px}.table-center-seat{position:absolute;display:flex;flex-direction:column;align-items:center;gap:3px}.table-center-scoreline{display:inline-flex;align-items:center;gap:3px}.table-center-scoreline>b{width:18px;height:18px;border:1px solid rgba(23,61,52,.22);border-radius:2px;background:rgba(255,255,255,.38);display:grid;place-items:center;color:#355d53;font-size:11px;line-height:1}.table-center-score{color:#173d34;font-size:14px;font-weight:850;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.table-center-score.current{color:#004c3c}.table-center-seat-bottom{bottom:5px;left:50%;transform:translateX(-50%)}.table-center-seat-top{top:5px;left:50%;transform:translateX(-50%) rotate(180deg)}.table-center-seat-left{top:50%;left:5px;transform:translateY(-50%) rotate(90deg)}.table-center-seat-right{top:50%;right:5px;transform:translateY(-50%) rotate(-90deg)}.table-riichi-stick{position:relative;width:28px;height:6px;border:1px solid #b9b7ac;border-radius:2px;background:#fbfaf2;box-shadow:0 1px 1px rgba(27,42,37,.2)}.table-riichi-stick:after{content:"";position:absolute;width:4px;height:4px;top:50%;left:50%;border-radius:50%;background:#c73c3c;transform:translate(-50%,-50%)}.table-own-hand{position:absolute;z-index:5;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:flex-end;gap:7px}.tutorial-decision-panel{overflow:hidden}.tutorial-decision-panel>section{padding:16px;border-bottom:1px solid #e0e5e7}.tutorial-decision-panel>section:last-child{border-bottom:0}.decision-actual{min-height:83px;padding:9px 10px;border:1px solid #dfe4e6;background:#f7f9f9;display:grid;grid-template-columns:minmax(0,1fr) 42px;grid-template-rows:auto auto;align-items:center;gap:3px 10px}.decision-actual>span{color:#667279;font-size:10px;font-weight:750}.decision-actual .mahjong-tile{grid-row:1/3;grid-column:2}.decision-actual>small{color:#414e55;font-size:9px;line-height:1.4}.decision-models{margin-top:7px;border:1px solid #dfe4e6}.decision-models>div{min-height:72px;padding:7px 9px;border-bottom:1px solid #e4e8ea}.decision-models>div:last-child{border-bottom:0}.decision-model{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:7px}.decision-model>span{color:#5e6b72;font-size:10px;font-weight:750}.decision-recommendations{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.decision-recommendation{position:relative;min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:6px}.decision-recommendation>i{position:absolute;z-index:1;top:-3px;left:-3px;width:14px;height:14px;border-radius:50%;background:#426e63;display:grid;place-items:center;color:#fff;font-size:7px;font-style:normal;font-weight:850}.decision-recommendation .mahjong-tile-choice{width:34px;height:46px}.decision-models p{margin:0;color:#263238;font-size:13px;font-weight:800}.decision-models p small{margin-top:3px;display:block;color:#6f7a80;font-size:8px;font-weight:600}.tutorial-tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:4px}.tutorial-metrics{margin-top:11px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e0e5e7}.tutorial-metrics span{min-height:53px;padding:7px;border-right:1px solid #e0e5e7;color:#6b777d;font-size:8px;text-align:center}.tutorial-metrics span:last-child{border-right:0}.tutorial-metrics strong{margin-top:4px;display:block;color:#28343a;font-size:15px}.tutorial-review-box label{display:grid;gap:6px;color:#4e5a61;font-size:10px;font-weight:750}.tutorial-review-box textarea{width:100%;min-height:76px;padding:9px 10px;border:1px solid #cbd4d8;border-radius:4px;resize:vertical;outline:0;color:#2e3a40;font-size:10px;line-height:1.55}.tutorial-review-box textarea:focus{border-color:#167c65;box-shadow:0 0 0 2px #dceee8}.tutorial-review-actions{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tutorial-review-actions button{min-height:38px;padding:0 9px;border:1px solid;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:10px;font-weight:800}.tutorial-review-actions button.approve{border-color:#167c65;background:#167c65;color:#fff}.tutorial-review-actions button.reject{border-color:#d5aaae;background:#fff1f1;color:#a43d46}.tutorial-review-actions button.restore{border-color:#c9d1d5;background:#f5f7f7;color:#526067}.tutorial-review-actions button:disabled{cursor:wait;opacity:.5}.tutorial-review-box>p{margin:8px 0 0;padding:7px 8px;font-size:9px}.tutorial-review-box>p.success{background:#eaf5f1;color:#16715d}.tutorial-review-box>p.error{background:#fff1f1;color:#a33c45}.tutorial-review-box>p.reviewer-blocked{background:#fff8e9;color:#81581b;line-height:1.5}.tutorial-history>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.tutorial-history>div strong{font-size:11px}.tutorial-history>div a{color:#2f6c90;display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:750}.tutorial-history>p{margin:10px 0 0;padding-top:9px;border-top:1px solid #e6e9eb}.tutorial-history>p em,.tutorial-history>p small,.tutorial-history>p span{display:block}.tutorial-history>p span{color:#3f4c53;font-size:9px;font-weight:750}.tutorial-history>p small{margin-top:2px;color:#7b858b;font-size:8px}.tutorial-history>p em{margin-top:4px;color:#58656c;font-size:9px;font-style:normal;line-height:1.5}.tutorial-history>p.empty{color:#7a858b;font-size:9px}@media (max-width:1180px){.tutorial-header{grid-template-columns:190px 1fr 190px}.tutorial-case-row{grid-template-columns:165px minmax(380px,1fr) 140px 68px}.tutorial-case-meta{display:none}.tutorial-detail-layout{grid-template-columns:minmax(700px,1fr) 310px}}@media (max-width:850px){.tutorial-header{position:static;padding:8px 12px;grid-template-columns:1fr auto;gap:7px}.tutorial-brand{grid-column:1}.tutorial-account{grid-column:2}.tutorial-header nav{grid-column:1/-1;grid-row:2;height:42px}.tutorial-header nav a{min-width:0;flex:1 1;padding:0 8px}.tutorial-queue-page{width:calc(100% - 20px);padding-top:18px}.tutorial-page-heading{align-items:flex-start}.tutorial-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.tutorial-search{grid-column:1/-1}.tutorial-case-list{overflow-x:auto}.tutorial-case-row{min-width:800px}.tutorial-detail-page{width:calc(100% - 14px)}.tutorial-detail-layout{grid-template-columns:1fr}.tutorial-table-panel{padding:8px}.tutorial-decision-panel{width:100%}.mahjong-table{margin:0}}@media (max-width:520px){.tutorial-account small,.tutorial-account>span,.tutorial-brand small{display:none}.tutorial-header nav a{font-size:10px}.tutorial-page-heading>div>p:last-child{max-width:245px}.tutorial-filters{grid-template-columns:1fr 1fr}.tutorial-case-title{align-items:flex-start}.tutorial-case-title h1{max-width:245px;font-size:14px}.tutorial-detail-toolbar>div a{padding:0 7px;font-size:0}.tutorial-detail-toolbar>div a svg{margin:0}.tutorial-skin-picker>summary{width:32px;padding:0;justify-content:center;font-size:0}.tutorial-skin-popover{right:-78px;width:min(320px,calc(100vw - 24px))}}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{overflow-x:hidden}body{margin:0;color:var(--ink);background:var(--canvas);font-family:Inter,Noto Sans SC,Microsoft YaHei,Arial,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;letter-spacing:0}button,select{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:20;top:0;bottom:0;left:0;width:220px;padding:20px 14px;background:var(--sidebar);color:#dfe5e8;display:flex;flex-direction:column}.brand{height:54px;padding:0 10px 18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #3b4349}.brand-mark{width:32px;height:32px;display:grid;place-items:center;border:1px solid #6e817b;color:#c8e6dc;font-weight:800}.brand small,.brand strong{display:block}.brand strong{color:#fff;font-size:14px}.brand small{color:#98a4aa;margin-top:2px;font-size:10px}.sidebar nav{padding-top:22px;display:grid;gap:5px}.new-competition,.sidebar nav a{min-height:42px;padding:0 12px;display:flex;align-items:center;gap:11px;border-radius:5px;font-size:13px;font-weight:650}.sidebar nav a:hover{background:#323a40;color:#fff}.sidebar nav a.active{background:#35413f;color:#d9f0e8}.link-pending{margin-left:auto;width:5px;height:5px;border-radius:50%;background:#6ec2a8;opacity:0;transition:opacity .15s ease}.link-pending.is-pending{opacity:1;animation:link-pending-pulse .9s ease-in-out infinite}@keyframes link-pending-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.link-pending.is-pending{animation:none;opacity:1}}.new-competition{margin-top:auto;border:1px solid #51615e;background:#2d3738;color:#d6eee7;justify-content:center}.new-competition:hover{background:#354243}.workspace{min-width:0;margin-left:220px}.topbar{height:64px;padding:0 34px;border-bottom:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:space-between}.topbar div{display:flex;align-items:baseline;gap:15px}.topbar strong{font-size:14px}.topbar div span{color:var(--muted);font-size:11px}.environment{padding:5px 8px;border:1px solid #b7c9c3;color:var(--green);background:var(--green-soft);font-size:10px;font-weight:700}.auth-controls{display:flex;align-items:center!important;gap:8px!important}.auth-controls form{margin:0}.environment.viewer-mode{border-color:#cbd2d6;background:#f4f6f7;color:#5f6970}.environment.player-mode{border-color:#e0c07a;background:#fdf6e6;color:#8a6416}.topbar-action{min-height:30px;padding:0 9px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:#4d585f;display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:750}.topbar-action:hover{border-color:var(--green);color:var(--green)}.page{width:min(1260px,calc(100% - 56px));margin:0 auto;padding:38px 0 64px}.page-heading{margin-bottom:26px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.eyebrow{margin:0 0 7px;color:var(--green);font-size:11px;font-weight:800;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:7px;font-size:27px;line-height:1.25}.page-heading p:last-child{margin-bottom:0;color:var(--muted);font-size:13px}.heading-actions{display:flex;gap:9px}.button{min-height:38px;padding:0 14px;border:1px solid #cfd6da;border-radius:5px;background:#fff;color:#394149;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:750}.button:hover{border-color:#9eaaaf}.button.primary{border-color:var(--green);background:var(--green);color:#fff}.button.primary:hover{background:#126b57}.button.danger{border-color:#d8a8ab;background:#fff5f5;color:var(--red)}.button.danger:hover{border-color:var(--red);background:#ffeded}.button:disabled{cursor:not-allowed;opacity:.45}.schedule-confirm-actions form{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.schedule-confirm-actions .form-hint{color:#7a6a4a;font-size:12px}.form-error{margin:0 0 16px;padding:10px 12px;border:1px solid #dfb8ba;background:#fff1f1;color:#9b323a;font-size:13px}.summary-grid{margin-bottom:28px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--paper)}.summary-block{min-height:92px;padding:18px 21px;display:flex;align-items:center;gap:16px;border-right:1px solid var(--line)}.summary-block:last-child{border-right:0}.summary-block>svg{color:var(--green)}.summary-block span,.summary-block strong{display:block}.summary-block span{color:var(--muted);font-size:11px}.summary-block strong{margin-top:4px;color:var(--ink);font-size:23px}.section-block,.standings{margin-top:24px;padding:24px;border:1px solid var(--line);background:var(--paper)}.muted-section{background:var(--soft)}.section-heading{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.section-heading h2{margin-bottom:4px;font-size:16px}.section-heading p{margin-bottom:0;color:var(--muted);font-size:11px}.competition-row{min-height:128px;padding:20px;border:1px solid var(--line);display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:center;gap:24px}.competition-row+.competition-row{margin-top:9px}.competition-row.compact-row{min-height:112px}.draft-badge{min-height:30px;padding:5px 11px;display:inline-flex;align-items:center;gap:6px;border:1px solid #b9ccc6;background:#edf6f3;color:var(--green);font-size:11px;font-weight:750}.draft-section{border-color:#b9ccc6;background:#f6fbf9}.draft-notes{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:11px;line-height:1.8}.competition-row.completed-row{border-color:#e2e6e7;background:#f7f8f8;box-shadow:none}.competition-row.completed-row .competition-title{color:#6b7378;font-weight:750}.competition-row.completed-row .competition-meta{color:#97a0a5}.competition-row.completed-row .score-card{border-color:#e6eaeb;background:#fbfcfc;filter:saturate(.55)}.competition-row.completed-row .score-card-name{color:#77807f}.competition-row.completed-row .icon-link{border-color:#e2e6e7;color:#9aa3a7}.competition-title{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:800}.live-dot{width:8px;height:8px;border-radius:50%;background:#34a079}.competition-meta{margin:8px 0 14px;color:var(--muted);font-size:11px}.player-list{display:flex;flex-wrap:wrap;gap:7px}.player-tag{--player-color:#555;min-height:31px;padding:4px 10px;border:1px solid color-mix(in srgb,var(--player-color) 55%,white);background:color-mix(in srgb,var(--player-color) 8%,white);display:inline-flex;align-items:center;gap:7px;color:var(--player-color);font-size:14px;font-weight:850;white-space:nowrap}.player-tag i{width:8px;height:8px;background:var(--player-color)}.player-tag.compact{min-height:27px;padding:3px 9px;font-size:12px}.competition-row.match-pool-row{border:1px solid #dfbd58;background:#fff8d8;box-shadow:0 8px 24px rgba(151,111,24,.12)}.competition-row.match-pool-row,.competition-row.pool-row{grid-template-columns:minmax(300px,1fr) auto}.pool-player-count{min-height:27px;padding:4px 10px;border:1px solid var(--line);background:var(--soft);display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:750}.pool-person-count{margin-top:8px;display:flex;align-items:center;gap:6px}.match-pool-row .player-list{flex-wrap:wrap;overflow:visible;row-gap:6px}.match-pool-mark{color:#86651a;font-size:.76rem;font-weight:700;letter-spacing:.04em;border:1px solid #d5a84d;background:#fff4cf;padding:.25rem .5rem;border-radius:999px}.match-pool-all{min-height:28px;padding:4px 12px;border:1px dashed #d8b45e;border-radius:999px;background:#fffdf3;color:#8a5b00;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:750}.match-pool-all>svg{color:#b58a2c}.match-pool-all-count{padding:1px 7px;border-radius:999px;background:#fff1c8;color:#8a5b00;font-size:10px;font-weight:800}.match-pool-status{color:#8a5b00;background:#fff4cf;border-color:#e0bd69}.player-overflow{color:var(--ink-muted);font-size:.82rem;align-self:center}.competition-footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}.competition-footer .score-cards{flex:1 1 auto;min-width:0}.score-cards{display:flex;flex-wrap:wrap;gap:10px}.score-card{--player-color:#555;flex:1 1;min-width:128px;max-width:230px;min-height:46px;padding:6px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid color-mix(in srgb,var(--player-color) 35%,white);border-left:3px solid var(--player-color);background:color-mix(in srgb,var(--player-color) 4%,white)}.score-card-rank{width:20px;height:20px;display:grid;place-items:center;background:var(--player-color);color:#fff;font-size:11px;font-weight:800}.score-card-name{overflow:hidden;color:var(--player-color);font-size:13px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.score-card strong{font-size:14px;font-weight:850}.competition-row.pool-row .score-card,.match-pool-row .score-card{flex:0 1 220px;min-width:210px;max-width:220px;--player-color:#c79a34;border-color:#e0bd69 #e0bd69 #e0bd69 #c79a34;background:#fffdf3}.competition-row.pool-row .score-card-rank,.match-pool-row .score-card-rank{background:#c79a34}.competition-row.pool-row .score-card-name,.match-pool-row .score-card-name{color:#8a5b00}.competition-row.individual-row{grid-template-columns:minmax(300px,1fr) auto;border:1px solid #7cc0aa;background:#f2fbf7;box-shadow:0 8px 24px rgba(16,97,79,.1)}.individual-row .player-list{flex-wrap:wrap;overflow:visible;row-gap:6px}.individual-player-count{min-height:28px;padding:4px 12px;border:1px dashed #7cc0aa;border-radius:999px;background:#ffffff;color:#10614f;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:750}.individual-player-count>svg{color:#2f9c7d}.individual-player-count em{padding:1px 8px;border-radius:999px;background:#d9f0e7;color:#10614f;font-size:10px;font-weight:800;font-style:normal}.individual-row .score-card{flex:0 1 220px;min-width:210px;max-width:220px;border-color:#b7ded0;background:#fff}.individual-row .score-card-rank{background:#2f9c7d;color:#fff}.individual-row .score-card-name{color:#10614f}.individual-row.completed-row{opacity:.72}.match-table tr.elimination-zone td{background:#fff4f2}.match-table tr.elimination-zone td:first-child{box-shadow:inset 3px 0 0 #d4694f}.elimination-tag{border:1px solid #e2a394;border-radius:999px;background:#ffe8e2;color:#a63a20}.eliminated-tag,.elimination-tag{display:inline-block;padding:2px 9px;font-size:11px;font-weight:800;white-space:nowrap}.eliminated-tag{border:1px solid #cfd6da;border-radius:999px;background:#eef1f2;color:#5b676d}.positive{color:#13725d!important}.negative{color:var(--red)!important}.icon-link,.table-action{display:grid;place-items:center;border:1px solid var(--line);color:var(--muted)}.icon-link{width:36px;height:36px}.competition-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}.table-action{width:29px;height:29px}.icon-link:hover,.table-action:hover{border-color:var(--green);color:var(--green)}.table-edit-link{min-height:29px;padding:0 8px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);color:#536069;font-size:9px;font-weight:700;white-space:nowrap}.table-edit-link:hover{border-color:var(--green);color:var(--green)}.workflow{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);position:relative;grid-template-columns:repeat(3,1fr);gap:14px;padding:12px;border:1px solid #d9e2df;background:#fbfcfc;box-shadow:0 5px 16px rgba(42,66,62,.06)}.workflow:before{content:"";position:absolute;left:14%;right:14%;top:50%;border-top:1px solid #d8e3df}.workflow li{position:relative;z-index:1;min-height:104px;padding:16px;border:1px solid #dce5e2;border-radius:6px;background:#fff;display:block}.workflow li:first-child{border-top:3px solid #78ad9b}.workflow li:nth-child(2){border-top:3px solid #c7a25b}.workflow li:nth-child(3){border-top:3px solid #c77e69}.workflow b{width:28px;height:28px;margin-bottom:12px;border:1px solid #b9cbc5;color:#47786a}.workflow strong{margin:0 0 7px;color:#304447;font-size:15px}.workflow small{color:#6b797b}.schedule-settings-link{margin:0 0 16px}.schedule-editor-list{display:grid;gap:12px}.schedule-editor-card{padding:16px;border:1px solid #d3dddd;border-radius:7px;background:#fff;display:grid;grid-template-columns:1.2fr 1fr .5fr auto;align-items:end;gap:12px}.schedule-editor-card>div:first-child{align-self:center;display:grid;gap:5px}.schedule-editor-card>div:first-child span{color:var(--muted);font-size:10px}.schedule-editor-card label{display:grid;gap:5px;color:#59676b;font-size:10px}.schedule-editor-card input,.schedule-editor-card select{min-height:36px;padding:0 8px;border:1px solid #cbd5d4;border-radius:4px;background:#fff;color:#2e3d40}.schedule-player-fields{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(4,1fr);gap:8px}.schedule-player-fields>span{min-height:36px;padding:9px 8px;border:1px solid var(--soft-line);border-radius:4px;background:var(--soft);color:#2e3d40;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow li{min-height:70px;padding:7px 22px;border-right:1px solid var(--line);display:flex;align-items:flex-start;gap:12px}.workflow li:last-child{border-right:0}.workflow b{width:24px;height:24px;border:1px solid #9db9b0;display:grid;place-items:center;color:var(--green);font-size:11px}.workflow small,.workflow strong{display:block}.workflow strong{margin:3px 0 7px;font-size:12px}.workflow small{color:var(--muted);font-size:10px;line-height:1.5}.workflow{padding:18px;border:1px solid #c9dcd5;border-radius:8px;background:linear-gradient(120deg,#f3faf7,#fff);box-shadow:0 8px 22px rgba(34,91,76,.1)}.workflow li{min-height:100px;padding:10px 22px}.workflow b{width:32px;height:32px;font-size:14px}.workflow strong{font-size:16px}.workflow small{font-size:11px}.notice{margin-bottom:22px;padding:14px 16px;display:flex;align-items:flex-start;gap:11px;border:1px solid;font-size:12px}.notice.warning{border-color:#dec99e;background:#fff9ec;color:#72501b}.notice strong{display:block;margin-bottom:4px}.notice p{margin:0;color:#806638;font-size:11px}.standings{margin-top:0}.standings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.standing{min-height:108px;padding:14px;border:1px solid var(--line);border-top:3px solid var(--player-color);display:grid;grid-template-columns:26px 1fr;align-items:center;gap:9px}.standing-rank{width:24px;height:24px;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:800}.standing>strong{grid-column:1/-1;font-size:21px}.standing>small{grid-column:1/-1;color:var(--muted);font-size:10px}.table-count{color:var(--muted);font-size:11px}.table-wrap{overflow-x:auto;border:1px solid var(--line)}.match-table{width:100%;min-width:960px;border-collapse:collapse;font-size:11px}.match-table td,.match-table th{padding:11px 12px;border-bottom:1px solid var(--soft-line);text-align:left;vertical-align:middle}.match-table tr:last-child td{border-bottom:0}.match-table th{background:var(--soft);color:var(--muted);font-size:10px;font-weight:700}.match-table tbody tr:hover{background:#fafbfb}.status{width:max-content;padding:4px 7px;border:1px solid;font-size:9px;font-weight:750;white-space:nowrap}.status-active,.status-completed{border-color:#b5d4ca;background:var(--green-soft);color:var(--green)}.status-needs_review{border-color:#dec99e;background:#fff8e9;color:var(--amber)}.status-invalid{border-color:#dfb8ba;background:#fff1f1;color:var(--red)}.status-processing,.status-scheduled{border-color:#cad2d7;background:#f4f6f7;color:#5f6970}.seat-result{display:flex;gap:8px}.seat-result span{min-width:118px;display:grid;grid-template-columns:19px 16px minmax(64px,1fr);align-items:center;gap:4px}.seat-result b{width:19px;height:19px;display:grid;place-items:center;background:#edf0f1;font-size:10px}.seat-result i{color:var(--muted);font-size:10px;font-style:normal}.seat-result em{width:max-content;min-height:25px;padding:3px 7px;display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--player-color) 55%,white);background:color-mix(in srgb,var(--player-color) 8%,white);color:var(--player-color);font-style:normal;font-size:13px;line-height:1;font-weight:850}.seat-result small{grid-column:3;font-size:9px}.source-links{display:flex;gap:8px}.source-links a{display:inline-flex;align-items:center;gap:3px;color:#37648d}.source-links a:hover{text-decoration:underline}.rank-distribution{margin-bottom:22px;padding:24px;border:1px solid var(--line);background:var(--paper)}.rank-section-head{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.rank-section-head h2{margin:0;font-size:16px}.rank-legend{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:10px}.rank-legend span{display:inline-flex;align-items:center;gap:5px}.rank-legend i{width:7px;height:7px;border-radius:50%}.rank-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.rank-card{min-width:0;padding:14px 12px;border:1px solid var(--line);border-top:3px solid var(--player-color)}.rank-card-name{margin-bottom:12px;display:flex;justify-content:center}.rank-card-body{min-width:0}.rank-donut-wrap{position:relative;width:138px;height:138px;margin:0 auto}.rank-donut{width:138px;height:138px;border-radius:50%}.rank-donut:after{content:"";position:absolute;inset:29px;border-radius:50%;background:var(--paper);box-shadow:0 0 0 1px var(--line)}.rank-donut-center{position:absolute;inset:0;z-index:1;display:grid;place-content:center;text-align:center;pointer-events:none}.rank-donut-center strong{font-size:23px;line-height:1}.rank-donut-center small{margin-top:5px;color:var(--muted);font-size:9px}.rank-counts{margin-top:13px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;text-align:center}.rank-counts small,.rank-counts strong{display:block}.rank-counts strong{font-size:17px;line-height:1.2;font-weight:850}.rank-counts small{margin-top:4px;color:#424b52;font-size:10px;line-height:1.35;font-weight:750;white-space:normal}.data-groups{display:grid;gap:22px}.data-group{padding:24px;border:1px solid var(--line);background:var(--paper)}.data-group h2{margin:0 0 17px;font-size:16px}.comparison-scroll{overflow-x:auto;border:1px solid var(--line);background:var(--paper)}.comparison-grid{min-width:870px}.comparison-head,.comparison-row{display:grid;grid-template-columns:170px repeat(4,minmax(150px,1fr))}.comparison-head{border-bottom:1px solid var(--line);background:var(--soft);font-size:11px;font-weight:800}.comparison-head>div,.comparison-row>div{min-width:0;padding:11px 13px;border-right:1px solid var(--soft-line)}.comparison-head>div:last-child,.comparison-row>div:last-child{border-right:0}.comparison-head .player-tag{width:max-content}.comparison-row{min-height:58px;align-items:center;border-bottom:1px solid var(--soft-line)}.comparison-row:last-child{border-bottom:0}.comparison-label{font-size:12px;font-weight:750}.comparison-cell{--player-color:#555;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.comparison-cell strong{font-size:13px}.comparison-cell>span{height:7px;margin-top:7px;display:block;overflow:hidden;border-radius:4px;background:#e8ebed}.comparison-cell>span>i{height:100%;display:block;border-radius:4px;background:var(--player-color)}.naga-rating-group{margin-bottom:22px}.naga-rating-grid .comparison-row{min-height:88px}.naga-rating-cell,.naga-rating-value{color:var(--player-color)}.naga-rating-value{display:grid;gap:1px;font-size:16px!important;line-height:1.45;font-weight:850}.person-directory-list{display:grid;gap:8px}.person-directory-list article{--player-color:#555;min-height:78px;padding:13px 14px;border:1px solid var(--line);border-left:4px solid var(--player-color);display:grid;grid-template-columns:minmax(230px,1fr) auto 36px;align-items:center;gap:24px}.person-directory-name{display:flex;align-items:center;gap:11px;min-width:0}.person-directory-name small,.person-directory-name strong{display:block}.person-directory-name strong{color:var(--player-color);font-size:16px}.person-directory-name small{margin-top:5px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.person-directory-list article>div:nth-child(2){display:grid;grid-template-columns:repeat(3,78px);gap:12px}.person-directory-list article>div:nth-child(2) span{color:var(--muted);font-size:9px}.person-directory-list article>div:nth-child(2) strong{margin-top:3px;display:block;color:var(--ink);font-size:16px}.person-rank-section,.person-summary{margin-bottom:22px}.person-rank-body{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:28px}.person-rank-counts{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));border:1px solid var(--line)}.person-rank-counts span{min-height:82px;padding:15px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.person-rank-counts span:last-child{border-right:0}.person-rank-counts strong{font-size:22px}.person-rank-counts small{margin-top:6px;color:var(--muted);font-size:10px;font-weight:700}.person-rating-section{margin-bottom:22px}.person-rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.person-phase-grid,.person-rating-grid{display:grid;border:1px solid var(--line)}.person-phase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.person-phase-grid>div{min-height:84px;padding:14px 16px;border-right:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 18px}.person-phase-grid>div:last-child{border-right:0}.person-phase-grid strong{grid-row:1/3;color:#44565a;font-size:15px}.person-phase-grid span{color:var(--ink,#20262b);font-size:20px;font-weight:800;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.person-phase-grid small{grid-column:2;color:var(--muted,#667078);font-size:10px;text-align:right}.person-rating-grid>div{--player-color:#555;min-height:92px;padding:14px 16px;border-right:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 18px}.person-rating-grid>div:last-child{border-right:0}.person-rating-grid strong{grid-row:1/4;color:var(--player-color);font-size:15px}.person-rating-grid span{color:var(--player-color);font-size:13px;font-weight:800;text-align:right}.person-metric-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.person-metric-groups .data-group{padding:20px}.person-metric-list{border:1px solid var(--line)}.person-metric-list>div{min-height:42px;padding:9px 11px;border-bottom:1px solid var(--soft-line);display:flex;align-items:center;justify-content:space-between;gap:12px}.person-metric-list>div:last-child{border-bottom:0}.person-metric-list span{color:var(--muted);font-size:10px}.person-metric-list strong{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.person-history-section{margin-top:22px}.person-table{width:100%;min-width:680px;border-collapse:collapse;font-size:11px}.person-table td,.person-table th{padding:11px 12px;border-bottom:1px solid var(--soft-line);text-align:left}.person-table th{background:var(--soft);color:var(--muted);font-size:10px}.person-table tr:last-child td{border-bottom:0}.person-table td a{color:#37648d;font-weight:700}.person-table td small{margin-top:3px;display:block;color:var(--muted);font-size:9px}.match-history-table{min-width:980px}.person-avatar{--player-color:#555;position:relative;flex:0 0 auto;overflow:hidden;border:1px solid color-mix(in srgb,var(--player-color) 55%,white);background:color-mix(in srgb,var(--player-color) 10%,white);display:grid;place-items:center;color:var(--player-color);font-weight:850}.person-avatar img{width:100%;height:100%;display:block;object-fit:cover}.person-avatar-small{width:46px;height:46px;font-size:13px}.person-avatar-medium{width:96px;height:96px;font-size:23px}.person-avatar-large{width:220px;height:220px;font-size:42px}.person-tags{margin:8px 0;display:flex;flex-wrap:wrap;gap:5px}.person-tags span{padding:3px 7px;border:1px solid #b9ccc6;border-radius:2px;background:#edf6f3;color:var(--green);font-size:9px;font-weight:750}.person-tags.compact{margin:3px 0;gap:3px}.person-tags.compact span{padding:1px 5px;font-size:8px}.person-profile-header{margin-bottom:26px;display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:36px}.person-profile-header .page-heading{min-width:0;margin:0}.person-profile-header .person-avatar{justify-self:end}.avatar-editor{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:24px}.avatar-editor-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.avatar-upload-button{position:relative;overflow:hidden;cursor:pointer}.avatar-file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.avatar-remove{min-height:38px;display:inline-flex;align-items:center;gap:7px;color:var(--red);font-size:11px;font-weight:700}.avatar-remove input{width:16px;height:16px;accent-color:var(--red)}.form-page{width:min(920px,calc(100% - 56px))}.back-link{margin-bottom:25px;display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.back-link:hover{color:var(--green)}.form-layout{display:grid;gap:16px}.form-section{padding:24px;border:1px solid var(--line);background:var(--paper)}.form-section-title{margin-bottom:23px;display:flex;align-items:flex-start;gap:13px}.form-section-title>span{width:25px;height:25px;display:grid;place-items:center;border:1px solid #9db9b0;color:var(--green);font-size:11px;font-weight:800}.form-section-title h2{margin:2px 0 4px;font-size:15px}.form-section-title p{margin:0;color:var(--muted);font-size:10px}.form-section-action{min-height:31px;margin-left:auto}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:grid;gap:7px;color:#4c555c;font-size:11px;font-weight:700}.field.wide{grid-column:1/-1}.field input,.field select,.field textarea,.participant-form input,.participant-form select,.seat-editor select{width:100%;min-height:39px;padding:9px 11px;border:1px solid #cfd6da;border-radius:3px;background:#fff;color:var(--ink);outline:none}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.participant-form input:focus,.participant-form select:focus,.seat-editor select:focus{border-color:var(--green);box-shadow:0 0 0 2px #dceee8}.field input:read-only{background:#f3f5f5;color:var(--muted)}.source-type-switch{width:max-content;margin-bottom:17px;display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));border:1px solid #cfd6da;border-radius:4px;overflow:hidden}.source-type-switch button{min-height:38px;padding:0 13px;border:0;border-right:1px solid #cfd6da;background:var(--paper);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:750}.source-type-switch button:last-child{border-right:0}.source-type-switch button:hover{color:var(--green);background:var(--green-soft)}.source-type-switch button.active{background:var(--green);color:#fff}.file-input{min-height:43px;padding:5px 8px 5px 12px;border:1px dashed #aeb9be;border-radius:3px;background:var(--soft);display:flex;align-items:center;gap:10px}.file-input:focus-within{border-color:var(--green);box-shadow:0 0 0 2px #dceee8}.file-input>svg{flex:0 0 auto;color:var(--green)}.file-input input{min-height:31px;padding:3px;border:0;background:transparent}.file-input input:focus{box-shadow:none}.json-input-heading{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px}.json-file-button{position:relative;min-height:31px;padding:0 10px;overflow:hidden;font-size:10px;cursor:pointer}.field .json-file-input{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;border:0;opacity:0;cursor:pointer}.field textarea[name=majsoulJsonText]{min-height:210px;resize:vertical;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.55}.participant-editor,.participant-form{display:grid;gap:8px}.participant-form{grid-template-columns:28px 1fr 1.2fr 92px 42px;align-items:center}.participant-form.with-person{grid-template-columns:28px 150px minmax(120px,1fr) minmax(140px,1.1fr) 42px}.participant-form>b{width:27px;height:38px;display:grid;place-items:center;background:var(--soft);border:1px solid var(--line);font-size:10px}.participant-form .color-input{padding:4px}.text-button{margin-top:14px;padding:0;border:0;background:transparent;color:var(--green);display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:750}.form-actions{padding-top:5px;display:flex;justify-content:flex-end;gap:9px}.match-edit-actions{padding-top:5px;display:flex;align-items:center;justify-content:space-between;gap:12px}.match-edit-actions>div{display:flex;gap:9px}.field-note{margin:0;padding:0 2px;color:var(--muted);font-size:11px}.section-note{margin:3px 0 0;color:var(--muted);font-size:10px}.round-snapshot-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;border:1px solid var(--line);border-bottom:0;background:#fbfbfa;font-size:11px}.round-snapshot-bar>span{color:var(--muted);font-weight:700}.round-snapshot-bar a{padding:3px 9px;border:1px solid var(--line);border-radius:2px;color:var(--ink);font-size:10px;text-decoration:none}.round-snapshot-bar a:hover{border-color:var(--green);color:var(--green)}.round-snapshot-bar a.active{border-color:var(--green);background:var(--green);color:#fff}.round-snapshot-bar em{margin-left:auto;color:var(--muted);font-size:10px;font-style:normal}.schedule-editor-entry{display:grid;gap:0}.negotiation-panel{border:1px solid var(--line);border-top:0;background:#fbfbfa;font-size:11px}.negotiation-panel>summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;cursor:pointer}.negotiation-panel>summary::marker{color:var(--muted)}.negotiation-status{padding:2px 8px;border:1px solid var(--line);border-radius:2px;font-weight:800;font-size:10px}.negotiation-status.pending{border-color:#e0d3ab;background:#fdf8ec;color:#8a6d33}.negotiation-status.confirmed{border-color:#b5d4ca;background:var(--green-soft);color:var(--green)}.negotiation-status.overdue{border-color:#dfb8ba;background:#fff1f1;color:var(--red)}.negotiation-status.final{border-color:#cfd6da;background:#eef1f2;color:var(--ink)}.negotiation-summary-time{font-weight:700}.negotiation-summary-meta,.negotiation-toggle{color:var(--muted);font-size:10px}.negotiation-toggle{margin-left:auto;padding:2px 8px;border:1px solid var(--line);border-radius:2px;background:#fff}.negotiation-panel>summary:hover .negotiation-toggle{border-color:var(--green);color:var(--green)}.negotiation-body{display:grid;gap:10px;padding:0 12px 12px}.negotiation-times{display:grid;gap:4px}.negotiation-times>div{display:flex;gap:8px}.negotiation-times b{padding-top:1px}.negotiation-responses{display:grid;gap:4px;margin:0;padding:0;list-style:none}.negotiation-responses li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:5px 8px;border:1px solid var(--soft-line);background:#fff}.negotiation-responses li.pending{border-color:#e3d5a6;background:#fdf9ee}.negotiation-responses li.pending span,.negotiation-responses li.pending strong{color:#8a6d33}.negotiation-responses li.accepted{border-color:#8fc3b3;background:var(--green-soft)}.negotiation-responses li.accepted span,.negotiation-responses li.accepted strong{color:var(--green)}.negotiation-responses li.declined{border-color:#dfa9ab;background:#fff1f1}.negotiation-responses li.declined span,.negotiation-responses li.declined strong{color:var(--red)}.negotiation-responses li.mine{box-shadow:inset 3px 0 0 currentColor}.negotiation-times>div.current-time{padding:5px 8px;border:1px solid var(--soft-line);border-radius:2px}.negotiation-times>div.current-time b{min-width:84px}.negotiation-times>div.current-time.settled{border-color:#8fc3b3;background:var(--green-soft)}.negotiation-times>div.current-time.settled b,.negotiation-times>div.current-time.settled span{color:var(--green);font-weight:800}.negotiation-times>div.current-time.pending{border-color:#e3d5a6;background:#fdf9ee}.negotiation-times>div.current-time.pending b,.negotiation-times>div.current-time.pending span{color:#8a6d33;font-weight:800}.confirmed-count.all{color:var(--green);font-weight:800}.negotiation-responses strong{min-width:74px}.negotiation-responses em,.negotiation-responses span{color:var(--muted);font-size:10px}.negotiation-responses em{font-style:normal}.negotiation-link{margin-left:auto;font-size:10px}.negotiation-history{display:grid;gap:3px;margin:0;padding:8px 10px;border:1px dashed var(--soft-line);list-style:none}.negotiation-history li{display:flex;gap:8px;color:var(--muted);font-size:10px}.negotiation-history b{color:var(--ink);font-weight:700}.negotiation-forms{display:grid;gap:10px;padding-top:4px;border-top:1px dashed var(--soft-line)}.negotiation-forms form,.negotiation-player-form{display:grid;gap:8px}.negotiation-form-row{display:flex;flex-wrap:wrap;gap:10px}.negotiation-form-row label{display:grid;gap:3px;color:var(--muted);font-size:10px}.negotiation-form-row input{min-height:34px;padding:6px 8px;border:1px solid #cfd6da;border-radius:3px;font-size:11px}.negotiation-player-form p,.negotiation-player-form>label{margin:0}.negotiation-player-form>label{display:grid;gap:3px;color:var(--muted);font-size:10px}.negotiation-player-form input{min-height:36px;padding:7px 9px;border:1px solid #cfd6da;border-radius:3px;font-size:11px}.negotiation-player-actions{display:flex;flex-wrap:wrap;gap:9px}.negotiation-codes{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--soft-line);background:#fff}.negotiation-codes-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.negotiation-codes-heading b{display:inline-flex;align-items:center;gap:5px;font-size:11px}.negotiation-codes-heading span{color:var(--muted);font-size:10px}.negotiation-code-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.negotiation-code-list li{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border:1px dashed #b5d4ca;background:var(--green-soft)}.negotiation-code-list strong{font-size:11px}.negotiation-code-list code{font-size:14px;font-weight:800;letter-spacing:2px}.access-code-field{display:grid;gap:3px;color:var(--muted);font-size:10px}.access-code-field input{letter-spacing:6px;font-size:15px;font-weight:700;max-width:220px}.schedule-negotiation-setup{display:grid;gap:8px;margin-bottom:16px;padding:14px 16px;border:1px solid var(--line);background:#fbfbfa}.schedule-negotiation-setup h2{margin:0;font-size:15px}.negotiation-link-field{width:100%;padding:8px 10px;border:1px solid #cfd6da;border-radius:3px;background:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.negotiation-player-section{scroll-margin-top:90px}.choice-group{display:grid;gap:6px;margin:0;padding:10px 12px;border:1px solid var(--soft-line);background:#fff}.choice-group legend{padding:0 4px;color:var(--muted);font-size:10px}.choice-group label{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--soft-line);font-size:12px;cursor:pointer}.choice-group label.checked{border-color:var(--green);background:var(--green-soft);font-weight:700}.choice-group input{accent-color:var(--green)}.field .choice-group input{width:16px;height:16px;min-height:0;padding:0;flex:0 0 16px}.time-slots{display:grid;gap:6px;padding:10px 12px;border:1px dashed var(--soft-line);background:#fdfdfc}.time-slots-title{color:var(--muted);font-size:10px}.time-slot{display:flex;align-items:center;gap:6px}.time-slot input{flex:1 1;max-width:260px;min-height:34px;padding:6px 8px;border:1px solid #cfd6da;border-radius:3px;font-size:11px}.time-slot-remove{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #dfb8ba;border-radius:3px;background:#fff1f1;color:var(--red);cursor:pointer}.time-slot-add{width:min(220px,100%)}.negotiation-player-form>label.reschedule-toggle{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--soft-line);background:#fff;color:var(--ink);font-size:12px}.negotiation-player-form>label.reschedule-toggle input{flex:0 0 auto;width:16px;height:16px;min-height:0}.negotiation-field{display:grid;gap:3px;color:var(--muted);font-size:10px}.negotiation-field input{min-height:36px;padding:7px 9px;border:1px solid #cfd6da;border-radius:3px;font-size:12px}.access-code-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding-top:8px;border-top:1px dashed var(--soft-line)}.access-code-row>label{display:grid;gap:3px;color:var(--muted);font-size:10px}.access-code-row input{min-height:38px;padding:8px 10px;border:1px solid #cfd6da;border-radius:3px;font-size:16px;font-weight:700;letter-spacing:4px;max-width:220px}.negotiation-player-history{padding:8px 12px;border:1px dashed var(--soft-line);background:#fdfdfc}.negotiation-player-history>summary{color:var(--muted);font-size:11px;cursor:pointer}.negotiation-gate{display:grid;gap:12px}.negotiation-gate label{display:grid;gap:4px;color:var(--muted);font-size:11px}.negotiation-gate input{min-height:44px;padding:10px 12px;border:1px solid #cfd6da;border-radius:3px;font-size:20px;font-weight:800;letter-spacing:6px;max-width:260px}.negotiation-player-section.negotiable{border-left:4px solid var(--green)}.proposal-box{display:grid;gap:4px;padding:10px 12px;border:1px solid #e0d3ab;background:#fdf8ec;font-size:11px}.proposal-box span{color:var(--muted);font-size:10px}.negotiation-status.pending{border-color:#ccd3d7;background:#f2f4f5;color:#5b676d}.negotiation-status.confirmed{border-color:#8ecfb9;background:#e6f6ef;color:#1c7a5f}.negotiation-responses li{padding:7px 10px;border-radius:3px;font-size:11px}.negotiation-responses li.pending{border-color:#d7dde0;background:#f4f6f7}.negotiation-responses li.pending span,.negotiation-responses li.pending strong{color:#5b676d}.negotiation-responses li.accepted{border-color:#8ecfb9;background:#e6f6ef}.negotiation-responses li.accepted span,.negotiation-responses li.accepted strong{color:#1c7a5f}.negotiation-responses li.mine{border-left:5px solid #0f5a43;background:#c9ead9}.negotiation-responses li.mine span,.negotiation-responses li.mine strong{color:#0b4636;font-weight:800}.negotiation-responses li.mine.pending{border-color:#d7dde0 #d7dde0 #d7dde0 #0f5a43;background:#dbe8e2}.negotiation-responses li.mine.pending span,.negotiation-responses li.mine.pending strong{color:#17453a;font-weight:800}.negotiation-responses strong{min-width:92px}.negotiation-times>div{padding:6px 10px;border:1px solid var(--soft-line);border-radius:3px;background:#fff}.negotiation-times b{min-width:84px;color:var(--muted);font-size:10px;font-weight:700;padding-top:2px}.negotiation-times>div.current-time{display:flex;align-items:center;gap:12px;padding:12px 14px;border-width:1px 1px 1px 6px;border-radius:4px}.negotiation-times>div.current-time b{min-width:0;flex:0 0 auto;padding-top:0}.negotiation-times>div.current-time span{font-size:20px;font-weight:800;letter-spacing:.3px}.negotiation-times>div.current-time.settled{border-color:#e0a92f #e0a92f #e0a92f #b8801a;background:#fbe9c2}.negotiation-times>div.current-time.settled b,.negotiation-times>div.current-time.settled span{color:#6b4708}.negotiation-times>div.current-time.pending{border-color:#a9b3ba #a9b3ba #a9b3ba #7b868d;background:#e4e9eb}.negotiation-times>div.current-time.pending b,.negotiation-times>div.current-time.pending span{color:#2b363c}.negotiation-player-section{padding:18px;border-radius:6px}.negotiation-player-section .form-section-title>span{width:34px;height:34px;font-size:16px}.negotiation-player-section .form-section-title h2{font-size:19px;line-height:1.4}.negotiation-times{gap:8px;margin:12px 0}.negotiation-times>div:not(.current-time){padding:9px 12px}.negotiation-times b{font-size:13px;min-width:96px}.negotiation-times>div:not(.current-time) span{font-size:15px}.negotiation-responses{gap:8px}.negotiation-responses li{padding:12px 14px;font-size:15px;gap:12px}.negotiation-responses strong{min-width:110px;font-size:15px}.negotiation-responses span{font-size:14px}.negotiation-status{padding:4px 12px;font-size:13px;border-radius:999px}.negotiation-player-form{gap:12px}.negotiation-player-form p{font-size:15px;line-height:1.6}.choice-group{padding:14px 16px;gap:10px}.choice-group legend{font-size:13px;padding:0 6px}.choice-group label{font-size:15px;gap:10px}.negotiation-field{font-size:13px;gap:6px}.negotiation-field input,.negotiation-player-form input,.time-slot input{min-height:46px;font-size:15px;padding:10px 12px}.negotiation-gate .button,.negotiation-player-form .button{min-height:46px;padding:0 20px;font-size:15px}.time-slot-remove{width:46px;height:46px}.negotiation-state-hint{font-size:15px;line-height:1.6;color:var(--muted)}.proposal-box{padding:14px 16px;font-size:14px;gap:6px}.proposal-box em,.proposal-box span{font-size:13px}.field-note.confirmed-count,.negotiation-player-history{font-size:14px}.negotiation-history li{font-size:13px}.proposal-box em{color:var(--muted);font-size:10px;font-style:normal}.proposal-times{display:grid;gap:3px;margin:0;padding:0;list-style:none}.proposal-times li{display:flex;align-items:center;gap:10px;font-size:11px}.proposal-times li em{color:var(--muted);font-size:10px;font-style:normal}.negotiation-history li.accept,.negotiation-history li.accept span{color:var(--green);font-weight:700}.negotiation-history li.accept b{color:var(--green)}.negotiation-history li.decline,.negotiation-history li.decline span{color:var(--red);font-weight:700}.negotiation-history li.decline b{color:var(--red)}.negotiation-history li.settle{margin:3px 0;padding:7px 9px;border-left:3px solid var(--green);background:var(--green-soft)}.negotiation-history li.settle b,.negotiation-history li.settle span{color:var(--green);font-weight:800}.negotiation-waiting{margin:0;padding:10px 12px;border:1px dashed #e0d3ab;background:#fdf8ec;font-size:11px}.negotiation-state-hint{margin:0;padding:9px 11px;border:1px dashed #cfd6da;background:#f4f5f5;color:var(--ink);font-size:11px}.choice-group label.locked{opacity:.6;cursor:not-allowed}.choice-group label.locked input{cursor:not-allowed}.choice-group label span{display:inline-flex;align-items:center;gap:6px}.choice-group label em{color:var(--muted);font-size:10px;font-style:normal}.choice-group label input:disabled+span{color:var(--muted)}.choice-group label:has(input:disabled){background:#f4f4f3;cursor:not-allowed}.correction-history{display:grid;gap:8px;margin:0;padding:12px 14px;border:1px solid var(--soft-line);list-style:none;background:#fbfbfa}.correction-history li{display:grid;gap:3px;padding-bottom:8px;border-bottom:1px dashed var(--soft-line)}.correction-history li:last-child{padding-bottom:0;border-bottom:0}.correction-history strong{font-size:10px;color:var(--muted);font-weight:700}.correction-history span{font-size:11px}.correction-history em{color:var(--muted);font-size:10px;font-style:normal}.form-message{margin:0;padding:11px 13px;border:1px solid #dfb8ba;background:#fff1f1;color:var(--red);font-size:11px}.form-message[role=alert]{width:min(100%,680px);box-shadow:0 4px 14px rgba(25,38,43,.08)}.field-control-with-hint{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:9px}.field-validation{font-size:10px;font-weight:750;white-space:nowrap}.field-validation.valid{color:var(--green)}.field-validation.error{color:var(--red)}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:12px;top:11px;color:var(--muted)}.input-with-icon input{padding-left:39px}.parse-button{margin-top:15px}.parse-button+.form-message{margin-top:14px}.form-message.success{border-color:#b5d4ca;background:var(--green-soft);color:var(--green)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.disabled-preview{background:#fafbfb}.seat-editor{display:grid;border:1px solid var(--line)}.seat-editor>div{min-height:56px;padding:8px 10px;border-bottom:1px solid var(--soft-line);display:grid;grid-template-columns:36px 1fr 190px 76px;align-items:center;gap:12px}.seat-editor>div:last-child{border-bottom:0}.seat-editor b{width:28px;height:28px;display:grid;place-items:center;background:#eef1f2;font-size:10px}.source-name{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.source-name .seat-match-note{margin-left:6px;padding:1px 5px;border:1px solid #cfe0d8;border-radius:2px;background:#f1f7f4;color:var(--green);font-family:inherit;font-size:9px;font-style:normal;white-space:nowrap}.source-name .seat-match-note.preference{border-color:#e3d9c2;background:#faf6ec;color:#8a6d33}.match-state{color:var(--muted);font-size:9px;text-align:right}.match-state.confirmed{font-weight:800}.registered-players{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.registered-players article{min-height:92px;padding:13px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.registered-players article>span{color:var(--muted);font-size:9px}.registered-players article>strong{font-size:11px;overflow-wrap:anywhere}.empty-schedule{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted)}.empty-schedule h2{margin:12px 0 5px;color:var(--ink);font-size:15px}.empty-schedule p{margin:0;font-size:10px}.login-page{width:min(440px,calc(100% - 32px));min-height:calc(100vh - 64px);margin:0 auto;display:grid;align-items:center;padding:48px 0 80px}.login-form{padding:30px;border:1px solid var(--line);background:var(--paper);display:grid;gap:18px}.login-form h1{margin-bottom:6px;font-size:22px}.login-form>div>p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.login-icon{width:44px;height:44px;border:1px solid #9db9b0;background:var(--green-soft);color:var(--green);display:grid!important;place-items:center}.login-form .button{width:100%}@media (max-width:1050px){.sidebar{width:74px;padding:17px 10px}.workspace{margin-left:74px}.brand{padding:0 11px 17px}.brand>span:last-child,.sidebar nav a{font-size:0}.sidebar nav a{justify-content:center;padding:0}.new-competition{padding:0;font-size:0}.competition-row{grid-template-columns:minmax(0,1fr) auto}.workflow{grid-template-columns:repeat(2,1fr)}.workflow li:nth-child(2){border-right:0}.workflow li:nth-child(-n+2){border-bottom:1px solid var(--line)}.registered-players,.standings-grid{grid-template-columns:repeat(2,1fr)}.rank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.person-metric-groups{grid-template-columns:1fr}.person-profile-header{grid-template-columns:minmax(0,1fr) 180px}.person-profile-header .person-avatar-large{width:180px;height:180px}}@media (max-width:700px){.app-shell{display:block}.sidebar{position:fixed;z-index:20;top:auto;bottom:0;width:100%;height:58px;padding:6px 12px;flex-direction:row;align-items:center;border-top:1px solid #51615e}.workspace{margin-left:0}.brand{display:none}.sidebar nav{padding:0;flex:1 1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.sidebar nav a{min-height:44px}.new-competition{width:44px;height:44px;margin:0}.topbar{height:55px;padding:0 17px}.topbar>div:first-child{display:none}.topbar{justify-content:flex-end}.auth-controls .environment{display:inline-flex}.form-page,.page{width:min(100% - 24px,1260px);padding:25px 0 88px}.page-heading{align-items:flex-start;flex-direction:column}.heading-actions{width:100%}.heading-actions .button{flex:1 1}h1{font-size:23px}.summary-grid{grid-template-columns:1fr}.summary-block{min-height:72px;border-right:0;border-bottom:1px solid var(--line)}.summary-block:last-child{border-bottom:0}.section-block,.standings{padding:16px}.competition-row{padding:15px;gap:17px;grid-template-columns:minmax(0,1fr) auto}.match-pool-row .competition-title{flex-wrap:wrap;row-gap:6px}.competition-row-actions{align-self:start}.match-pool-all{white-space:nowrap}.score-preview{gap:9px}.workflow{grid-template-columns:1fr}.workflow li{border-right:0;border-bottom:1px solid var(--line)}.workflow li:last-child{border-bottom:0}.field-grid,.registered-players,.standings-grid{grid-template-columns:1fr}.json-input-heading{align-items:flex-start}.participant-form{grid-template-columns:28px 1fr 80px 39px}.participant-form input:nth-of-type(2){grid-column:2/-1;grid-row:2}.participant-form.with-person{grid-template-columns:28px 1fr 39px}.participant-form.with-person>select{grid-column:2}.participant-form.with-person .color-input{grid-column:3;grid-row:1}.participant-form.with-person input:not(.color-input){grid-column:2/-1}.seat-editor>div{grid-template-columns:34px 1fr}.match-state,.seat-editor select{grid-column:2;text-align:left}.form-actions .button{flex:1 1}.match-edit-actions{align-items:stretch;flex-direction:column-reverse}.match-edit-actions>div{display:grid;grid-template-columns:1fr 1fr}.match-edit-actions form .button{width:100%}.data-page .page-heading{margin-bottom:18px}.rank-distribution{padding:16px}.rank-section-head{align-items:flex-start;flex-direction:column;gap:9px}.rank-grid{grid-template-columns:1fr}.rank-card{padding:12px}.rank-card-body{display:grid;grid-template-columns:112px 1fr;align-items:center;gap:10px}.rank-donut,.rank-donut-wrap{width:112px;height:112px}.rank-donut:after{inset:24px}.rank-donut-center strong{font-size:20px}.rank-counts{margin:0;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}.rank-counts small{white-space:normal}.data-group{padding:0;border:0;background:transparent}.data-group h2{margin-bottom:10px;font-size:15px}.naga-rating-group{padding:0}.naga-rating-grid .comparison-row{min-height:0}.naga-rating-value{display:grid;gap:1px;font-size:15px!important}.comparison-grid{min-width:0}.comparison-head{display:none}.comparison-row{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-row>div{border-right:1px solid var(--soft-line)}.comparison-row>div:nth-child(odd){border-right:0}.comparison-label{grid-column:1/-1;padding:9px 11px!important;border-right:0!important;border-bottom:1px solid var(--line);background:var(--soft)}.comparison-cell{padding:10px 11px 12px!important}.comparison-cell:before{content:attr(data-player);margin-bottom:6px;display:block;color:var(--player-color);font-size:13px;font-weight:850}.person-directory-list article{padding:12px;grid-template-columns:1fr 34px;gap:12px}.person-directory-list article>div:nth-child(2){grid-column:1/-1;grid-row:2;grid-template-columns:repeat(3,1fr)}.person-directory-list article>.icon-link{grid-column:2;grid-row:1}.person-profile-header{grid-template-columns:1fr;gap:16px}.person-profile-header .page-heading{grid-row:1}.person-profile-header .person-avatar{width:132px;height:132px;grid-row:2;justify-self:start;font-size:28px}.avatar-editor{grid-template-columns:132px minmax(0,1fr);gap:16px}.avatar-editor .person-avatar-large{width:132px;height:132px;font-size:28px}.person-rank-body{grid-template-columns:1fr}.person-rank-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.person-rank-counts span:nth-child(2){border-right:0}.person-rank-counts span:nth-child(-n+2){border-bottom:1px solid var(--line)}.person-rating-grid{grid-template-columns:1fr}.person-rating-grid>div{border-right:0;border-bottom:1px solid var(--line)}.person-rating-grid>div:last-child{border-bottom:0}.person-metric-groups{grid-template-columns:1fr}.login-page{min-height:calc(100vh - 55px);padding-bottom:100px}.login-form{padding:22px}}@media (max-width:520px){.competition-row,.competition-row.match-pool-row,.competition-row.pool-row{grid-template-columns:1fr}.competition-row-actions{align-self:center;justify-content:flex-start}}.quality-visuals-off .diamondBadge,.quality-visuals-off .diamondRow,.quality-visuals-off .goldBadge,.quality-visuals-off .goldRow,.quality-visuals-off .horseBadge,.quality-visuals-off .horseRow,.quality-visuals-off .playerDiamond,.quality-visuals-off .playerGold,.quality-visuals-off .playerHorse{background:none!important;background-image:none!important;color:inherit!important;border-color:inherit!important;text-shadow:none!important}.quality-visuals-off .diamondBadge,.quality-visuals-off .goldBadge,.quality-visuals-off .horseBadge,.quality-visuals-off .playerDiamond,.quality-visuals-off .playerGold,.quality-visuals-off .playerHorse{display:none!important}.quality-visuals-off .diamondRow,.quality-visuals-off .goldRow,.quality-visuals-off .horseRow{background:transparent!important;background-image:none!important;color:inherit!important;border-color:inherit!important;text-shadow:none!important}.quality-toggle{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--line,#d8dee8);border-radius:999px;background:var(--surface,#fff);color:var(--muted,#64748b);font-size:12px;cursor:pointer;transition:all .18s ease}.quality-toggle:hover{border-color:var(--accent,#168f83);color:var(--accent,#168f83)}.quality-toggle input{appearance:none;width:28px;height:16px;border-radius:999px;background:#cbd5e1;position:relative;margin:0;transition:background .18s ease}.quality-toggle input:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .18s ease}.quality-toggle input:checked{background:var(--accent,#168f83)}.quality-toggle input:checked:after{transform:translateX(12px)}.quality-toggle input:focus-visible{outline:2px solid var(--accent,#168f83);outline-offset:2px}.workflow-stage.is-current{border-color:#0f5a43;background:#e6f6ef;box-shadow:0 0 0 2px rgba(15,90,67,.16)}.workflow-stage.is-current strong{color:#0b4636}.workflow-stage.is-current b{background:#0f5a43;color:#fff;border-color:#0f5a43}.workflow-stage.is-current .stage-seal{border-color:#0f5a43;background:#c9ead9;color:#0b4636}.workflow-stage.workflow-upcoming{opacity:.72}@media (max-width:700px){.topbar{height:52px;padding:0 12px;gap:8px}.auth-controls{min-width:0;gap:6px!important}.auth-controls .environment{max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-action,.topbar-icon-action{min-height:38px}.topbar-icon-action>span{display:none}.topbar-icon-action{width:38px;min-width:38px;padding:0;justify-content:center}.topbar-icon-action svg{width:17px;height:17px}.quality-toggle{padding:5px;gap:0;font-size:0}.sidebar{height:62px;padding:4px 6px calc(4px + env(safe-area-inset-bottom, 0px));border-top:1px solid #51615e}.sidebar nav{padding-top:0;gap:0}.sidebar nav a{position:relative;min-height:52px;padding:4px 2px;flex-direction:column;justify-content:center;gap:3px;font-size:10px;line-height:1.1;white-space:nowrap}.sidebar nav a svg{width:19px;height:19px}.sidebar nav a .link-pending{position:absolute;top:6px;right:6px;margin-left:0}.new-competition{width:44px;height:44px;flex:0 0 44px;margin-left:6px}.page-heading{margin-bottom:18px;gap:14px}.page-heading>div{min-width:0}.heading-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.heading-actions .button{min-width:0;min-height:44px;padding:0 8px;overflow:hidden;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.heading-actions .button.primary{grid-column:1/-1}.section-heading,.standings .section-heading{flex-wrap:wrap;gap:6px 12px;margin-bottom:14px}.section-heading h2{margin-bottom:0;white-space:nowrap}.section-heading>div{min-width:0;flex:1 1 auto}.button{min-height:44px}.icon-link{width:44px;height:44px}.back-link,.player-tag{min-height:40px}.player-tag.compact{min-height:36px;padding-top:4px;padding-bottom:4px}.table-edit-link{min-height:40px}.eliminated-line-toggle{min-height:38px}
  /* !important：CSS Module 里的表单样式（如加减分面板）选择器更具体，这里要压过去 */input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea{min-height:42px!important}.source-links a{min-height:36px;padding:0 6px}main [class*=filterToggle],main [class*=tagChip]{min-height:40px!important}input,select,textarea{font-size:16px!important}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.match-table{min-width:680px}.match-table td,.match-table th{padding:9px 10px}.individual-schedule-grid{grid-template-columns:1fr}.individual-schedule-card footer .button{width:100%}.schedule-week-summary{min-height:48px}.competition-row,.competition-row.individual-row,.competition-row.match-pool-row,.competition-row.pool-row{grid-template-columns:minmax(0,1fr);gap:14px}.competition-row-actions{justify-content:flex-start;align-self:start}.competition-row-actions .icon-link{width:44px;height:44px}.competition-row.pool-row .score-card,.individual-row .score-card,.match-pool-row .score-card,.score-card{min-width:0;max-width:none;flex:1 1 100%}.score-cards{gap:8px}}@media (max-width:1000px){.match-table.individual-standings-table{display:block;min-width:0}.individual-standings-table thead{display:none}.individual-standings-table tbody{display:block}.individual-standings-table tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 14px;border-bottom:1px solid var(--soft-line)}.individual-standings-table tr:last-child{border-bottom:0}.individual-standings-table td{display:flex;align-items:baseline;gap:5px;padding:0;border:0;font-size:12px}.individual-standings-table td:before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}.individual-standings-table td[data-label="位次"]{order:1;min-width:24px;font-size:15px;font-weight:850}.individual-standings-table td[data-label="位次"]:before{content:""}.individual-standings-table td[data-label="选手名"]{order:2;flex:1 1 auto;min-width:0}.individual-standings-table td[data-label="选手名"]:before{content:""}.individual-standings-table td[data-label="段位"]{order:3;margin-left:auto}.individual-standings-table td[data-label=PT]{order:4;flex:1 1 100%;font-size:19px;font-weight:850}.individual-standings-table td[data-label="状态"]{order:3;margin-left:auto}.individual-standings-table td[data-label="状态"]:before{content:""}.individual-standings-table td[data-label="加减分"]{order:5;font-size:11px}.individual-standings-table td[data-label="与上一位点差"]{order:6;font-size:11px}.individual-standings-table td[data-label="平顺"]{order:7;font-size:11px}.individual-standings-table td[data-label="连对率"]{order:8;font-size:11px}.individual-standings-table td[data-label="顺位分布"]{order:9;font-size:11px}.individual-standings-table td[data-label="半庄"]{order:10;font-size:11px}.individual-standings-table .eliminated-line td,.individual-standings-table .elimination-line td{flex:1 1 100%;padding:8px 0}.individual-standings-table .eliminated-line-head{flex-wrap:wrap}}.person-directory-list article>div>span strong.rank-ai-value,.summary-block strong.rank-ai-value{color:var(--green);font-weight:850;letter-spacing:1.5px}.majsoul-id-line{margin:4px 0 0;color:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.6px}.upcoming-card{margin:0 0 18px;padding:14px 16px;border:1px solid #a9d3c6;border-left:4px solid var(--green);border-radius:6px;background:#f3faf7}.upcoming-card-head{display:flex;align-items:center;gap:10px}.upcoming-card-head>svg{flex:0 0 auto;color:var(--green)}.upcoming-card-head h2{margin:0;color:var(--green);font-size:16px}.upcoming-card-head p{margin:1px 0 0;color:var(--muted);font-size:12px;font-weight:700}.upcoming-countdown{margin-left:auto;padding:3px 10px;border:1px solid #8fc3b3;border-radius:999px;background:#fff;color:var(--green);font-size:11px;font-weight:800;font-style:normal;white-space:nowrap}.upcoming-card-tables{margin-top:12px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(232px,1fr))}.upcoming-table{padding:11px 12px;border:1px solid var(--line);border-radius:4px;background:#fff}.upcoming-table header{display:flex;align-items:center;gap:8px}.upcoming-table header b{font-size:12px}.upcoming-table header em{padding:1px 7px;border:1px solid var(--line);border-radius:2px;color:var(--muted);font-size:10px;font-style:normal}.upcoming-time{margin:6px 0 9px;font-size:26px;font-weight:850;letter-spacing:.5px}.upcoming-opponents{display:grid;gap:5px}.upcoming-opponents>b{color:var(--muted);font-size:10px;font-weight:700}.upcoming-opponents ul{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px;list-style:none}.upcoming-opponents li{padding:3px 8px;border:1px solid var(--soft-line);border-radius:2px;background:var(--soft);font-size:11px}@media (max-width:520px){.upcoming-card{padding:12px}.upcoming-card-head{flex-wrap:wrap}.upcoming-time{font-size:22px}}@media (max-width:340px){.heading-actions,.individual-schedule-players{grid-template-columns:1fr}.auth-controls .environment{max-width:32vw}}.brand-text{color:#fff;font-size:15px;font-weight:800;white-space:nowrap}.topbar-brand{display:flex;align-items:baseline;gap:10px}.topbar-brand span{font-weight:600}@media (max-width:1050px){.brand-text{display:none}}.christmas-theme{--canvas:#f3f5f2;--line:#dce3de;--soft-line:#e8ede9;--soft:#f6f8f5;--xmas-red:#a72f3a;--xmas-gold:#e5c580;background:var(--canvas)}.christmas-theme .workspace{position:relative;min-height:100vh;isolation:isolate}.christmas-theme main{position:relative;z-index:1}.christmas-theme .workspace:before{content:"";position:fixed;z-index:-1;inset:0 0 0 220px;background:url(/themes/christmas-window-night.svg) top/100% auto no-repeat,radial-gradient(circle,rgba(255,255,255,.7) 0 1px,transparent 1.5px) 0 0 /230px 190px;opacity:.94;pointer-events:none}.christmas-theme .sidebar{background:var(--xmas-red);color:#fff7f3}.christmas-theme .brand{border-bottom-color:#c1646c}.christmas-theme .brand-mark{border-color:var(--xmas-gold);color:#ffe7af}.christmas-theme .sidebar nav a{color:#fbe7e4}.christmas-theme .sidebar nav a:hover{background:#b94c56;color:#fff}.christmas-theme .sidebar nav a.active{background:#fff7ed;color:#8b2631;box-shadow:inset 3px 0 0 var(--xmas-gold)}.christmas-theme .new-competition{border-color:rgba(255,247,237,.55);background:rgba(255,255,255,.12);color:#fff7ed}.christmas-theme .new-competition:hover{background:rgba(255,255,255,.22)}.christmas-theme .topbar{position:relative;z-index:2;background:linear-gradient(180deg,rgba(5,28,25,.26),rgba(7,33,29,.12));border-bottom-color:rgba(219,232,222,.12);-webkit-backdrop-filter:blur(5px) saturate(1.04);backdrop-filter:blur(5px) saturate(1.04)}.christmas-theme .topbar-brand strong{color:#fff8ed}.christmas-theme .topbar-brand span{color:#d5e5dc}.christmas-theme .topbar .topbar-action{border-color:rgba(231,240,233,.38);background:rgba(255,255,255,.08);color:#f4f7f3}.christmas-theme .topbar .topbar-action:hover{border-color:#f0d28b;background:rgba(255,255,255,.14);color:#fff4d1}.christmas-theme .topbar .environment.viewer-mode{border-color:rgba(231,240,233,.3);background:rgba(255,255,255,.08);color:#dfe9e3}.christmas-theme .page-heading h1{color:#fffdf8;text-shadow:0 2px 18px rgba(3,24,21,.35)}.christmas-theme .page-heading p:last-child{color:#dce9e2}.christmas-theme .page-heading .eyebrow{color:#f0d28b;text-shadow:0 1px 10px rgba(3,24,21,.28)}.christmas-theme .back-link{color:#d7e5de}.christmas-theme .back-link:hover{color:#f3d58e}.christmas-snow{position:fixed;z-index:30;inset:0 0 0 220px;overflow:hidden;pointer-events:none;contain:layout paint style}.christmas-snow>span{position:absolute;top:-20px;left:var(--snow-left);width:var(--snow-size);height:var(--snow-size);color:rgba(248,253,255,.98);opacity:0;filter:drop-shadow(0 0 1.5px rgba(239,251,255,.45)) drop-shadow(0 1px 1px rgba(16,57,53,.42));animation:christmas-snowfall var(--snow-duration) linear var(--snow-delay) infinite;will-change:transform,opacity}.christmas-snow svg{display:block;width:100%;height:100%}@keyframes christmas-snowfall{0%{opacity:0;transform:translate3d(0,-5vh,0) rotate(0deg)}9%{opacity:var(--snow-opacity)}88%{opacity:var(--snow-opacity)}to{opacity:0;transform:translate3d(var(--snow-drift),108vh,0) rotate(180deg)}}@media (prefers-reduced-motion:reduce){.christmas-snow{display:none}}@media (max-width:1050px){.christmas-snow,.christmas-theme .workspace:before{left:74px}}@media (max-width:700px){.christmas-theme .workspace:before{left:0;background:url(/themes/christmas-window-night.svg) top/auto 290px no-repeat,radial-gradient(circle,rgba(255,255,255,.7) 0 1px,transparent 1.5px) 0 0 /190px 160px;opacity:.96}.christmas-snow{left:0}.christmas-snow>span:nth-child(n+15){display:none}.christmas-theme .sidebar{border-top:1px solid #c88774}}