:root{
  --apple-bg:#f5f5f7;
  --apple-surface:rgba(255,255,255,.72);
  --apple-solid:#fff;
  --apple-text:#1d1d1f;
  --apple-secondary:#6e6e73;
  --apple-tertiary:#86868b;
  --apple-line:rgba(0,0,0,.08);
  --apple-blue:#0071e3;
  --apple-blue-hover:#0077ed;
  --apple-violet:#6e5ce7;
  --apple-red:#ff3b30;
  --apple-radius:28px;
  --apple-shadow:0 24px 80px rgba(0,0,0,.08),0 2px 12px rgba(0,0,0,.04);
}
*{-webkit-tap-highlight-color:transparent}
body{color:var(--apple-text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif;background:var(--apple-bg);letter-spacing:-.01em}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 18% 4%,rgba(110,92,231,.13),transparent 33%),radial-gradient(circle at 90% 12%,rgba(0,113,227,.10),transparent 30%),linear-gradient(180deg,#fbfbfd 0%,#f5f5f7 55%,#eef0f4 100%)}
.ambient{filter:blur(70px);opacity:.22}.ambient-a{background:#a596ff}.ambient-b{background:#78bfff}
button,input,select,textarea{font-family:inherit}
button{transition:transform .18s ease,background-color .2s ease,box-shadow .2s ease,opacity .2s ease}
button:not(:disabled):active{transform:scale(.97)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(0,113,227,.38);outline-offset:2px}
.glass,.card{background:var(--apple-surface);border:1px solid rgba(255,255,255,.85);box-shadow:var(--apple-shadow);-webkit-backdrop-filter:saturate(180%) blur(28px);backdrop-filter:saturate(180%) blur(28px)}
.play-shell{width:min(1240px,94vw);padding-top:24px}
.brand{gap:12px;margin-bottom:18px}.brand-mark{width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,#26262b,#050507);box-shadow:0 10px 30px rgba(0,0,0,.18);font-size:15px}.brand p{color:var(--apple-tertiary);font-size:10px;font-weight:600}.brand h1{font-size:19px;letter-spacing:-.035em}.secure-badge{border:0;background:rgba(255,255,255,.62);color:#3a3a3c;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);font-weight:600;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.game-layout{grid-template-columns:minmax(0,1fr) 380px;gap:24px}.welcome{margin-bottom:2px}.welcome span{font-size:15px;letter-spacing:-.02em}.welcome strong{color:var(--apple-secondary);background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);font-weight:600}.welcome em{color:var(--apple-violet);font-weight:750}
.wheel-wrap{width:min(600px,70vh,84vw)}.wheel{filter:drop-shadow(0 30px 35px rgba(28,30,38,.18));transition:transform 4.8s cubic-bezier(.16,1,.3,1)}.pointer{top:1.5%;border-left-width:17px;border-right-width:17px;border-top:42px solid #1d1d1f;filter:drop-shadow(0 5px 5px rgba(0,0,0,.22))}.hub{width:102px;height:102px;border:7px solid rgba(255,255,255,.92);background:linear-gradient(145deg,#8a7af2,#5c4bd4);box-shadow:0 12px 32px rgba(81,65,190,.32),inset 0 1px 0 rgba(255,255,255,.3)}.hub span{font-size:29px}.hub small{opacity:.72}.status{color:var(--apple-secondary);font-size:13px}
.batch-control{border-radius:22px;padding:15px 18px}.batch-control label{font-size:14px}.batch-control small{color:var(--apple-tertiary)}.stepper{height:44px;border-radius:12px;background:rgba(118,118,128,.10);box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}.stepper button{min-width:44px;color:var(--apple-blue);font-weight:500}.stepper input{color:var(--apple-text)}
.primary{min-height:44px;border-radius:12px;background:var(--apple-blue);box-shadow:none;font-weight:650}.primary:hover{background:var(--apple-blue-hover)}.secondary{min-height:44px;border-radius:12px;color:var(--apple-blue);background:rgba(0,113,227,.09);font-weight:600}
.history-panel{border-radius:var(--apple-radius)}.panel-title{padding:22px 24px}.panel-title span{color:var(--apple-tertiary);font-weight:600}.panel-title h2{font-size:23px;letter-spacing:-.04em}.panel-title b{color:var(--apple-violet)}.history{padding:8px 18px 20px}.record{padding:13px 7px;border-color:var(--apple-line)}.record-index{border-radius:10px;background:#f0effb;color:var(--apple-violet)}.record strong{font-weight:650}.record time{color:var(--apple-tertiary)}
.modal-backdrop{background:rgba(25,25,28,.42);-webkit-backdrop-filter:saturate(150%) blur(16px);backdrop-filter:saturate(150%) blur(16px)}.result-card{border:1px solid rgba(255,255,255,.9);border-radius:34px;background:rgba(255,255,255,.92);box-shadow:0 40px 120px rgba(0,0,0,.24);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}.result-card>p{color:var(--apple-secondary)}.result-card h2{font-size:31px;letter-spacing:-.04em}.result-spark{color:var(--apple-violet);font-size:36px}.result-card time{color:var(--apple-tertiary)}.result-history-block{border-color:var(--apple-line);border-radius:15px;background:rgba(245,245,247,.72)}.result-history-head{border-color:var(--apple-line);color:var(--apple-text)}.result-history-head span{color:var(--apple-tertiary)}.result-history-item{border-color:var(--apple-line)}.result-history-item>span{background:#e9e7fb;color:var(--apple-violet)}
.admin-page{background:var(--apple-bg)}.admin-shell{grid-template-columns:236px 1fr}.sidebar{background:rgba(245,245,247,.82);color:var(--apple-text);border-right:1px solid var(--apple-line);-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px)}.sidebar .brand-mark{background:#1d1d1f;color:#fff}.sidebar nav button{min-height:44px;color:var(--apple-secondary);font-weight:550;border-radius:11px}.sidebar nav button:hover{background:rgba(0,0,0,.04)}.sidebar nav button.active{color:var(--apple-text);background:rgba(0,0,0,.075);font-weight:650}.sidebar footer{color:var(--apple-secondary)}.admin-main{padding:32px 38px}.topbar h1{font-size:32px;letter-spacing:-.045em}.topbar p{color:var(--apple-secondary)}.card{border-radius:22px;border-color:rgba(0,0,0,.05);background:rgba(255,255,255,.78)}.card h2{letter-spacing:-.035em}.field label{color:#3a3a3c}.field input,.field select,.field textarea{min-height:44px;border:1px solid rgba(0,0,0,.13);border-radius:11px;background:rgba(255,255,255,.86);transition:border-color .2s ease,box-shadow .2s ease}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--apple-blue);box-shadow:0 0 0 3px rgba(0,113,227,.12)}.generated-link{background:rgba(0,113,227,.07);color:#005eb8}.data-table th{color:var(--apple-tertiary)}.data-table th,.data-table td{border-color:var(--apple-line)}.pill{background:rgba(52,199,89,.12);color:#167c31}.pill.off{background:rgba(255,59,48,.1);color:#c92b22}.actions button{min-height:34px;color:var(--apple-blue);background:rgba(0,113,227,.08)}.login-card{border-radius:28px}.dialog{background:rgba(25,25,28,.38);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dialog>.card{border-radius:26px}.toast{border-radius:14px;background:rgba(29,29,31,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
@keyframes apple-enter{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.game-layout,.admin-main>.view:not([hidden]),.result-card{animation:apple-enter .42s cubic-bezier(.2,.8,.2,1) both}
@media(max-width:900px){.admin-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--apple-line)}.sidebar nav button{min-height:44px}.game-layout{grid-template-columns:minmax(0,1fr);gap:18px}.history-panel{width:100%;margin-top:14px}}
@media(max-width:600px){.play-shell{width:100%;padding:14px 14px 34px}.brand{padding:0 4px}.brand-mark{width:46px;height:46px;border-radius:14px}.wheel-wrap{width:min(94vw,56vh);margin:auto}.hub{width:86px;height:86px}.hub span{font-size:25px}.batch-control{padding:15px;border-radius:20px}.history-panel{border-radius:24px}.result-card{border-radius:28px}.admin-main{padding:20px 14px}.topbar h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.wheel{transition:none!important}}
