:root{--bg:#05251d;--panel:#0b3429;--gold:#ffd267;--cream:#ffebba;--muted:#c4d7cd;--stroke:#356f59}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#fff;background:radial-gradient(ellipse at 46% 22%,#20503b 0%,#082e23 42%,#031b16 90%);font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.shell{max-width:1600px;margin:auto;padding:18px 30px 28px}.header{height:56px;display:flex;align-items:center;gap:35px;margin-bottom:16px}.brand{font-size:25px;font-weight:800;white-space:nowrap}.brandicon,.panel-icon{color:var(--gold);font-size:34px;vertical-align:middle}.header nav{display:flex;gap:32px;margin:auto}.header nav a{font-size:14px}.header nav a:hover{color:var(--gold)}.button{border:0;border-radius:24px;padding:15px 21px;background:linear-gradient(180deg,#ffe08a,#ffc64a);color:#10291f;font-weight:800;box-shadow:0 8px 22px #f4b92825;transition:transform .2s,filter .2s}.button:hover{transform:translateY(-2px);filter:brightness(1.05)}.button:active{transform:translateY(0)}.button.small{padding:10px 19px;font-size:13px}.button.outline{background:#0a3228c4;color:#fff;border:1px solid #84ac87;box-shadow:none}.button.full{width:100%}.layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px}.left,.right{min-width:0}.hero{position:relative;overflow:hidden;min-height:548px;border-radius:26px;background:radial-gradient(ellipse at 80% 80%,#3a6b4d 0%,#0a3529 50%,#031e18 95%);border:1px solid #2c6b53;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 25% 60%,#03251fbb,transparent 70%);z-index:-1}.hero:after{content:'';position:absolute;inset:auto 0 0;height:95px;background:linear-gradient(transparent,#9cbcb14d 70%,#102d26);z-index:-1}.hero-text{position:relative;z-index:3;padding:45px 0 35px 38px;max-width:61%}.chip{display:inline-block;padding:8px 15px;background:#0c3c2cbb;border:1px solid #43745d;border-radius:24px;font-size:13px}h1{color:var(--cream);font-size:clamp(45px,4vw,68px);line-height:1.08;letter-spacing:-2.3px;margin:26px 0 8px;white-space:nowrap}.hero-sub{font-size:clamp(23px,2.3vw,35px);margin:0 0 17px;white-space:nowrap}.lead{font-size:17px;max-width:360px}.hero-buttons{display:flex;flex-direction:column;gap:13px;max-width:310px;margin-top:30px}.hero-buttons .button{width:100%}.hero-buttons .button span{margin-left:10px}.characters{position:absolute;bottom:6px;right:-20px;width:58%;max-height:89%;object-fit:contain;object-position:bottom;z-index:2;filter:drop-shadow(0 12px 18px #0007)}.tree{position:absolute;right:-24px;top:38px;width:180px;opacity:.45;filter:blur(3px)}.pine{position:absolute;top:-38px;left:-30px;width:330px;opacity:.9;transform:rotate(-10deg);z-index:2;pointer-events:none}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 20px}.benefits>div{display:flex;gap:10px;align-items:center;min-width:0}.benefits p{margin:0}.benefits strong,.benefits small{display:block}.benefits strong{font-size:13px}.benefits small{font-size:12px;color:var(--muted)}.benefit-icon{flex-shrink:0;display:grid;place-items:center;width:53px;height:53px;border-radius:50%;background:#194638;color:var(--gold);font-size:30px}.panel{border:1px solid var(--stroke);border-radius:25px;background:linear-gradient(145deg,#103e31f5,#06291ff5);box-shadow:inset 0 2px 2px #a8e2c01a,0 10px 28px #0005}.how{padding:22px 25px 26px}.how h2,.faq h2{font-size:28px;margin:0 0 20px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:center}.steps>div{display:flex;align-items:center;flex-direction:column}.steps span{display:grid;place-items:center;width:70px;height:70px;background:#245848;border-radius:24px;font-size:35px;color:var(--gold);margin-bottom:13px}.steps strong{font-size:15px;line-height:1.25}.steps small{color:var(--muted);font-size:12px;margin-top:8px}.right{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.right .panel{padding:20px;min-width:0}.right h2{font-size:22px;line-height:1.2;color:var(--cream);margin:0 0 15px}.create{text-align:center}.create .panel-icon{line-height:1}.create h2{font-size:24px;color:var(--gold)}form label{display:block;text-align:left;font-size:12px;font-weight:650;margin:10px 0}form input:not([type=checkbox]),form select,.dialog input{display:block;width:100%;padding:10px 12px;margin-top:6px;background:#143d31;color:#fff;border:1px solid #487a64;border-radius:13px;outline:none;min-width:0;color-scheme:dark}form input:focus,form select:focus,.dialog input:focus{border-color:var(--gold)}.switchline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0!important}.switchline small{display:block;color:var(--muted);font-weight:400}.switchline input{accent-color:var(--gold);width:19px;height:19px}.count{display:inline-block;padding:4px 9px;background:#265746;border-radius:50%;color:#fff;font-size:13px}.person{display:flex;align-items:center;gap:10px;background:#174738;border-radius:15px;padding:8px 10px;margin-bottom:9px;font-size:14px}.avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#ffe2a5,#b7714e);color:#19382b;font-weight:800}.person button{margin-left:auto;border:0;background:transparent;color:#c8d7ce;font-size:21px}.participants>.button{margin-top:20px;font-size:12px;padding:13px 5px}.wishlist p{font-size:13px;color:#d2e0d6;margin:0 0 13px}.wish{display:flex;gap:10px;align-items:center;padding:8px;background:#194739;border-radius:14px;margin-bottom:9px}.wish .thumb{width:48px;height:48px;flex-shrink:0;border-radius:11px;background:#325a46;display:grid;place-items:center;font-size:25px}.wish strong{font-size:12px;display:block;line-height:1.3}.wish small{display:block;color:var(--muted);font-size:11px}.wishlist>.button{margin-top:14px;font-size:13px}.draw{text-align:center;overflow:hidden}.gift-scene{height:282px;position:relative;display:grid;place-items:center}.gift-scene:before{content:'';position:absolute;width:80%;height:70%;border-radius:50%;background:#ffc54b40;filter:blur(45px)}.gift-scene img{height:100%;width:100%;object-fit:contain;position:relative;filter:drop-shadow(0 0 14px #f7b73b65)}.gift-note{position:absolute;top:42%;left:50%;transform:translate(-50%,-10%);background:#ffebc1;color:#1a3127;border-radius:15px;padding:12px 14px;width:75%;box-shadow:0 10px 25px #0005}.gift-note span,.gift-note small,.gift-note strong{display:block}.gift-note span{color:#ba2b18;font-size:24px}.gift-note small{font-size:11px}.gift-note strong{font-size:21px}.demo-label{font-size:11px;color:var(--muted);margin:10px 0 0}.draw .button{font-size:12px;padding:11px}.faq{margin-top:25px;padding:24px 30px}.faq details{border-top:1px solid #477562;padding:12px 0}.faq summary{cursor:pointer;font-weight:650}.faq p{color:var(--muted)}footer{display:flex;justify-content:space-between;gap:10px;padding:28px 5px;color:#aac6b5;font-size:13px}.snow{pointer-events:none;position:fixed;inset:0;z-index:8;opacity:.45;background-image:radial-gradient(2px 2px at 12% 20%,white 95%,transparent),radial-gradient(2px 2px at 76% 40%,white 95%,transparent),radial-gradient(1px 1px at 50% 65%,white 95%,transparent);background-size:260px 280px;animation:fall 22s linear infinite}@keyframes fall{to{background-position:0 700px}}.modal{display:none;position:fixed;inset:0;z-index:20;background:#001710d9;padding:20px;align-items:center;justify-content:center;backdrop-filter:blur(6px)}.modal.open{display:flex}.dialog{width:min(100%,480px);padding:30px;position:relative;max-height:90vh;overflow:auto}.dialog h2{color:var(--cream);margin:0 0 16px}.dialog p{color:var(--muted)}.dialog .button{margin-top:12px}.close{position:absolute;top:12px;right:16px;color:#fff;background:none;border:0;font-size:30px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#ffdb87;color:#183329;border-radius:16px;padding:13px 20px;box-shadow:0 8px 30px #0008;z-index:40;display:none;max-width:90vw}.demo-warning{padding:12px;border-radius:12px;background:#244638;color:#ffe5a4;font-size:13px;margin:12px 0}.summary{background:#174738;padding:12px;border-radius:13px;margin:12px 0}.summary strong{display:block;color:var(--cream)}@media(max-width:1200px){.layout{grid-template-columns:1fr}.hero-text{max-width:57%}.hero{min-height:530px}.right .panel{min-height:350px}}@media(max-width:720px){.shell{padding:12px}.header{gap:10px}.brand{font-size:19px}.header nav{display:none}.header .button{margin-left:auto;font-size:11px;padding:10px}.hero{min-height:650px}.hero-text{padding:27px 20px;max-width:100%}.hero h1{font-size:45px;white-space:normal}.hero-sub{font-size:25px;white-space:normal}.lead{font-size:14px;max-width:295px}.hero-buttons{max-width:270px}.characters{width:82%;height:48%;bottom:0;right:-12%;object-position:bottom}.benefits{grid-template-columns:1fr}.right{grid-template-columns:1fr}.right .panel{min-height:unset}.steps{grid-template-columns:repeat(2,1fr);row-gap:25px}.faq{padding:20px}footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){.snow{animation:none}.button{transition:none}}

/* Плавные появления и золотое свечение */
.panel,.hero,.benefits>div{animation:appear .7s both;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
.right .panel:nth-child(2){animation-delay:.12s}.right .panel:nth-child(3){animation-delay:.2s}.right .panel:nth-child(4){animation-delay:.28s}
@keyframes appear{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.button:not(:disabled):hover{box-shadow:0 0 0 1px #fff2a580,0 0 28px #f9c85765,0 8px 22px #0005}
.gift-reveal{text-align:center}.gift-intro{font-size:14px}.gift-click{display:block;position:relative;margin:20px auto 8px;width:230px;height:230px;border:0;background:radial-gradient(circle,#ffdc7150,transparent 70%);cursor:pointer;filter:drop-shadow(0 15px 16px #0007)}
.gift-body{position:absolute;left:43px;top:93px;width:145px;height:116px;border-radius:7px 7px 14px 14px;background:linear-gradient(115deg,#1d8a5c,#075139);box-shadow:inset -15px 0 22px #003c2b70,0 8px 25px #0005}
.gift-body:after{content:'';position:absolute;left:58px;top:0;width:29px;height:100%;background:linear-gradient(90deg,#c8912b,#ffe28a,#b27a21)}
.gift-lid{position:absolute;z-index:3;left:31px;top:77px;width:170px;height:43px;border-radius:8px;background:linear-gradient(115deg,#258e60,#07543c);box-shadow:inset 0 4px 7px #77dba350,0 5px 12px #0006;transform-origin:15% 100%;transition:transform .95s cubic-bezier(.2,.7,.2,1),opacity .95s}
.gift-lid:after{content:'';position:absolute;left:70px;width:31px;height:100%;background:linear-gradient(90deg,#c8912b,#ffe28a,#b27a21)}
.gift-bow{position:absolute;z-index:4;left:68px;top:-52px;font-size:65px;color:#ffdc7a;text-shadow:0 0 15px #ffc93e}
.gift-light{position:absolute;left:50%;top:105px;width:10px;height:10px;transform:translateX(-50%);border-radius:50%;background:#ffe99e;opacity:0;box-shadow:0 0 80px 65px #ffd064,0 0 140px 100px #ffdb5e66;transition:opacity .8s}
.gift-spark{position:absolute;left:0;right:0;top:15px;color:#ffe9a2;font-size:30px;letter-spacing:25px;opacity:.75;animation:twinkle 2s infinite alternate}
@keyframes twinkle{to{opacity:.3;transform:translateY(-9px)}}
.revealed .gift-lid{transform:translate(-42px,-93px) rotate(-26deg);opacity:.8}.revealed .gift-light{opacity:1}.gift-result{opacity:0;transform:translateY(15px) scale(.92);max-height:0;overflow:hidden;transition:opacity .65s .7s,transform .65s .7s,max-height .65s .7s}.revealed .gift-result{opacity:1;transform:none;max-height:250px}.gift-result h2{color:#ffe5a0;font-size:34px;margin:8px 0}.gold{color:#ffd267!important}
.secret-chat{max-height:290px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;background:#06271e;border-radius:15px;padding:12px;min-height:110px;text-align:left}.chat-bubble{max-width:90%;border-radius:14px;padding:10px 13px;background:#21513f;overflow-wrap:anywhere}.chat-bubble.mine{align-self:flex-end;background:#3c6145}.chat-bubble.theirs{align-self:flex-start}.chat-bubble small{display:block;color:#ffe39d;font-size:11px;margin-bottom:4px}#secret-chat-text{display:block;width:100%;resize:vertical;border:1px solid #487a64;border-radius:12px;padding:12px;background:#143d31;color:white;font:inherit}
@media(prefers-reduced-motion:reduce){.panel,.hero,.benefits>div,.gift-spark{animation:none!important}.gift-lid,.gift-light,.gift-result{transition:none!important}}
/* Platform administration */
.admin-shell{max-width:1180px;margin:0 auto;padding:32px 20px;min-height:100vh}.admin-login{max-width:480px;margin:12vh auto}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.admin-stats .panel{display:flex;flex-direction:column;text-align:center}.admin-stats strong{font-size:2rem;color:var(--gold,#e5bc64)}.admin-table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid rgba(255,255,255,.12)}td small{display:block;opacity:.65}#search{display:flex;gap:12px;align-items:end}#search label{flex:1}#login-error{color:#ffaaa0;min-height:1.5em}@media(max-width:700px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-head{align-items:flex-start}.admin-table-wrap{font-size:.86rem}}
.exclusion-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:14px}@media(max-width:600px){.exclusion-row{grid-template-columns:1fr}.exclusion-row .button{width:100%}}
