.intro{padding:27px 0 22px}.intro h1{margin:13px 0 12px}.mode-bar{display:flex;align-items:center;justify-content:center;gap:23px;margin:0 auto 22px}.mode-switch{display:flex;border:1px solid #bdcbb2;border-radius:5px;background:#fbfcf3b3;padding:3px;gap:3px}.mode-switch button{border:0;background:transparent;border-radius:2px;padding:7px 14px;font-size:12px;color:#86977c;letter-spacing:1px}.mode-switch button.active{background:#72866a;color:#fff9e8;box-shadow:0 2px 5px #69825b22}.mode-switch small{font-size:8px;display:inline-block;margin-left:5px;opacity:.7;letter-spacing:0}#pool-summary{font-size:10px;color:#8b9d7e}.game-layout{grid-template-columns:190px minmax(340px,510px) 195px;gap:30px}.left-panel{padding-top:8px}.level-label h2{font-size:21px}.level-tag{font-size:9px}.score-card{padding:16px;margin-top:17px}.score-card>strong{font-size:38px;margin:7px 0 14px}.stars{font-size:15px;padding-top:8px}.objectives{display:grid;gap:8px;margin-top:18px}.goal{display:flex;align-items:center;justify-content:space-between;gap:7px;background:#fbfcf2a0;border:1px solid #d5deca;padding:9px 10px;font-size:10px;border-radius:3px}.goal>span{display:flex;align-items:center;gap:6px}.goal b{font-weight:500;color:#657b58}.goal.done{border-color:#a8bd93;background:#e4eddc9c}.goal.done b{color:#52783d}.goal-mark{color:#8ca7b7;font-size:17px;line-height:1}.goal .mini-sect{width:20px;height:20px;position:relative}.mini-sect .sect-emblem{width:100%;height:100%;left:0;top:0}.moves-card{padding:16px 0}.moves-note{font-size:9px}.best-row{padding:12px 0}.board-top{padding:0 5px 8px}.text-button{border:0;background:transparent;padding:0;color:#8b9976;font-size:9px;line-height:1.8}.text-button:hover{color:#8f693b;text-decoration:underline}.target-banner{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:2px 6px 12px;color:#829478;font-size:10px;line-height:1.6}.target-banner.targeting{color:#a87b3c}.target-banner button{font-size:9px;border:1px solid #cab78e;background:#f8f0de;border-radius:3px;white-space:nowrap;padding:3px 7px}.board-wrap{padding:11px}.cell{padding:4px;position:relative}.ice-layer{position:absolute;inset:1px;border:2px solid #c2dfef;border-radius:5px;background:linear-gradient(135deg,#d3f0ff35,#cde8f01a 50%,#b4d5ea4a);box-shadow:inset 0 0 6px #e6f8ffd6;pointer-events:none;z-index:2}.ice-layer:before,.ice-layer:after{content:"";position:absolute;width:12px;height:12px;border:1px solid #f5fdffd4;transform:rotate(30deg)}.ice-layer:before{top:1px;left:2px;border-right:0;border-bottom:0}.ice-layer:after{bottom:2px;right:2px;border-left:0;border-top:0}.ice-mark{position:absolute;right:2px;bottom:0px;color:#57829a;font-size:12px;line-height:1;z-index:3;pointer-events:none;text-shadow:0 1px #fff}.t6,.s6{--color:#80c8c1;--light:#d4efec;--dark:#519e9470;--emblem:url('./assets/sects/tangmen.png');--emblem-ink:#356e69;--emblem-scale:155%}.t7,.s7{--color:#d7ac70;--light:#f7e0b8;--dark:#b1844b70;--emblem:url('./assets/sects/shaolin.png');--emblem-ink:#866128;--emblem-scale:150%}.t8,.s8{--color:#c69bc6;--light:#eddaeb;--dark:#aa74a670;--emblem:url('./assets/sects/wanhua.png');--emblem-ink:#824f85;--emblem-scale:145%}.t9,.s9{--color:#e78791;--light:#f7c9c7;--dark:#c05d6f70;--emblem:url('./assets/sects/mingjiao.png');--emblem-ink:#9e394e;--emblem-scale:155%}.t10,.s10{--color:#96a6d6;--light:#d4def5;--dark:#6b80bc70;--emblem:url('./assets/sects/badao.png');--emblem-ink:#455f9a;--emblem-scale:145%}.t11,.s11{--color:#8ccdbd;--light:#d7efde;--dark:#61a18d70;--emblem:url('./assets/sects/penglai.png');--emblem-ink:#3d7d68;--emblem-scale:145%}.special-mark{display:grid;place-items:center;border-radius:50%;height:17px;min-width:17px;background:#fff6d7;color:#a77839;border:1px solid #d9bd83;right:-5px;top:-5px;font-size:12px;text-shadow:none;box-shadow:0 2px 4px #8e6e4c22}.special-row:after,.special-col:after{content:"";position:absolute;background:#fff0cabb;width:90%;height:2px;top:41%;left:5%;right:auto;border-radius:0;box-shadow:0 0 4px #f8ecbd}.special-col:after{width:2px;height:84%;top:5%;left:50%}.special-bomb{outline:1px dashed #b08b4f;outline-offset:-4px}.special-prism{background:conic-gradient(from 20deg,#e1b1c9,#f2cd83,#afd3e1,#c7b9e2,#afd0b6,#efb493,#e1b1c9)!important;box-shadow:inset 0 2px 3px #fffe,0 0 10px #d2b78a60!important}.prism-orb{font-size:29px;line-height:1;color:#fff8e4;text-shadow:0 1px 3px #8c7ba2;position:absolute;left:0;right:0;top:12%}.special-prism .sect-name{color:#846e83;font-size:7px}.aim{background:#fff4d8!important;box-shadow:inset 0 0 0 2px #c6a364}.tool-target .cell:hover .jelly{filter:brightness(1.08)}.battle-stats{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#99a68d;padding:17px 2px 0;gap:8px}.battle-stats b{font-weight:500;color:#7a8e68;margin-left:5px}#combo-label{font-size:9px;letter-spacing:1px}.right-panel{padding-top:8px}.quote-seal{margin-bottom:9px}.right-panel h2{font-size:22px;letter-spacing:2px}.side-copy{font-size:9px;margin-bottom:15px}.sect-directory{margin-top:12px;padding-top:13px}.sect-directory .tiny{display:block}.sect-directory small{font-size:7px;letter-spacing:0;display:block;margin-top:6px;color:#9aa68d}.sect-list{grid-template-columns:repeat(3,1fr);gap:11px 5px;margin-top:13px}.sect-item{opacity:.25;transition:opacity .2s}.sect-item.active{opacity:1}.sect-item .sect-emblem{width:22px;height:23px}.special-guide{margin-top:17px;border-top:1px dashed #c5d1bb;padding-top:14px}.special-guide p{font-size:10px;line-height:2.25;color:#95a087;margin:7px 0}.special-guide b{font-weight:500;color:#758966}.record{margin-top:16px;border-top:1px dashed #c5d1bb;padding-top:14px;display:flex;align-items:center;gap:8px;font-size:10px;color:#8a9d79}.record b{font-size:22px;color:#8d744c;font-family:Georgia,serif;font-weight:400;margin-left:auto}.record small{font-size:9px}.arsenal{max-width:955px;margin:26px auto 0;border-top:1px solid #cbd6bf;padding-top:17px}.arsenal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;color:#798c68;font-size:11px;letter-spacing:2px}.arsenal-heading small{font-size:9px;letter-spacing:0;color:#9ba78e}.toolbelt{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.prop-button{border:1px solid #c6d2bb;border-radius:5px;background:#fdfcf3c9;padding:12px 5px 10px;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:94px}.prop-button:hover{background:#fffdf0;border-color:#b69a64;transform:translateY(-2px)}.prop-button.armed{background:#f5e9ce;border-color:#b3975a;box-shadow:0 0 0 2px #cdb6813b}.prop-icon{width:32px;height:32px;display:grid;place-items:center;font-family:"KaiTi",serif;font-size:19px;color:#ac7744;background:#f4e8ce;border:1px solid #dbc69c;border-radius:50%}.prop-button[data-tool="color"] .prop-icon{background:conic-gradient(#edd2df,#e8d2a9,#cde0d8,#d9d1e9,#edd2df);color:#8d6d8c}.prop-button[data-tool="cross"] .prop-icon{background:#e5e9f3;color:#6d84a7;border-color:#bac9d7}.prop-button[data-tool="swap"] .prop-icon{background:#e6eedd;color:#7c9363;border-color:#c1cfae}.prop-button[data-tool="steps"] .prop-icon{background:#efdfd5;color:#a77a5e;border-color:#dac0aa}.prop-name{font-size:10px;letter-spacing:1px;color:#6c805f}.prop-sub{font-size:7px;color:#9aa58b}.prop-count{position:absolute;right:7px;top:7px;min-width:16px;height:16px;display:grid;place-items:center;border-radius:3px;background:#e7eddc;color:#7e906a;font-size:9px}.mobile-roster{display:none}.modal-copy,#modal-copy{white-space:pre-line;font-size:12px;line-height:2;color:#7d8d71;max-height:47vh;overflow:auto;text-align:left}#modal-copy strong{color:#8e7348;font-weight:500}.secondary{display:block;margin:13px auto 0;background:transparent;border:0;color:#8b9c7b;font-size:11px;text-decoration:underline}.secondary[hidden]{display:none}dialog{max-width:450px;padding:33px}.modal-close[hidden]{display:none}.toast-error{color:#a76851!important}footer{margin-top:27px}.saved{font-size:10px}
@media(max-width:1100px){.game-layout{grid-template-columns:175px minmax(320px,510px);gap:25px}.right-panel{display:none}.arsenal{max-width:710px}.toolbelt{gap:7px}.prop-button{padding-left:3px;padding-right:3px}.prop-name{font-size:9px}.prop-sub{font-size:7px;letter-spacing:-.3px}.mobile-roster{display:block;max-width:710px;margin:18px auto 0;border-bottom:1px solid #d0dac5;padding-bottom:12px;font-size:10px;color:#879875}.mobile-roster summary{cursor:pointer;font-size:10px}.mobile-roster p{font-size:10px;line-height:2;color:#94a185}.mobile-roster #mobile-sects{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.mobile-roster .sect-item{font-size:10px}}
@media(max-width:650px){.intro{padding:22px 0 18px}.intro h1{font-size:28px}.intro p{font-size:8px;letter-spacing:.7px}.mode-bar{margin-bottom:16px;gap:8px;flex-wrap:wrap}.mode-switch{padding:2px;gap:2px}.mode-switch button{padding:6px 12px;font-size:10px}.mode-switch small{display:none}#pool-summary{font-size:8px}.game-layout{gap:13px}.left-panel{grid-template-columns:1fr 75px;gap:10px}.level-label h2{font-size:15px}.level-tag{font-size:8px}.score-card{margin:0;padding:9px 12px;grid-column:1;grid-row:2}.score-card>strong{font-size:27px;margin:0}.moves-card{grid-column:2;grid-row:2;padding:7px}.moves-card strong{font-size:26px}.objectives{grid-column:1/-1;grid-row:3;margin:1px 0 0;display:flex;gap:8px}.goal{flex:1;padding:7px 9px;font-size:9px;min-height:31px}.goal-mark{font-size:13px}.goal .mini-sect{height:16px;width:16px}.board-top{padding-bottom:2px}.target-banner{min-height:37px;padding-bottom:9px;font-size:9px}.target-banner button{font-size:8px;padding:2px 6px}.board-wrap{padding:7px}.cell{padding:3px}.ice-layer{inset:0;border-width:1.5px;border-radius:3px}.ice-layer:before,.ice-layer:after{width:7px;height:7px}.ice-mark{font-size:9px}.special-mark{font-size:9px;min-width:12px;height:12px;right:-4px;top:-4px}.prism-orb{font-size:23px;top:6%}.special-prism .sect-name{font-size:5px}.battle-stats{font-size:8px;padding-top:14px}.battle-stats b{margin-left:2px}#combo-label{font-size:8px;letter-spacing:0}.arsenal{margin-top:18px;padding-top:13px}.arsenal-heading{font-size:10px;margin-bottom:10px;letter-spacing:1px;align-items:center}.arsenal-heading small{font-size:7px;max-width:165px;line-height:1.6;text-align:right}.toolbelt{grid-template-columns:repeat(4,1fr);gap:7px}.prop-button{min-height:78px;padding:9px 2px 8px;gap:5px}.prop-icon{width:27px;height:27px;font-size:17px}.prop-name{font-size:9px;letter-spacing:.3px}.prop-sub{font-size:7px}.prop-count{top:4px;right:4px;min-width:13px;height:13px;font-size:8px}.prop-button[data-tool="shuffle"]{grid-column:3/5}.prop-button[data-tool="shuffle"] .prop-sub{letter-spacing:0}.mobile-roster{font-size:9px;margin-top:15px;padding-bottom:12px}.mobile-roster summary{font-size:9px}.mobile-roster p{font-size:9px}.mobile-roster #mobile-sects{gap:12px 10px}.saved{display:none}dialog{padding:29px 23px}#modal-copy{font-size:11px;max-height:45vh}.primary{font-size:12px;min-width:170px}footer{font-size:7px;margin-top:19px;padding-top:16px}.best-row,.moves-note{display:none}}
@media(max-width:360px){.intro h1{font-size:25px}.mode-switch button{padding:6px 10px}.arsenal-heading small{max-width:135px;font-size:6px}.prop-name{font-size:8px}.prop-sub{font-size:6px}.target-banner{font-size:8px}.level-tag{font-size:7px}.prism-orb{font-size:19px}.battle-stats{font-size:7px}#combo-label{font-size:7px}.goal{font-size:8px;padding:6px}.prop-button{min-height:74px}}
