:root{--bg: #f7fbff;--panel: #ffffff;--text: #0b1b2b;--muted: rgba(11, 27, 43, .65);--blue: #0057b8;--blue2: #0a6cff;--line: rgba(0, 87, 184, .18);--danger: #b8002a;--shadow: 0 10px 30px rgba(0, 45, 96, .12);--radius: 16px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:radial-gradient(900px 500px at 10% 0%,rgba(10,108,255,.18),transparent 55%),radial-gradient(900px 600px at 90% 20%,rgba(0,87,184,.16),transparent 60%),var(--bg)}.app,.adminWrap{min-height:100%;padding:18px 18px 30px}.topBar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line);background:#ffffffbf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius);box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:12px}.brandMark{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;font-weight:800;letter-spacing:.06em}.brandTitle{font-weight:800;font-size:16px;line-height:1.1}.brandTagline{font-size:12px;color:var(--muted);margin-top:4px}.topBarActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#ffffffe6}.segmentedBtn{border:0;background:transparent;padding:10px 12px;cursor:pointer;color:var(--muted);font-weight:700}.segmentedBtnActive{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue2))}button{font:inherit}.primaryButton,.secondaryButton,.dangerButton{border-radius:12px;padding:10px 12px;border:1px solid var(--line);cursor:pointer;font-weight:800}.primaryButton{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border-color:#fff0}.secondaryButton{background:#ffffffe6;color:var(--text)}.dangerButton{background:#b8002a14;border-color:#b8002a40;color:var(--danger)}.primaryButton:disabled,.secondaryButton:disabled,.dangerButton:disabled{opacity:.55;cursor:not-allowed}.bigButton{width:100%;padding:16px 14px;border-radius:16px;font-size:18px;letter-spacing:.02em;box-shadow:0 14px 28px #0057b840;transition:transform .12s ease,box-shadow .2s ease}.bigButton:active{transform:translateY(1px);box-shadow:0 10px 22px #0057b833}.layout{display:grid;grid-template-columns:1fr 1.1fr;gap:18px;margin-top:18px;align-items:start}.panelTitle{font-weight:900;margin:8px 0 10px;letter-spacing:.02em}.left,.right{display:flex;flex-direction:column;gap:14px}.resultWrap{border:1px solid var(--line);background:#ffffffbf;border-radius:var(--radius);padding:12px;box-shadow:var(--shadow)}.wheelWrap{border:1px solid var(--line);background:#ffffffbf;border-radius:var(--radius);padding:14px 14px 18px;box-shadow:var(--shadow)}.wheelFrame{position:relative;display:grid;place-items:center}.wheelOuter{position:relative;width:min(420px,100%);aspect-ratio:1;border-radius:999px;background:radial-gradient(circle at 30% 20%,rgba(10,108,255,.12),transparent 60%),radial-gradient(circle at 70% 80%,rgba(0,87,184,.12),transparent 60%),#ffffffe6;border:1px solid rgba(0,87,184,.18);overflow:hidden;box-shadow:0 18px 34px #002d6024}.wheel{width:100%;height:100%;transform-origin:50% 50%}.wheelSpinning{transition:transform 4.2s cubic-bezier(.12,.88,.16,1)}.wheelSvg{width:100%;height:100%;display:block}.wheelLabel{font-size:14px;font-weight:900;fill:#0b1b2be0;letter-spacing:.01em}.wheelHub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;font-weight:900;letter-spacing:.08em;border:6px solid rgba(255,255,255,.9);box-shadow:0 16px 26px #0057b840}.wheelPointer{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:28px solid rgba(0,87,184,.95);filter:drop-shadow(0 8px 14px rgba(0,45,96,.18));z-index:2}.resultCard{animation:fadeSlideIn .26s ease both}.resultCardActive{animation:fadeSlideIn .36s ease both}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.emptyState{padding:34px 14px;border-radius:14px;border:1px dashed rgba(0,87,184,.25);background:#ffffffe6}.emptyStateTitle{font-weight:900;font-size:16px}.emptyStateHint{margin-top:6px;color:var(--muted);font-size:13px}.optionCard{display:grid;grid-template-columns:140px 1fr;gap:12px;background:var(--panel);border-radius:14px;border:1px solid rgba(0,87,184,.15);overflow:hidden}.optionCardImageWrap{background:linear-gradient(135deg,#0057b80f,#0a6cff0f);display:grid;place-items:center}.optionCardImage{width:100%;height:140px;object-fit:cover;display:block}.optionCardBody{padding:12px 12px 12px 0}.optionCardTitle{font-weight:900;font-size:18px}.optionCardMeta{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid rgba(0,87,184,.18);background:#0057b80f;font-size:12px;font-weight:800;color:#0057b8f2}.optionCardNote{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.4}.flightBoard{border-radius:var(--radius);border:1px solid rgba(0,87,184,.22);box-shadow:var(--shadow);overflow:hidden;background:linear-gradient(180deg,#0057b8eb,#0057b8db);color:#fff}.flightBoardHeader{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.16)}.flightBoardTitle{font-weight:900;letter-spacing:.08em}.flightBoardMeta{opacity:.85;font-size:12px}.flightBoardTable{padding:8px 10px 10px}.flightBoardRow{display:grid;grid-template-columns:86px 1fr 70px 110px;gap:10px;padding:10px;border-radius:12px}.flightBoardHead{opacity:.85;font-weight:900;font-size:12px;letter-spacing:.06em}.flightBoardRow:not(.flightBoardHead){background:#ffffff14;border:1px solid rgba(255,255,255,.12);margin-top:8px}.flightBoardRowSelected{background:#ffffff29;border-color:#ffffff38;animation:pulse .9s ease both}@keyframes pulse{0%{transform:scale(.985)}55%{transform:scale(1)}to{transform:scale(1)}}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.statusNormal{opacity:.9}.statusSelected{color:#ffec99;text-shadow:0 0 18px rgba(255,236,153,.25)}.errorBanner{margin-top:10px;border:1px solid rgba(184,0,42,.22);background:#b8002a12;color:#7a001c;padding:10px 12px;border-radius:12px;font-weight:700}.skeleton{color:var(--muted);padding:10px 6px;font-weight:700}.signRow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}.sign{border-radius:14px;border:1px solid rgba(0,87,184,.22);background:linear-gradient(135deg,#0057b814,#0a6cff14);padding:12px;display:flex;justify-content:space-between;align-items:center;font-weight:900;color:#0057b8f2}.signText{letter-spacing:.02em}.signArrow{font-size:18px}.adminList{margin-top:18px;display:grid;gap:12px}.adminItem{border-radius:var(--radius);border:1px solid var(--line);background:#fffc;box-shadow:var(--shadow);padding:12px}.adminItemPreview{display:flex;gap:12px;align-items:center;justify-content:space-between}.adminThumb{width:78px;height:56px;object-fit:cover;border-radius:10px;border:1px solid rgba(0,87,184,.2);background:#0057b80f}.adminItemTitle{font-weight:900}.adminItemSub{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap}.adminItemActions{margin-top:10px;display:flex;gap:10px;justify-content:flex-end}.adminForm{margin-top:12px;border-top:1px dashed rgba(0,87,184,.22);padding-top:12px;display:grid;gap:10px}.fieldLabel{font-size:12px;color:var(--muted);font-weight:800;margin-bottom:6px}.field input{width:100%;border:1px solid rgba(0,87,184,.22);border-radius:12px;padding:10px;outline:none;background:#ffffffe6}.inlineRow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.fileButton{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,87,184,.22);cursor:pointer;font-weight:900;background:#ffffffe6;color:var(--text)}.fileButton input{display:none}.adminSaveRow{display:flex;justify-content:flex-end;margin-top:4px}@media(max-width:980px){.layout{grid-template-columns:1fr}.wheelOuter{width:min(360px,100%)}.optionCard{grid-template-columns:110px 1fr}.optionCardImage{height:110px}.flightBoardRow{grid-template-columns:76px 1fr 60px 100px}}@media(max-width:520px){.topBar{padding:12px}.brandMark{width:46px;height:46px}.bigButton{font-size:16px}.wheelLabel{font-size:12px}.wheelHub{width:76px;height:76px}.flightBoardRow{grid-template-columns:70px 1fr 52px 92px;gap:8px;padding:9px 8px}}
