:root{--bg:#f3f6fc;--surface:#fff;--ink:#253454;--muted:#8994a9;--line:#e7ecf5;--blue:#4c70df;--blue-soft:#edf2ff;--gold:#ae873f;--shadow:0 8px 36px #293d7510;--radius:22px;font-family:Inter,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 12% 4%,#e8edff 0,transparent 45%),radial-gradient(ellipse at 93% 100%,#edf0ff 0,transparent 42%),var(--bg);min-height:100svh;-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.5;cursor:wait}button:focus-visible,canvas:focus-visible,input:focus-visible{outline:3px solid #89a4ff;outline-offset:3px}button{transition:background .16s,transform .16s,color .16s}button:active{transform:translateY(1px)}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.symbols{position:absolute;width:0;height:0;overflow:hidden}.shell{width:min(948px,100% - 56px);margin:0 auto}.header{height:94px;display:flex;align-items:center;justify-content:space-between;gap:16px}.header h1{display:flex;align-items:center;gap:13px;font-size:24px;letter-spacing:-.8px;margin:0;font-weight:800}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--ink);color:#fff;box-shadow:0 4px 12px #24365c1a}.brand-mark svg{width:25px;height:25px;fill:#b6c6ff;stroke:#b6c6ff}.header-tools{display:flex;gap:6px;align-items:center}.nickname-button{display:flex;align-items:center;gap:9px;background:#ffffffb0;padding:10px 14px;border-radius:12px;font-size:12px;max-width:180px}.nickname-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nickname-button svg{width:14px;height:14px;color:var(--muted)}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--muted)}.icon-button:hover{background:var(--blue-soft);color:var(--blue)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:26px;align-items:start;max-width:850px;margin:auto}.play-panel{width:100%;max-width:520px}.scorebar{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:10px;margin:0 0 15px;align-items:center;padding:0 9px}.score-cell{display:flex;flex-direction:column;gap:3px}.score-cell>span{font-size:11px;letter-spacing:1px;color:var(--muted)}.score-cell strong{font-size:31px;line-height:1.25;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-1px}.score-cell:first-child strong{color:var(--blue);font-size:37px}.score-cell:nth-child(2){border-left:1px solid #dce3f0;padding-left:24px}.score-cell:nth-child(3){text-align:right}.score-cell small{font-size:15px;font-weight:500;letter-spacing:0;margin-right:3px;color:var(--muted)}.board-wrap{position:relative;aspect-ratio:440 / 660;max-height:calc(100svh - 212px);min-height:350px;max-width:100%;margin:auto;background:#fff;border:1px solid #dfe6f2;border-radius:var(--radius);box-shadow:0 14px 40px #2f437814;overflow:hidden}.board-wrap:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 5px #f9fbff;pointer-events:none}canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;outline:none}.next-tag{position:absolute;right:16px;top:13px;display:flex;align-items:center;gap:7px;pointer-events:none;color:var(--muted);font-size:10px;line-height:1;z-index:2}.next-tag img{width:31px;height:28px;object-fit:contain}.next-tag b{font-size:11px;font-weight:600;color:#6e7fa6}.loading{position:absolute;inset:0;background:#fff;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--blue);font-size:12px;z-index:3}.loading[hidden]{display:none}.loading svg{animation:turn 2s linear infinite}@keyframes turn{to{transform:rotate(360deg)}}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 4px 0}.input-hint{font-size:10px;color:var(--muted);white-space:nowrap}.board-toolbar>div{display:flex;align-items:center;gap:8px}.tool-button{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;padding:7px 8px;border-radius:9px;color:#647490}.tool-button svg{width:15px;height:15px}.tool-button:hover{background:#e5ebfb;color:var(--blue)}.touch-hint,.mobile-ranks{display:none}.toast{position:absolute;top:19%;left:50%;transform:translate(-50%,-8px);max-width:90%;pointer-events:none;background:#283858e8;color:white;padding:9px 16px;border-radius:11px;font-size:12px;line-height:1.5;white-space:nowrap;opacity:0;transition:.2s;z-index:4}.toast.visible{opacity:1;transform:translate(-50%,0)}.sidebar{display:flex;flex-direction:column;gap:18px}.card{background:#ffffffdf;border:1px solid #fff;border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.card-title{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:17px}.card-title h2{display:flex;gap:8px;align-items:center;font-size:15px;letter-spacing:-.2px;margin:0;font-weight:750}.card-title h2 svg{width:19px;height:19px;color:var(--blue)}.mode-pill{font-size:9px;line-height:1;padding:6px 7px;border-radius:6px;background:#f0f3f8;color:#8895ac;font-weight:500;white-space:nowrap}.mode-pill.online{background:#edf7f3;color:#55927a}.rank-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.tabs{display:inline-flex;background:#f1f4fa;border-radius:9px;padding:3px;gap:2px}.tabs button{padding:6px 20px;font-size:11px;border-radius:7px;color:var(--muted)}.tabs button.active{color:var(--blue);background:#fff;box-shadow:0 2px 6px #3447700c;font-weight:700}.refresh-rank{width:27px;height:27px}.refresh-rank svg{width:15px;height:15px}.rank-head{display:flex;justify-content:space-between;color:#a0aabc;font-size:9px;letter-spacing:.4px;margin-bottom:6px;padding:0 4px}.rank-list{min-height:139px}.rank-row{display:flex;align-items:center;gap:9px;padding:10px 3px;border-bottom:1px solid #f0f3f8;min-height:48px}.rank-row:last-child{border-bottom:0}.rank-number{width:23px;height:24px;display:grid;place-items:center;border-radius:7px;font-size:12px;font-weight:700;color:#96a0b2;flex:none;font-variant-numeric:tabular-nums}.rank-row:nth-child(1) .rank-number{color:#a07b38;background:#f8f0dc}.rank-row:nth-child(2) .rank-number{color:#8290a9;background:#f0f3f8}.rank-row:nth-child(3) .rank-number{color:#ab8f7d;background:#f7f0eb}.rank-person{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.rank-name{font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:160px}.rank-person small{font-size:9px;color:#a2acbd}.rank-value{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.rank-row.me .rank-name{color:var(--blue)}.rank-empty{min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:11px;color:#a2acbd;font-size:11px}.rank-empty svg{width:33px;height:33px;stroke-width:1;color:#c9d4e7}.rank-empty small{font-size:9px;color:#b6bed0}.my-rank{margin-top:10px;padding:11px 13px;border-radius:11px;background:#f0f4ff;display:flex;align-items:center;justify-content:space-between;color:#7082ac;font-size:10px}.my-rank strong{color:var(--blue);font-size:12px}.view-all{width:100%;display:flex;justify-content:center;align-items:center;gap:6px;margin-top:13px;font-size:10px;color:#9aa5b9}.view-all svg{width:11px;height:11px}.view-all:hover{color:var(--blue)}.evolution-count{font-size:10px;color:#a4aec0}.evolution-count b{font-size:12px;color:#6480c8}.evolution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 8px}.evolution-tile{padding:2px 0;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;border-radius:9px}.evolution-tile img{width:50px;height:52px;object-fit:contain;transition:transform .18s;filter:drop-shadow(0 2px 1px #20305614)}.evolution-tile small{font-size:9px;color:#a2adc1}.evolution-tile.seen small{color:#5477ce}.evolution-tile.current small{background:#edf2ff;color:#476bd1;border-radius:4px;padding:2px 6px;margin:-2px 0}.evolution-tile:hover{background:#f6f8fd}.evolution-tile:hover img{transform:translateY(-3px)}.evolution-tile:last-child{grid-column:3/5;align-self:center}.evolution-tile:last-child img{width:70px}.evolution-tile:last-child small{color:#a48a54}.evolution-card .card-title{margin-bottom:14px}footer{display:flex;justify-content:space-between;max-width:850px;margin:21px auto 17px;color:#a5afc2;font-size:9px}footer button{padding:0;color:inherit;font-size:inherit}.modal{border:1px solid #f4f6fa;padding:27px;border-radius:23px;color:var(--ink);box-shadow:0 30px 120px #22355635;width:min(92vw,490px);max-height:88svh;overflow:auto;background:#fff}.small-modal{max-width:356px}.modal::backdrop{background:#2433545c;backdrop-filter:blur(5px)}.modal-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.modal-top h2{font-size:18px;letter-spacing:-.5px;margin:0;display:flex;align-items:center;gap:9px}.modal p{font-size:12px;line-height:1.9;margin:12px 0}.primary,.secondary{border-radius:12px;padding:13px 16px;font-size:13px;font-weight:600;min-height:44px}.primary{background:var(--blue);color:#fff;box-shadow:0 5px 12px #567ce22a}.primary:hover{background:#3d60cd}.secondary{background:#f2f5fb;color:#70809f}.secondary:hover{background:#e8eef9}.full{width:100%;margin-top:11px;display:block}.muted{color:var(--muted)}.small{font-size:10px!important}.help-demo{display:flex;justify-content:center;align-items:center;gap:13px;margin:0 0 21px;font-size:14px;color:#b2bed0}.help-demo img{width:58px;height:63px;object-fit:contain}.help-lines{padding:0 4px}.help-lines p{margin:7px 0;font-size:12px}input{width:100%;padding:13px;border:1px solid #dfe5f2;background:#fafbfe;color:var(--ink);border-radius:11px;outline:none;font-size:13px}input::placeholder{color:#a7b1c3}.end-modal{text-align:center}.end-modal .modal-top{margin-bottom:14px}.end-cup{color:#b79651;width:25px;height:25px}.end-score{font-size:64px;letter-spacing:-3px;font-weight:750;line-height:1.3;display:block;color:var(--blue)}.end-level{display:flex;align-items:center;justify-content:center;gap:11px;font-size:11px;color:#7a88a2;margin:9px 0 19px}.end-level img{width:51px;height:51px;object-fit:contain}.submit-status{min-height:16px;font-size:10px!important;color:#8998b6;margin:9px 0 0!important}.text-link{font-size:11px;color:var(--blue);margin-top:17px}.rank-modal{max-width:480px}.rank-modal .rank-row{min-height:58px}.rank-modal .rank-name{font-size:13px;max-width:230px}.rank-modal .rank-number{margin-right:6px}.rank-modal .rank-value{font-size:16px}.full-rank-list{max-height:51svh;overflow-y:auto}.rank-notes{display:flex;justify-content:space-between;gap:12px;margin-top:20px;font-size:9px;color:#a3afc2}.detail-modal{max-width:480px}.detail-image{display:flex;align-items:center;justify-content:center;min-height:200px;background:radial-gradient(ellipse,#edf2fb,transparent 70%);padding:12px}.detail-image img{max-width:100%;max-height:61svh;object-fit:contain}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1200px){.shell{padding-top:7px}.board-wrap{max-height:660px}.header{height:104px}}
@media(max-width:760px){.shell{width:min(520px,100% - 28px)}.header{height:68px;gap:5px}.header h1{font-size:20px;gap:9px;letter-spacing:-.5px}.brand-mark{width:32px;height:32px;border-radius:10px}.brand-mark svg{width:21px;height:21px}.header-tools{gap:0}.nickname-button{padding:8px 8px;font-size:10px;background:none;max-width:107px;gap:4px}.nickname-button svg{width:11px;height:11px}.header-tools .icon-button{width:31px;height:31px}.header-tools .icon-button svg{width:19px;height:19px}.layout{grid-template-columns:1fr;gap:23px}.play-panel{max-width:none}.scorebar{margin:2px 0 11px;padding:0 8px}.score-cell{gap:2px}.score-cell>span{font-size:10px}.score-cell strong{font-size:26px}.score-cell:first-child strong{font-size:32px}.score-cell:nth-child(2){padding-left:20px}.board-wrap{max-height:calc(100svh - 197px);min-height:320px;border-radius:19px}.board-toolbar{padding-top:11px}.input-hint{font-size:9px}.board-toolbar>div{gap:4px}.tool-button{font-size:10px;padding:6px 7px;gap:4px}.tool-button svg{width:14px;height:14px}.mobile-ranks{display:flex}.sidebar{gap:16px}.ranking-card{padding:21px}.card-title h2{font-size:15px}.rank-person .rank-name{font-size:12px;max-width:240px}.rank-value{font-size:14px}.rank-row{padding-top:12px;padding-bottom:12px}.evolution-grid{grid-template-columns:repeat(6,1fr);gap:12px 6px}.evolution-tile img{width:43px;height:47px}.evolution-tile:last-child{grid-column:5/7}.evolution-tile:last-child img{width:65px}.card{border-radius:20px}.next-tag{right:12px;top:11px;font-size:9px;gap:4px}.next-tag img{width:26px;height:24px}.rank-empty{min-height:145px}.rank-notes{font-size:8px}.evolution-card .card-title{margin-bottom:18px}}
@media(pointer:coarse){.mouse-hint{display:none}.touch-hint{display:inline}}@media(max-width:359px){.header h1{font-size:18px}.nickname-button{max-width:72px}.header-tools .icon-button{width:28px}.shell{width:calc(100% - 20px)}.board-toolbar>div{gap:0}.input-hint{font-size:8px}.evolution-tile img{width:37px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.board-wrap{width:min(100%,440px,calc((100svh - 250px)*.666667));min-height:0;height:auto;max-height:none}
@media(max-width:760px){.board-wrap{width:min(100%,440px,calc((100svh - 197px)*.666667));min-height:0;max-height:none}}

.touch .mouse-hint{display:none}.touch .touch-hint{display:inline}

/* v9: explicit leaderboard source, without changing game presentation. */
.rank-sources{display:flex;width:100%;margin:10px 0 4px}.rank-sources button{flex:1}
.rank-connection{font-size:11px;line-height:1.6;color:var(--muted,#7b8aa0);margin:9px 0;overflow-wrap:anywhere}
.pending-button{font-size:12px;margin:8px 0;padding:8px 10px}
[hidden]{display:none!important}

/* v11: real loading on a compact welcome screen, not a timed fake progress bar. */
[hidden]{display:none!important}.start-screen{position:absolute;inset:0;z-index:4;display:flex;align-items:center;flex-direction:column;padding:34px 22px 16px;background:radial-gradient(ellipse at 70% 25%,#fff6df 0,transparent 56%),linear-gradient(160deg,#f5f8ff,#fff 65%,#eef3ff);overflow:auto}
.start-eyebrow{font-size:10px;font-weight:750;letter-spacing:3px;color:#92a0bc}.start-screen h2{font-size:38px;line-height:1.18;letter-spacing:3px;margin:18px 0 3px;text-align:center;color:#304665;font-weight:800}.start-art{position:relative;width:240px;height:206px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.start-art img{position:relative;z-index:1;width:220px;height:162px;object-fit:contain;filter:drop-shadow(0 12px 12px #6381bb18)}.orbit{position:absolute;border:1px solid #d1dced;border-radius:50%;width:216px;height:168px;transform:rotate(-24deg)}.orbit-two{width:168px;height:196px;transform:rotate(27deg);border-style:dashed;border-color:#e1d8c2}.start-spark{position:absolute;right:2px;top:31px;color:#c7a566;font-size:29px}.start-caption{color:#77869e;font-size:13px;margin:4px 0 20px}.start-button{width:min(100%,276px);min-height:48px;letter-spacing:3px;font-size:16px;border-radius:16px;box-shadow:0 8px 24px #597dda27}.start-status{display:flex;align-items:center;flex-direction:column;gap:6px;font-size:11px;color:#8593aa;margin:13px 0 12px;width:180px}.start-status progress{width:100%;height:3px;appearance:none;border:0;border-radius:3px;background:#dde6f2}.start-status progress::-webkit-progress-bar{background:#dde6f2;border-radius:3px}.start-status progress::-webkit-progress-value{background:#9aadcc;border-radius:3px;transition:width .2s}.start-status progress::-moz-progress-bar{background:#9aadcc}.start-rules{font-size:12px;color:#7183a0;text-align:center;max-width:100%;margin:4px auto 0}.start-rules summary{cursor:pointer;padding:4px 16px}.start-rules p{font-size:12px;line-height:1.9;text-align:left;margin:8px 0 0}.in-lobby #pause-button,.in-lobby #restart-button{opacity:.35;pointer-events:none}.in-lobby .next-tag{visibility:hidden}.tile-lock{display:none;align-items:center;justify-content:center;color:#adbad0;font-size:23px;height:100%;font-weight:600}.evolution-tile.locked img{display:none}.evolution-tile.locked .tile-lock{display:flex}.evolution-tile.locked{background:#f5f7fb}.asset-wait{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);z-index:5;max-width:90%;background:#ffffffeb;border:1px solid #dde4f0;border-radius:12px;padding:13px 16px;box-shadow:0 5px 20px #304b6d18;display:flex;gap:8px;align-items:center;color:#607291;font-size:13px;white-space:nowrap}.asset-wait button{border:0;background:#ebf0ff;color:#4e6aa8;border-radius:8px;padding:5px 9px;cursor:pointer}.end-summary{text-align:center;font-size:12px;color:#7686a0;line-height:1.65;margin:10px 0 8px}.end-warm{font-size:13px;color:#677f9e;line-height:1.85;text-align:center;background:#f4f7fc;border-radius:12px;padding:11px 15px;margin:0 0 17px}.end-modal{max-height:calc(100dvh - 32px);overflow:auto}.end-modal #end-title{font-size:19px}.end-modal .end-score{font-size:44px}.end-modal .end-level img{height:60px}
@media(max-width:650px){.start-screen{padding:20px 16px 12px}.start-screen h2{font-size:32px;margin:12px 0 0}.start-art{height:185px;width:224px}.start-art img{width:206px;height:151px}.start-caption{margin:2px 0 16px}.start-status{margin:10px 0 8px}.end-modal{padding:22px}.end-modal .end-score{font-size:38px}.end-warm{margin-bottom:12px}}
@media(max-height:700px) and (max-width:650px){.start-screen{padding-top:12px}.start-screen h2{font-size:28px}.start-art{height:156px}.start-art img{width:187px;height:137px}.start-caption{margin-bottom:10px}.start-button{min-height:42px}.start-status{margin:8px 0 4px}}

.evolution-tile img:not([src]){visibility:hidden}.evolution-tile:not(.locked):has(img:not([src])) .tile-lock{display:flex;position:absolute;inset:0 0 16px}
/* DIY leaderboard source and editor preview. Warm.css provides the themed colors. */
.rank-sources button{min-width:0;padding-inline:10px}.asset-diy-rank{border:1px solid #e3e8f7;border-radius:15px;padding:15px 16px;margin-top:18px;background:#f8faff}.asset-diy-rank-note{margin:0 0 8px!important;color:#8995aa;font-size:10px!important;line-height:1.65!important}.asset-diy-rank-list{min-height:0}.asset-diy-rank-list .rank-empty{min-height:92px}.asset-diy-rank-list .rank-row{padding-top:7px;padding-bottom:7px;min-height:42px}.asset-diy-rank-list .rank-name{max-width:220px}.asset-diy-rank .view-all{margin-top:8px}@media(max-width:390px){.rank-sources button{padding-inline:6px;font-size:10px}.asset-diy-rank{padding-inline:12px}}

/* v14.2: mode chooser, skill cards and discreet end-of-round support. */
.mode-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 12px}.mode-choice-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;padding:16px;border:1px solid #e0e7f4;background:#fbfcff;border-radius:15px;min-height:132px}.mode-choice-card:hover,.mode-choice-card.active{border-color:#91a9ed;background:#f1f5ff;box-shadow:0 5px 16px #526fbe14}.mode-choice-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#e8eeff;color:#5b78d0;font-size:18px}.mode-choice-card strong{font-size:13px}.mode-choice-card small{font-size:10px;line-height:1.6;color:#8491a8}.selected-mode-note{font-size:11px!important;color:#6380cf;text-align:center;margin:6px 0 0!important}.welcome-actions{display:flex;justify-content:center;gap:18px;margin-top:13px}.welcome-revisit{font-size:10px;color:#8290a9;padding:5px}.welcome-revisit:hover{color:var(--blue)}.mode-rules-copy{color:#657694}.mode-rules-copy p{margin:9px 0}.skill-modal{max-width:520px}.skill-dialog-subtitle{color:var(--muted);font-size:10px!important;margin:4px 0 0!important}.skill-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.skill-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;padding:14px 12px;border:1px solid #e1e7f3;border-radius:14px;background:#fbfcff;min-height:150px}.skill-card:hover,.skill-card.offered{border-color:#91a9ed;background:#f1f5ff}.skill-card:disabled{opacity:.45;cursor:not-allowed}.skill-card-icon{font-size:24px;color:#5877d3;line-height:1}.skill-card strong{font-size:13px}.skill-card small{font-size:10px;color:#8491a8;line-height:1.55}.skill-card b{font-size:10px;color:#6f82b2;margin-top:auto}.skill-hint{font-size:10px!important;color:#8290a7;line-height:1.7!important;background:#f5f7fc;border-radius:10px;padding:9px 11px;margin-bottom:0!important}.skill-tool{color:#6079cd}.donation-details{margin-top:14px;text-align:left;border-top:1px solid #eef1f7;padding-top:10px}.donation-details summary{cursor:pointer;list-style:none;text-align:center;color:#8793aa;font-size:12px;line-height:1.5;padding:4px 0}.donation-details summary::-webkit-details-marker{display:none}.donation-details summary:before{content:'♡';margin-right:5px;color:#b4a37d}.donation-copy{text-align:center;color:#96a1b4;font-size:10px;margin:10px 0}.donation-image{display:block;width:min(100%,240px);margin:0 auto;border-radius:10px;border:1px solid #edf0f6}
@media(max-width:600px){.mode-choice-grid{grid-template-columns:1fr;gap:8px}.mode-choice-card{min-height:0;padding:12px;display:grid;grid-template-columns:31px 1fr;column-gap:10px;align-items:center}.mode-choice-icon{grid-row:span 2}.mode-choice-card small{grid-column:2}.skill-card-grid{grid-template-columns:1fr}.skill-card{min-height:0;display:grid;grid-template-columns:30px 1fr auto;align-items:center;column-gap:8px}.skill-card-icon{grid-row:span 2}.skill-card small{grid-column:2}.skill-card b{grid-column:3;grid-row:1/3}.rank-sources button{padding-inline:6px;font-size:10px}}
.skill-target-hint{color:#5e78d1}.skill-cancel-tool{color:#ba7d68}.skill-cancel-tool:hover{background:#fff0eb;color:#a85d47}.skill-targeting .board-wrap{box-shadow:0 0 0 2px #8ca5eb,0 14px 40px #2f437814}.skill-targeting canvas{cursor:crosshair}.skill-targeting .input-hint{color:#5e78d1;font-weight:600}

/* Donation gallery: keep the QR code and the new Phoebe thank-you art together. */
.donation-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:start;max-width:470px;margin:0 auto}.donation-gallery .donation-image{display:block;width:100%;max-width:240px;margin:0 auto;border-radius:10px;border:1px solid #edf0f6}.donation-gallery .donation-thanks{aspect-ratio:484/421;object-fit:cover}
@media(max-width:390px){.donation-gallery{grid-template-columns:1fr;gap:8px}.donation-gallery .donation-image{max-width:220px}}

/* Warm visual layer. No external fonts, UI libraries or background images. */
:root{--bg:#faf6ef;--surface:#fffdf9;--ink:#424557;--muted:#7c7b87;--line:#eae4db;--blue:#747dab;--blue-soft:#efedf6;--gold:#b58e4c;--shadow:0 10px 34px #65514208;--radius:24px}
body{background:radial-gradient(ellipse at 7% 10%,#f0eaf6 0,transparent 41%),radial-gradient(ellipse at 94% 78%,#f6edd9 0,transparent 40%),#faf6ef}
.shell{width:min(1060px,calc(100% - 56px))}.header{height:104px}.brand{display:flex;gap:13px;align-items:center}.header h1{font-size:22px;letter-spacing:.4px;gap:10px;font-weight:750}.brand-mark{background:none;box-shadow:none;color:#a2a4bd;width:38px;height:38px}.brand-mark svg{width:36px;height:36px;stroke:none;fill:none}.brand-caption{font-size:11px;letter-spacing:.5px;color:#8d8892;border-left:1px solid #ddd7d7;padding-left:13px}.header-tools{gap:7px}.nickname-button{background:#fffaf380;font-size:11px;max-width:122px;color:#777382}.audio-toggle,.sound-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;font-size:11px;color:#777585;background:#fffcf680;border:1px solid #e7e1de;border-radius:100px;min-height:34px;padding:6px 11px;width:auto;height:34px}.audio-toggle svg,.sound-toggle svg{width:16px;height:16px}.audio-toggle[aria-pressed="true"]{background:#eeeaf4;border-color:#dcd8e9;color:#68739d}.sound-toggle[aria-pressed="false"]{opacity:.65}.audio-toggle:hover,.sound-toggle:hover{background:#ece8f3}.icon-button{color:#89818a}.primary{background:#7882ac;box-shadow:0 5px 15px #747dab22;color:#fffefb;border-radius:14px}.primary:hover{background:#69769f}.secondary{background:#f2eee8;color:#746f7a}.secondary:hover{background:#ebe5df}button:focus-visible,canvas:focus-visible,input:focus-visible{outline-color:#a6a8c9}.layout{max-width:910px;grid-template-columns:minmax(0,1fr) 304px;gap:32px}.in-lobby .layout{display:none}.card{background:#fffdf8;border-color:#ece5db;box-shadow:var(--shadow)}.card-title h2{color:#565466}.ranking-card{border-top:3px solid #c6bfd8}.rank-row{border-color:#eee9e2}.rank-empty,.rank-person small,.rank-head{color:#8a8690}.rank-empty small{color:#928b92}.tabs{background:#f3efe9}.tabs button{color:#8e8593}.tabs button.active{color:#737aa2;background:#fffdf9}.my-rank{background:#f1eef6;color:#827a93}.my-rank strong{color:#737da6}.mode-pill{background:#f1eee9;color:#898187}.mode-pill.online{background:#edf2e9;color:#758772}.rank-connection{font-size:10px}.evolution-tile{position:relative}.evolution-tile:hover{background:#f3eee6}.evolution-tile.locked{background:#f3f0eb}.evolution-tile.locked .tile-lock{color:#c7bdb3}.evolution-tile.current small{background:#eeebf5;color:#737ba2}.board-wrap{border:1px solid #ddd5c8;box-shadow:0 15px 45px #7e6d4e0d;background:#fffdf8}.board-wrap:after{box-shadow:inset 0 0 0 5px #faf6ed}.scorebar{padding:14px 17px;margin-bottom:14px;background:#fffdf880;border:1px solid #eee6dc;border-radius:18px}.score-cell>span{color:#968a8d}.score-cell:first-child strong{color:#8181ab}.score-cell:nth-child(2){border-color:#e4dbd2}.score-cell small{color:#a69998}.tool-button{color:#8c8190}.tool-button:hover{background:#ede7ef;color:#736b87}.input-hint{color:#a09196}.next-tag{color:#9d8d99}.toast{background:#686b86ee}.modal{background:#fffcf7;border-color:#e8dfd6;box-shadow:0 22px 90px #4f435633}.modal::backdrop{background:#433b524a;backdrop-filter:blur(4px)}.end-warm{background:#f2eee8;color:#938177;border:1px solid #eee4d7}.end-summary{color:#90818c}.end-cup{color:#bb9b61}.end-score{color:#7f83aa}input{border-color:#e3d9d1;background:#fffdf9;color:#615567}input::placeholder{color:#b0a1a7}.detail-image{background:none}.detail-image img{object-fit:contain}.help-demo{color:#b4a399}footer{max-width:100%;color:#a69a9b;font-size:10px;margin-top:22px;padding-bottom:8px}.onboarding~.layout+footer{margin-top:24px}
/* Three calm screens, not three stacked sections. */
.start-screen.onboarding{position:relative;inset:auto;z-index:auto;display:block;padding:0;background:none;overflow:visible;width:100%;color:var(--ink)}.guide-top{display:flex;justify-content:space-between;align-items:center;margin:10px 4px 18px;min-height:27px}.guide-note{display:flex;align-items:center;gap:8px;font-size:11px;color:#91858a;letter-spacing:1px}.guide-note svg{width:18px;height:18px;color:#c3b6c4}.skip-guide{font-size:11px;color:#99909a;padding:7px 10px;min-height:32px}.skip-guide:hover{color:#6f7098}.skip-guide span{margin-left:6px}.welcome-sheet{border:1px solid #e8e0d5;background:#fffdf8;border-radius:30px;box-shadow:0 16px 50px #73605608;position:relative;overflow:hidden}.welcome-sheet:before{content:"";position:absolute;inset:8px;border:1px solid #f2ebe3;border-radius:23px;pointer-events:none}.guide-pane{padding:42px 48px 26px;min-height:536px;position:relative}.guide-pane h2{font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:40px;font-weight:600;line-height:1.45;letter-spacing:1px;margin:13px 0 12px;text-align:left;color:#494858;outline:none}.guide-pane h2 em{font-style:normal;color:#8484ac}.eyebrow{font-size:10px;letter-spacing:2px;color:#a99577}.guide-lede{font-size:13px;color:#969099;line-height:1.9;margin:0}.rules-layout{display:grid;grid-template-columns:1.22fr 1fr;gap:20px}.rule-list{display:grid;gap:19px;margin:25px 0 0}.rule-item{display:flex;gap:13px;align-items:flex-start}.rule-no{width:25px;height:25px;display:grid;place-items:center;flex:none;border:1px solid #e4d9cb;border-radius:50%;background:#fbf6ee;color:#b69a70;font-family:Georgia,serif;font-size:13px}.rule-item h3{margin:0 0 5px;font-size:13px;font-weight:600;line-height:1.5;color:#665e6d}.rule-item p{margin:0;font-size:11px;color:#948794;line-height:1.8}.rules-picture{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;background:radial-gradient(ellipse at center,#f0edf5 0,transparent 67%);padding:8px 0 12px}.rules-friend{width:180px;height:193px;object-fit:contain;filter:drop-shadow(0 12px 9px #9084a71a);transform:rotate(-5deg);z-index:1}.picture-note{font-family:"Songti SC","SimSun",serif;font-size:13px;letter-spacing:3px;color:#ae968c;margin:22px 0 17px}.picture-flower{position:absolute;right:13px;top:20px;transform:rotate(20deg);color:#ded3e7}.picture-flower svg{width:47px;height:47px}.merge-example{display:flex;align-items:center;justify-content:center;gap:10px;background:#f8f5ef;border:1px solid #ebe4d8;border-radius:18px;padding:10px 17px;max-width:100%}.merge-example img{width:47px;height:49px;object-fit:contain}.merge-example span{font-size:17px;font-weight:300;color:#b5a68f}.guide-bottom{margin-top:30px;padding-top:22px;border-top:1px solid #eee6dc;display:flex;align-items:center;justify-content:space-between;gap:15px}.guide-bottom>span{font-size:11px;color:#a09296;line-height:1.7}.guide-next{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-width:170px;min-height:45px;font-size:12px;font-weight:500;padding:11px 18px;white-space:nowrap}.guide-next svg{width:15px;height:15px}.guide-navigation{display:flex;align-items:center;justify-content:center;gap:18px;margin:23px auto 0}.guide-navigation button{display:flex;align-items:center;gap:8px;font-size:11px;color:#a8a0ab;padding:8px;min-height:34px}.guide-navigation button span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;background:#eee9e5;font-size:10px;color:#a99b96}.guide-navigation button[aria-current="step"]{color:#797b9f}.guide-navigation button[aria-current="step"] span{background:#e5e3f0;color:#797b9f}.guide-navigation i{width:36px;height:1px;background:#e6ddd4}
/* Small thumbnails only; full textures stay on the priority loader. */
.levels-pane h2{font-size:34px;margin:12px 0 5px}.levels-pane .guide-bottom{margin-top:22px}.guide-levels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:25px 0 0}.level-card{border:1px solid #eee8df;border-radius:16px;background:#fcfaf6;padding:10px 7px 9px;display:flex;align-items:center;flex-direction:column;gap:4px;min-width:0;position:relative}.level-card .level-badge{align-self:flex-start;font-size:9px;letter-spacing:.6px;color:#a197a5;padding-left:3px}.level-card img{width:100%;height:67px;object-fit:contain;transition:transform .2s}.level-card:hover img{transform:translateY(-3px)}.level-card strong{font-size:10px;font-weight:500;white-space:nowrap;color:#827786}.level-card.final-level{grid-column:span 2;background:linear-gradient(125deg,#fbf5e7,#fffdf8);border-color:#ead8b6}.final-level .level-badge,.final-level strong{color:#b28f58}.final-level:after{content:"终极形态";position:absolute;right:9px;top:10px;font-size:9px;color:#ba9c6b}.final-level img{height:67px}.level-card[aria-busy="true"] img{opacity:.25}
.welcome-pane{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:30px;min-height:536px;padding-top:40px;padding-bottom:40px}.welcome-pane h2{font-size:43px;line-height:1.45;margin:20px 0 18px}.welcome-copy .guide-lede{margin-bottom:26px}.start-button{width:238px;display:flex;align-items:center;justify-content:center;gap:35px;font-size:14px;font-weight:600;letter-spacing:2px;border-radius:14px;min-height:50px;box-shadow:0 7px 20px #777faa20}.start-button svg{width:16px;height:16px}.start-status{width:238px;margin:15px 0 0;align-items:flex-start;gap:7px;font-size:10px;color:#a296a6}.start-status progress{width:100%;height:2px;background:#ece7ec}.start-status progress::-webkit-progress-bar{background:#ece7ec}.start-status progress::-webkit-progress-value{background:#b6acc8}.start-status progress::-moz-progress-bar{background:#b6acc8}.welcome-revisit{font-size:10px;color:#ada0a8;padding:0;margin-top:24px;text-decoration:underline;text-decoration-color:#ded4d6;text-underline-offset:4px}.welcome-art{position:relative;min-height:350px;display:flex;align-items:center;justify-content:center}.art-wash{position:absolute;width:320px;height:310px;border-radius:48% 52% 62% 38% / 46% 57% 43% 54%;background:linear-gradient(140deg,#ede8f4,#f9efde);transform:rotate(10deg)}.welcome-friend{z-index:1;position:relative;object-fit:contain;width:286px;height:211px;filter:drop-shadow(0 13px 10px #87759517);animation:little-float 6s ease-in-out infinite}.art-caption{position:absolute;bottom:6px;font-family:"Songti SC","SimSun",serif;font-size:13px;letter-spacing:3px;color:#b49a86}.art-flower{position:absolute;z-index:2;color:#fffdf5}.flower-a{width:54px;height:54px;top:12px;right:8px;transform:rotate(18deg)}.flower-b{width:32px;height:32px;left:2px;bottom:55px;color:#d5c4d8;transform:rotate(-15deg)}.art-star{position:absolute;top:60px;left:4px;font-size:30px;color:#c9aa75;font-weight:300}@keyframes little-float{0%,100%{transform:translateY(2px) rotate(-2deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@media(min-width:1200px){.shell{padding-top:0}.board-wrap{width:min(100%,440px,calc((100svh - 275px)*.666667))}}
@media(max-width:900px){.shell{width:calc(100% - 36px)}.brand-caption{display:none}.guide-pane{padding:32px 30px 24px}.guide-pane h2{font-size:34px}.welcome-pane h2{font-size:36px}.welcome-art{min-height:320px}.art-wash{width:265px;height:270px}.welcome-friend{width:250px;height:184px}.guide-bottom{margin-top:24px}.layout{gap:24px}.rules-friend{width:160px;height:174px}.picture-note{margin-top:18px}}
@media(max-width:760px){.header{height:77px}.header h1{font-size:19px;gap:6px;letter-spacing:0}.brand-mark{width:30px;height:30px}.brand-mark svg{width:30px;height:30px}.header-tools{gap:5px}.nickname-button{display:none}.audio-toggle,.sound-toggle{min-height:32px;height:32px;font-size:10px;padding:5px 8px}.header-tools .sound-toggle{width:auto}.header-tools .icon-button:not(.sound-toggle){width:29px}.audio-toggle svg,.header-tools .sound-toggle svg{width:14px;height:14px}.layout{grid-template-columns:1fr}.play-panel{max-width:500px;margin:auto}.board-wrap{width:min(100%,440px,calc((100svh - 239px)*.666667))}.scorebar{margin:0 0 12px;padding:10px 12px}.score-cell:first-child strong{font-size:29px}.sidebar{max-width:500px;width:100%;margin:auto}.guide-top{margin:2px 2px 14px}.guide-note{font-size:10px;letter-spacing:.2px}.guide-note svg{width:16px;height:16px}.skip-guide{font-size:10px;padding:6px}.guide-pane{padding:26px 25px 22px;min-height:0}.welcome-sheet{border-radius:25px}.welcome-sheet:before{border-radius:19px;inset:6px}.rules-layout{grid-template-columns:1fr}.rules-copy{z-index:1}.guide-pane h2{font-size:30px;line-height:1.4;margin:12px 0 10px}.guide-lede{font-size:12px;line-height:1.8}.rule-list{margin-top:21px;gap:17px}.rule-item{gap:10px}.rule-item h3{font-size:12px}.rule-item p{font-size:10px}.rules-picture{min-height:110px;padding:5px 0 0;background:none;flex-direction:row;gap:8px;justify-content:center;margin-top:0}.rules-friend{width:82px;height:94px;transform:rotate(-5deg)}.picture-note,.picture-flower{display:none}.merge-example{padding:9px 12px;gap:7px}.merge-example img{width:33px;height:39px}.merge-example span{font-size:13px}.guide-bottom{margin-top:18px;padding-top:17px;gap:10px;align-items:center}.guide-bottom>span{font-size:9px;max-width:150px}.guide-next{min-width:130px;font-size:11px;gap:12px;min-height:43px;padding:10px 13px}.guide-navigation{gap:6px;margin-top:17px}.guide-navigation i{width:15px}.guide-navigation button{padding:5px;gap:5px;font-size:10px}.guide-navigation button span{width:20px;height:20px}.levels-pane h2{font-size:27px;line-height:1.5}.guide-levels{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:19px}.level-card{padding:6px 4px;border-radius:12px;gap:3px}.level-card img{height:53px}.level-card strong{font-size:9px}.level-card .level-badge{font-size:8px}.level-card.final-level{grid-column:span 2}.final-level img{height:53px}.final-level:after{font-size:8px;top:7px;right:6px}.levels-pane .guide-bottom{align-items:flex-end}.welcome-pane{display:flex;flex-direction:column-reverse;gap:5px;padding-top:15px;padding-bottom:23px}.welcome-copy{width:100%;text-align:center}.welcome-copy .eyebrow{font-size:9px;letter-spacing:1px}.welcome-pane h2{text-align:center;font-size:32px;margin:11px 0 11px;letter-spacing:1px}.welcome-copy .guide-lede{font-size:11px;margin:0 0 17px}.welcome-art{min-height:178px;width:100%;flex-shrink:0}.art-wash{width:210px;height:174px}.welcome-friend{width:200px;height:147px}.art-caption{display:none}.flower-a{width:35px;height:35px;top:4px;right:24px}.flower-b{width:23px;height:23px;bottom:19px;left:34px}.art-star{font-size:20px;left:26px;top:24px}.start-button{width:min(100%,260px);min-height:46px;margin:0 auto;font-size:13px}.start-status{width:min(100%,260px);margin:11px auto 0;align-items:center;font-size:9px}.welcome-revisit{margin-top:16px}.eyebrow{font-size:9px}footer{font-size:9px;margin-top:20px}.guide-pane .guide-bottom>span{max-width:135px}}
@media(max-width:370px){.shell{width:calc(100% - 22px)}.header h1{font-size:17px}.header-tools{gap:2px}.audio-toggle,.sound-toggle{padding:4px 6px}.header-tools .icon-button:not(.sound-toggle){width:26px}.guide-pane{padding-left:20px;padding-right:20px}.guide-pane h2{font-size:27px}.guide-note{font-size:9px}.guide-navigation{gap:1px}.guide-bottom .guide-next{min-width:122px}.welcome-pane h2{font-size:29px}}
@media(max-height:700px) and (max-width:760px){.header{height:65px}.guide-top{margin-bottom:10px}.guide-pane{padding-top:21px;padding-bottom:19px}.guide-pane h2{font-size:27px}.rule-list{gap:13px;margin-top:16px}.rules-picture{min-height:83px}.rules-friend{height:78px;width:72px}.guide-bottom{margin-top:13px;padding-top:14px}.welcome-art{min-height:134px}.art-wash{height:131px;width:175px}.welcome-friend{width:160px;height:118px}.welcome-copy .guide-lede{margin-bottom:13px}.guide-levels{margin-top:14px}.level-card img,.final-level img{height:43px}.guide-navigation{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.welcome-friend{animation:none}.level-card img{transition:none}}
/* Keep quiet secondary copy legible against the warm paper. */
.guide-lede,.rule-item p{color:#817686}.guide-bottom>span,.guide-note,.skip-guide,.welcome-revisit{color:#8a7c86}.level-card strong{color:#746778}.guide-navigation button{color:#8b8190}.start-status{color:#8e8094}
@media(max-width:760px){.levels-pane h2 em{display:block}.levels-pane h2{font-size:26px;line-height:1.4}}

/* The music state stays visible without a large extra panel. */
.lobby-music{margin-top:13px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.lobby-music small{font-size:10px;color:#897d8e;line-height:1.6;max-width:270px}.audio-toggle{white-space:nowrap}.audio-toggle[data-music-state="error"],.audio-toggle[data-music-state="blocked"]{color:#9b655d;background:#fff2eb}
@media(max-width:760px){.lobby-music{align-items:center;margin-top:10px}.lobby-music small{max-width:100%;font-size:9px}.header-tools .audio-toggle{font-size:10px;padding-inline:6px}.header-tools .audio-toggle svg{width:15px}}
@media(max-width:370px){.header h1{font-size:14px;white-space:nowrap}.header .brand-mark,.header .brand-mark svg{width:24px;height:24px}.header .brand-mark{flex-shrink:0}}

/* Player material editor. The editor is an optional layer over the original game UI. */
.asset-editor-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 11px;border:1px solid #e7e1de;border-radius:100px;background:#fffcf680;color:#777585;font-size:11px;white-space:nowrap}
.asset-editor-trigger svg{width:16px;height:16px}.asset-editor-trigger:hover{background:#ece8f3;color:#68739d;border-color:#dcd8e9}
.asset-modal{width:min(94vw,820px);max-width:820px;padding:27px 30px}.asset-modal .modal-top{margin-bottom:10px}.asset-modal .modal-top h2{margin-bottom:3px}.asset-kicker{margin:0!important;color:#a39192!important;font-size:10px!important;line-height:1.4!important}.asset-intro{margin:0 0 20px!important;color:#867984;font-size:11px!important;line-height:1.75!important;max-width:670px}
.asset-profile-section,.asset-editor-section{border-top:1px solid #eee5dc;padding-top:17px;margin-top:18px}.asset-profile-section{border:1px solid #ede5dc;border-radius:15px;padding:15px 16px;margin-top:0;background:#fffaf5}.asset-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.asset-section-heading h3{margin:0;color:#655a69;font-size:13px;font-weight:650}.asset-section-note,.asset-storage-status{font-size:10px;color:#a39498;line-height:1.4}.asset-storage-status[data-state="ready"]{color:#6e8e78}.asset-storage-status[data-state="error"]{color:#a76e69}
.asset-profile-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.asset-profile-select-label{display:flex;flex:1;flex-direction:column;gap:6px;color:#8e7e88;font-size:10px}.asset-profile-select-label select{width:100%;min-height:38px;padding:8px 30px 8px 11px;border:1px solid #e3d9d1;border-radius:10px;background:#fffdf9;color:#62586a;font:inherit;font-size:12px}.asset-profile-buttons,.asset-share-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.asset-profile-buttons .secondary,.asset-share-row .secondary{margin:0;min-height:36px;padding:8px 11px;border-radius:9px;font-size:10px}.asset-profile-buttons .danger-button{color:#a46f6f}.asset-share-row{margin-top:12px;padding-top:11px;border-top:1px solid #eee5dc}.asset-share-row .asset-default-button{margin-left:auto;padding:5px 2px;font-size:10px;text-decoration:underline;text-underline-offset:3px}.asset-import-label{cursor:pointer;display:inline-flex;align-items:center;position:relative}.asset-import-label input{position:absolute;inset:0;width:1px;height:1px;opacity:0;pointer-events:none}
.asset-file-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.asset-file-card,.asset-audio-card{border:1px solid #eee6df;border-radius:12px;background:#fffdf9;padding:9px}.asset-file-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:9px;align-items:center;min-width:0}.asset-file-preview{width:54px;height:56px;border-radius:9px;background:radial-gradient(ellipse,#f1edf6,transparent 72%);object-fit:contain}.asset-file-meta{min-width:0;display:flex;flex-direction:column;gap:4px}.asset-file-name{font-size:10px;font-weight:650;color:#6e6372;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-file-status{font-size:9px;color:#a0929b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-file-status.custom{color:#718b78}.asset-file-label,.asset-audio-label{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:27px;padding:5px 8px;border-radius:7px;background:#f1eee9;color:#777087;font-size:9px;cursor:pointer;white-space:nowrap}.asset-file-label:hover,.asset-audio-label:hover{background:#ebe5df;color:#69739b}.asset-file-label input,.asset-audio-label input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.asset-audio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.asset-audio-row{display:block}.asset-audio-card{display:flex;align-items:center;gap:11px}.asset-audio-card .asset-audio-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#f1edf6;color:#7c82a7;flex:none}.asset-audio-card .asset-audio-icon svg{width:16px;height:16px}.asset-audio-main{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;flex:1}.asset-audio-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.asset-audio-name{font-size:10px;font-weight:650;color:#6e6372;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-audio-status{font-size:9px;color:#a0929b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-audio-status.custom{color:#718b78}.asset-editor-status{min-height:18px;margin:14px 0 0!important;padding:8px 10px;border-radius:9px;background:#f4f0ea;color:#8d7f89;font-size:10px!important;line-height:1.5!important}.asset-editor-status:empty{display:none}
@media(max-width:760px){.asset-editor-trigger{width:34px;height:32px;padding:5px;border-radius:10px}.asset-editor-trigger span{display:none}.asset-modal{width:min(96vw,620px);padding:22px 18px}.asset-profile-row{align-items:stretch;flex-direction:column}.asset-profile-buttons{justify-content:flex-end}.asset-share-row .asset-default-button{margin-left:0}.asset-file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-audio-grid{grid-template-columns:1fr}.asset-section-heading{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:390px){.asset-modal{padding:20px 14px}.asset-file-grid{grid-template-columns:1fr}.asset-file-card{grid-template-columns:58px minmax(0,1fr)}.asset-file-preview{width:58px;height:60px}.asset-profile-buttons,.asset-share-row{gap:5px}.asset-profile-buttons .secondary,.asset-share-row .secondary{padding-inline:8px;font-size:9px}}
.asset-file-actions,.asset-audio-actions{display:flex;align-items:center;gap:5px;min-width:0}.asset-remove-button{border:0;background:none;color:#a39498;font-size:9px;padding:4px 2px;white-space:nowrap}.asset-remove-button:hover:not(:disabled){color:#a36f72;text-decoration:underline;text-underline-offset:3px}.asset-remove-button:disabled{opacity:.45;cursor:not-allowed}
/* DIY board: compact, clearly local, and independent from the public leaderboard. */
.rank-sources button{min-width:0;padding-inline:10px}
.asset-diy-rank{border:1px solid #e0d9ea;border-radius:15px;padding:15px 16px;margin-top:18px;background:#fbf8f5}
.asset-diy-rank-note{margin:0 0 8px!important;color:#94878f;font-size:10px!important;line-height:1.65!important}
.asset-diy-rank-list{min-height:0}.asset-diy-rank-list .rank-empty{min-height:92px}.asset-diy-rank-list .rank-row{padding-top:7px;padding-bottom:7px;min-height:42px}.asset-diy-rank-list .rank-name{max-width:220px}.asset-diy-rank-list .rank-person small{color:#9b929d}.asset-diy-rank .view-all{margin-top:8px}
@media(max-width:390px){.rank-sources button{padding-inline:6px;font-size:10px}.asset-diy-rank{padding-inline:12px}}
