:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color-scheme:dark;color:#eef4f9;background:#0c1424}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at top,#213c57,#0c1424 56%,#0a101d);color:#eef4f9}a{color:#dbeaff}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffe08c;outline-offset:4px}
.shell{max-width:1120px;margin:0 auto;padding:20px 20px 50px}.top{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:35px}.brand{font-size:25px;font-weight:900;text-decoration:none;letter-spacing:-1.5px;color:#f9f7ff}.brand b{color:#ffc65e}.top .back{border:1px solid #46627d;border-radius:99px;text-decoration:none;padding:9px 15px;font-size:13px;font-weight:700;background:#14293f}.ver{font-size:12px;color:#a4bdd1;border:1px solid #344b62;padding:6px 10px;border-radius:9px}.hero{text-align:center;max-width:790px;margin:0 auto 28px}.tag{color:#ffcf81;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:3px}.hero h1{font-size:clamp(34px,5.4vw,62px);letter-spacing:-2.5px;line-height:1.1;margin:10px 0 12px}.hero p{color:#bfd0df;line-height:1.6;font-size:16px;margin:0 auto;max-width:660px}
select,input{background:#1b344c;color:white;border:1px solid #536e84;border-radius:12px;padding:11px 13px}select{max-width:320px} .controls{display:flex;justify-content:center;align-items:center;gap:12px;margin:22px auto;flex-wrap:wrap}.controlgroup{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.muted{color:#aabed0}.sound{border:1px solid #5e7890;background:#20384b;color:white;border-radius:12px;padding:12px 15px;font-size:14px;font-weight:700}
.fun-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,.85fr);gap:22px;align-items:center;max-width:980px;margin:25px auto}.glass-card,.panel,.calc-card,.game-card{background:linear-gradient(145deg,#1a324b,#112238);border:1px solid #425b72;border-radius:24px;box-shadow:0 15px 50px #0004;padding:25px}.panel h2{margin:0 0 13px}.panel p{color:#becfe0;line-height:1.6}.clock{font-size:clamp(34px,5vw,54px);font-weight:900;letter-spacing:-2px}.clock-sub{font-size:12px;color:#9bb7ca;margin:2px 0 15px}.primary{width:100%;padding:16px 18px;border:0;border-radius:14px;background:linear-gradient(115deg,#ffe198,#eaa339);color:#3e2405;font-weight:900;box-shadow:0 5px 0 #98621f;font-size:16px}.primary:hover{filter:brightness(1.06)}.notice{border-radius:13px;background:#18344c;border:1px solid #43627b;padding:15px;margin-top:17px;min-height:62px;line-height:1.55}.help{font-size:14px;line-height:1.65;color:#b9c9d5}.disclaimer{text-align:center;color:#91a7b9;font-size:12px;margin:30px auto}.disclaimer a{color:#adc6dc}canvas#confetti{position:fixed;inset:0;pointer-events:none;z-index:30;width:100%;height:100%}
.wine .tag{color:#ffc2d9}.wine .primary{background:linear-gradient(115deg,#ffe8ce,#efa0b9);color:#44162d;box-shadow:0 5px 0 #83405c}.wheel-frame{width:min(100%,510px);aspect-ratio:1;margin:auto;position:relative;filter:drop-shadow(0 13px 26px #05070eaa)}.wheel-frame svg{width:100%;height:100%;transform:rotate(0deg);will-change:transform}.wheel-frame svg.spinmotion{transition:transform 4.3s cubic-bezier(.12,.68,.14,1)}.wheel-frame .pointer{position:absolute;top:-7px;left:50%;transform:translateX(-50%);border-left:19px solid transparent;border-right:19px solid transparent;border-top:38px solid #fff0d9;z-index:5;filter:drop-shadow(0 3px 2px #0008)}.wheel-frame .hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:72px;height:72px;border-radius:50%;border:7px solid #ffeac4;background:#a93d61;box-shadow:0 4px 15px #0008;font-size:26px}.wheeltext{font-size:20px;font-weight:900;fill:#fff7e5;paint-order:stroke;stroke:#451022;stroke-width:2px;text-anchor:middle;dominant-baseline:middle}
.wine-party[hidden]{display:none!important}.wine-party{position:fixed;inset:0;z-index:40;display:grid;place-items:center;overflow:auto;background:radial-gradient(ellipse,#4d204ad9,#090f21f3 80%);padding:16px}.party-inner{text-align:center;position:relative;background:linear-gradient(130deg,#47233e,#16283c);border:2px solid #f1b8bf;border-radius:25px;padding:28px 20px;width:min(100%,470px);box-shadow:0 25px 90px #000a}.party-inner h2{color:#ffd5b0;font-size:clamp(37px,7vw,60px);margin:8px 0}.party-inner p{font-size:21px;margin:6px 0 14px}.party-inner .close{position:absolute;right:13px;top:10px;border:1px solid #b082a0;background:#633e61;color:white;border-radius:50%;width:34px;height:34px}.wine-glass{height:280px;max-width:100%;display:block;margin:0 auto;animation:glass-pop 1.2s cubic-bezier(.25,1.5,.5,1) both,cheers-wobble 2.3s ease-in-out 1.3s infinite alternate}.wine-cork{position:absolute;left:50%;top:18%;font-size:36px;animation:cork-pop 2s ease-out forwards}.party-inner .primary{max-width:220px;margin:10px auto 0}
@keyframes glass-pop{from{opacity:0;transform:translateY(140px) scale(.3) rotate(-15deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes cheers-wobble{from{transform:rotate(-3deg)}to{transform:rotate(4deg)}}@keyframes cork-pop{0%{transform:translate(0,80px) rotate(0deg);opacity:0}20%{opacity:1}100%{transform:translate(140px,-210px) rotate(650deg);opacity:0}}
.weekend-motif{display:grid;place-items:center;min-height:360px;border-radius:23px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 35%,#4b416d,#1c2942 68%);border:1px solid #566287}.weekend-motif .disc{font-size:124px;display:block;filter:drop-shadow(0 12px 12px #0006);animation:slowrotate 9s linear infinite}.weekend-motif .floating{position:absolute;font-size:34px;animation:float 4s ease-in-out infinite alternate}.weekend-motif .floating.one{top:12%;left:15%}.weekend-motif .floating.two{top:23%;right:15%;animation-delay:1s}.weekend-motif .floating.three{bottom:17%;left:23%;animation-delay:2s}.weekend-motif .floating.four{bottom:12%;right:16%;animation-delay:1.3s}.weekend-motif .biglabel{position:absolute;bottom:30px;font-size:24px;font-weight:900;color:#ffe3a2;text-align:center;padding:0 12px}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0 23px}.countdown-grid>div{background:#0e243a;border:1px solid #405b73;border-radius:12px;text-align:center;padding:15px 4px}.countdown-grid strong{font-size:clamp(19px,3.7vw,34px);display:block;font-variant-numeric:tabular-nums}.countdown-grid small{color:#99b7cb;font-size:11px}.progress{height:14px;border-radius:99px;background:#14283b;border:1px solid #3f5a70;overflow:hidden}.progress span{display:block;height:100%;width:0%;border-radius:99px;background:linear-gradient(90deg,#db9a58,#d972b8,#8ab5fa);transition:width 1s}.progress-text{color:#a7bfd0;font-size:12px;margin:8px 0 18px;text-align:right}.weekend .primary{background:linear-gradient(100deg,#eac9ff,#ffbb90);color:#302037;box-shadow:0 5px 0 #7d5b80}
.calc-wrap{max-width:880px;margin:25px auto}.calc-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.calc-form label{display:flex;gap:8px;flex-direction:column;font-size:13px;color:#c8dced;font-weight:750}.calc-form select,.calc-form input{width:100%;min-width:0}.checkrow{display:flex;gap:11px;align-items:center;margin:18px 0;color:#e3eefd;cursor:pointer}.checkrow input{width:21px;height:21px}.calc-card h2{margin-top:0}.calcnote{color:#b9cbd8;font-size:13px;line-height:1.65}.result[hidden]{display:none}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.results-grid>div{background:#122a43;border:1px solid #496680;padding:17px 8px;border-radius:12px;text-align:center}.results-grid strong{display:block;font-size:clamp(22px,4vw,38px)}.results-grid span{font-size:12px;color:#bdd3e3}.holiday-items{list-style:none;margin:0;padding:0;display:grid;gap:7px}.holiday-items li{background:#122a43;padding:9px 12px;border-radius:8px;color:#d2e7f3;font-size:13px}.error{color:#ffd0d0}.other-tools{margin:32px auto;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.other-tools a{background:#1b344b;border:1px solid #415e76;border-radius:99px;padding:8px 12px;text-decoration:none;font-weight:750;font-size:13px}
.fun-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:30px auto;max-width:950px}.game-card{text-decoration:none;color:white;display:flex;flex-direction:column;gap:10px;transition:transform .14s,background .14s}.game-card:hover{background:#28415b;transform:translateY(-3px)}.game-card .emoji{font-size:46px}.game-card strong{font-size:23px}.game-card span{font-size:14px;color:#aec9d8;line-height:1.5}.game-card small{color:#ffe39e;font-weight:800}
@media(max-width:750px){.fun-grid{grid-template-columns:1fr}.wheel-frame{max-width:400px}.fun-list{grid-template-columns:1fr}.glass-card,.panel,.calc-card,.game-card{padding:18px}.top{margin-bottom:20px}.weekend-motif{min-height:265px}.weekend-motif .disc{font-size:88px}}
@media(max-width:520px){.calc-form{grid-template-columns:1fr}.results-grid{grid-template-columns:1fr}.hero h1{letter-spacing:-1px}.shell{padding:18px 14px 35px}.countdown-grid{gap:4px}.countdown-grid>div{padding:12px 2px}.weekend-motif .biglabel{font-size:19px}}
@media(prefers-reduced-motion:reduce){.wine-glass,.wine-cork,.weekend-motif .disc,.weekend-motif .floating{animation:none!important}.wheel-frame svg.spinmotion{transition-duration:.35s!important}}
