*{box-sizing:border-box}body{margin:0;color:#25344b;background:#f5f7fb;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}button,input,textarea{font:inherit}.app-layout{min-height:100vh}.sidebar.ant-layout-sider{background:#fff;position:fixed;inset:0 auto 0 0;z-index:20;border-right:1px solid #e5ebf5}.sidebar+.ant-layout{margin-left:220px}.brand{height:102px;display:flex;align-items:center;gap:12px;padding:26px 24px;color:#25344b;font-size:20px;font-weight:650;letter-spacing:1px}.brand small{display:block;color:#8896ac;font-size:10px;font-weight:400;letter-spacing:2px;margin-top:4px}.brand-mark{width:36px;height:36px;border-radius:10px;background:#e7f0ff;color:#2563eb;display:grid;place-items:center;font-size:22px;flex-shrink:0}.nav-label{font-size:10px;color:#94a3b8;margin:12px 27px 14px;letter-spacing:2px}.sidebar .ant-menu{background:transparent;border:0;padding:0 12px}.sidebar .ant-menu-item{height:45px;margin-bottom:7px;font-size:13px}.sidebar-note{position:absolute;left:24px;bottom:116px;color:#64748b;font-size:11px}.sidebar-note p{font-size:12px;line-height:1.9;color:#94a3b8}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#60a5fa;margin-right:7px}.profile{position:absolute;bottom:0;left:0;width:100%;height:84px;display:flex;align-items:center;gap:12px;border:0;border-top:1px solid #e9eef6;background:none;color:#25344b;padding:20px 24px;text-align:left;cursor:pointer}.avatar{display:grid;place-items:center;width:33px;height:33px;background:#eaf1ff;color:#2563eb;border-radius:50%;font-size:16px}.profile small{display:block;color:#7a8aa3;font-size:10px;margin-top:4px}.profile>.anticon{margin-left:auto;color:#7a8aa3}.topbar{height:78px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid #e7ecee;background:#fff}.topbar-label{font-size:12px;color:#849299}.main-content{padding:30px 38px 42px;max-width:1660px;width:100%;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.eyebrow{font-size:11px;color:#819198;letter-spacing:1px;margin-bottom:10px}.page-heading h1{font-size:27px;font-weight:650;margin:0 0 10px;letter-spacing:-.6px}.page-heading p{font-size:13px;color:#839096;line-height:1.7;margin:0}.page-heading>.ant-tag{align-self:flex-start;margin-top:7px}.ant-card{border-color:#e5eaec;box-shadow:0 2px 5px #102f3702;border-radius:12px}.ant-card .ant-card-head{font-size:14px;min-height:57px;border-color:#edf0f1}.ant-card .ant-card-body{padding:22px}.main-content>.ant-card{margin-bottom:22px}.welcome-banner{display:flex;justify-content:space-between;overflow:hidden;position:relative;background:#eaf2ff;border:1px solid #dce8fc;border-radius:14px;padding:30px 34px;min-height:253px;margin-bottom:22px}.welcome-banner h2{font-size:27px;line-height:1.5;letter-spacing:-.4px;margin:12px 0 10px;font-weight:650}.welcome-banner p{font-size:12px;line-height:1.9;color:#71809a;margin-bottom:19px}.small-pill{font-size:10px;color:#3c6ac1;letter-spacing:1px}.game-cover{position:relative;background:#edf4ff;overflow:hidden;min-height:165px;display:grid;place-items:center}.game-cover svg{max-width:100%;width:300px}.game-cover>span{position:absolute;bottom:12px;left:22px;font-size:8px;color:#7c90b2;letter-spacing:2px}.welcome-banner>.game-cover{align-self:center;background:none;min-width:300px;width:38%;transform:scale(1.2)}.welcome-banner>.game-cover>span{display:none}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.stat-label{font-size:12px;color:#7f8c92}.stat-grid strong{display:block;font-size:31px;font-weight:600;margin:8px 0;color:#25344b}.stat-grid span{font-size:11px;color:#93a0a4}.overview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-bottom:22px}.action-list>button{width:100%;border:0;background:#fff;display:flex;align-items:center;gap:14px;padding:16px 0;text-align:left;cursor:pointer}.action-list>button+button{border-top:1px solid #eef1f1}.step-number{width:35px;height:35px;border:1px solid #dce7fb;background:#f0f5ff;display:grid;place-items:center;border-radius:10px;color:#3970cd;font-size:11px}.action-list b{font-size:13px;font-weight:550}.action-list p{font-size:11px;color:#93a0a4;margin:6px 0 0}.action-list .anticon{margin-left:auto;color:#9bacc6}.analytics-empty{text-align:center;padding:10px 10px 8px}.analytics-empty h3{font-size:13px;font-weight:550}.analytics-empty p{max-width:300px;margin:0 auto 17px;font-size:11px;color:#91a0a3;line-height:1.9}.empty-chart{height:65px;display:flex;align-items:end;justify-content:center;gap:9px;margin-bottom:15px}.empty-chart i{width:17px;border-radius:3px 3px 0 0;background:#e9eff9;height:30px}.empty-chart i:nth-child(2){height:43px}.empty-chart i:nth-child(3){height:35px}.empty-chart i:nth-child(4){height:60px;background:#cbdffc}.empty-chart i:nth-child(5){height:48px}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.game-card h2{font-size:19px;margin:16px 0 8px}.game-card p{font-size:12px;line-height:1.8;color:#82918f;min-height:44px}.game-meta{display:flex;justify-content:space-between;color:#8b999b;font-size:11px;margin-bottom:22px}.template-note{border-style:dashed;background:#f8faff;display:flex;align-items:center}.template-note .anticon{font-size:30px;color:#8ca9d3}.template-note p{font-size:12px;color:#7f8da4;line-height:1.9}.template-note h3{font-size:15px}.workshop-layout{display:grid;grid-template-columns:205px minmax(350px,1fr) 238px;gap:18px;align-items:start}.levels-list .ant-card-body{padding:10px}.chapter-label{font-size:10px;color:#94a3b8;padding:8px 10px 15px}.levels-list small{font-size:10px;color:#8292aa;margin-left:5px}.level-row{width:100%;display:flex;align-items:center;gap:10px;background:none;border:1px solid transparent;border-radius:8px;padding:12px 9px;text-align:left;cursor:pointer;margin-bottom:4px}.level-row>span{font-size:10px;color:#94a3b8;font-variant-numeric:tabular-nums}.level-row b{font-size:12px;font-weight:500}.level-row small{display:block;font-size:10px;color:#8997ad;margin:4px 0 0}.level-row.active{background:#eaf2ff;border-color:#cfe0ff}.level-row.active b{color:#2563eb}.editor-center>.ant-card{margin-bottom:18px}.editor-toolbar{display:flex;align-items:center;gap:8px;font-size:11px;color:#8290a6;padding-bottom:18px}.editor-toolbar .ant-input-number{width:62px}.spacer{flex:1}.editor-stage{background:#f3f6fb;border:1px solid #e1e8f3;border-radius:10px;padding:27px 14px 17px;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center}.editor-grid{display:grid;gap:3px;-webkit-user-select:none;user-select:none;touch-action:none}.grid-cell{aspect-ratio:1;min-width:28px;border:1px solid #00000012;border-radius:4px;color:#fffe;background:#f0ead8;font-weight:600;font-size:13px;cursor:crosshair;box-shadow:0 2px #0000000c}.grid-cell.fixed{background:#8b9aae;color:#fff}.grid-cell.outside{background:#e2e9f3;border:1px dashed #cbd6e5;box-shadow:none}.grid-cell:focus-visible{outline:3px solid #2563eb;outline-offset:2px}.stage-caption{font-size:10px;color:#8b9bb2;margin-top:23px}.palette{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:19px}.palette>span{font-size:11px;color:#8290a6;margin-right:6px}.palette>button:not(.ant-btn){border:2px solid transparent;padding:2px;background:transparent;border-radius:6px;cursor:pointer}.palette>button.active{border-color:#2563eb}.tile-sample{display:grid;place-items:center;width:25px;height:25px;background:#e2e9f3;border-radius:3px;color:#fff;font-size:11px}.tile-sample.fixed{background:#8b9aae}.tile-sample.outside{color:#8b9bb2;border:1px dashed #b6c7df}.muted{color:#8492a7;font-size:11px;line-height:1.8}.editor-properties label{display:block;font-size:12px;color:#65758d;margin-bottom:17px}.editor-properties label .ant-input,.editor-properties label .ant-input-number{display:block;width:100%;margin-top:8px}.editor-properties small{display:block;margin-top:-10px;margin-bottom:20px;font-size:10px;color:#8997ad;line-height:1.8}.property-divider{height:1px;background:#e9eef6;margin:25px 0 20px}.editor-properties .ant-btn{margin-bottom:10px}.editor-tip{font-size:11px;color:#7184a0;background:#edf4ff;border-radius:8px;padding:14px;line-height:1.9;margin-top:14px}.check-empty{font-size:12px;color:#8a99af;line-height:1.9}.rules-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.rules-layout>div>.ant-card{margin-bottom:20px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.two-fields .ant-input-number{width:100%}.rule-preview-icon{width:42px;height:42px;border-radius:12px;background:#eaf2ff;color:#4f86db;display:grid;place-items:center;font-size:25px}.rule-preview h3{font-size:17px;margin:18px 0}.rule-preview p{font-size:12px;line-height:2;color:#7b8ba3}.release-flow{margin-bottom:22px}.release-flow .ant-card-body{padding:28px 32px}.release-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;margin-bottom:22px}.release-note{background:#edf4ff;border-color:#dce7fa}.release-note .anticon{font-size:28px;color:#638cce}.release-note h3{font-size:18px;line-height:1.7;font-weight:550}.release-note p{font-size:12px;color:#7b8da8;line-height:1.9}.validation-list{max-height:290px;overflow:auto;margin-top:22px}.validation-list>div{display:flex;align-items:center;gap:8px;border-top:1px solid #edf1f7;padding:10px 0;font-size:11px}.validation-list b{font-size:12px;font-weight:500;min-width:90px}.validation-list span:last-child{color:#8a99af}.json-view{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:#f5f8fd;border:1px solid #dfe7f2;border-radius:8px;font-size:11px;color:#62799b;line-height:1.8}.preview-game{padding-top:14px}.preview-game>p{font-size:12px;color:#7f91ab}.preview-board{display:grid;gap:3px;padding:14px;background:#e3ecfa;width:max-content;border-radius:12px;margin:20px auto}.preview-board>button{width:42px;height:42px;border:1px solid #00000010;border-radius:4px;color:#fff;font-weight:600;cursor:pointer}.preview-parcels{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.preview-parcels>button{padding:10px 14px;border:1px solid #e2e9f4;background:#fbfcff;border-radius:8px;cursor:grab;text-align:left;min-width:80px}.preview-parcels>button.selected{border-color:#2563eb;background:#edf4ff}.preview-parcels b{font-size:11px;display:block}.preview-parcels span{font-size:9px;color:#8b9bb2;display:block;margin:4px 0 8px}.mini-piece{display:grid;gap:1px}.mini-piece i{width:12px;height:12px;border-radius:2px}.login-shell{max-width:1120px;min-height:620px;margin:10vh auto;background:#fff;border:1px solid #e0e7f2;border-radius:18px;overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;box-shadow:0 20px 80px #254b900a}.login-intro{position:relative;padding:53px 45px;background:#eef4ff;overflow:hidden}.brand-mark.large{width:48px;height:48px;font-size:27px;margin-bottom:34px}.login-intro h1{font-size:34px;line-height:1.6;letter-spacing:-.6px;margin:17px 0}.login-intro p{font-size:13px;color:#7086a5;line-height:2}.login-intro>small{display:block;margin-top:25px;color:#7e95b6;font-size:10px;letter-spacing:1px}.login-form{padding:60px 52px}.login-form h2{font-size:25px;margin-top:22px;margin-bottom:11px}.login-form>p{font-size:12px;color:#8a99b0;margin-bottom:30px}.login-form .ant-form-item-label>label{font-size:12px}.login-note{font-size:11px;color:#8a99b0;line-height:1.9;margin-top:25px}.login-tiles{height:80px;display:flex;align-items:center;gap:9px;margin-top:30px}.login-tiles i{display:block;width:46px;height:46px;border-radius:9px;background:#69a7ff;transform:rotate(-7deg);box-shadow:0 4px #5484d218}.login-tiles i:nth-child(2){height:70px;background:#d4af7c;transform:rotate(8deg)}.login-tiles i:nth-child(3){background:#9bb5bf;transform:rotate(-5deg)}.login-tiles i:nth-child(4){background:#f5c96d;transform:rotate(7deg)}.login-tiles i:nth-child(5){height:60px;background:#ad9fbf;transform:rotate(-7deg)}.guide-list{padding-left:22px}.guide-list>li{padding:10px 6px}.guide-list p{font-size:12px;line-height:1.9;color:#8293ab}.boot{display:grid;place-items:center;height:100vh;color:#8294af;font-size:14px}@media(min-width:1500px){.workshop-layout{grid-template-columns:220px minmax(400px,1fr) 260px}}@media(max-width:1200px){.main-content{padding:25px}.topbar{padding:0 25px}.workshop-layout{grid-template-columns:175px minmax(300px,1fr)}.editor-properties{grid-column:2}.rules-layout{grid-template-columns:minmax(0,1fr) 265px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-banner>.game-cover{min-width:220px}}@media(max-width:900px){.sidebar.ant-layout-sider{width:190px!important;min-width:190px!important;max-width:190px!important}.sidebar+.ant-layout{margin-left:190px}.brand{padding:23px 16px;font-size:17px}.main-content{padding:20px}.topbar{padding:0 20px}.page-heading{align-items:flex-start;flex-wrap:wrap}.stat-grid{grid-template-columns:repeat(2,1fr)}.overview-grid,.release-layout,.rules-layout{grid-template-columns:1fr}.welcome-banner>.game-cover{display:none}.workshop-layout{grid-template-columns:150px minmax(280px,1fr);gap:12px}.editor-center .ant-card-body{padding:14px}.editor-grid{gap:2px}.login-shell{margin:30px 20px;grid-template-columns:1fr 1fr}.login-intro,.login-form{padding:35px 25px}.login-intro h1{font-size:26px}}@media(max-width:650px){.login-shell{display:block;min-height:auto;margin:22px 16px;border-radius:14px}.login-intro{padding:25px 26px}.login-intro .brand-mark{margin-bottom:16px;width:36px;height:36px;font-size:21px}.login-intro .eyebrow{font-size:9px}.login-intro h1{font-size:25px;line-height:1.4;margin:12px 0}.login-intro p,.login-tiles,.login-intro>small{display:none}.login-form{padding:26px}.login-form h2{font-size:22px}.sidebar.ant-layout-sider{width:64px!important;min-width:64px!important;max-width:64px!important}.sidebar+.ant-layout{margin-left:64px}.brand{height:77px;padding:15px}.brand>div,.nav-label,.sidebar-note,.profile>span:not(.avatar),.profile>.anticon{display:none}.brand-mark{width:34px;height:34px}.sidebar .ant-menu{padding:0 6px}.sidebar .ant-menu-item{padding:0!important;text-align:center}.sidebar .ant-menu-title-content{display:none}.sidebar .ant-menu-item-icon{margin:0}.profile{padding:15px;height:65px}.topbar{height:68px;padding:0 14px;gap:8px}.topbar-label{display:none}.topbar .ant-select{width:155px!important}.topbar>.ant-space:last-child{gap:4px!important}.topbar>.ant-space:last-child .ant-tag{display:none}.topbar>.ant-space:last-child .ant-btn{padding:0 8px;font-size:11px}.main-content{padding:18px 13px}.page-heading h1{font-size:22px}.page-heading p{font-size:11px}.page-heading .ant-space{flex-wrap:wrap}.welcome-banner{padding:22px}.welcome-banner h2{font-size:23px}.welcome-banner p br{display:none}.welcome-banner .ant-space{flex-wrap:wrap}.stat-grid{gap:9px}.stat-grid .ant-card-body{padding:14px}.game-grid{grid-template-columns:1fr}.workshop-layout{display:flex;flex-direction:column}.workshop-layout>.ant-card,.editor-center{width:100%}.levels-list{max-height:190px;overflow:auto}.levels-list .ant-card-head{position:sticky;top:0;background:#fff;z-index:1}.editor-stage{min-height:290px;padding:18px 5px}.editor-grid{gap:2px;max-width:100%}.editor-properties{width:100%}.editor-toolbar{flex-wrap:wrap}.editor-center .ant-card-head{padding:0 12px}.editor-center .ant-card-head-title{font-size:12px}.check-panel .ant-card-extra .ant-btn{font-size:10px;padding:0 6px}.two-fields{grid-template-columns:1fr;gap:0}.release-flow .ant-card-body{padding:20px}.release-layout .ant-descriptions,.ant-table-content{overflow:auto}.ant-table{white-space:nowrap}.action-list>button{gap:9px}.step-number{flex-shrink:0}}.level-filters{display:grid;gap:8px;padding:4px 3px 0}.level-filters .ant-select{width:100%}.level-scroll{max-height:540px;overflow-y:auto;scrollbar-width:thin}.level-row>div{min-width:0}.level-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-row>span{min-width:20px}@media(max-width:760px){.levels-list{max-height:330px}.level-scroll{max-height:160px}.level-filters{grid-template-columns:1fr 1fr}.level-filters .ant-select{min-width:0}}.brand-logo{width:42px;height:42px;border-radius:11px;flex-shrink:0}.login-logo{width:80px;height:80px;border-radius:18px;margin-bottom:20px}.game-cover>img{width:100%;height:190px;object-fit:cover}.sidebar .ant-layout-sider-children{display:flex;flex-direction:column;height:100vh}.sidebar .brand{height:90px;min-height:90px;padding:20px}.sidebar .nav-label{flex-shrink:0}.sidebar .ant-menu{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}.sidebar .sidebar-note{display:none}.sidebar .profile{position:static;height:74px;min-height:74px;flex-shrink:0}.mini-metrics{display:flex;gap:30px;padding:16px 0 24px}.mini-metrics b{display:block;font-size:28px;color:#2563eb}.mini-metrics span{display:block;font-size:11px;color:#8797ad;margin-top:8px}.asset-thumb{width:72px;height:72px;object-fit:contain;border-radius:8px;background:#f1f5fb}.activity-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.calendar-dot{display:inline-grid;place-items:center;background:#2563eb;color:#fff;min-width:16px;height:16px;border-radius:50%;font-size:9px}.main-content>.ant-alert{margin-bottom:20px}.activity-layout>.ant-card{min-width:0}.main-content input[type=date]{width:150px}.login-intro>.eyebrow{color:#6487bb}.login-note{line-height:1.8}@media(max-width:1150px){.activity-layout{grid-template-columns:1fr}.mini-metrics{gap:20px}.sidebar .brand-logo{width:34px;height:34px}}@media(max-width:760px){.sidebar .brand{padding:15px;height:80px;min-height:80px}.sidebar .brand-logo{width:34px;height:34px}.mini-metrics{gap:12px}.mini-metrics b{font-size:23px}.mini-metrics span{font-size:10px}.activity-layout{display:flex;flex-direction:column}.page-heading .ant-space{max-width:100%;flex-wrap:wrap}}.diff-value{max-width:360px;max-height:65px;overflow:auto;word-break:break-all;font-size:12px}.main-content>.release-flow{margin-bottom:20px}.draft-tools{display:flex;gap:8px;margin-bottom:15px;align-items:center;flex-wrap:wrap}.import-level{display:inline-flex;align-items:center;position:relative;padding:3px 10px;border:1px solid #dce4f0;border-radius:6px;font-size:12px;background:#fff;cursor:pointer}.import-level input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.revenue-import{margin-top:18px;display:grid;gap:12px;max-width:740px}.revenue-import>.ant-btn{justify-self:start}.phone-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 0 18px}.phone-preview-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:24px}.phone-preview-stage{height:clamp(400px,calc(100dvh - 205px),850px);min-width:0;display:grid;place-items:center;overflow:hidden;border:1px solid #e2e9f4;border-radius:16px;background:radial-gradient(ellipse at 50% 42%,#fff,#edf3fc 75%)}.phone-preview-device{position:relative;flex-shrink:0}.phone-shell{position:absolute;top:0;left:0;padding:8px 10px;background:#fff;border:2px solid #2c364a;border-radius:38px;box-shadow:0 18px 48px #21395a24,inset 0 0 0 3px #e5eaf2;transform-origin:top left;overflow:hidden}.phone-shell canvas{display:block;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:#f5f7f4}.phone-shell canvas:active{cursor:grabbing}.phone-status{height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:12px;font-weight:650;color:#25344b}.phone-status>i{display:block;width:76px;height:16px;background:#273246;border-radius:12px}.phone-home{height:20px;display:grid;place-items:center}.phone-home>i{width:95px;height:4px;border-radius:4px;background:#273246}.phone-preview-notes{padding:8px 0}.phone-preview-notes h3{font-size:14px;margin:24px 0 10px;color:#25344b}.phone-preview-notes p{font-size:12px;line-height:1.9;color:#71829c}.phone-preview-live{padding:18px 20px;background:#eff5ff;border:1px solid #dce8fc;border-radius:12px}.phone-preview-live>span{font-size:11px;color:#7186a5}.phone-preview-live strong{display:block;font-size:22px;margin-top:10px}.phone-preview-live p{margin-bottom:0}.phone-preview-notes .ant-alert{margin-top:22px}.phone-preview-notes .phone-preview-disclaimer{font-size:11px;color:#8b99ad;margin-top:18px}.phone-preview-modal .ant-modal-title{padding-right:28px}@media(max-width:760px){.phone-preview-layout{grid-template-columns:1fr;gap:12px}.phone-preview-stage{height:clamp(370px,calc(100dvh - 235px),700px)}.phone-preview-notes{padding-top:0}.phone-preview-toolbar .ant-space{gap:6px!important}.phone-preview-toolbar{padding-bottom:12px}.phone-preview-notes h3{margin-top:16px}}
