:root{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:#562d1c}*{box-sizing:border-box}body{margin:0;background:#fff3db}input,textarea,select,button{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:not-allowed}body[data-page="employee"]{background:linear-gradient(135deg,#fff0d5,#fff8ed)}.scene{overflow:hidden;min-height:100vh;position:relative;max-width:1000px;margin:auto;background:radial-gradient(circle at 10% 25%,#ffd26d,transparent 29%),radial-gradient(circle at 92% 40%,#ffcb9a,transparent 34%),linear-gradient(170deg,#ff7629 0%,#ffb462 40%,#fff2d0 78%);padding:20px 18px 30px}.glow{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#fff8dd 2px,transparent 3px);background-size:70px 85px;opacity:.36}.hero{position:relative;text-align:center;z-index:2}.logo{font-size:25px;font-weight:1000;color:#fff;letter-spacing:-2px;text-shadow:0 2px 2px #ba4214}.eyebrow{font-size:12px;margin-left:8px;color:#fff6e2}.hero h1{font-size:clamp(28px,6vw,56px);margin:12px 0 6px;color:#fff9e0;text-shadow:0 4px #b83b0c,0 6px 7px #9e3317;letter-spacing:2px}.hero p{font-weight:700;color:#fff9ed;background:#f45b16;border:2px solid #ffdb9d;border-radius:40px;display:inline-block;padding:9px 18px;box-shadow:0 4px 0 #cc551e;margin:4px auto 16px}.banner{position:relative;display:block;width:min(96%,680px);margin:0 auto 12px;border-radius:16px;max-height:240px;object-fit:cover}.dino{position:absolute;left:-28px;top:175px;width:clamp(90px,23vw,190px);border-radius:42%;mix-blend-mode:multiply;transform:rotate(-12deg);z-index:1;opacity:.95}.wheel-stage{padding:13px;position:relative;z-index:2}.wheel-shell{width:min(77vw,570px);height:min(77vw,570px);border-radius:50%;margin:0 auto;position:relative;transition:transform 4s cubic-bezier(.12,.82,.17,1);filter:drop-shadow(0 10px 8px #be591b8a)}.wheel-spin{position:absolute;inset:0;transition:transform 4s cubic-bezier(.12,.82,.17,1)}.wheel-disc{position:absolute;inset:0;border-radius:50%;border:clamp(10px,2vw,18px) solid #ed701a;box-shadow:inset 0 0 0 5px #fff1bd,0 0 0 5px #ffd66f,0 0 0 9px #f98519;overflow:hidden}.wheel-disc::before{content:'';position:absolute;inset:3px;border-radius:50%;border:2px dashed #ffd98a;pointer-events:none}.wheel-prize{position:absolute;width:clamp(53px,14vw,110px);transform:translate(-50%,-50%);text-align:center;font-size:clamp(9px,2vw,15px);font-weight:800;line-height:1.18;color:#7a3215}.prize-photo{display:flex;align-items:center;justify-content:center;font-size:23px;height:clamp(30px,8vw,68px)}.prize-photo img{width:100%;height:100%;object-fit:contain}.wheel-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:22%;aspect-ratio:1;border-radius:50%;background:linear-gradient(150deg,#ffae36,#f85415);border:7px solid #fff4c7;box-shadow:0 3px 10px #77371255;z-index:3;color:white;font-weight:900;text-align:center;display:grid;place-content:center;font-size:clamp(13px,3vw,24px)}.wheel-pin{position:absolute;z-index:5;top:-18px;left:50%;transform:translateX(-50%);color:#b9350a;font-size:46px;text-shadow:0 2px #fff}.ticket,.winners{position:relative;z-index:2;background:#fffaf0ed;border:2px solid #ffcc8a;border-radius:22px;padding:20px;max-width:540px;margin:22px auto 0;box-shadow:0 9px 22px #ca681c33}.ticket h2,.winners h2{margin:0 0 12px;font-size:18px}.code-line{display:flex;gap:8px}.code-line input{width:100%;min-width:0;font-weight:800;border:2px solid #ffad58;border-radius:12px;padding:12px;background:white}.code-line button,.ticket button,.login button,.card>button{border-radius:12px;background:#f85415;color:white;padding:12px;font-weight:800;white-space:nowrap}.ticket p{font-size:13px;color:#9b6541}.draw-button{display:block;width:100%;font-size:23px;padding:15px!important;background:linear-gradient(120deg,#fc5015,#ff9323)!important;border:3px solid #ffd78c!important;box-shadow:0 5px #b9511c}.winners p{font-size:13px;border-bottom:1px solid #f4e2cc;padding-bottom:8px}.message{margin:16px 0;padding:11px 14px;background:#fff0c9;border-radius:10px;display:none;color:#a34a13;font-size:14px}.scene>footer{text-align:center;margin-top:22px;color:#ab601f;font-size:12px}.missing,.login{min-height:100vh;display:grid;place-items:center;padding:24px;text-align:center}.login{background:linear-gradient(120deg,#ffb458,#fff0d9)}.login-card{max-width:440px;background:white;border-radius:20px;padding:40px 26px;box-shadow:0 12px 40px #ae68212b}.login-card .logo{color:#f85415}.login-card input{margin:12px 0;padding:14px;border:1px solid #ddd;border-radius:10px;width:100%}.login-card p{color:#9d8474}.admin{min-height:100vh;background:#fbf7f3;color:#42332c}.admin>header{background:white;padding:18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee}.admin>header b{color:#f85415}.admin>aside{display:flex;gap:7px;flex-wrap:wrap;background:white;padding:10px 16px;border-bottom:1px solid #eee}.admin>aside button{background:#fff1e7;color:#8b4e27;border-radius:10px;padding:10px}.admin>aside .sel{background:#f85415;color:white}.admin>main{max-width:820px;margin:auto;padding:20px}.admin h1{font-size:25px;margin:7px 0}.hint{font-size:13px;color:#9a8170;line-height:1.6;margin:10px 0}.card{background:white;padding:20px;margin:18px 0;border-radius:17px;box-shadow:0 2px 12px #52271010}.card h2{font-size:18px}.card input,.card textarea,.card select,.admin main>select{width:100%;padding:12px;border:1px solid #e6d0c2;border-radius:10px;margin:7px 0 13px}.card textarea{min-height:140px}.card label{display:block;font-size:13px;font-weight:700;margin-top:11px}.card button{background:#f85415;color:white;padding:11px 14px;border-radius:10px;margin:4px}.card button.sm{font-size:12px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #f3e8e2}.item b{font-size:14px}.item small{display:block;color:#9a8170;font-size:12px;margin-top:4px}.mini{font-size:26px;width:60px;height:60px;display:grid;place-items:center;background:#fff6e9;border-radius:12px}.mini img{width:100%;height:100%;object-fit:contain}.thumb{max-width:180px}.warn{color:#ab471c;font-size:12px}.ghost{padding:9px;background:#fff2eb;color:#9c481c;border-radius:8px}@media(max-width:480px){.scene{padding:16px 8px}.dino{opacity:.65;left:-36px;top:135px}.code-line button{font-size:12px;padding:9px}.ticket{padding:15px}.wheel-prize{width:52px}.hero h1{font-size:30px}}
