:root{--ink:#182b47;--muted:#7b879b;--line:#e5eaf0;--paper:#fff;--bg:#f3f6fa;--nav:#14243f;--accent:#467b93;--ice:#e8f3f6;--lilac:#eeeafa;--purple:#8071b4;--green:#44826e;--red:#b45c66;--gold:#bd9554;--shadow:0 8px 32px #18345208;--radius:14px;--font:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.6 var(--font);color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #68a7c477;outline-offset:3px}button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:9px 14px;transition:background .16s,transform .16s}button:hover{background:#f4f7fa}button.primary{background:var(--nav);color:#fff;border-color:var(--nav)}button.primary:hover{background:#284265}button.accent{background:var(--accent);color:#fff;border-color:var(--accent)}button.ghost{background:transparent;border-color:transparent}button.danger{color:var(--red);border-color:#ecd5d9}button.small{font-size:12px;padding:5px 10px}button.text-button{border:none;color:var(--accent);padding:3px 0;background:transparent}.app-shell{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr)}.sidebar{background:var(--nav);color:#bfcbdb;padding:33px 22px 22px;position:fixed;width:224px;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:25}.brand{color:white;text-decoration:none;display:flex;gap:11px;align-items:center;margin-bottom:49px;font-size:23px;font-weight:650;letter-spacing:2px}.brand-mark{font-size:39px;font-weight:300;color:#9dc7d6;line-height:1}.brand small{font-size:7px;letter-spacing:1.1px;display:block;line-height:1.7;color:#9cacc2;font-weight:500;margin-top:5px}.sidebar-label{color:#70839d;font-size:10px;letter-spacing:2px;margin:0 14px 13px}.nav-item{display:flex;align-items:center;gap:13px;line-height:1.2;padding:13px 14px;border:0;width:100%;background:transparent;color:#aebdd0;text-align:left;margin:3px 0;font-size:13px}.nav-item span{font-size:18px;width:22px;text-align:center;color:#94acc4}.nav-item:hover{background:#ffffff09;color:white}.nav-item.active{background:#ecf5fa;color:var(--ink);font-weight:600}.nav-item.active span{color:#447389}.sidebar-bottom{margin-top:auto;padding-top:30px}.season-tag{font-size:11px;color:#95a7c0;margin:0 14px 16px;padding-top:20px;border-top:1px solid #ffffff10;letter-spacing:1px}.edition{font-size:10px;color:#71839e;line-height:2;margin:24px 14px 0}.edition span{font-size:9px}.main-shell{grid-column:2;min-width:0}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:22px;padding:0 42px;background:#ffffffde;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.top-date{font-size:13px;letter-spacing:.3px}.top-date small{margin-left:12px;color:var(--muted);font-size:11px}.top-stats{margin-left:auto;display:flex;gap:28px;align-items:center}.top-stat{display:flex;gap:8px;align-items:center;font-size:12px}.top-stat .label{color:var(--muted)}.top-stat strong{font-size:13px;font-weight:600}.avatar{border:0;background:#e5edf4;width:35px;height:35px;border-radius:50%;padding:0;color:#50657d}.mobile-brand{display:none}main{max-width:1540px;margin:auto;padding:34px 42px 40px;min-height:calc(100vh - 130px)}.app-footer{padding:0 42px 22px;display:flex;justify-content:space-between;font-size:10px;color:#9aa4b3;max-width:1540px;margin:auto;letter-spacing:.3px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:26px}.eyebrow{font-size:9px;letter-spacing:2.4px;color:var(--accent);font-weight:700;margin-bottom:6px}.page-heading h1{font-size:27px;letter-spacing:1px;font-weight:650;margin:0}.page-heading p{margin:7px 0 0;color:var(--muted);font-size:12px}.heading-actions,.button-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:23px 24px;min-width:0}.card h2{font-size:15px;margin:0;font-weight:650;letter-spacing:.4px}.card h3{font-size:13px;margin:0 0 10px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.card-head .subtle{font-size:11px}.subtle{color:var(--muted);font-size:12px}.tiny{font-size:10px}.muted{color:var(--muted)}.positive{color:var(--green)}.warning-text{color:#a67736}.negative{color:var(--red)}.grid-2{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:20px}.grid-equal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stack{display:flex;flex-direction:column;gap:20px}.mt{margin-top:20px}.mb{margin-bottom:20px}.hero-card{background:linear-gradient(117deg,#edf5f8 0%,#eef2f8 54%,#edf0f9 100%);border:1px solid #dce7ed;border-radius:var(--radius);padding:26px 30px;position:relative;overflow:hidden;min-height:157px;margin-bottom:23px;display:flex;align-items:center;justify-content:space-between}.hero-card::after{content:"";border:1px solid #bfceda66;position:absolute;right:-25px;top:-65px;width:330px;height:245px;border-radius:48%;transform:rotate(-27deg);box-shadow:0 0 0 38px #ffffff33,0 0 0 39px #bdcedb44,0 0 0 79px #ffffff22,0 0 0 80px #bdcedb33;pointer-events:none}.hero-card h2{font-size:23px;margin:7px 0 10px;letter-spacing:1px;font-weight:600}.hero-card p{font-size:12px;color:#75849a;margin:0}.hero-content{z-index:1}.hero-side{z-index:1;text-align:right;margin-right:8px;min-width:130px}.hero-side strong{font-size:35px;font-weight:300;letter-spacing:1px;line-height:1.2}.hero-side small{display:block;font-size:10px;color:#8491a5;letter-spacing:1px;margin-top:6px}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:4px;font-size:10px;padding:3px 7px;background:#edf2f6;color:#6b7d92;line-height:1.4}.badge.ice{color:#4c8096;background:var(--ice)}.badge.purple{color:var(--purple);background:var(--lilac)}.badge.green{color:var(--green);background:#edf7f1}.badge.gold{color:#9d7b43;background:#faf4e8}.badge.red{color:var(--red);background:#faedef}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px 20px}.metric-card .metric-label{font-size:11px;color:var(--muted)}.metric-card strong{font-size:23px;font-weight:500;display:block;margin:5px 0 0;line-height:1.4}.metric-card small{font-size:10px;color:#9aa5b5}.progress{height:5px;background:#edf1f6;border-radius:9px;overflow:hidden}.progress i{display:block;height:100%;border-radius:9px;background:#7faabd;max-width:100%}.progress.purple i{background:#a59ac7}.progress.gold i{background:#cfb07b}.progress.red i{background:#ca8790}.attribute-row{margin-bottom:15px}.attribute-row:last-child{margin:0}.attribute-label{display:flex;justify-content:space-between;font-size:11px;gap:10px;margin-bottom:6px}.attribute-label strong{font-weight:600}.attribute-label small{color:#9ba5b5;font-size:10px}.week-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.day-card{border:1px solid var(--line);border-radius:9px;min-height:147px;padding:12px 9px 10px;display:flex;flex-direction:column;transition:border .2s;background:#fff}.day-card.today{background:#edf6f8;border-color:#aac9d5}.day-card.past{opacity:.55}.day-date{font-size:11px;color:#8b98a9;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.day-date strong{color:#5e7088;font-weight:600}.day-card.today .day-date strong{color:#3d768c}.day-icon{height:25px;color:#85a2b4;font-size:18px}.day-card h4{font-size:11px;font-weight:600;margin:7px 0 3px;line-height:1.6;word-break:break-word}.day-card p{font-size:9px;color:#8f9bac;margin:0 0 7px}.day-add{margin-top:auto;padding:4px;font-size:11px;color:#8d9eae;border:1px dashed #d7e1e8;background:transparent}.week-summary{display:flex;gap:22px;flex-wrap:wrap;color:#8996a8;font-size:10px;margin-top:14px}.week-summary strong{color:#5b728b;font-weight:500}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}.data-table th{text-align:left;font-size:10px;letter-spacing:.6px;font-weight:500;color:#8d9aab;border-bottom:1px solid var(--line);padding:0 10px 12px}.data-table td{padding:13px 10px;border-bottom:1px solid #f0f3f6;vertical-align:middle}.data-table th:first-child,.data-table td:first-child{padding-left:0}.data-table th:last-child,.data-table td:last-child{padding-right:0}.data-table tbody tr:last-child td{border-bottom:0}.table-progress{width:90px;display:flex;gap:8px;align-items:center}.table-progress .progress{flex:1;min-width:45px}.table-progress span{font-size:10px}.item-list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f5}.list-row:first-child{padding-top:0}.list-row:last-child{padding-bottom:0;border:0}.list-icon{width:35px;height:35px;flex:0 0 35px;border-radius:10px;background:var(--ice);display:grid;place-items:center;color:#6a99ac;font-size:16px}.list-main{min-width:0;flex:1}.list-main strong{font-size:12px;font-weight:600;display:block}.list-main small{font-size:10px;color:#94a0b1;display:block;margin-top:3px}.list-row>.subtle{text-align:right}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;border-bottom:1px solid var(--line);padding-bottom:12px}.tabs button{font-size:12px;padding:6px 12px;background:transparent;border-color:transparent;color:#8592a5}.tabs button.active{background:#e7eef3;color:#3f6279}.notice{padding:13px 16px;border-radius:9px;background:#eef5f8;font-size:12px;color:#648195;line-height:1.8;border:1px solid #ddeaf0}.notice.gold{background:#fbf7ed;border-color:#f0e7cc;color:#9b834d}.notice.red{background:#fcf0f2;border-color:#f0d7dd;color:#ac6470}.empty-state{padding:35px 24px;text-align:center;color:#94a0b1;font-size:12px}.empty-symbol{font-size:31px;margin-bottom:8px;color:#b1c7d3}.empty-state p{margin:8px auto 17px;max-width:400px}.event-card{border:1px solid #e2e7ef;padding:18px;border-radius:10px;background:#fff;margin-bottom:12px}.event-card h3{margin:6px 0 10px;font-size:15px}.event-card p{font-size:12px;color:#7e8b9e;white-space:pre-line}.event-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.event-options button{font-size:12px;background:#f6f8fa}.event-options button:hover{border-color:#acc4d3}.npc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.npc-card{padding:20px}.npc-avatar{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;color:#66879c;background:#e8f0f4;font-size:18px;flex-shrink:0}.npc-card .npc-intro{display:flex;gap:12px;align-items:center;margin-bottom:17px}.npc-card h3{font-size:14px;margin:0 0 4px}.npc-card p{font-size:11px;color:#929daf;margin:0}.npc-card .button-row{margin-top:16px}.npc-card .button-row button{flex:1;font-size:11px}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.filter-bar input{flex:1;min-width:170px}.filter-bar select{max-width:190px}input,select,textarea{padding:10px 12px;border:1px solid #dfe6ed;border-radius:8px;background:#fff;color:#344c67;min-width:0;width:100%;font-size:12px}input::placeholder,textarea::placeholder{color:#a3adbc}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}textarea{resize:vertical;min-height:80px}label.field{display:block;margin-bottom:16px}.field>span{display:block;font-size:11px;color:#75859b;margin-bottom:7px}.field>small{display:block;font-size:10px;color:#9aa6b6;margin-top:6px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.wide{grid-column:1/-1}.form-section-title{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:12px;margin:25px 0 18px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.choice-card{border:1px solid var(--line);border-radius:9px;padding:13px;cursor:pointer;font-size:12px}.choice-card input{margin:0 6px 0 0}.choice-card:has(input:checked){background:#eef6f8;border-color:#9ec0d0}.choice-card small{display:block;font-size:10px;color:#8b98a8;margin:7px 0 0}.trait-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.trait-option{border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:11px;cursor:pointer}.trait-option:has(input:checked){background:#eef5f8;border-color:#9bbccc}.trait-option input{margin-right:6px}.trait-option small{display:block;color:#9aa6b5;font-size:9px;margin-top:5px;line-height:1.6}.talent-row{display:grid;grid-template-columns:45px minmax(90px,1fr) 45px 65px 58px;align-items:center;gap:12px;margin-bottom:12px;font-size:12px}.talent-row input[type=range]{padding:0;accent-color:var(--accent)}.talent-row input[type=number]{padding:6px;text-align:center}.talent-head{display:grid;grid-template-columns:45px minmax(90px,1fr) 45px 65px 58px;gap:12px;color:#9aa5b4;font-size:9px;margin-bottom:13px}.talent-random{font-size:11px;text-align:right;color:#8c7baf}.talent-final{font-size:14px;font-weight:600;text-align:right}.creation-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:25px}.creation-aside{background:#f4f7fa;border-radius:10px;padding:20px;align-self:start;position:sticky;top:20px}.creation-aside h3{font-size:13px;margin:0 0 13px}.creation-aside p{color:#8b98aa;font-size:11px;line-height:1.9}.creation-hero{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:22px}.creation-hero h2{font-size:24px;margin:5px 0 8px}.creation-hero p{font-size:12px;color:#8b98aa;margin:0}.modal-backdrop{position:fixed;inset:0;background:#12233f7a;backdrop-filter:blur(5px);z-index:100;display:flex;align-items:center;justify-content:center;padding:25px}.modal{background:#fbfcfe;box-shadow:0 30px 100px #06172d3d;border-radius:16px;width:650px;max-width:100%;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.modal.large{width:1100px}.modal.full{width:1450px;height:94vh}.modal-head{padding:22px 26px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background:white}.modal-head h2{font-size:17px;margin:0}.modal-close{border:0;background:transparent;padding:0;font-size:22px;color:#95a1b1;line-height:1}.modal-body{padding:24px 26px;overflow:auto;min-height:0}.modal-foot{padding:17px 26px;border-top:1px solid var(--line);background:#fff;display:flex;gap:10px;justify-content:flex-end;flex-shrink:0}.modal-body iframe{width:100%;height:calc(85vh - 100px);border:0}.toast-root{position:fixed;right:28px;bottom:28px;display:flex;flex-direction:column;gap:10px;z-index:300;max-width:420px}.toast{padding:14px 19px;border-radius:10px;box-shadow:0 7px 35px #15244024;background:var(--nav);color:white;font-size:12px;animation:arrive .2s ease}.toast.error{background:#9f5962}.boot-screen{min-height:65vh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#99acbd}.boot-symbol{font-size:60px;color:#a4c7d6;animation:slowspin 8s linear infinite}.boot-screen h1{font-size:24px;letter-spacing:6px;font-weight:500;color:#425e76}.boot-screen p{font-size:12px}.welcome-layout{display:grid;grid-template-columns:1.05fr 1fr;min-height:560px;background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden}.welcome-art{position:relative;overflow:hidden;background:linear-gradient(145deg,#dcecf1,#e8eaf6);padding:55px;display:flex;justify-content:end;flex-direction:column}.welcome-art::before{content:"";position:absolute;width:610px;height:360px;border:2px solid #ffffffb0;border-radius:50%;transform:rotate(-40deg);top:-45px;left:-110px;box-shadow:0 0 0 55px #ffffff22,0 0 0 57px #c2d4df44,0 0 0 115px #ffffff22,0 0 0 117px #c2d4df44}.welcome-art h1{position:relative;font-size:42px;letter-spacing:5px;font-weight:400;margin:0 0 12px}.welcome-art .eng{position:relative;color:#819bb0;letter-spacing:4px;font-size:9px}.welcome-art p{position:relative;font-size:13px;color:#7d94a9;line-height:2;margin-top:25px}.welcome-content{padding:55px 45px;display:flex;flex-direction:column;justify-content:center}.welcome-content h2{font-size:23px;font-weight:600;margin-bottom:12px}.welcome-content>p{font-size:12px;color:#8c99ac;line-height:1.9;margin-bottom:25px}.welcome-content .primary{align-self:start;min-width:160px;padding:13px 24px}.saved-card{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:15px;border-radius:10px;margin:12px 0;gap:12px}.saved-card h3{font-size:13px;margin:0}.saved-card p{font-size:10px;color:#94a1b0;margin:5px 0 0}.saved-card button{font-size:11px;white-space:nowrap}.divider{border:none;border-top:1px solid var(--line);margin:22px 0}.programme-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.programme-card{padding:23px}.programme-card h3{font-size:18px;font-weight:550;margin:8px 0 5px}.programme-meta{display:flex;gap:12px;font-size:10px;color:#8f9caf;margin-bottom:20px}.element-chips{display:flex;gap:5px;flex-wrap:wrap;margin:15px 0}.element-chip{border:1px solid #e4eaf0;color:#688096;font-size:10px;padding:4px 7px;border-radius:4px;background:#f9fbfc}.programme-editor-elements{display:flex;flex-direction:column;gap:9px}.programme-element{display:grid;grid-template-columns:32px 110px 1fr 28px;gap:9px;align-items:start;background:#f4f7fa;padding:10px;border-radius:8px}.programme-element .index{font-size:11px;padding:10px;color:#8ea0b2}.programme-element select,.programme-element input{padding:8px}.programme-element button{padding:6px;border:0;background:transparent;color:#9aa5b4}.inline-fields{display:flex;gap:7px}.inline-fields>*{min-width:0}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.shop-card{padding:20px}.shop-card h3{font-size:14px;margin:13px 0 6px}.shop-card p{font-size:11px;color:#8f9baa;min-height:34px}.shop-card .price{font-size:16px;color:#415f76}.shop-card .shop-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.feed-card{padding:23px;margin-bottom:14px}.feed-header{display:flex;align-items:center;gap:10px;margin-bottom:13px}.feed-header h3{font-size:12px;margin:0}.feed-header small{font-size:10px;color:#a0aab8}.feed-card p{font-size:12px;color:#6c7c91;line-height:1.9;margin:0}.feed-footer{display:flex;gap:18px;margin-top:15px;color:#a0aab8;font-size:10px}.timeline{border-left:1px solid #dde6ee;margin-left:6px;padding-left:22px}.timeline-item{position:relative;padding-bottom:25px}.timeline-item::before{content:"";width:7px;height:7px;border:3px solid #f3f6fa;background:#83adbf;border-radius:50%;position:absolute;left:-29px;top:7px;box-sizing:content-box}.timeline-item h3{font-size:12px;margin:0}.timeline-item p{font-size:11px;color:#91a0b2;margin:5px 0 0}.protocol-total{display:flex;gap:25px;flex-wrap:wrap;padding:20px;background:#eef4f7;border-radius:10px;margin-bottom:23px}.protocol-total strong{display:block;font-size:28px;font-weight:400}.protocol-total span{font-size:10px;color:#889bae}.receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.receipt-value{background:#f3f7fa;border-radius:8px;padding:13px}.receipt-value small{font-size:10px;color:#91a0b2;display:block}.receipt-value strong{font-size:15px;font-weight:500}.segmented{display:flex;gap:3px;background:#edf1f5;border-radius:8px;padding:3px}.segmented button{border:0;background:transparent;font-size:11px;padding:6px 12px;color:#8493a7}.segmented button.active{background:#fff;color:#49687f;box-shadow:0 2px 8px #192e4410}.busy-bar{height:2px;position:fixed;top:0;left:0;right:0;z-index:400;background:linear-gradient(90deg,transparent,#8ab8cc,transparent);animation:loading 1.4s linear infinite}.scroll-note{font-size:10px;color:#a0abba;margin-top:10px}.text-content{font-size:12px;color:#708198;line-height:1.95;white-space:pre-line}.check-line{font-size:12px;color:#7b8da2;display:flex;align-items:center;gap:8px;margin-bottom:10px}.calendar-month{font-size:12px;letter-spacing:1px;color:#8b9cae;margin:23px 0 12px}.split-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kpi-note{font-size:10px;color:#9aa6b6;margin-top:6px}.event-date{font-size:11px;color:#7d95a9}.programme-mode{padding:15px;border-radius:8px;background:#f1f5f8}.section-caption{font-size:10px;letter-spacing:1px;color:#99a6b6;margin:0 0 13px}.mini-rink{height:135px;background:linear-gradient(135deg,#eff7f8,#ecf1f9);border:1px solid #e0e9ef;border-radius:58px;position:relative;overflow:hidden}.mini-rink::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#ccdbe6}.mini-rink::after{content:"";position:absolute;left:calc(50% - 25px);top:calc(50% - 25px);width:50px;height:50px;border:1px solid #ccdbe6;border-radius:50%}.mini-rink svg{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px)}.radar-wrap{display:grid;place-items:center;min-height:225px}.radar-wrap svg{max-width:300px;width:100%;overflow:visible}.health-banner{display:flex;gap:12px;align-items:center;padding:13px 16px;border-radius:9px;background:#fbf2ed;color:#a98263;font-size:12px;margin-bottom:20px}.mobile-only{display:none}@keyframes arrive{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slowspin{to{transform:rotate(360deg)}}@keyframes loading{from{transform:translateX(-100%)}to{transform:translateX(100%)}}@media(min-width:1600px){main{padding-top:42px}.week-grid{gap:13px}.day-card{min-height:165px}.hero-card{min-height:173px}}@media(max-width:1200px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:190px;padding:29px 14px}.brand{font-size:21px;gap:7px}.brand-mark{font-size:32px}.brand small{font-size:6px}.topbar{padding:0 27px;gap:15px}.top-stats{gap:15px}main{padding:28px 27px}.grid-2{grid-template-columns:1fr}.overview-side{display:grid;grid-template-columns:1fr 1fr}.npc-grid,.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-footer{padding:0 27px 20px}.day-card{min-height:147px}}@media(max-width:850px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{width:76px;padding:23px 10px}.brand{justify-content:center;margin-bottom:29px}.brand>span:last-child,.sidebar-label,.season-tag,.edition{display:none}.brand-mark{font-size:36px}.nav-item{font-size:0;justify-content:center;padding:13px 9px}.nav-item span{font-size:20px;width:24px}.sidebar-bottom{padding-top:15px}.topbar{padding:0 22px;height:68px}.top-date{font-size:12px}.top-date small{display:none}.top-stats{gap:14px}.top-stat .label{display:none}main{padding:25px 22px}.app-footer{padding:0 22px 20px}.page-heading h1{font-size:24px}.stat-strip{gap:8px}.metric-card{padding:14px}.metric-card strong{font-size:20px}.week-grid{gap:6px}.day-card{padding:10px 7px}.day-date{font-size:10px;flex-direction:column;align-items:start;gap:4px;margin-bottom:12px}.day-card h4{font-size:10px}.day-card p{font-size:8px}.welcome-layout{grid-template-columns:1fr}.welcome-art{min-height:280px;padding:35px}.welcome-content{padding:30px}.creation-layout{grid-template-columns:1fr}.creation-aside{position:static}.programme-list{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.app-shell{display:block}.sidebar{inset:auto 0 0 0;width:100%;height:65px;padding:5px 3px;background:#14243ff5;backdrop-filter:blur(15px);flex-direction:row;align-items:center}.sidebar .brand,.sidebar-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;justify-content:space-around;width:100%;overflow-x:auto;scrollbar-width:none}.nav-item{font-size:8px;display:flex;flex-direction:column;gap:4px;margin:0;padding:5px 8px;line-height:1.3;width:auto;min-width:49px;border-radius:7px;color:#9dacc3;white-space:nowrap}.nav-item span{font-size:17px;line-height:1.3}.nav-item.active{background:#ffffff13;color:#e9f4f8}.nav-item.active span{color:#a4d3e3}.main-shell{padding-bottom:65px}.topbar{height:59px;padding:0 16px;gap:12px}.mobile-brand{display:block;font-size:13px;white-space:nowrap;letter-spacing:1px}.top-date{display:none}.top-stats{gap:13px}.top-stat{font-size:10px;gap:4px}.top-stat strong{font-size:10px}.avatar{width:29px;height:29px;font-size:12px}main{padding:24px 16px 30px}.app-footer{padding:0 16px 18px;font-size:8px}.page-heading{margin-bottom:20px;align-items:start}.page-heading h1{font-size:23px}.page-heading p{font-size:10px;max-width:230px}.eyebrow{font-size:8px;letter-spacing:1.9px}.heading-actions button{font-size:10px;padding:7px 9px}.card{padding:19px 17px;border-radius:12px}.card h2{font-size:14px}.card-head{margin-bottom:15px}.hero-card{padding:22px 20px;margin-bottom:16px;min-height:155px}.hero-card h2{font-size:20px}.hero-card p{font-size:10px;max-width:210px}.hero-side{min-width:70px;margin:0}.hero-side strong{font-size:27px}.hero-side small{font-size:8px}.stat-strip{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:17px}.metric-card{padding:13px 16px}.metric-card .metric-label{font-size:10px}.metric-card strong{font-size:21px}.metric-card small{font-size:9px}.grid-equal,.grid-3{grid-template-columns:1fr}.grid-2,.stack{gap:16px}.overview-side{display:flex}.week-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.day-card{min-height:141px;padding:10px}.day-date{flex-direction:row;margin-bottom:10px;font-size:10px}.day-icon{font-size:17px;height:22px}.day-card h4{font-size:10px}.day-card p{font-size:8px}.day-add{font-size:10px}.week-summary{gap:12px;font-size:9px}.week-toolbar .subtle{font-size:10px}.npc-grid,.shop-grid{grid-template-columns:1fr}.npc-card .npc-intro{margin-bottom:13px}.npc-card .button-row button{font-size:12px}.npc-card{padding:18px}.modal-backdrop{padding:10px;align-items:center}.modal{max-height:94vh;border-radius:12px}.modal-head{padding:18px}.modal-head h2{font-size:15px}.modal-body{padding:20px 17px}.modal-foot{padding:14px 17px}.modal.full{height:96vh}.form-grid,.form-grid.three{gap:0 11px}.field>span{font-size:10px}.choice-grid{grid-template-columns:1fr}.trait-grid{grid-template-columns:repeat(2,1fr)}.trait-option{padding:9px}.talent-row,.talent-head{grid-template-columns:32px minmax(45px,1fr) 40px 44px 36px;gap:7px}.talent-head{font-size:8px}.talent-row{font-size:11px}.talent-random{font-size:10px}.creation-hero h2{font-size:21px}.creation-aside{display:none}.programme-element{grid-template-columns:24px 84px 1fr 20px;gap:5px;padding:8px}.programme-element .index{padding:9px 3px}.programme-element select,.programme-element input{font-size:10px;padding:8px 5px}.split-list{grid-template-columns:1fr}.toast-root{right:15px;left:15px;bottom:80px;max-width:none}.toast{font-size:11px}.filter-bar input{width:100%}.filter-bar select{max-width:none;flex:1}.welcome-content{padding:27px 24px}.welcome-art{padding:30px;min-height:255px}.welcome-art h1{font-size:36px}.welcome-art p{font-size:11px}.welcome-content h2{font-size:20px}.welcome-content>p{font-size:11px}.tabs{gap:3px}.tabs button{padding:6px 9px;font-size:11px}.programme-meta{gap:10px}.data-table{font-size:11px}.data-table th{font-size:9px}.data-table td{padding-top:11px;padding-bottom:11px}.mobile-only{display:initial}.receipt-grid{gap:8px}.protocol-total{gap:21px}.protocol-total strong{font-size:24px}.button-row button{font-size:11px}.health-banner{font-size:11px}.radar-wrap{min-height:200px}}

.jump-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.feature-pose{border:1px solid var(--line);padding:12px;border-radius:9px;font-size:12px}.feature-pose>div{display:flex;gap:12px;margin-top:8px}.feature-pose .check-line{font-size:11px;margin:0}.feature-pose select{font-size:11px;padding:6px 9px;max-width:100px}.programme-element{grid-template-columns:28px 135px 1fr 26px}.programme-element input[type=checkbox]{width:auto}.programme-element .inline-fields select{flex:1}.element-controls{min-width:0}.education-node+ .education-node{margin-top:20px}.notice strong{font-weight:600} [hidden]{display:none!important}@media(max-width:600px){.mobile-brand{font-size:11px;letter-spacing:.3px}.topbar{gap:9px}.top-date{display:block;max-width:67px;line-height:1.3;font-size:9px;color:#91a1b4;flex-shrink:0}.top-stats{gap:9px}.top-stat strong{font-size:9px}.topbar .avatar{width:26px;height:26px;flex-shrink:0}.programme-element{grid-template-columns:20px 85px 1fr 20px}.jump-slots{grid-template-columns:1fr}.feature-pose>div{flex-wrap:wrap}.programme-element .inline-fields{flex-wrap:wrap}.programme-element .inline-fields select{width:100%}.programme-element select{font-size:10px}.programme-element .check-line{font-size:9px!important}.hero-side small{max-width:75px}.heading-actions{justify-content:flex-end}.top-date small{display:none}}
.save-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.save-slot{background:white;border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0;display:flex;flex-direction:column}.save-slot.current{border-color:#8cb5c9;box-shadow:0 0 0 1px #8cb5c930;background:#f5fafc}.save-slot-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin-bottom:12px}.save-slot h3{font-size:15px;word-break:break-word;margin:0 0 8px}.save-slot p{font-size:12px;color:#778ba1;margin:0 0 7px}.save-slot>small{font-size:10px;color:#99a5b4;margin-bottom:9px}.save-slot .button-row{margin-top:auto;padding-top:14px}.modal{position:relative}.slot-confirm-overlay{position:absolute;inset:0;z-index:5;background:#12233f7a;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(3px)}.slot-confirm{background:white;border-radius:12px;padding:24px;max-width:470px;box-shadow:0 15px 50px #112b4233;max-height:100%;overflow:auto}.slot-confirm h3{margin-top:0;font-size:17px}.slot-confirm .button-row{justify-content:flex-end}.bug-extra{margin-bottom:20px}.bug-extra summary{font-size:12px;color:var(--accent);cursor:pointer;margin-bottom:15px}.report-download{display:inline-block;color:var(--accent);border:1px solid var(--line);border-radius:8px;padding:7px 12px;background:white;text-decoration:none}.mobile-utility{display:none}@media(max-width:600px){.save-slots{grid-template-columns:1fr}.save-slot{padding:16px}.slot-confirm-overlay{padding:16px}.slot-confirm{padding:20px}.mobile-utility{display:block;padding:3px;width:24px;height:28px;border:none;background:transparent;color:var(--accent);flex-shrink:0}.topbar{gap:6px}.topbar .top-stat:last-child{display:none}.top-stats{gap:7px}.bug-extra .form-grid{grid-template-columns:1fr}}
.training-guidance{margin:0 0 20px}.training-guidance h3{font-size:13px;margin:0 0 12px}.guidance-cards{display:grid;gap:10px}.guidance-card{padding:12px 14px;background:#f7fafc;border:1px solid #e1eaf0;border-radius:9px;min-width:0}.guidance-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.guidance-card .button-row{margin-top:10px}.course-requirements{padding-left:18px;margin:10px 0;font-size:12px;line-height:1.85;color:#8b744b;white-space:normal}.course-requirements li{margin:4px 0;overflow-wrap:anywhere}.course-requirements .requirement-met{color:#728e7b}.course-selection-note{margin:-6px 0 16px;line-height:1.8}.course-completed-note{font-size:11px;margin:10px 0 0}.course-conditions-title{font-size:13px;margin-top:22px}.card>.training-guidance{margin-bottom:0}@media(max-width:600px){.guidance-heading{align-items:flex-start;flex-wrap:wrap;gap:6px}.guidance-card{padding:11px 12px}.course-requirements{font-size:11px}.training-guidance .button-row{gap:6px}}
.opening-date{padding:17px 20px;margin-bottom:22px;background:#edf5fa;border:1px solid #d2e4ef;border-radius:10px;display:flex;flex-wrap:wrap;align-items:center;gap:9px 18px;color:#456b83}.opening-date>span{font-size:12px}.opening-date strong{font-size:18px;font-weight:600}.opening-date small{flex-basis:100%;color:#71899b;font-size:11px}.game-date-strip{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:0 2px 14px;color:#7f91a5;font-size:11px}.game-date-strip strong{color:#45657e;font-size:13px;margin-left:8px}.event-inbox{position:sticky;top:78px;z-index:19;background:#fff7e5;border-bottom:1px solid #ead7ac;padding:10px 42px}.event-inbox>button{display:flex;align-items:center;gap:13px;width:100%;padding:2px 0;background:transparent;border:0;color:#85612d;font-size:12px;text-align:left}.event-inbox strong,.nav-count{background:#b5772e;color:#fff;border-radius:20px;min-width:21px;padding:2px 6px;text-align:center;font-size:11px}.event-inbox>button>span:last-child{margin-left:auto}.nav-count{margin-left:auto;line-height:1.3}.event-attention{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 20px;background:#fff7e9;border:1px solid #ead5ad;border-left:4px solid #b9843f;border-radius:10px;color:#896432}.event-attention strong{font-size:13px}.event-attention p{font-size:11px;margin:6px 0 0;color:#9c835e}.pending-summary{font-size:12px;color:#8292a5;margin-top:0;margin-bottom:18px}.event-options button:disabled{opacity:.55;cursor:wait}@media(max-width:850px){.event-inbox{top:68px;padding:10px 22px}.nav-count{margin-left:0;position:absolute;right:4px;top:3px;min-width:16px;font-size:9px;padding:1px 4px}.nav-item{position:relative}}@media(max-width:600px){.event-inbox{top:59px;padding:9px 16px}.event-inbox>button{font-size:11px}.game-date-strip{font-size:10px;line-height:1.7}.game-date-strip strong{font-size:12px;margin-left:4px}.opening-date{padding:14px 15px;gap:7px 12px}.opening-date strong{font-size:16px}.event-attention{padding:14px;align-items:flex-start;flex-direction:column;gap:10px}.event-attention strong{font-size:12px}}
.event-row .event-restriction{color:#92a0b1;font-size:10px;margin-top:4px}.event-section{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.event-section>h3{margin-bottom:12px}.event-result-group{margin-top:22px}.event-result-group h4{font-size:12px;margin:0 0 10px}.event-section .card-head{margin-bottom:10px}.event-section .card-head h3{margin:0}.calendar-card .event-row{gap:12px}.calendar-card .event-row .list-main{min-width:0}.calendar-card .event-row strong{overflow-wrap:anywhere}@media(max-width:600px){.calendar-card .event-row{flex-wrap:wrap;gap:9px}.calendar-card .event-row .list-main{flex-basis:calc(100% - 46px)}.calendar-card .event-row>.badge,.calendar-card .event-row>div:nth-last-child(2){margin-left:41px}.event-section{margin-top:20px;padding-top:18px}.event-section .data-table{white-space:nowrap}}
