/* 三角洲行动校园抽奖的共用视觉与自适应布局。 */
:root{color-scheme:dark;--bg:#0c1210;--panel:#131c18;--text:#edf0e9;--muted:#96a098;--green:#c1ed69;--line:#ffffff18;--mono:"Bahnschrift","Consolas",monospace}
*{box-sizing:border-box} [hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Bahnschrift","Microsoft YaHei","PingFang SC",sans-serif;font-size:14px;line-height:1.6}
button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}button{color:inherit}h1,h2,p,dl,dd{margin:0}button{border-radius:0}::selection{background:var(--green);color:var(--bg)}
.site-header{height:90px;padding:0 clamp(20px,3.6vw,66px);display:flex;gap:25px;align-items:center;background:#090e0de8;border-bottom:1px solid var(--line)}
.game-brand{display:flex;align-items:center;flex-shrink:0}.game-brand img{width:184px;height:auto;display:block}.brand-divider{height:31px;width:1px;background:#ffffff28}.school-brand{display:flex;align-items:center;gap:12px}.school-brand img{width:45px;height:45px}.school-brand>span{font-size:16px;letter-spacing:2px;font-weight:600}.school-brand small{display:block;font-size:6px;letter-spacing:1px;color:var(--muted);margin-top:3px}.header-link{margin-left:auto;font-size:12px;color:#b6beb6;display:flex;gap:10px;align-items:center;white-space:nowrap}.header-link:hover{color:var(--green)}
.lottery-page{background-image:radial-gradient(ellipse at 46% 40%,#29433335,transparent 55%),linear-gradient(#ffffff02 1px,transparent 1px);background-size:auto,100% 5px}.lottery-page main{max-width:1580px;margin:auto;padding:0 clamp(20px,3.6vw,66px)}
.event-strip{padding:20px 0;display:flex;justify-content:space-between;color:#b1bab1;font-size:11px;letter-spacing:1px;border-bottom:1px solid var(--line)}.event-strip span{display:flex;align-items:center;gap:10px}.event-strip b{color:#536454;font-weight:400;margin:0 6px}.status-dot{width:6px;height:6px;background:var(--green);display:inline-block;box-shadow:0 0 8px #c1ed6960}
.lottery-layout{display:grid;grid-template-columns:minmax(200px,.83fr) minmax(370px,1.7fr) minmax(260px,.93fr);gap:clamp(18px,2.3vw,40px);padding:38px 0 29px;align-items:start}.eyebrow{font:10px var(--mono);letter-spacing:2px;color:var(--muted)}.eyebrow span{color:var(--green);padding:0 6px}.intro{padding-top:9px;min-width:0}.intro h1{font-size:clamp(35px,3.1vw,56px);letter-spacing:2px;line-height:1.23;margin:22px 0 17px;font-weight:800}.intro h1 em{font-style:normal;color:var(--green)}.intro-copy{color:var(--muted);font-size:12px;letter-spacing:.5px;white-space:nowrap}.intro-line{height:2px;width:35px;background:var(--green);margin:25px 0}.stock-stats{display:flex;gap:36px}.stock-stats dt{font-size:11px;color:var(--muted);letter-spacing:1px}.stock-stats dd{font:40px var(--mono);margin-top:9px}.stock-stats small{font:11px "Microsoft YaHei",sans-serif;color:var(--muted);margin-left:7px}.operator-art{margin-top:21px;height:279px;background:linear-gradient(180deg,var(--bg),transparent 20%,transparent 65%,var(--bg)),linear-gradient(90deg,#0c121033,transparent 50%,#0c121030),url('official/operator-wolf.jpg') 65% center/auto 100% no-repeat;position:relative}.art-caption{position:absolute;bottom:14px;left:0;border-left:2px solid var(--green);padding-left:12px}.art-caption span{font-size:12px;display:block;letter-spacing:4px}.art-caption b{font:8px var(--mono);color:var(--muted);letter-spacing:2px}
.wheel-column{min-width:0;text-align:center}.wheel-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#bec8bc;max-width:540px;margin:0 auto 13px;padding:0 6px}.micro{font-size:10px;letter-spacing:1px;color:var(--muted)}.wheel-stage{position:relative;width:min(100%,540px);aspect-ratio:1;margin:0 auto 20px}.wheel-ticks{position:absolute;inset:1.5%;border-radius:50%;background:repeating-conic-gradient(from -.1deg,#829b7f77 0deg .25deg,transparent .25deg 5deg);mask:radial-gradient(circle,transparent 66%,#000 66.2%,#000 69%,transparent 69.2%)}.wheel-stage:before{content:"";position:absolute;inset:0;border:1px solid #77977720;border-radius:50%}.wheel-stage:after{content:"";position:absolute;inset:7.6%;border:1px solid #ffffff30;border-radius:50%;pointer-events:none}.wheel-shell{position:absolute;inset:5.3%;border-radius:50%;border:7px solid #1b2620;box-shadow:0 0 0 1px #55624c,0 15px 50px #0008;overflow:hidden;background:#19221c}.wheel-rotor{width:100%;height:100%;will-change:transform}.wheel-rotor svg{display:block;width:100%;height:100%;overflow:visible}.wheel-pointer{position:absolute;z-index:4;top:1.2%;left:50%;transform:translateX(-50%);width:24px;height:42px;background:var(--green);clip-path:polygon(0 0,100% 0,100% 45%,50% 100%,0 45%);filter:drop-shadow(0 2px 3px #000)}.wheel-coordinate{position:absolute;font:8px var(--mono);color:#879680;letter-spacing:1px;background:var(--bg);padding:1px 5px;z-index:1}.coordinate-top{top:-8px;left:50%;transform:translateX(-50%)}.coordinate-left{left:-8px;top:50%;transform:translateY(-50%)}.coordinate-right{right:-8px;top:50%;transform:translateY(-50%)}.wheel-hub{position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);width:22%;height:22%;border-radius:50%;border:5px solid #26362b;box-shadow:0 0 0 1px #c2d4ad80,0 3px 20px #0007;background:#111b15;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--green);font-size:12px;font-weight:700;letter-spacing:1px}.wheel-hub:hover:not(:disabled){background:#20301d}.delta-symbol{display:block;width:39px;height:32px;clip-path:polygon(50% 0,100% 100%,0 100%,32% 44%,43% 62%,32% 81%,70% 81%,50% 45%,40% 62%,30% 43%);background:var(--green)}.wheel-hub:disabled .delta-symbol{opacity:.65}.wheel-label{font-family:"Microsoft YaHei",sans-serif;font-weight:700;letter-spacing:.3px}.wheel-label-light{fill:#eff5e8}.wheel-label-dark{fill:#102117}.wheel-sub-label{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:1px}.sector-path{stroke:#0c1712;stroke-width:1.4;stroke-linejoin:round}.sector-path.winner{filter:brightness(1.5)}
.primary-button{background:var(--green);border:1px solid var(--green);color:#10180b;display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:50px;padding:13px 27px;font-weight:700;letter-spacing:2px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));transition:background .15s,filter .15s}.primary-button:hover:not(:disabled){background:#d3ff80}.primary-button:active:not(:disabled){filter:brightness(.85)}.primary-button:disabled{background:#394433;border-color:#394433;color:#a3af9b}.spin-button{width:70%;max-width:324px;font-size:18px;position:relative;min-height:55px}.button-arrow{position:absolute;right:24px;font-size:26px;font-weight:400}.spin-status{font-size:12px;color:#c2ccbf;margin-top:15px;min-height:20px}.wheel-note{font-size:10px;color:#899683;margin-top:6px;letter-spacing:1px}
.prizes-panel{border-top:2px solid #bfdb9055;padding:20px 19px 0;background:linear-gradient(180deg,#1a251b99,#15201722);min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:8px}.panel-heading .eyebrow{font-size:8px;color:#859580}.panel-heading h2{font-size:22px;letter-spacing:1px;margin-top:5px}.pool-badge{color:#bfccad;border:1px solid #b6d78233;padding:2px 7px;font-size:9px;white-space:nowrap}.prize-columns{display:flex;justify-content:space-between;font-size:10px;color:#8a9985;padding-bottom:9px;border-bottom:1px solid var(--line)}.prize-list{padding:0;margin:0;list-style:none;max-height:510px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#53684b transparent}.prize-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #ffffff0d;position:relative;min-height:46px}.prize-number{font:10px var(--mono);color:var(--swatch);align-self:flex-start;padding-top:4px;flex-shrink:0;width:16px}.prize-name{font-size:12px;white-space:normal;overflow-wrap:anywhere;display:block;line-height:1.45}.prize-stock{font-size:10px;color:#99a690;display:block;margin-top:2px}.prize-probability{margin-left:auto;white-space:nowrap;font:12px var(--mono);color:#d1ddc7;align-self:center}.prize-progress{position:absolute;bottom:0;left:26px;height:1px;background:var(--swatch);opacity:.55;max-width:calc(100% - 26px)}.prize-footnote{display:flex;align-items:center;gap:14px;padding:17px 0 19px;color:#90a087}.prize-footnote p{font-size:10px;line-height:1.8}.small-cross{font:26px var(--mono);font-weight:200;color:var(--green)}.empty-pool{font-size:14px;text-align:center;padding:50px 0;color:var(--muted)}.empty-pool a{display:inline-block;font-size:12px;color:var(--green);margin-top:12px}
.session-bar{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0}.session-bar>.micro{padding-left:12px;border-left:2px solid var(--green);white-space:nowrap}.session-bar p{font-size:12px;color:#ccd4c7;overflow-wrap:anywhere}.session-bar button{margin-left:auto;white-space:nowrap}.text-button{background:transparent;border:0;color:#aebba6;font-size:12px;padding:8px 0}.text-button:hover{color:var(--green)}.site-footer{max-width:1580px;margin:auto;padding:23px clamp(20px,3.6vw,66px);display:flex;justify-content:space-between;gap:14px;font-size:9px;color:#869080;letter-spacing:.4px}.site-footer a{color:#b4bcae;margin-left:5px}.site-footer a:hover{color:var(--green)}.notice{padding:12px 16px;border:1px solid #d3c48355;background:#403a1c;color:#f0df9e;font-size:13px;margin:15px 0}.notice.success{border-color:#98bc6144;background:#24311b;color:#c1ed69}
.result-dialog{width:min(460px,calc(100% - 32px));padding:42px 30px 32px;border:1px solid #91aa63;color:var(--text);background:radial-gradient(ellipse at 50% 25%,#3b512f55,transparent 65%),#111a14;text-align:center;box-shadow:0 30px 100px #0009}.result-dialog::backdrop{background:#050a08cc;backdrop-filter:blur(9px)}.dialog-close{position:absolute;right:12px;top:6px;border:0;background:none;color:var(--muted);padding:6px;font-size:28px}.result-emblem{width:94px;height:94px;margin:28px auto;border:1px solid #c1ed6940;display:grid;place-items:center;transform:rotate(45deg);background:#baff6210}.result-emblem .delta-symbol{transform:rotate(-45deg);width:48px;height:43px}.result-kicker{font-size:13px;color:#bed793;letter-spacing:4px;margin-top:32px}.result-dialog h2{font-size:30px;margin:10px 0 12px;overflow-wrap:anywhere}.result-copy{color:var(--muted);font-size:12px;margin-bottom:26px}.result-dialog>.primary-button{width:100%}
.admin-main{max-width:1080px;margin:0 auto;padding:42px 30px 20px;min-height:calc(100vh - 150px)}.admin-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.admin-title h1{font-size:34px;letter-spacing:2px;margin:9px 0}.admin-title p{color:var(--muted);font-size:13px}.save-indicator{font-size:12px;color:var(--muted)}.save-indicator.dirty{color:var(--green)}.config-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0;display:flex;justify-content:space-between;align-items:center;gap:18px}.probability-controls{display:flex;align-items:center;gap:20px}.field-heading{font-size:12px;color:#b5c0ae}.segmented{display:flex;background:#070d09;border:1px solid #3c4a35;padding:3px;gap:3px}.segmented button{border:0;background:transparent;color:var(--muted);padding:8px 18px;font-size:12px}.segmented button[aria-pressed="true"]{background:#c1ed691f;color:var(--green);box-shadow:inset 0 -1px var(--green)}.admin-total{font-size:12px;color:var(--muted);white-space:nowrap}.admin-total strong{font:22px var(--mono);color:var(--text);margin-right:3px}.admin-total span{color:#53614c;margin:0 10px}.form-hint{font-size:12px;color:var(--muted);margin:16px 0 22px}.editor-panel{border:1px solid #303d2a;background:#111a13}.editor-head,.editor-row{display:grid;grid-template-columns:minmax(190px,1fr) 126px 126px 100px 42px;gap:22px;padding:14px 24px;align-items:center}.editor-head{font-size:11px;color:#99ab91;background:#1d291b;border-bottom:1px solid #303d2a}.editor-row{border-bottom:1px solid #ffffff09;transition:background .2s}.editor-row:hover{background:#c1ed6905}.editor-row.is-excluded .item-name{color:#83907c}.name-field{display:flex;align-items:center;gap:12px}.item-index{font:11px var(--mono);color:var(--swatch);min-width:17px}.editor-row input:not([type="checkbox"]),.advanced-content select{width:100%;background:#0c130d;border:1px solid #3c4b33;color:#e4eddd;padding:9px 10px;border-radius:0;font-size:13px;min-width:0}.editor-row input:focus{border-color:var(--green)}.editor-row input:disabled{color:#77866d;border-color:#253220;opacity:.7}.probability-field{position:relative}.probability-field input{padding-right:25px!important}.probability-field>span{position:absolute;right:10px;top:9px;color:#89977f;font-size:13px;pointer-events:none}.switch{display:flex;align-items:center;gap:8px;cursor:pointer;position:relative;width:max-content}.switch input{position:absolute;opacity:0;width:34px;height:22px;margin:0;cursor:pointer;z-index:1}.switch-track{width:34px;height:19px;background:#3a4337;border:1px solid #718166;position:relative;display:inline-block}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:11px;height:11px;background:#a7b29e;transition:transform .15s}.switch input:checked+.switch-track{background:#8db24c33;border-color:#a5ce62}.switch input:checked+.switch-track:after{background:var(--green);transform:translateX(15px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--green);outline-offset:4px}.switch-label{font-size:11px;color:#a2b097}.delete-button{font-size:22px;border:0;background:none;color:#8b997f;padding:0 8px;min-height:36px}.delete-button:hover{color:#ffb2a0}.add-button{width:100%;text-align:left;border:0;background:none;color:var(--green);padding:19px 25px;font-size:13px}.add-button:hover{background:#c1ed6909}.add-button>span{margin-right:12px}.editor-summary{display:flex;justify-content:space-between;gap:15px;padding:14px 24px;background:#1b2618;color:#98aa8f;font-size:11px}.editor-summary strong{font:16px var(--mono);color:var(--green);margin-left:12px}.editor-empty{padding:40px;text-align:center;color:var(--muted)}.advanced-settings{border-bottom:1px solid var(--line);font-size:12px}.advanced-settings summary{padding:20px 0;cursor:pointer;color:#bbc8b1}.advanced-settings summary span{font-size:10px;color:#7f9077;margin-left:14px}.advanced-content{padding:0 0 20px;color:var(--muted)}.advanced-content label{display:flex;align-items:center;gap:16px;margin-bottom:12px}.advanced-content select{width:145px}.admin-actions{display:flex;align-items:center;gap:22px;margin-top:26px}.admin-actions .primary-button{margin-left:auto;min-width:176px}.secondary-button{border:1px solid #536148;background:none;color:#bfccaf;padding:12px 18px;font-size:12px;min-height:46px}.secondary-button:hover{border-color:var(--green);color:var(--green)}.storage-hint{font-size:11px;color:#8e9c85;margin-top:20px}
.prize-list{max-height:600px}
.delta-symbol{clip-path:none;background:url('official/delta-emblem.png') center/contain no-repeat}
.editor-row input[type="number"]{appearance:textfield;-moz-appearance:textfield}.editor-row input[type="number"]::-webkit-inner-spin-button,.editor-row input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
@media(min-width:1151px) and (max-height:900px){.site-header{height:74px}.event-strip{padding:15px 0}.lottery-layout{padding-top:26px;gap:28px}.wheel-stage{width:min(100%,calc(100vh - 340px))}.intro h1{font-size:40px;margin:18px 0 14px}.intro-line{margin:20px 0}.operator-art{height:220px}.prizes-panel{padding:14px 16px 0}.panel-heading{margin-bottom:14px}.prize-item{padding:7px 0;min-height:43px}.prize-footnote{padding:12px 0}.wheel-heading{max-width:440px}}
@media(min-width:1650px){.lottery-layout{padding-top:48px;padding-bottom:40px}.operator-art{height:300px}.wheel-stage{width:560px}.wheel-heading{max-width:560px}}
@media(max-width:1150px){.site-header{gap:18px}.game-brand img{width:158px}.school-brand small{font-size:5px}.lottery-layout{grid-template-columns:minmax(330px,1.6fr) minmax(260px,1fr);gap:28px}.intro{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;position:relative;min-height:170px;padding:0 0 23px;border-bottom:1px solid var(--line)}.intro>.eyebrow{grid-column:1}.intro h1{font-size:38px;margin:12px 0;z-index:1}.intro h1 br{display:none}.intro h1 em{margin-left:20px}.intro-copy{grid-column:1}.intro-line{display:none}.stock-stats{grid-column:2;grid-row:1/4;margin:0 18px 0 30px;position:relative;z-index:1}.operator-art{position:absolute;right:0;top:-25px;bottom:-1px;width:49%;height:auto;margin:0;opacity:.25;background-position:70% 35%;background-size:cover}.art-caption{display:none}.prizes-panel{padding-top:18px}.wheel-stage{margin-top:19px}.wheel-column{padding:0 15px}.site-footer{font-size:9px}}
@media(max-width:760px){.site-header{height:74px;gap:13px;padding:0 20px}.game-brand img{width:132px}.school-brand{gap:7px}.school-brand img{width:33px;height:33px}.school-brand>span{font-size:11px;letter-spacing:0}.school-brand small{display:none}.brand-divider{height:25px}.header-link{font-size:10px;gap:5px}.event-strip{font-size:10px;padding:15px 0;letter-spacing:0}.event-strip span{gap:6px}.event-strip b{margin:0 1px}.lottery-layout{grid-template-columns:1fr;gap:28px;padding-top:25px}.intro{grid-column:auto;min-height:170px;padding-bottom:22px}.intro h1{font-size:34px;line-height:1.22}.intro h1 br{display:block}.intro h1 em{margin:0}.intro>.eyebrow{font-size:8px;letter-spacing:1.3px}.intro-copy{font-size:10px;white-space:normal}.stock-stats{gap:21px;margin:0 0 0 10px}.stock-stats dd{font-size:30px}.stock-stats dt{font-size:10px}.stock-stats small{font-size:9px;margin-left:4px}.operator-art{width:60%;opacity:.24;background-position:60% 30%}.wheel-column{padding:0 5px}.wheel-heading{padding:0;font-size:12px;margin-bottom:15px}.wheel-stage{max-width:490px;margin-top:16px;margin-bottom:19px}.wheel-hub{font-size:10px;gap:5px;border-width:3px}.delta-symbol{width:28px;height:24px}.wheel-shell{border-width:5px}.wheel-pointer{width:19px;height:34px}.spin-button{font-size:17px;min-height:52px}.spin-status{font-size:11px}.wheel-note{font-size:10px}.prizes-panel{padding:20px 20px 0}.prize-list{max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.prize-item{min-width:0;gap:8px}.prize-name{font-size:11px}.prize-probability{font-size:11px}.prize-number{font-size:9px;width:13px}.prize-progress{left:21px}.panel-heading{margin-bottom:15px}.panel-heading h2{font-size:20px}.prize-footnote{padding:14px 0}.prize-footnote p br{display:none}.prize-footnote p{word-spacing:10px}.session-bar{gap:12px;flex-wrap:wrap;padding:15px 0}.session-bar p{flex:1;font-size:11px}.session-bar button{font-size:10px}.site-footer{font-size:8px;flex-direction:column;gap:5px;padding:20px}.admin-main{padding:28px 20px 20px}.admin-title{margin-bottom:22px}.admin-title h1{font-size:29px}.config-toolbar{align-items:start;flex-direction:column;gap:16px}.probability-controls{gap:13px}.segmented button{padding:8px 14px}.admin-total{font-size:11px}.admin-total strong{font-size:19px}.form-hint{font-size:11px;line-height:1.9}.editor-head{display:none}.editor-row{grid-template-columns:1fr 1fr 86px 32px;gap:10px;padding:16px}.name-field{grid-column:1/4}.delete-button{grid-column:4;grid-row:1;justify-self:end}.stock-field{grid-column:1;grid-row:2}.probability-field{grid-column:2;grid-row:2}.toggle-field{grid-column:3/5;grid-row:2;justify-self:end}.stock-field:before{content:"剩余数量"}.probability-field:before{content:"爆率 %"}.toggle-field:before{content:"允许抽取"}.stock-field:before,.probability-field:before,.toggle-field:before{display:block;font-size:10px;color:#8d9e83;margin-bottom:6px}.probability-field>span{top:31px}.switch{min-height:38px}.editor-row input:not([type="checkbox"]){font-size:12px}.editor-summary{flex-direction:column;gap:7px;padding:14px 16px;font-size:10px}.admin-actions{flex-wrap:wrap;gap:16px}.admin-actions .primary-button{min-width:140px;flex:1;margin-left:0;font-size:13px}.admin-actions .text-button{font-size:11px}.secondary-button{font-size:11px;padding:11px 12px}.storage-hint{font-size:10px;line-height:1.9}}
@media(max-width:400px){.site-header{gap:9px;padding:0 16px}.game-brand img{width:113px}.school-brand>span{font-size:10px}.school-brand img{width:29px;height:29px}.header-link{font-size:9px}.header-link>span:first-child{display:none}.brand-divider{display:none}.lottery-page main{padding:0 17px}.event-strip{font-size:9px}.intro h1{font-size:30px}.stock-stats{gap:15px}.stock-stats dd{font-size:26px}.prizes-panel{padding:17px 13px 0}.prize-list{gap:0 12px}.prize-item{gap:5px}.prize-name{font-size:10px}.prize-probability{font-size:10px}.intro-copy{font-size:9px}.spin-status{font-size:10px}.wheel-hub{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
