:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18211d;background:#f6efe4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(205,45,59,.22);outline-offset:2px}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);background:#101916}.auth-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:72px;color:#fff;isolation:isolate;background:linear-gradient(180deg,#0d1b180a,#0d1b18eb),url(https://images.unsplash.com/photo-1512389142860-9c449e58a543?auto=format&fit=crop&w=1800&q=88) center/cover}.auth-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(circle at 16% 20%,rgba(255,222,157,.34),transparent 24%),radial-gradient(circle at 82% 12%,rgba(205,45,59,.35),transparent 27%),linear-gradient(90deg,rgba(9,67,56,.44),transparent 58%);animation:ambientGlow 7s ease-in-out infinite alternate}.hero-snow,.snow-layer{pointer-events:none;position:absolute;top:-180px;right:0;bottom:-80px;left:0;overflow:hidden}.hero-snow:before,.hero-snow:after,.snow-layer:before,.snow-layer:after{content:"";position:absolute;top:-20%;right:-12%;bottom:0;left:-12%;will-change:transform}.hero-snow:before,.snow-layer:before{background-image:radial-gradient(circle at 12% 18%,rgba(255,255,255,.94) 0 1.4px,transparent 2.3px),radial-gradient(circle at 44% 72%,rgba(255,255,255,.72) 0 1.1px,transparent 2px),radial-gradient(circle at 73% 29%,rgba(255,255,255,.88) 0 1.5px,transparent 2.4px),radial-gradient(circle at 91% 84%,rgba(255,255,255,.62) 0 1px,transparent 1.9px),radial-gradient(circle at 26% 51%,rgba(255,255,255,.8) 0 1.2px,transparent 2.2px);background-size:420px 620px;animation:snowDriftA 34s linear infinite}.hero-snow:after,.snow-layer:after{opacity:.7;filter:blur(.2px);background-image:radial-gradient(circle at 19% 81%,rgba(255,255,255,.72) 0 1px,transparent 2px),radial-gradient(circle at 58% 24%,rgba(255,255,255,.88) 0 1.3px,transparent 2.4px),radial-gradient(circle at 84% 62%,rgba(255,255,255,.58) 0 .9px,transparent 1.8px),radial-gradient(circle at 36% 36%,rgba(255,255,255,.68) 0 1px,transparent 2px),radial-gradient(circle at 66% 93%,rgba(255,255,255,.84) 0 1.4px,transparent 2.6px);background-size:560px 760px;animation:snowDriftB 49s linear infinite}.hero-copy{position:relative;max-width:760px;animation:riseIn .7s ease-out both}.hero-copy h1{margin:18px 0;max-width:760px;font-size:clamp(3.8rem,8vw,7.8rem);line-height:.9;letter-spacing:0;text-shadow:0 24px 80px rgba(0,0,0,.45)}.hero-copy p{max-width:660px;margin:0;color:#ffffffe0;font-size:1.15rem;line-height:1.7}.auth-panel{display:flex;align-items:center;justify-content:center;padding:52px;background:radial-gradient(circle at 100% 0,rgba(205,45,59,.13),transparent 34%),linear-gradient(145deg,#fffaf2,#f2e4d3)}.auth-card{width:min(100%,440px);display:grid;gap:20px;padding:28px;border:1px solid rgba(126,94,68,.2);border-radius:8px;background:#fffdf8d1;box-shadow:0 30px 100px #3e2b1e29;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:riseIn .56s ease-out both}.auth-card .mode-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;border:1px solid rgba(128,94,68,.16);border-radius:8px;background:linear-gradient(180deg,#ffffffb8,#f5eadee6);box-shadow:0 1px #ffffffe6 inset,0 14px 34px #44302014}.auth-card .mode-switch button{position:relative;min-height:46px;border:0;border-radius:7px;color:#66746c;background:transparent;font-weight:900;letter-spacing:0;transition:color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.auth-card .mode-switch button:hover{color:#203028;transform:translateY(-1px);background:#ffffff6b}.auth-card .mode-switch button.active{color:#fff;background:radial-gradient(circle at 20% 10%,rgba(255,235,190,.32),transparent 34%),linear-gradient(135deg,#d43c49,#9b1c2a);box-shadow:0 12px 28px #9b1c2a40,0 1px #ffffff2e inset}.auth-card .mode-switch button.active:after{content:"";position:absolute;left:22%;right:22%;bottom:7px;height:2px;border-radius:999px;background:#ffffffb8}.app-shell{position:relative;min-height:100vh;display:grid;grid-template-columns:304px minmax(0,1fr);overflow:hidden;background:linear-gradient(110deg,rgba(9,87,68,.08),transparent 36%),radial-gradient(circle at 78% 14%,rgba(205,45,59,.14),transparent 26%),#f6efe4}.app-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(92,68,48,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(92,68,48,.045) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 94%);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 94%)}.snow-layer{opacity:.36}.sidebar{position:relative;z-index:1;display:flex;flex-direction:column;gap:24px;padding:28px 24px;border-right:1px solid rgba(114,81,54,.15);background:#fffaf2c2;box-shadow:18px 0 90px #573d2814;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:8px;color:#fff;background:linear-gradient(145deg,#d9434f,#981b29);box-shadow:0 18px 38px #981b2940}.brand strong,.brand span{display:block}.brand strong{font-size:1rem;letter-spacing:0}.brand span{margin-top:4px;color:#657168;font-size:.92rem}.profile-chip{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;align-items:center;gap:12px;border:1px solid rgba(197,170,146,.72);border-radius:8px;padding:12px;color:#18211d;text-align:left;background:radial-gradient(circle at 100% 0,rgba(196,42,54,.1),transparent 34%),#fffdf8c7;box-shadow:0 16px 38px #4c342214;transition:transform .16s ease,box-shadow .16s ease}.profile-chip:hover{transform:translateY(-2px);box-shadow:0 22px 48px #4c34221f}.profile-chip strong,.profile-chip small{display:block}.profile-chip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-chip small{margin-top:4px;color:#6e7b72}.room-list{display:grid;gap:10px;flex:1;align-content:start}.room-link{border:1px solid transparent;border-radius:8px;padding:14px;text-align:left;color:#18211d;background:transparent;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.room-link:hover{transform:translate(4px);background:#fffdf8a3}.room-link span,.room-link small{display:block}.room-link small{margin-top:6px;color:#728077}.room-link.active{border-color:#c5aa92d1;background:#fffdf8e6;box-shadow:0 16px 40px #4c342214}.workspace{position:relative;z-index:1;height:100vh;overflow:auto;padding:34px clamp(28px,4vw,68px) 56px}.workspace-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;width:min(100%,1240px);margin:0 auto 28px;animation:riseIn .42s ease-out both}.workspace-topbar h1{margin:6px 0 0;font-size:clamp(2rem,4vw,3.8rem);line-height:1;letter-spacing:0;color:#18211d}.eyebrow{color:#b12a36;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.topbar-pill{min-height:42px;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:0 14px;border:1px solid rgba(127,95,68,.18);border-radius:8px;color:#52645a;background:#fffdf8b3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.create-view{width:min(100%,1240px);margin:0 auto;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(520px,1.18fr);gap:26px;align-items:start;animation:riseIn .52s ease-out both}.create-hero{position:sticky;top:22px;overflow:hidden;min-height:620px;display:flex;flex-direction:column;justify-content:flex-end;padding:34px;border-radius:8px;color:#fff;background:linear-gradient(180deg,#091c1805,#091c18e0),url(https://images.unsplash.com/photo-1512909006721-3d6018887383?auto=format&fit=crop&w=1200&q=88) center/cover;box-shadow:0 28px 90px #3f2a1c2e}.create-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 24% 24%,rgba(255,224,163,.32),transparent 28%),radial-gradient(circle at 78% 10%,rgba(205,45,59,.42),transparent 30%);animation:ambientGlow 7s ease-in-out infinite alternate}.create-hero>*{position:relative;z-index:1}.create-hero h2{max-width:520px;margin:18px 0 16px;font-size:clamp(2rem,4vw,4rem);line-height:.98;letter-spacing:0}.create-hero p{max-width:520px;margin:0;color:#ffffffd6;line-height:1.68}.hero-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.hero-stats span,.badge{display:inline-flex;align-items:center;gap:8px;font-weight:800}.hero-stats span{min-height:38px;padding:0 12px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.badge{font-size:.9rem}.badge.glass{width:fit-content;padding:8px 12px;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.create-form{display:grid;gap:18px}.profile-view{width:min(100%,1120px);margin:0 auto;display:grid;grid-template-columns:minmax(280px,.7fr) minmax(520px,1.3fr);gap:24px;align-items:start;animation:riseIn .46s ease-out both}.profile-preview,.profile-form,.assignment-card{border:1px solid rgba(132,96,68,.18);border-radius:8px;background:#fffdf8d6;box-shadow:0 24px 70px #4c342214;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.profile-preview{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center}.profile-preview h2{margin:18px 0 6px;font-size:2rem}.profile-preview p{margin:0;color:#6e7b72}.profile-form{padding:0}.success-note{border:1px solid rgba(9,122,98,.22);border-radius:8px;padding:12px 14px;color:#075744;background:#e5f7f1cc}.assignment-view{width:min(100%,980px);min-height:62vh;margin:0 auto;display:grid;place-items:center;animation:riseIn .52s ease-out both}.assignment-card{position:relative;overflow:hidden;width:min(100%,760px);display:grid;justify-items:center;gap:16px;padding:48px;text-align:center}.assignment-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 20% 10%,rgba(205,45,59,.12),transparent 30%),radial-gradient(circle at 90% 0,rgba(9,122,98,.16),transparent 28%)}.assignment-card>*{position:relative;z-index:1}.assignment-card h2{margin:0;font-size:clamp(2.6rem,7vw,5rem);line-height:.95}.assignment-card p{max-width:560px;margin:0;color:#5d6a62;line-height:1.7}.wishlist-links{width:100%;display:grid;gap:8px;margin:8px 0 10px}.wishlist-links a{overflow-wrap:anywhere;border:1px solid rgba(205,45,59,.18);border-radius:8px;padding:12px;color:#8f1825;text-decoration:none;background:#fff2f1c7;transition:transform .16s ease,background .16s ease}.wishlist-links a:hover{transform:translateY(-2px);background:#ffe8e9f2}.form-section,.panel,.gift-result{border:1px solid rgba(132,96,68,.18);border-radius:8px;background:#fffdf8d1;box-shadow:0 24px 70px #4c342214;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.form-section{padding:24px}.accent-section{background:radial-gradient(circle at 100% 0,rgba(10,112,87,.12),transparent 32%),#fffdf8db}.section-title{display:flex;align-items:center;gap:14px;margin-bottom:20px}.section-title.compact{margin-bottom:16px}.section-title>span{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:#fff;background:linear-gradient(145deg,#0d7a62,#085343);box-shadow:0 14px 30px #0853432e}.section-title h2{margin:0;font-size:1.18rem;letter-spacing:0}.section-title p{margin:4px 0 0;color:#6d786f;line-height:1.45}.form-grid{display:grid;gap:16px}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:grid;gap:8px}label>span{color:#56645c;font-size:.86rem;font-weight:800}input,textarea,select{width:100%;border:1px solid #d9c7b5;border-radius:8px;padding:15px 16px;color:#18211d;background:#fffdf8eb;box-shadow:0 1px #fffc inset;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}input:hover,textarea:hover,select:hover{border-color:#c7ad97}input:focus,textarea:focus,select:focus{border-color:#0f7a62;box-shadow:0 0 0 4px #0f7a621f}textarea{min-height:128px;resize:vertical}.submit-button,.primary-action,.draw-button,.ghost-action,.icon-button{border:0;border-radius:8px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:900;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.submit-button,.primary-action{color:#fff;background:linear-gradient(135deg,#0b7a62,#095744);box-shadow:0 18px 38px #09574438}.create-submit{min-height:62px;font-size:1rem}.draw-button{color:#fff;padding:0 20px;background:linear-gradient(135deg,#d23845,#8f1825);box-shadow:0 18px 42px #8f182552}.ghost-action{color:#5d6b62;background:#fffdf89e}.submit-button:hover,.primary-action:hover,.draw-button:hover,.ghost-action:hover,.icon-button:hover{transform:translateY(-2px);filter:brightness(1.02)}.room-grid{width:min(100%,1240px);margin:0 auto;display:grid;gap:20px;animation:riseIn .46s ease-out both}.room-header{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:24px;align-items:flex-start;min-height:300px;padding:40px;border-radius:8px;color:#fff;background:linear-gradient(135deg,#0c453af0,#5b2222c2),url(https://images.unsplash.com/photo-1543589077-47d81606c1bf?auto=format&fit=crop&w=1600&q=88) center/cover;box-shadow:0 28px 90px #37261938}.room-header:after{content:"";position:absolute;inset:auto -12% -42% 28%;height:240px;background:radial-gradient(circle,rgba(255,220,151,.36),transparent 64%);animation:ambientGlow 6s ease-in-out infinite alternate}.room-header-content{position:relative;z-index:1}.room-header h1{margin:12px 0;max-width:760px;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.96;letter-spacing:0}.room-header p{max-width:720px;margin:0;color:#ffffffdb;line-height:1.65}.room-description p{margin:0;color:#5d6a62;line-height:1.7}.room-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.room-meta span{min-height:36px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:800}.panel,.gift-result{padding:24px}.wide-panel{max-width:920px}.create-panel{margin:30px auto}.gift-result{display:flex;align-items:center;gap:18px;color:#fff;background:radial-gradient(circle at 10% 15%,rgba(255,218,147,.32),transparent 34%),linear-gradient(135deg,#c42a36,#6d1821);box-shadow:0 24px 70px #6d182138}.gift-result-icon{width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#ffffff24;animation:giftPulse 2.8s ease-in-out infinite}.gift-result span,.gift-result strong,.gift-result p{display:block}.gift-result strong{margin-top:4px;font-size:1.75rem}.gift-result p{margin:8px 0 0;color:#ffffffd6}.participants{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.participant{display:flex;align-items:center;gap:12px;border:1px solid rgba(209,190,171,.86);border-radius:8px;padding:14px;background:#fffdf8c7;transition:transform .16s ease,box-shadow .16s ease}.participant:hover{transform:translateY(-2px);box-shadow:0 16px 34px #452f1f1a}.avatar{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:#fff;font-weight:900;background:linear-gradient(145deg,#c42a36,#0d7a62);object-fit:cover}.avatar-large{width:112px;height:112px;font-size:2.4rem;box-shadow:0 20px 48px #4c342229}.participant strong,.participant span{display:block}.participant span{margin-top:4px;display:inline-flex;align-items:center;gap:5px;color:#68776e;font-size:.92rem}.invite-row{display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:10px}.invite-box{display:block;overflow-wrap:anywhere;border:1px dashed #c42a36;border-radius:8px;padding:14px;color:#69212a;text-decoration:none;background:#fff2f1c7;transition:border-color .16s ease,background .16s ease,transform .16s ease}.invite-box:hover{border-color:#8f1825;background:#ffe8e9f0;transform:translateY(-1px)}.icon-button{color:#fff;background:#c42a36}.restriction-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}.restriction-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.restriction-list span{display:inline-flex;align-items:center;gap:8px;border-radius:8px;padding:8px 8px 8px 10px;color:#6b252c;background:#ffe8e9e6}.restriction-list button{border:0;border-radius:7px;padding:6px 8px;color:#fff;background:#c42a36;font-size:.82rem;font-weight:800}.room-edit-form{display:grid;gap:16px}.alert{position:relative;z-index:2;width:min(100%,1240px);margin:0 auto 16px;border:1px solid #e8a4a9;border-radius:8px;padding:12px 14px;color:#76242d;background:#fff0f1}.notice{position:relative;z-index:2;width:min(100%,1240px);margin:0 auto 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(9,122,98,.22);border-radius:8px;padding:12px 14px;color:#075744;background:#e5f7f1eb;box-shadow:0 16px 38px #0957441a}.notice button{border:0;border-radius:8px;padding:8px 12px;color:#fff;background:#0b7a62;font-weight:800}@keyframes snowDriftA{0%{transform:translate3d(-28px,-360px,0)}to{transform:translate3d(34px,360px,0)}}@keyframes snowDriftB{0%{transform:translate3d(42px,-440px,0)}to{transform:translate3d(-32px,440px,0)}}@keyframes ambientGlow{0%{opacity:.66;transform:scale(1)}to{opacity:1;transform:scale(1.04)}}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes giftPulse{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.05) rotate(-2deg)}}@media (max-width: 1100px){.create-view,.profile-view{grid-template-columns:1fr}.create-hero{position:relative;top:auto;min-height:430px}}@media (max-width: 940px){.auth-page,.app-shell{grid-template-columns:1fr}.auth-hero{min-height:52vh;padding:34px}.auth-panel{padding:28px}.sidebar{border-right:0;border-bottom:1px solid rgba(114,81,54,.18)}.workspace{height:auto;min-height:100vh}.room-header,.restriction-form,.two-columns{grid-template-columns:1fr}.room-header{display:grid;min-height:320px;padding:28px}}@media (max-width: 560px){.workspace{padding:22px 16px 36px}.workspace-topbar{display:grid}.hero-copy h1{font-size:3.2rem}.create-hero{min-height:380px;padding:24px}.form-section{padding:18px}.invite-row{grid-template-columns:1fr}}
