:root{color-scheme:dark;--font-display: "Lilita One", "Fredoka", "Arial Rounded MT Bold", ui-rounded, system-ui, sans-serif;--font-body: "Fredoka", ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI", system-ui, sans-serif;--ink: #24183a;--snow: #fff8ef;--gold: #ffcf5a;--gold-deep: #eb9f1f;--gold-edge: #a8600a;--ice: #8fdcff;--ice-deep: #3ea8ea;--ice-edge: #1e6ea6;--mint: #6fe8bb;--mint-deep: #23b985;--mint-edge: #127a58;--cherry: #ff6b7d;--cherry-deep: #d52941;--cherry-edge: #8e1428;--bg-top: #d02a43;--bg-mid: #941129;--bg-deep: #4d0717;--glow: rgba(255, 190, 105, .3);--panel: #2b1a40;--panel-hi: #3b2558;--panel-edge: rgba(255, 207, 90, .4);--text: #fff8ef;--text-soft: #f6dfe4;--muted: #dcb9c6;--field: #1d1230;--field-edge: rgba(255, 255, 255, .16)}body[data-look=twilight]{--bg-top: #3a2b8c;--bg-mid: #2a1f6c;--bg-deep: #150f3a;--glow: rgba(255, 158, 102, .4);--panel: #231a4f;--panel-hi: #322568;--panel-edge: rgba(255, 207, 90, .36);--text-soft: #e6e0ff;--muted: #bdb3ea;--field: #170f3a}*,*:before,*:after{box-sizing:border-box}html{height:100%}body{height:100%;margin:0;background:var(--bg-deep);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit}#root{height:100%}.splash{position:fixed;inset:0;display:grid;place-content:center;gap:8px;text-align:center;background:radial-gradient(120% 70% at 50% -10%,#d02a43,transparent 62%),linear-gradient(180deg,#941129,#4d0717);color:#fff8ef}.splash b{font:var(--dw) 60px/1 var(--font-display)}.splash b span{color:#ffcf5a}.splash p{margin:0;font:600 16px/1.3 var(--font-body);opacity:.85}.sky{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(75% 40% at 50% 104%,var(--glow),transparent 72%),radial-gradient(120% 65% at 50% -8%,var(--bg-top),transparent 62%),linear-gradient(180deg,var(--bg-mid) 0%,var(--bg-deep) 100%)}.sky:after{content:"";position:absolute;inset:0;opacity:.5;mix-blend-mode:soft-light;background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.2) 0 2px,transparent 2px 7px),repeating-linear-gradient(-45deg,rgba(255,255,255,.12) 0 2px,transparent 2px 7px)}.bokeh{position:absolute;inset:-20px;background:radial-gradient(circle at 12% 22%,rgba(255,214,120,.24) 0 14px,transparent 15px),radial-gradient(circle at 86% 14%,rgba(255,214,120,.2) 0 10px,transparent 11px),radial-gradient(circle at 78% 46%,rgba(143,220,255,.16) 0 18px,transparent 19px),radial-gradient(circle at 18% 64%,rgba(255,150,170,.16) 0 12px,transparent 13px),radial-gradient(circle at 64% 80%,rgba(255,214,120,.18) 0 16px,transparent 17px),radial-gradient(circle at 40% 8%,rgba(255,255,255,.12) 0 8px,transparent 9px);filter:blur(3px);animation:bokeh 14s ease-in-out infinite alternate}@keyframes bokeh{to{transform:translateY(-14px) scale(1.04);opacity:.8}}body[data-look=twilight] .sky{background:radial-gradient(70% 34% at 50% 102%,rgba(255,170,95,.62),transparent 72%),linear-gradient(180deg,#19134d,#2c2280 34%,#573a9b 62%,#a9558c 84%,#ec9455)}body[data-look=twilight] .sky:after{opacity:.1}.sun{position:absolute;left:50%;bottom:-70px;width:240px;height:240px;margin-left:-120px;border-radius:50%;background:radial-gradient(circle,rgba(255,220,150,.95),rgba(255,170,90,.35) 45%,transparent 70%)}.island{position:absolute;width:132px;filter:drop-shadow(0 10px 20px rgba(10,5,40,.45));animation:float 8s ease-in-out infinite}.island-a{top:15%;left:-20px}.island-b{top:40%;right:-26px;width:100px;animation-duration:10s;animation-delay:-3s;opacity:.9}@keyframes float{50%{transform:translateY(-10px)}}canvas.snow{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.app{position:relative;height:100%;overflow:hidden;isolation:isolate}.stage{position:absolute;inset:0;z-index:2}.screen{position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none}.screen::-webkit-scrollbar{display:none}.screen-inner{max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:16px;padding-block:16px 220px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.panel-title,.section-title{margin:0 0 12px;font:var(--dw) 22px/1.1 var(--font-display);letter-spacing:.4px;color:var(--snow);text-wrap:balance}.section{display:flex;flex-direction:column}.section-title{margin:6px 4px 10px;text-shadow:0 2px 0 rgba(36,24,58,.45)}.sheet-title{margin:0;font:var(--dw) 26px/1.12 var(--font-display);letter-spacing:.3px;text-wrap:balance}.muted{margin:4px 0 0;color:var(--text-soft);font-size:15px}.fine{margin:0;font-size:13px;color:var(--muted)}.center{text-align:center}.eyebrow{margin:0;font-size:13px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);font-weight:600}.tag{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.3px;padding:2px 8px;border-radius:999px;background:#ffcf5a29;color:var(--gold)}.panel{position:relative;padding:18px;border-radius:26px;background:linear-gradient(180deg,var(--panel-hi),var(--panel));border:1.5px solid var(--panel-edge);box-shadow:0 16px 34px #0c021661,inset 0 1px #ffffff14}.panel:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.55;background-image:radial-gradient(1.3px 1.3px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 78% 12%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 92% 72%,#ffe4a0 50%,transparent 51%),radial-gradient(1px 1px at 30% 90%,#fff 50%,transparent 51%),radial-gradient(1.2px 1.2px at 58% 40%,#fff 50%,transparent 51%)}.panel>*{position:relative}.btn{--c1: var(--gold);--c2: var(--gold-deep);--edge: var(--gold-edge);--fg: #3d2103;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 24px;border:0;border-radius:20px;cursor:pointer;text-decoration:none;font:var(--dw) 21px/1 var(--font-display);letter-spacing:.5px;color:var(--fg);background:linear-gradient(180deg,#ffffff80,#fff0 48%),repeating-linear-gradient(-45deg,#ffffff2b 0 9px,#fff0 9px 18px),linear-gradient(180deg,var(--c1),var(--c2));box-shadow:0 6px 0 var(--edge),0 12px 22px #14041457,inset 0 -3px #0000001f,inset 0 2px #ffffffbf;text-shadow:0 1px 0 rgba(255,255,255,.4);transition:box-shadow .12s ease,filter .15s ease;-webkit-user-select:none;user-select:none;touch-action:manipulation}.btn:active:not(:disabled){box-shadow:0 2px 0 var(--edge),0 6px 12px #1404144d,inset 0 -2px #0000001a,inset 0 2px #ffffffbf}.btn:hover:not(:disabled){filter:brightness(1.05) saturate(1.06)}.btn:focus-visible{outline:3px solid var(--ice);outline-offset:4px}.btn:disabled{cursor:not-allowed;filter:grayscale(.65) brightness(.85);opacity:.6}.btn.block{display:flex;width:100%}.btn.md{min-height:48px;padding:0 18px;border-radius:16px;font-size:18px;box-shadow:0 5px 0 var(--edge),0 9px 16px #1404144d,inset 0 -2px #0000001f,inset 0 2px #ffffffbf}.btn.sm{min-height:40px;padding:0 14px;border-radius:14px;font-size:16px;box-shadow:0 4px 0 var(--edge),0 7px 12px #14041447,inset 0 2px #ffffffb3}.btn.mint{--c1: var(--mint);--c2: var(--mint-deep);--edge: var(--mint-edge);--fg: #05392a}.btn.ice{--c1: var(--ice);--c2: var(--ice-deep);--edge: var(--ice-edge);--fg: #052a45}.btn.snow{--c1: #ffffff;--c2: #e4e7f4;--edge: #9ea6c4;--fg: var(--ink)}.btn.cherry{--c1: #ff7f8f;--c2: var(--cherry-deep);--edge: var(--cherry-edge);--fg: #fff;text-shadow:0 1px 0 rgba(0,0,0,.25)}.btn.plum{--c1: #57407f;--c2: #3a2858;--edge: #1c1131;--fg: var(--snow);text-shadow:none}.btn-ic{display:inline-flex}.btn-ic svg{width:24px;height:24px}.btn.sm .btn-ic svg{width:20px;height:20px}.btn-label{display:inline-flex;align-items:center}.icon-btn{width:48px;min-height:48px;padding:0;border-radius:16px}.icon-btn .btn-ic svg{width:24px;height:24px}.count-badge{display:inline-grid;place-items:center;min-width:30px;height:30px;margin-left:10px;padding:0 8px;border-radius:999px;background:var(--ink);color:var(--gold);font:var(--dw) 17px/1 var(--font-display);text-shadow:none}.topbar{display:flex;align-items:center;gap:12px;min-height:52px}.topbar-spacer{width:48px;flex:none}.topbar-title{flex:1;min-width:0}.topbar-title h1{margin:0;font:var(--dw) 26px/1.05 var(--font-display);letter-spacing:.4px;text-shadow:0 2px 0 rgba(36,24,58,.45);overflow-wrap:anywhere}.topbar-title p{margin:2px 0 0;color:var(--text-soft);font-size:14px;font-weight:500}.topbar-right{display:flex;gap:10px;align-items:center;flex:none}.me-chip{flex:1;min-width:0;max-width:240px;display:flex;align-items:center;gap:10px;padding:6px 16px 6px 8px;border-radius:999px;cursor:pointer;text-align:left;background:#24183a80;border:1.5px solid var(--panel-edge)}.me-chip>span{min-width:0}.me-chip small{display:block;font-size:12px;line-height:1.1;color:var(--text-soft)}.me-chip b{display:block;font:var(--dw) 20px/1.1 var(--font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-chip:focus-visible{outline:3px solid var(--ice);outline-offset:3px}.hero{display:grid;justify-items:center;gap:6px;padding-top:12px;text-align:center}.logo{margin:0;font:var(--dw) clamp(54px,16vw,76px)/.95 var(--font-display);letter-spacing:.5px;color:var(--snow);filter:drop-shadow(0 5px 0 rgba(36,24,58,.6)) drop-shadow(0 12px 22px rgba(0,0,0,.3))}.logo-ae,.logo-wish{background:linear-gradient(180deg,#fff3bd,var(--gold) 55%,var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-crew{margin:0;font-weight:600;font-size:18px;color:var(--text-soft);letter-spacing:.3px}.count-chip{margin:4px 0 0;display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;background:#24183a8c;border:1.5px solid var(--panel-edge);font-weight:600;font-size:15px}.count-chip b{font:var(--dw) 21px/1 var(--font-display);color:var(--gold);font-variant-numeric:tabular-nums}.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:10px}.crew-tile{display:grid;justify-items:center;align-content:start;gap:4px;padding:12px 6px 10px;border-radius:20px;cursor:pointer;border:1.5px solid rgba(255,255,255,.12);background:#ffffff0f}.crew-tile:focus-visible{outline:3px solid var(--ice);outline-offset:2px}.crew-av{display:block;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}.crew-tile:hover .crew-av{transform:translateY(-4px) rotate(-4deg)}.crew-name{font-weight:600;font-size:16px}.crew-tile .tag{white-space:nowrap;font-size:11px;padding:2px 7px}.countdown{padding:18px 20px 14px}.cd-row{display:flex;align-items:center;gap:16px}.cd-num{font:var(--dw) clamp(76px,23vw,100px)/.88 var(--font-display);color:var(--gold);text-shadow:0 5px 0 var(--ink),0 12px 26px rgba(0,0,0,.4);font-variant-numeric:tabular-nums}.cd-label{font:var(--dw) 25px/1.05 var(--font-display);color:var(--snow)}.candy-bar{position:relative;height:20px;margin-top:16px;border-radius:999px;background:#00000059;box-shadow:inset 0 2px 4px #00000073}.candy-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:repeating-linear-gradient(-45deg,#fff8ef 0 8px,#ff4f63 8px 16px);background-size:22.63px 22.63px;box-shadow:inset 0 2px #ffffff8c,0 0 14px #ff788c80;animation:candy 1.2s linear infinite}@keyframes candy{to{background-position:22.63px 0}}.candy-star{position:absolute;right:-14px;top:50%;transform:translateY(-52%);font-size:28px;line-height:1;color:var(--gold);text-shadow:0 0 12px rgba(255,207,90,.9),0 2px 0 var(--ink)}.cd-foot{display:flex;justify-content:space-between;margin:8px 2px 0;font-size:13px;color:var(--muted);font-weight:500}.crew-cards{display:grid;gap:10px}.crew-card{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px;border-radius:22px;cursor:pointer;text-align:left;border:1.5px solid var(--panel-edge);background:linear-gradient(180deg,var(--panel-hi),var(--panel));box-shadow:0 10px 22px #0c021652}.crew-card:focus-visible,.extra-tile:focus-visible{outline:3px solid var(--ice);outline-offset:3px}.crew-card-av{flex:none;display:grid;place-items:center;width:66px;height:66px;border-radius:18px;background:#ffffff12}.crew-card-text{flex:1;min-width:0;display:grid;gap:2px}.crew-card-text b{font:var(--dw) 21px/1.1 var(--font-display);letter-spacing:.3px}.crew-card-text>span:not(.tag){color:var(--text-soft);font-size:14.5px}.crew-card-text .tag{justify-self:start;margin-top:3px}.crew-card>svg{flex:none;opacity:.7}.extras{display:grid;grid-template-columns:1fr 1fr;gap:10px}.extra-tile{display:grid;align-content:start;gap:4px;min-height:172px;padding:14px;border-radius:22px;cursor:pointer;text-align:left;border:1.5px solid var(--panel-edge);background:linear-gradient(180deg,var(--panel-hi),var(--panel));box-shadow:0 10px 22px #0c021652}.extra-tile b{margin-top:8px;font:var(--dw) 19px/1.1 var(--font-display)}.extra-tile small{color:var(--text-soft);font-size:13.5px;line-height:1.3}.mini-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:86px}.mini-doors span{display:grid;place-items:center;aspect-ratio:1;border-radius:7px;border:1.5px solid var(--ink);font:var(--dw) 12px/1 var(--font-display);color:var(--ink);background:var(--gold);box-shadow:0 2px #00000040}.mini-doors span:nth-child(3n+2){background:var(--mint)}.mini-doors span:nth-child(3n){background:var(--ice)}.mini-doors span:nth-child(5){background:var(--cherry);color:#fff}.santa-art{display:inline-flex;align-items:flex-end;height:86px}.santa-gift{margin-left:-6px;font-size:34px;line-height:1;filter:drop-shadow(0 3px 0 rgba(0,0,0,.25))}@media (max-width: 350px){.extras{grid-template-columns:1fr}}.list-hero{display:flex;align-items:center;gap:16px}.list-hero-av{flex:none;display:grid;place-items:center;width:92px;height:92px;border-radius:24px;background:#ffffff12}.list-hero-text{display:grid;gap:4px;min-width:0}.list-hero-text b{font:var(--dw) 24px/1.05 var(--font-display)}.list-hero-text>span{color:var(--text-soft);font-size:14.5px}.legend{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.secret-note{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 14px;margin:-4px 0 0;font-size:14px;color:var(--text-soft);text-align:center}.secret-note>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.items{display:flex;flex-direction:column;gap:12px}.reorder-row{position:relative;border-radius:24px;list-style:none}.item-card{position:relative;display:grid;gap:10px;padding:12px;border-radius:24px;background:linear-gradient(180deg,var(--panel-hi),var(--panel));border:1.5px solid var(--panel-edge);box-shadow:0 12px 24px #0c021657,inset 0 1px #ffffff12}.item-card.by-me{border-color:#6fe8bb99;box-shadow:0 0 0 3px #6fe8bb29,0 12px 24px #0c021657}.item-main{display:flex;align-items:flex-start;gap:12px}.item-art{position:relative;flex:none;display:grid;place-items:center;width:84px;height:84px;padding:0;border-radius:20px;cursor:pointer;overflow:hidden;border:3px solid var(--ink);box-shadow:inset 0 -5px #00000014,0 4px #00000040}.item-art:focus-visible{outline:3px solid var(--ice);outline-offset:2px}.item-art.big{width:96px;height:96px}.item-emoji{font-size:46px;line-height:1;filter:drop-shadow(0 3px 0 rgba(0,0,0,.15))}.item-art.big .item-emoji{font-size:52px}.item-body{flex:1;min-width:0;display:grid;gap:3px;padding:2px 0 0;border:0;background:none;text-align:left;cursor:pointer}.item-body:focus-visible{outline:3px solid var(--ice);outline-offset:2px;border-radius:8px}.item-title{font-weight:600;font-size:18px;line-height:1.22;color:var(--snow);overflow-wrap:anywhere}.item-meta{font-size:14px;color:var(--text-soft);font-weight:500}.item-note{font-size:14px;color:var(--muted);font-style:italic}.item-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 10px;min-height:40px}.foot-actions{display:inline-flex;align-items:center;gap:8px}.drag-handle{flex:none;display:grid;place-items:center;width:40px;height:58px;margin-right:-4px;border:0;border-radius:14px;background:#ffffff12;color:var(--text-soft);cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing;background:#ffffff24}.drag-handle:focus-visible{outline:3px solid var(--ice)}.claimed-chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:5px 12px 5px 6px;border-radius:999px;background:#00000047;color:var(--text-soft);font-size:14px;font-weight:600}.claimed-chip.mine{padding:6px 12px;background:#6fe8bb2e;color:var(--mint)}.claimed-chip.big{margin:4px 0 0;font-size:15px}.empty{display:grid;justify-items:center;gap:6px;padding:28px 18px;text-align:center}.empty-art{font-size:56px;line-height:1}.empty b{font:var(--dw) 22px/1.1 var(--font-display)}.empty span{color:var(--text-soft)}.hearts{display:inline-flex;align-items:center;gap:2px;color:var(--text-soft)}.hearts.editable button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:10px;background:none;cursor:pointer}.hearts.editable button:focus-visible{outline:2px solid var(--ice)}.hearts-label{margin-left:4px;font-size:13px;color:var(--muted);font-weight:500}.wrap-ov{position:absolute;inset:0;pointer-events:none}.wrap-paper{position:absolute;inset:0;background:repeating-linear-gradient(45deg,#e23448db 0 10px,#fffaf2db 10px 20px)}.ribbon-v,.ribbon-h{position:absolute;box-shadow:0 0 0 1.5px #24183a73}.ribbon-v{top:0;bottom:0;left:50%;width:12px;margin-left:-6px;background:linear-gradient(90deg,#e9a52c,#ffdc75,#e9a52c);transform-origin:top}.ribbon-h{left:0;right:0;top:50%;height:12px;margin-top:-6px;background:linear-gradient(180deg,#e9a52c,#ffdc75,#e9a52c);transform-origin:left}.bow{position:absolute;left:50%;top:50%;width:36px;margin:-18px 0 0 -18px;font-size:30px;line-height:36px;text-align:center;filter:drop-shadow(0 2px 0 rgba(0,0,0,.3))}.sheet-backdrop{position:fixed;inset:0;z-index:7;background:#0e051a99}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:8;width:100%;max-width:560px;margin:0 auto;max-height:calc(100% - 36px - env(safe-area-inset-top,0px));display:flex;flex-direction:column;border-radius:30px 30px 0 0;border:1.5px solid var(--panel-edge);border-bottom:0;background:linear-gradient(180deg,var(--panel-hi),var(--panel) 32%);box-shadow:0 -24px 60px #00000080;padding-bottom:env(safe-area-inset-bottom,0px)}.sheet.tall{min-height:min(88%,780px)}.sheet-grip{flex:none;display:grid;place-items:center;height:30px;cursor:grab;touch-action:none}.sheet-grip span{width:52px;height:6px;border-radius:99px;background:#ffffff52}.sheet-body{overflow-y:auto;overscroll-behavior:contain;padding-block:0 24px;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}.pin{display:grid;gap:18px;padding-top:4px}.pin-head{display:flex;align-items:center;gap:14px}.pin-dots{display:flex;justify-content:center;gap:16px}.dot{width:20px;height:20px;border-radius:50%;border:3px solid rgba(255,255,255,.45);transition:background .15s,border-color .15s}.dot.on{background:var(--gold);border-color:var(--gold);box-shadow:0 0 14px #ffcf5ab3}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:320px;margin:0 auto}.key{height:64px;border:0;border-radius:22px;cursor:pointer;touch-action:manipulation;font:var(--dw) 30px/1 var(--font-display);color:var(--ink);background:linear-gradient(180deg,#fff9,#fff0 50%),linear-gradient(180deg,#fff,#e2e6f3);box-shadow:0 5px #9ea6c4,0 10px 16px #00000040,inset 0 2px #fff}.key:active{box-shadow:0 1px #9ea6c4,0 4px 8px #0003,inset 0 2px #fff}.key-del{background:linear-gradient(180deg,#57407f,#3a2858);color:var(--snow);box-shadow:0 5px #1c1131,0 10px 16px #00000040;font-size:26px}.key:focus-visible{outline:3px solid var(--ice);outline-offset:3px}.form{display:grid;gap:8px}.field-label{margin-top:6px;font-size:13px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--text-soft)}.field{width:100%;min-height:50px;padding:0 14px;border-radius:16px;outline:none;border:2px solid var(--field-edge);background:var(--field);color:var(--snow);font:500 17px/1.2 var(--font-body);transition:border-color .15s,box-shadow .15s}.field::placeholder{color:#fff6}.field:focus{border-color:var(--ice);box-shadow:0 0 0 4px #8fdcff33}.field.code{letter-spacing:12px;text-align:center;font:var(--dw) 26px/1 var(--font-display)}.join-preview{display:grid;justify-items:center;gap:6px;padding:22px}.join-name{margin:0;font:var(--dw) 24px/1.1 var(--font-display)}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatch{width:42px;height:42px;border-radius:50%;border:3px solid var(--ink);cursor:pointer;box-shadow:0 3px #0000004d}.swatch.on{outline:3px solid var(--snow);outline-offset:2px}.hat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:8px}.hat-tile{display:grid;place-items:center;height:76px;border-radius:18px;cursor:pointer;border:2px solid rgba(255,255,255,.12);background:#ffffff0f}.hat-tile.on{border-color:var(--gold);background:#ffcf5a24;box-shadow:0 0 0 3px #ffcf5a33}.swatch:focus-visible,.hat-tile:focus-visible,.chip:focus-visible,.pic:focus-visible,.look-card:focus-visible,.santa-pick:focus-visible,.door:focus-visible{outline:3px solid var(--ice);outline-offset:2px}.add{display:grid;gap:12px;padding-top:2px}.add .muted{margin:0}.link-row{display:flex;gap:10px;align-items:center}.link-row .field{flex:1;min-width:0}.chips,.budget{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:40px;padding:0 15px;border-radius:999px;cursor:pointer;font-weight:600;font-size:15px;border:2px solid var(--panel-edge);background:#ffcf5a1a;color:var(--gold)}.chip.ghost{border-color:#fff3;background:transparent;color:var(--text-soft)}.chip.on{background:var(--gold);border-color:var(--gold);color:var(--ink)}.preview{display:grid;gap:8px;padding:14px;border-radius:22px;background:#00000038;border:1.5px dashed rgba(255,207,90,.5)}.preview-top{display:flex;gap:14px;align-items:flex-start}.preview-fields{flex:1;min-width:0;display:grid;gap:6px}.preview-fields>.field-label:first-child{margin-top:0}.field-pair{display:grid;grid-template-columns:1fr 1.25fr;gap:8px}.field-pair>span{display:grid;gap:6px;min-width:0}.skeleton{position:relative;overflow:hidden;grid-template-columns:96px 1fr;align-items:center}.skel-art{width:96px;height:96px;border-radius:20px;background:#ffffff1a}.skel-lines{display:grid;gap:10px}.skel-lines span{height:16px;border-radius:8px;background:#ffffff1a}.skel-lines span:last-child{width:60%}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.15) 50%,transparent 80%);transform:translate(-100%);animation:shimmer 1s ease-in-out infinite}@keyframes shimmer{to{transform:translate(100%)}}.fetch-label{grid-column:1 / -1;font-size:14px;font-weight:600;color:var(--gold)}.found-note{display:flex;align-items:center;gap:6px;margin:2px 0 0;padding:8px 12px;border-radius:14px;background:#6fe8bb24;color:var(--mint);font-size:14px;font-weight:600}.found-note.small{display:inline-flex;padding:5px 10px;font-size:13px}.pictures{display:flex;flex-wrap:wrap;gap:6px}.pic{width:44px;height:44px;border-radius:14px;cursor:pointer;font-size:24px;border:2px solid rgba(255,255,255,.12);background:#ffffff0f}.pic.on{border-color:var(--gold);background:#ffcf5a29}.want-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:4px}.want-row .field-label{margin:0}.detail{display:grid;gap:10px;justify-items:start;padding-top:2px}.detail-art{position:relative;justify-self:center;display:grid;place-items:center;width:150px;height:150px;margin-bottom:6px;border-radius:34px;overflow:hidden;border:4px solid var(--ink);box-shadow:inset 0 -8px #00000014,0 8px #00000040}.detail-art>span:first-child{font-size:80px;line-height:1}.detail-meta{margin:0;color:var(--text-soft);font-size:16px;font-weight:500}.detail-note{margin:0;color:var(--muted);font-size:16px;font-style:italic}.detail-actions{display:grid;gap:12px;width:100%;margin-top:8px}.detail .form{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:10px}.btn-row .btn{flex:1 1 auto}.btn-row .btn-label{white-space:nowrap}.confirm-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 12px;border-radius:16px;background:#00000040}.confirm-row>span{flex:1;font-weight:600}.advent-banner{display:grid;gap:12px}.advent-banner p{margin:0;display:grid;gap:2px}.advent-banner b{font:var(--dw) 21px/1.1 var(--font-display)}.advent-banner span{color:var(--text-soft);font-size:14.5px}.doors{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.door{position:relative;aspect-ratio:1;padding:0;border:0;background:none;cursor:pointer;perspective:420px}.door-inside{position:absolute;inset:0;display:grid;place-items:center;border-radius:14px;background:radial-gradient(circle at 50% 40%,#3a2558,#1a0f2b);box-shadow:inset 0 3px 8px #0009;font-size:clamp(20px,6vw,30px)}.door-front{position:absolute;inset:0;display:grid;place-items:center;border-radius:14px;transform-origin:left center;-webkit-backface-visibility:hidden;backface-visibility:hidden;border:2.5px solid var(--ink);background:linear-gradient(180deg,#ffffff73,#fff0 50%),repeating-linear-gradient(135deg,rgba(255,255,255,.2) 0 6px,transparent 6px 12px),var(--dc, var(--gold));box-shadow:0 4px #0000004d}.door.c0{--dc: #ffcf5a}.door.c1{--dc: #6fe8bb}.door.c2{--dc: #8fdcff}.door.c3{--dc: #ff7f8f}.door.c4{--dc: #fff8ef}.door-num{font:var(--dw) clamp(18px,5.6vw,27px)/1 var(--font-display);color:var(--ink)}.door-lock{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:18px;height:18px;border-radius:6px;background:#24183abf;color:#fff}.door.locked .door-front{filter:saturate(.7) brightness(.9)}.door.opened .door-front{box-shadow:none}.door-reveal{display:grid;justify-items:center;gap:10px;padding:6px 0 4px;text-align:center}.reveal-emoji{font-size:84px;line-height:1;filter:drop-shadow(0 6px 0 rgba(0,0,0,.25))}.door-reveal .btn{margin-top:10px}.santa-crew{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;margin-bottom:12px}.santa-pick{display:grid;justify-items:center;gap:4px;padding:10px 4px 8px;border-radius:18px;cursor:pointer;font-weight:600;border:2px solid rgba(255,255,255,.12);background:#ffffff0d;opacity:.55;filter:grayscale(.6);transition:opacity .15s,filter .15s,border-color .15s}.santa-pick.on{opacity:1;filter:none;border-color:var(--mint);background:#6fe8bb1f}.santa .field-label{display:block;margin:12px 0 8px}.reel-panel,.reveal-panel{display:grid;justify-items:center;gap:10px;padding:26px 18px;text-align:center}.reel{position:relative;display:grid;place-items:center;width:150px;height:150px;overflow:hidden;border-radius:34px;border:3px solid var(--panel-edge);background:#0000004d;box-shadow:inset 0 4px 12px #00000080}.reel>span{position:absolute}.big-gift{display:inline-block;font-size:110px;line-height:1;filter:drop-shadow(0 8px 0 rgba(0,0,0,.25))}.reveal-name{margin:0;font:var(--dw) 36px/1 var(--font-display);color:var(--gold);text-shadow:0 3px 0 var(--ink)}.toggles{display:grid;gap:8px}.toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:60px;padding:10px 14px;border-radius:18px;cursor:pointer;text-align:left;border:1.5px solid rgba(255,255,255,.12);background:#ffffff0d}.toggle:focus-visible{outline:3px solid var(--ice);outline-offset:2px}.toggle-text{display:grid;gap:1px}.toggle-label{font-size:16.5px;font-weight:600}.toggle-hint{font-size:13px;color:var(--muted)}.toggle-track{flex:none;display:flex;align-items:center;justify-content:flex-start;width:58px;height:34px;padding:3px;border-radius:999px;background:#0000006b;box-shadow:inset 0 2px 4px #0006;transition:background .2s}.toggle.on .toggle-track{justify-content:flex-end;background:var(--mint-deep)}.toggle-knob{width:28px;height:28px;border-radius:50%;background:linear-gradient(180deg,#fff,#e4e7f4);box-shadow:0 2px #00000040}.advent-banner .toggle,.santa .toggle{background:#0000002e}.settings{display:grid;gap:14px;padding-top:2px}.settings-head{display:flex;align-items:center;gap:12px}.settings-head .muted{margin:2px 0 0}.mini-title{margin:6px 0 0;font:var(--dw) 18px/1 var(--font-display);letter-spacing:.4px}.looks{display:grid;grid-template-columns:1fr 1fr;gap:10px}.look-card{display:grid;gap:4px;padding:10px;border-radius:18px;cursor:pointer;text-align:left;border:2px solid rgba(255,255,255,.12);background:#ffffff0d}.look-card.on{border-color:var(--gold);box-shadow:0 0 0 3px #ffcf5a38}.look-swatch{height:58px;border-radius:12px;border:2px solid var(--ink)}.look-red .look-swatch{background:radial-gradient(80% 60% at 50% 0%,#d02a43,transparent),linear-gradient(#941129,#4d0717)}.look-twilight .look-swatch{background:linear-gradient(180deg,#19134d,#573a9b 55%,#ec9455)}.look-card b{font-size:15px}.look-card small{font-size:12.5px;color:var(--muted)}.settings-actions{display:grid;gap:12px;margin-top:4px}.capn-layer{position:fixed;left:0;right:0;bottom:0;z-index:4;pointer-events:none;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));padding-bottom:env(safe-area-inset-bottom,0px)}.capn-rail{position:relative;max-width:540px;height:0;margin:0 auto}.capn-mover{position:absolute;left:0;bottom:8px}.capn-btn{display:block;padding:0;border:0;border-radius:30px;background:none;cursor:pointer;pointer-events:auto}.capn-btn:focus-visible{outline:3px dashed var(--gold);outline-offset:4px}.capn-jump{transform-origin:50% 100%}.capn-jump svg{display:block;filter:drop-shadow(0 0 18px rgba(255,236,200,.28))}.capn-shadow{position:absolute;left:16%;right:16%;bottom:-6px;height:14px;border-radius:50%;background:radial-gradient(closest-side,rgba(10,0,20,.5),transparent);opacity:.35}.capn-bubble{position:absolute;bottom:calc(100% + 4px);width:max-content;max-width:min(260px,72vw);padding:10px 14px;border-radius:18px;pointer-events:none;background:var(--snow);color:var(--ink);font-weight:600;font-size:15px;line-height:1.3;box-shadow:0 10px 24px #00000059,0 3px #24183a59}.capn-bubble:after{content:"";position:absolute;bottom:-7px;width:14px;height:14px;background:var(--snow);transform:rotate(45deg);border-radius:0 0 3px}.capn-bubble.align-start{left:4px;transform-origin:20% 100%}.capn-bubble.align-start:after{left:28px}.capn-bubble.align-end{right:4px;transform-origin:80% 100%}.capn-bubble.align-end:after{right:28px}.capn-bubble.align-center{left:50%;translate:-50% 0;transform-origin:50% 100%}.capn-bubble.align-center:after{left:calc(50% - 7px)}.capn .capn-eyes{transform-box:fill-box;transform-origin:center;animation:blink 4.8s infinite}@keyframes blink{0%,93%,to{transform:scaleY(1)}95.5%{transform:scaleY(.1)}}.capn .capn-head{transform-box:view-box;transform-origin:120px 205px}.capn .capn-head.grooving{animation:groove .79s ease-in-out infinite}@keyframes groove{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.capn .capn-pom{transform-box:view-box;transform-origin:66px 56px;animation:pom 2.8s ease-in-out infinite}@keyframes pom{0%,to{transform:rotate(0)}50%{transform:rotate(-7deg)}}.capn .capn-scarf{transform-box:view-box;transform-origin:86px 212px;animation:scarf 1.9s ease-in-out infinite}@keyframes scarf{0%,to{transform:rotate(0) skewY(0)}50%{transform:rotate(5deg) skewY(-4deg)}}.capn .capn-led{animation:led 1.6s ease-in-out infinite}@keyframes led{50%{opacity:.5}}.leds-hot .capn-led{animation:none;opacity:1}.crew-star{transform-box:fill-box;transform-origin:center;animation:twinkle 2.4s ease-in-out infinite}@keyframes twinkle{50%{transform:scale(1.15) rotate(12deg)}}.falling{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden}.faller{position:absolute;top:0;filter:drop-shadow(0 6px 8px rgba(0,0,0,.25));will-change:transform}.burst-layer{position:fixed;inset:0;z-index:10;pointer-events:none;overflow:hidden}.particle{position:absolute;line-height:1;text-shadow:0 0 10px currentColor;will-change:transform,opacity}.float-text{position:absolute;white-space:nowrap;font:var(--dw) 26px/1 var(--font-display);color:var(--gold);text-shadow:0 3px 0 var(--ink),0 0 16px rgba(255,207,90,.7)}.toast-layer{position:fixed;left:0;right:0;top:0;z-index:12;display:grid;justify-items:center;pointer-events:none;padding-top:calc(env(safe-area-inset-top,0px) + 12px);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.toast{max-width:420px;padding:12px 16px;border-radius:18px;background:var(--snow);color:var(--ink);font-weight:600;font-size:15px;text-align:center;box-shadow:0 12px 30px #0006,0 3px #24183a59}@media (prefers-reduced-motion: reduce){.bokeh,.island,.candy-fill,.skeleton:after,.crew-star,.capn .capn-eyes,.capn .capn-head.grooving,.capn .capn-pom,.capn .capn-scarf,.capn .capn-led{animation:none!important}}:root{--dw: 400}[lang=vi]{--font-display: "Baloo 2", "Fredoka", system-ui, sans-serif;--font-body: "Baloo 2", system-ui, sans-serif;--dw: 800;font-family:var(--font-body)}[lang=zh]{--font-display: "Lilita One", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", sans-serif;--font-body: "Fredoka", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", sans-serif;--dw: 700;font-synthesis:none;font-family:var(--font-body)}.welcome-bar{display:flex;justify-content:flex-end}.lang-toggle{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:3px;padding:4px;border-radius:999px;background:#24183a8c;border:1.5px solid var(--panel-edge)}.lang-toggle button{min-width:38px;height:32px;padding:0 9px;border:0;border-radius:999px;background:transparent;color:var(--text-soft);font:600 13px/1 var(--font-body);letter-spacing:.5px;cursor:pointer}.lang-toggle button.on{background:var(--gold);color:var(--ink);box-shadow:0 2px 0 var(--gold-edge)}.lang-chips{display:flex;flex-wrap:wrap;gap:6px}.lang-chip{min-height:36px;padding:0 12px;border-radius:999px;cursor:pointer;font:600 14px/1 var(--font-body);color:var(--text-soft);border:2px solid rgba(255,255,255,.16);background:#ffffff0d}.lang-chip.on{color:var(--ink);background:var(--gold);border-color:var(--gold);box-shadow:0 2px 0 var(--gold-edge)}.lang-card{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border-radius:16px;cursor:pointer;text-align:left;border:2px solid rgba(255,255,255,.12);background:#ffffff0d}.lang-card.on{border-color:var(--gold);box-shadow:0 0 0 3px #ffcf5a38}.lang-short{flex:none;display:grid;place-items:center;min-width:36px;height:30px;padding:0 6px;border-radius:9px;background:#ffffff1a;font:700 12.5px/1 var(--font-body);letter-spacing:.5px}.lang-card.on .lang-short{background:var(--gold);color:var(--ink)}.lang-card b{min-width:0;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lang-toggle button:focus-visible,.lang-chip:focus-visible,.lang-card:focus-visible{outline:3px solid var(--ice);outline-offset:2px}.search{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border-radius:16px;border:2px solid var(--field-edge);background:var(--field);color:var(--text-soft)}.search:focus-within{border-color:var(--ice);box-shadow:0 0 0 4px #8fdcff33}.search input{flex:1;min-width:0;height:44px;border:0;outline:none;background:transparent;color:var(--snow);font:500 16px/1 var(--font-body)}.search input::placeholder{color:#fff6}.panel .search,.section .search{margin-bottom:12px}.crew-grid.compact{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}.crew-grid.compact .crew-tile{padding:8px 4px}.crew-grid.compact .crew-name{font-size:14px}.crew-name{text-align:center;overflow-wrap:anywhere}.crew-tile.pending{border-style:dashed;border-color:#ffcf5a8c;background:#ffcf5a12}.tag.drop-tag{white-space:nowrap;background:var(--gold);color:var(--ink)}.crew-switch{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px 10px 10px;border-radius:20px;cursor:pointer;text-align:left;border:1.5px solid var(--panel-edge);background:#24183a8c;box-shadow:0 8px 18px #0c021647}.crew-emoji{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#ffffff14;font-size:26px;line-height:1}.crew-switch-text,.crew-row-text{flex:1;min-width:0;display:grid;gap:1px}.crew-switch-text b,.crew-row-text b{font:var(--dw) 19px/1.15 var(--font-display);letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-switch-text small,.crew-row-text small{font-size:13px;color:var(--text-soft)}.crew-switch-cta{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--gold);color:var(--ink);box-shadow:0 3px 0 var(--gold-edge)}.crew-switch:focus-visible,.crew-row:focus-visible,.nudge:focus-visible{outline:3px solid var(--ice);outline-offset:3px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.section-head .section-title,.section-head .panel-title{margin:0}.section-head .section-title{margin-left:4px;min-width:0}.section-head .btn{flex:none}.btn.sm .btn-label{white-space:nowrap}.mini-chips{display:inline-flex;gap:6px}.chip.small{min-height:34px;padding:0 12px;font-size:13.5px}.chip-count{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:4px;padding:0 6px;border-radius:999px;background:#00000040;font-size:12px}.chip.on .chip-count{background:#24183a2e}.nudge{display:flex;align-items:center;gap:12px;width:100%;margin-top:12px;padding:10px 14px 10px 10px;border-radius:20px;cursor:pointer;text-align:left;border:2px dashed rgba(255,207,90,.6);background:#ffcf5a14;color:var(--snow)}.nudge span{flex:1;min-width:0;font-size:14.5px;font-weight:500}.nudge b{flex:none;color:var(--gold);font:var(--dw) 16px/1 var(--font-display)}.crews{display:grid;gap:14px}.crew-rows{display:grid;gap:8px}.crew-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px 10px 10px;border-radius:18px;cursor:pointer;text-align:left;border:2px solid rgba(255,255,255,.12);background:#ffffff0d}.crew-row.on{border-color:var(--gold);background:#ffcf5a1f}.crew-row>svg{flex:none;color:var(--gold)}.new-crew-preview{display:grid;justify-items:center;gap:6px;padding:22px;text-align:center}.big-emoji{display:inline-block;font-size:64px;line-height:1;filter:drop-shadow(0 5px 0 rgba(0,0,0,.25))}.new-crew-preview b{font:var(--dw) 24px/1.1 var(--font-display);overflow-wrap:anywhere}.emoji-grid{display:flex;flex-wrap:wrap;gap:6px}.add-people{display:grid;gap:10px}.add-people .panel-title{margin-bottom:0}.add-people .muted{margin:0}.add-row{display:flex;gap:10px;align-items:center}.add-row .field{flex:1;min-width:0}.add-people .chip.ghost{justify-self:start}.add-people .toggle{background:#0000002e}.field.area{min-height:120px;padding:12px 14px;line-height:1.4;resize:vertical}.filters{display:flex;flex-wrap:wrap;gap:8px}.member-list{display:grid;gap:8px}.member-row{border-radius:18px;border:1.5px solid rgba(255,255,255,.1);background:linear-gradient(180deg,var(--panel-hi),var(--panel));overflow:hidden}.member-main{display:flex;align-items:center;gap:12px;min-height:66px;padding:8px 10px 8px 8px}.member-av{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#ffffff12}.member-text{flex:1;min-width:0;display:grid;gap:4px}.member-text b{font-weight:600;font-size:16.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.status{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.st-joined{background:#6fe8bb29;color:var(--mint)}.st-invited{background:#ffcf5a29;color:var(--gold)}.st-added{background:#ffffff1a;color:var(--text-soft)}.st-managed{background:#8fdcff24;color:var(--ice)}.member-row .btn.sm{flex:none}.row-remove{flex:none;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:12px;background:#ffffff0f;color:var(--text-soft);cursor:pointer}.row-remove:hover{background:#ff6b7d33;color:#ffb3bd}.row-remove:focus-visible{outline:3px solid var(--ice)}.member-row .confirm-row{margin:0 8px 8px}.drop-sheet,.party-drop{display:grid;gap:12px;padding-top:2px}.drop-sheet-head{display:flex;align-items:center;gap:14px}.drop-sheet-head>span{flex:none;display:inline-block}.drop-sheet-head .muted{margin-top:4px;font-size:14px}.drop-lang{display:grid;gap:8px}.drop-lang .field-label{margin:0}.invite-msg{margin:0;padding:12px 14px;border-radius:18px 18px 18px 6px;background:var(--snow);color:var(--ink);font-size:14.5px;line-height:1.4;overflow-wrap:anywhere;box-shadow:0 6px 16px #00000040}.qr-wrap{display:grid;justify-items:center;gap:8px}.qr{display:block;max-width:100%;height:auto;border-radius:16px;box-shadow:0 8px 24px #00000059}.qr-missing{display:grid;place-items:center;max-width:100%;border-radius:16px;background:var(--snow);color:var(--ink);font:var(--dw) 28px/1 var(--font-display)}.qr-card{display:grid;justify-items:center;gap:6px;padding:18px;border-radius:26px;background:linear-gradient(180deg,#fff8ef,#f0e6ff);color:var(--ink);text-align:center;box-shadow:0 14px 30px #00000059}.qr-card .qr{box-shadow:none}.qr-card b{font:var(--dw) 22px/1.1 var(--font-display)}.crew-code{padding:6px 12px;border-radius:10px;background:#24183a14;font:600 15px/1 ui-monospace,SF Mono,Menlo,monospace;letter-spacing:4px}.preview-banner{margin:0;padding:10px 14px;border-radius:16px;border:1.5px dashed rgba(143,220,255,.6);background:#8fdcff1a;color:var(--ice);font-size:14px;font-weight:600;text-align:center}.drop-stage{display:grid;justify-items:center;gap:12px;padding:22px 18px;text-align:center}.drop-hero{display:inline-block;filter:drop-shadow(0 14px 22px rgba(0,0,0,.35))}.drop-title{margin:0;font:var(--dw) 28px/1.1 var(--font-display);text-wrap:balance}.drop-stage .muted{margin:0}.drop-stage .lang-chips{justify-content:center;margin-top:4px}.arch-stage{display:grid;justify-items:center;gap:14px;padding:28px 0;text-align:center}.arch-title{margin:0;font:var(--dw) 30px/1.1 var(--font-display);color:var(--gold);text-shadow:0 3px 0 var(--ink);text-wrap:balance}.archway{display:block;max-width:100%;height:auto}.arch-portal{animation:portal 2.2s ease-in-out infinite}@keyframes portal{50%{opacity:.78}}.arch-spark{transform-box:fill-box;transform-origin:center;animation:archspark 1.8s ease-in-out infinite}@keyframes archspark{0%,to{transform:scale(.4);opacity:.2}50%{transform:scale(1);opacity:1}}.drop-glow{transform-box:fill-box;transform-origin:center;animation:dropglow 2.4s ease-in-out infinite}@keyframes dropglow{50%{opacity:.55;transform:scale(1.08)}}.build{display:flex;flex-direction:column;gap:16px}.join-preview{gap:8px}.arch-frame{position:relative;display:grid;place-items:end center}.arch-mate{position:absolute;left:50%;bottom:10px;margin-left:-50px}.join-preview .btn{margin-top:2px}.build-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:10px 0 0;padding:4px;border-radius:16px;background:#00000047}.build-tab{position:relative;min-width:0;min-height:42px;padding:0 2px;border:0;border-radius:12px;background:none;cursor:pointer;color:var(--text-soft);font:600 12.5px/1.1 var(--font-body)}.build-tab.on{color:var(--ink)}.build-tab-pill{position:absolute;inset:0;border-radius:12px;background:var(--gold);box-shadow:0 2px 0 var(--gold-edge)}.build-tab-label{position:relative;overflow-wrap:break-word;hyphens:auto}.build-tab:focus-visible{outline:3px solid var(--ice);outline-offset:2px}.build [role=tabpanel]{min-height:92px;padding-top:10px}.santa-crew.compact{grid-template-columns:repeat(auto-fill,minmax(62px,1fr))}.santa-crew.compact .santa-pick span{font-size:12px}@media (prefers-reduced-motion: reduce){.arch-portal,.arch-spark,.drop-glow{animation:none!important}}.item-art,.detail-art{position:relative;overflow:hidden}.item-photo{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);object-fit:contain;border-radius:12px;background:#fff;box-shadow:0 2px 6px #0000002e}.detail-art .item-photo{inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);border-radius:20px}.detail-art .item-emoji{font-size:80px}.first-visit{display:grid;justify-items:center;gap:8px;padding:24px 18px;text-align:center}.first-visit .panel-title{margin:6px 0 0}.first-visit .muted{margin:0;max-width:32ch}.first-drop{display:inline-block;filter:drop-shadow(0 12px 18px rgba(0,0,0,.35))}.as-me{display:grid;gap:6px;width:100%}.as-me .fine{margin:0}.waiting .hero{margin-top:16vh}
