/*K365-core*/

:root { --bg:#0a0e1c; --glass:rgba(255,255,255,.05); --stroke:rgba(120,150,255,.25); --txt:#e6ecff; --sub:#9fb0d8; --dim:#a4adcd; }
* { box-sizing:border-box; margin:0; padding:0; }
body { min-height:100vh; background:radial-gradient(1200px 600px at 80% -10%, rgba(77,125,255,.14), transparent 60%), radial-gradient(900px 500px at -10% 110%, rgba(160,107,255,.12), transparent 60%), var(--bg); color:var(--txt); font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif; }
.wrap { max-width:980px; margin:0 auto; padding:20px 16px 64px; }
.back { display:inline-block; color:var(--sub); text-decoration:none; font-size:13px; padding:8px 14px; border:1px solid var(--stroke); border-radius:999px; background:var(--glass); }
.back:hover { color:#fff; border-color:rgba(150,170,255,.55); }
h1 { text-align:center; font-size:26px; letter-spacing:1px; margin:18px 0 6px; }
.sub { text-align:center; color:var(--sub); font-size:13px; margin-bottom:18px; }
.tabs { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:18px; }
.tab { padding:8px 14px; font-size:13px; border-radius:999px; border:1px solid var(--stroke); background:var(--glass); color:var(--sub); cursor:pointer; transition:.18s; user-select:none; }
.tab:hover { color:#fff; }
.tab.on { color:#fff; font-weight:700; background:linear-gradient(135deg,#3f63e0,#7d4fe0); border-color:transparent; }
.card { background:var(--glass); border:1px solid var(--stroke); border-radius:16px; padding:18px; backdrop-filter:blur(10px); }
.card h2 { font-size:16px; margin-bottom:4px; }
.card .tip { color:var(--dim); font-size:12px; margin-bottom:12px; }
textarea { width:100%; min-height:120px; background:rgba(0,0,0,.35); border:1px solid var(--stroke); border-radius:10px; color:var(--txt); font:13px/1.6 ui-monospace,Consolas,monospace; padding:10px 12px; outline:none; resize:vertical; }
textarea:focus { border-color:rgba(140,170,255,.6); }
.row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:10px 0; }
button { padding:9px 16px; border-radius:10px; border:1px solid var(--stroke); background:rgba(255,255,255,.06); color:var(--txt); font-size:13px; font-weight:600; cursor:pointer; transition:.18s; }
button:hover { border-color:rgba(150,170,255,.6); transform:translateY(-1px); }
button.p { background:linear-gradient(135deg,#3f63e0,#7d4fe0); border:none; }
input[type=text],input[type=number],input[type=date],select { background:rgba(0,0,0,.35); border:1px solid var(--stroke); border-radius:10px; color:var(--txt); font:13px ui-monospace,Consolas,monospace; padding:9px 12px; outline:none; }
input:focus { border-color:rgba(140,170,255,.6); }
label { font-size:13px; color:var(--sub); display:inline-flex; align-items:center; gap:5px; cursor:pointer; }
.out { margin-top:10px; background:rgba(0,0,0,.35); border:1px solid var(--stroke); border-radius:10px; padding:10px 12px; font:13px/1.7 ui-monospace,Consolas,monospace; white-space:pre-wrap; word-break:break-all; min-height:20px; }
.err { color:#ff7a8a; }
.kv { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:8px; font-size:13px; margin-top:10px; }
.kv div { background:rgba(0,0,0,.3); border:1px solid var(--stroke); border-radius:10px; padding:9px 12px; word-break:break-all; }
.kv b { color:var(--sub); font-weight:600; display:block; font-size:11px; margin-bottom:3px; }
.sw { width:46px; height:34px; border-radius:10px; border:1px solid var(--stroke); vertical-align:middle; }
.foot { text-align:center; color:var(--dim); font-size:11px; margin-top:28px; letter-spacing:.5px; }
.hl { background:rgba(255,215,122,.28); border-radius:3px; }
.tabgrp { width:100%; text-align:center; font-size:11px; color:var(--dim); letter-spacing:2px; margin:6px 0 2px; }
.wheelwrap { position:relative; width:min(320px,86vw); margin:6px auto 0; }
.wheelstage { position:relative; width:100%; }
#wheel { display:block; width:100%; height:auto; filter:drop-shadow(0 10px 30px rgba(0,0,0,.45)); }
.wheelhub { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:74px; height:74px; border-radius:50%; background:linear-gradient(135deg,#3f63e0,#7d4fe0); color:#fff; font-weight:800; font-size:19px; letter-spacing:1px; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 0 0 6px rgba(10,14,28,.92),0 6px 22px rgba(77,125,255,.5); transition:transform .15s; user-select:none; }
.wheelhub:hover { transform:translate(-50%,-50%) scale(1.07); }
.wheelhub:active { transform:translate(-50%,-50%) scale(.92); }
.wheelres { text-align:center; font-size:22px; font-weight:800; margin-top:14px; min-height:30px; }
.wheelres.pop { animation:popres .45s cubic-bezier(.22,1.4,.36,1) both; }
@keyframes popres { from { transform:scale(.6); opacity:0; } to { transform:scale(1); opacity:1; } }
.wheelres.gold { background:linear-gradient(120deg,#ffd166,#fff3c4 45%,#ffc53d); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 0 14px rgba(255,197,61,.45)); }
.wheelquip { text-align:center; font-size:13px; color:var(--sub); margin-top:6px; min-height:18px; animation:fadeUp .4s .3s both; }
.wheelquip.quipin { animation:fadeUp .25s both; }
#wheel.wheelwin { filter:drop-shadow(0 0 26px rgba(255,197,61,.55)); }
.sndtog { position:absolute; top:2px; right:2px; width:30px; height:30px; border-radius:50%; background:rgba(0,0,0,.35); border:1px solid var(--stroke); display:flex; align-items:center; justify-content:center; font-size:14px; cursor:pointer; z-index:3; transition:.15s; }
.sndtog:hover { border-color:rgba(150,170,255,.6); transform:scale(1.08); }
.sndtog.off { opacity:.55; }
button.p.king { background:linear-gradient(135deg,#ff6bd6,#a06bff); animation:fadeUp .4s both; }
button.p.shot { background:linear-gradient(135deg,#2ee6a8,#4dd0ff); color:#06131f; animation:fadeUp .4s both; }
button.p.wallp { background:linear-gradient(135deg,#6ea0ff,#a06bff); animation:fadeUp .4s both; }
.chip.recent { opacity:.55; }
.chip.recent::before { content:'🍽'; font-size:9px; margin-right:2px; }
.rtog { display:flex; align-items:center; gap:6px; color:#8d98b8; font-size:12px; margin:10px 0 4px; cursor:pointer; user-select:none; }
.rtog input { accent-color:#ffc53d; width:15px; height:15px; }
.festband { margin:10px auto 0; text-align:center; font-size:13px; color:#ffd76b; padding:7px 14px; border-radius:10px; background:linear-gradient(90deg,rgba(255,59,59,.14),rgba(255,197,61,.14),rgba(255,59,59,.14)); border:1px solid rgba(255,197,61,.35); animation:fadeUp .5s both; }
#t_box svg { max-width:88%; height:auto; border-radius:10px; background:#fff; padding:10px; }
.ddrow { display:flex; align-items:center; gap:10px; padding:9px 12px; margin:6px 0; border-radius:10px; background:rgba(255,255,255,.04); border:1px solid rgba(120,140,200,.15); }
.ddnm { flex:1; font-weight:600; color:#dfe7ff; }
.ddd { color:#8d98b8; font-size:12px; }
.dds { color:#9db8ff; font-size:13px; }
.dds .ddn { color:#ffc53d; font-size:16px; }
.ddx { cursor:pointer; color:#667; padding:0 4px; } .ddx:hover { color:#ff6b9f; }
.coinpop { position:absolute; right:-6px; top:-10px; color:#ffc53d; font-weight:800; font-size:15px; z-index:5; pointer-events:none; text-shadow:0 0 12px rgba(255,197,61,.6); animation:coinup 1.4s ease-out both; }
@keyframes coinup { 0%{opacity:0;transform:translateY(6px) scale(.7)} 18%{opacity:1;transform:translateY(0) scale(1.15)} 40%{transform:scale(1)} 100%{opacity:0;transform:translateY(-30px) scale(1)} }
.coinpop.crit { color:#ff6b9f; font-size:19px; text-shadow:0 0 14px rgba(255,107,159,.7); }
.coinpop.bonus { color:#ff9d4d; top:18px; font-size:13px; text-shadow:0 0 12px rgba(255,157,77,.6); }
button.p.chef { background:linear-gradient(135deg,#ff9f43,#ffc53d); color:#241a06; font-weight:700; animation:fadeUp .4s both, chefBreath 1.7s .5s infinite; }
@keyframes chefBreath { 0%,100% { box-shadow:0 0 0 0 rgba(255,175,67,.55); transform:scale(1); } 50% { box-shadow:0 0 16px 5px rgba(255,175,67,.28); transform:scale(1.05); } }
@media (prefers-reduced-motion:reduce){ button.p.chef { animation:fadeUp .4s both; } }
.cf { position:absolute; top:6px; width:8px; height:14px; border-radius:2px; opacity:.95; pointer-events:none; z-index:5; animation:cffall 1.5s ease-in forwards; }
@keyframes cffall { from { transform:translateY(0) rotate(0deg); opacity:1; } to { transform:translateY(360px) rotate(760deg); opacity:0; } }
/*K198 stage 居中修复*/
select { cursor:pointer; }
/*K191 发射台改版*/
h1 { font-size:30px; background:linear-gradient(120deg,#7ea6ff,#c9a6ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
#q { display:block; width:100%; max-width:420px; margin:16px auto 2px; padding:11px 18px; border-radius:999px; background:rgba(0,0,0,.35); border:1px solid var(--stroke); color:var(--txt); font-size:14px; outline:none; transition:.18s; }
#q:focus { border-color:rgba(140,170,255,.65); box-shadow:0 0 0 3px rgba(77,125,255,.12); }
.sec { display:flex; align-items:center; gap:10px; margin:26px 2px 12px; font-size:13px; color:var(--sub); letter-spacing:1px; font-weight:600; }
.sec::after { content:''; flex:1; height:1px; background:linear-gradient(90deg,rgba(120,150,255,.25),transparent); }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:12px; }
.tcard { position:relative; display:flex; align-items:center; gap:12px; padding:14px; border-radius:16px; background:var(--glass); border:1px solid var(--stroke); cursor:pointer; overflow:hidden; transition:.18s cubic-bezier(.22,.61,.36,1); animation:fadeUp .35s cubic-bezier(.22,.61,.36,1) both; }
.tx { flex:1; min-width:0; overflow:hidden; }
.tbadge { position:absolute; top:0; right:0; font-size:11px; font-weight:800; padding:3px 9px 4px; border-radius:0 16px 0 12px; background:linear-gradient(135deg,#ff6bd6,#ffc53d); color:#231230; letter-spacing:.5px; }
.tbadge.new { background:linear-gradient(135deg,#4d7dff,#4dd0ff); color:#0a1a33; }
.tbadge.cmn { background:rgba(46,230,168,.16); color:#2ee6a8; border-top:1px solid rgba(46,230,168,.3); border-left:1px solid rgba(46,230,168,.3); }
.chipwrap { display:flex; flex-wrap:wrap; gap:7px; margin:4px 0 12px; }
.chip { display:inline-flex; align-items:center; gap:6px; padding:5px 11px; border-radius:999px; font-size:13px; background:rgba(255,255,255,.06); border:1px solid var(--stroke); color:var(--txt); animation:fadeUp .25s cubic-bezier(.22,.61,.36,1) both; }
.chip b { cursor:pointer; color:var(--dim); font-weight:700; font-size:11px; line-height:1; padding:3px 4px; border-radius:50%; transition:.15s; }
.chip b:hover { color:#ff7a8a; background:rgba(255,122,138,.14); }
.tcard:hover { transform:translateY(-3px); border-color:rgba(150,170,255,.5); box-shadow:0 12px 28px rgba(0,0,0,.35); }
.tic { width:44px; height:44px; flex:none; border-radius:13px; display:flex; align-items:center; justify-content:center; font-size:22px; background:linear-gradient(135deg,rgba(77,125,255,.28),rgba(160,107,255,.22)); }
.tnm { font-size:14px; font-weight:700; color:var(--txt); display:block; }
.tnd { font-size:11px; color:var(--dim); display:block; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.thead { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.thead h2 { font-size:18px; margin:0; }
.thead .tip { color:var(--dim); font-size:12px; margin:0; }
.tback { white-space:nowrap; flex:none; }
.thead { flex-wrap:wrap; }
@keyframes fadeUp { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media (max-width:560px){ h1{font-size:24px} .card{padding:14px} .grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:9px} .tnd{display:none} }
/*K394: 工具页对齐 skin 三件套 (24报①: 工具页不吃 skin, outline:none 零兜底=WCAG 2.4.7 挂)*/
::selection{background:rgba(160,107,255,.4);color:#fff}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(140,165,255,.22);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(140,165,255,.4)}
:focus-visible{outline:2px solid rgba(160,107,255,.6)!important;outline-offset:2px!important}

/*K399: eat 菜单删除钮 17x17 热区扩到 33x33, 零视觉*/
.ddx{position:relative}.ddx::after{content:"";position:absolute;inset:-8px}

.chip b{position:relative}.chip b::after{content:"";position:absolute;inset:-8px}
