:root{--ink: #14151f;--ink-soft: #565a72;--paper: #eef0f6;--paper-raised: #ffffff;--paper-sunk: #e3e6f0;--line: #d7d9e6;--accent: #5b4fe0;--accent-2: #22c1dc;--accent-soft: #5b4fe017;--accent-2-soft: #22c1dc17;--accent-contrast: #ffffff;--warm: #b0530f;--warm-soft: #b0530f14;--good: #157a4a;--good-soft: #157a4a14;--danger: #c0362b;--danger-soft: #c0362b14;--radius: 14px;--display: "Bricolage Grotesque", "IBM Plex Sans", -apple-system, sans-serif;--sans: "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--shadow-xs: 0 1px 2px rgba(18, 24, 31, .06);--shadow-sm: 0 2px 6px rgba(18, 24, 31, .08), 0 1px 2px rgba(18, 24, 31, .05);--shadow-md: 0 8px 24px rgba(18, 24, 31, .12), 0 2px 6px rgba(18, 24, 31, .06);--shadow-lg: 0 16px 40px rgba(18, 24, 31, .18), 0 4px 10px rgba(18, 24, 31, .08);--ease: cubic-bezier(.2, .7, .3, 1)}@media (prefers-color-scheme: dark){:root{--ink: #e7ebe8;--ink-soft: #9aa39c;--paper: #0e1210;--paper-raised: #171d1a;--paper-sunk: #0a0d0b;--line: #2a332e;--accent: #8f7ef5;--accent-2: #4fd6ea;--accent-soft: #8f7ef522;--accent-2-soft: #4fd6ea22;--accent-contrast: #100c30;--warm: #e0954f;--warm-soft: #e0954f1c;--good: #52c98a;--good-soft: #52c98a1c;--danger: #f0776a;--danger-soft: #f0776a1c;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .35);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .6), 0 4px 10px rgba(0, 0, 0, .35)}}.theme-birthday{--accent: #d6408a;--accent-soft: #d6408a1a}.theme-christmas_party{--accent: #d63950;--accent-soft: #d639501a}.theme-strategic_planning{--accent: #3b6fe0;--accent-soft: #3b6fe01a}.theme-team_building{--accent: #0f9488;--accent-soft: #0f948817}.theme-other{--accent: #8b3fd6;--accent-soft: #8b3fd61a}@media (prefers-color-scheme: dark){.theme-birthday{--accent: #f0a0c8;--accent-soft: #f0a0c822;--accent-contrast: #3a0f22}.theme-christmas_party{--accent: #f0919e;--accent-soft: #f0919e22;--accent-contrast: #350a0c}.theme-strategic_planning{--accent: #8fadf0;--accent-soft: #8fadf022;--accent-contrast: #0b2438}.theme-team_building{--accent: #5fd6c8;--accent-soft: #5fd6c81c;--accent-contrast: #06201d}.theme-other{--accent: #c49bf0;--accent-soft: #c49bf022;--accent-contrast: #241a33}}.preset-christmas{--accent: #1c5a37;--accent-2: #c79a2b;--accent-soft: #1c5a371a}@media (prefers-color-scheme: dark){.preset-christmas{--accent: #7fce9c;--accent-2: #e3c268;--accent-soft: #7fce9c22;--accent-contrast: #0e2b1c}}.shell.preset-christmas,.shell-wide.preset-christmas,.card.preset-christmas{background-image:radial-gradient(circle at 50% 100%,var(--accent-2) 0 2.5px,transparent 3px),linear-gradient(var(--accent),var(--accent));background-repeat:repeat-x,no-repeat;background-position:top,top;background-size:26px 10px,100% 2px}.preset-summer{--accent: #e2572e;--accent-2: #f2a71b;--accent-soft: #e2572e1a;--accent-2-soft: #f2a71b17;--accent-contrast: var(--ink)}@media (prefers-color-scheme: dark){.preset-summer{--accent: #ff9466;--accent-2: #ffcf5e;--accent-soft: #ff946622;--accent-2-soft: #ffcf5e22;--accent-contrast: #3a1408}}*{box-sizing:border-box}html{scrollbar-gutter:stable}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--display);font-weight:600;margin:0 0 .5rem;text-wrap:balance}p{margin:0 0 .75rem}a{color:var(--accent);transition:color .15s var(--ease)}button,input,select,textarea{font-family:inherit;font-size:1rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.shell{max-width:720px;margin:0 auto;padding:1.5rem 1.25rem 6rem;min-height:100%;animation:rise .35s var(--ease);position:relative}.shell:before{content:"";position:absolute;top:0;left:0;right:0;height:200px;background:radial-gradient(ellipse 760px 200px at 26% 0%,var(--accent-soft),transparent 70%);pointer-events:none;z-index:0}.shell:after{content:"";position:absolute;top:10px;right:8%;width:184px;height:104px;pointer-events:none;z-index:0;background:radial-gradient(circle at 141px 54px,var(--accent) 0 32px,transparent 33px),radial-gradient(circle at 73px 56px,color-mix(in srgb,var(--accent) 55%,var(--accent-2)) 0 23px,transparent 24px),radial-gradient(circle at 16px 56px,var(--accent-2) 0 16px,transparent 17px);opacity:.26;filter:blur(2px);animation:auth-float-sm 12s ease-in-out infinite}.shell>*{position:relative;z-index:1}.shell-wide{max-width:1080px;margin:0 auto;padding:1.5rem 1.25rem 4rem;animation:rise-fade .35s var(--ease);position:relative}.shell-wide:before{content:"";position:absolute;top:0;left:0;right:0;height:220px;background:radial-gradient(ellipse 900px 220px at 30% 0%,var(--accent-soft),transparent 70%);pointer-events:none;z-index:0}.shell-wide:after{content:"";position:absolute;top:12px;right:6%;width:230px;height:130px;pointer-events:none;z-index:0;background:radial-gradient(circle at 176px 68px,var(--accent) 0 40px,transparent 41px),radial-gradient(circle at 91px 70px,color-mix(in srgb,var(--accent) 55%,var(--accent-2)) 0 29px,transparent 30px),radial-gradient(circle at 20px 70px,var(--accent-2) 0 20px,transparent 21px);opacity:.26;filter:blur(2px);animation:auth-float-sm 13s ease-in-out infinite}.shell-wide>*{position:relative;z-index:1}.preset-summer.shell{position:relative;overflow:hidden}.preset-summer.shell:before{content:"";position:absolute;top:0;left:0;right:0;height:220px;background:radial-gradient(ellipse 780px 200px at 22% 0%,var(--accent-soft),transparent 70%),radial-gradient(ellipse 520px 170px at 86% 0%,#14b8a633,transparent 72%);pointer-events:none;z-index:0}.preset-summer.shell>*{position:relative;z-index:1}.preset-summer.shell-wide:before{background:radial-gradient(ellipse 900px 220px at 30% 0%,var(--accent-soft),transparent 70%),radial-gradient(ellipse 560px 180px at 90% 0%,#14b8a630,transparent 72%)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes rise-fade{0%{opacity:0}to{opacity:1}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--paper-raised);position:sticky;top:0;z-index:5;overflow:hidden}.topbar:before{content:"";position:absolute;top:50%;right:4%;width:220px;height:220px;transform:translateY(-50%);border-radius:50%;z-index:-1;pointer-events:none;background:radial-gradient(circle,var(--accent-2) 0%,var(--accent) 45%,transparent 72%);opacity:.14;filter:blur(22px)}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;pointer-events:none;background:linear-gradient(90deg,var(--accent-2),var(--accent) 55%,var(--accent-2))}@media (prefers-color-scheme: dark){.topbar:before{opacity:.2}}.topbar .brand{font-family:var(--display);font-weight:600;font-size:1.05rem;display:inline-flex;align-items:baseline;gap:.55rem}.brand-mark{position:relative;width:22px;height:15px;flex:none}.brand-mark i{position:absolute;bottom:0;border-radius:50%}.brand-mark i:nth-child(1){width:5px;height:5px;left:0;background:var(--accent-2)}.brand-mark i:nth-child(2){width:7px;height:7px;left:7px;background:color-mix(in srgb,var(--accent) 55%,var(--accent-2))}.brand-mark i:nth-child(3){width:9px;height:9px;left:15px;background:var(--accent)}.topbar-identity-full,.topbar-divider{display:none}.topbar-identity-compact{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;flex:none;background:var(--accent-soft);color:var(--accent);font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.01em}.nav-cluster{display:flex;align-items:stretch;justify-content:space-around;gap:0;position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--paper-raised);border:none;border-top:1px solid var(--line);border-radius:0;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));box-shadow:0 -6px 20px #12181f1a}.nav-item{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;flex:1;padding:.4rem .3rem;border-radius:10px;border:none;background:transparent;color:var(--ink-soft);text-decoration:none;font:inherit;cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease),transform .12s var(--ease)}.nav-item svg{width:20px;height:20px;flex:none}.nav-item .nav-label{font-size:.64rem;font-weight:600;letter-spacing:.01em}.nav-item:hover{color:var(--ink)}.nav-item:active{transform:scale(.94)}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.pnav{display:flex;align-items:center;justify-content:space-around;gap:0;position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--paper-raised);border:none;border-top:1px solid var(--line);padding:.3rem .4rem calc(.3rem + env(safe-area-inset-bottom));box-shadow:0 -6px 20px #12181f1a}.pnav-item{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;flex:1;min-height:44px;padding:.3rem .2rem;border-radius:10px;color:var(--ink-soft);text-decoration:none;transition:background-color .15s var(--ease),color .15s var(--ease)}.pnav-icon svg{width:20px;height:20px;flex:none}.pnav-label{font-size:.64rem;font-weight:600;letter-spacing:.01em}.pnav-item:active{transform:scale(.94)}.pnav-item.active{background:var(--accent-soft);color:var(--accent)}.pnav-fab{flex:none;margin-top:-22px;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent-contrast);background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:var(--shadow-md);border:4px solid var(--paper);text-decoration:none}.pnav-fab svg{width:22px;height:22px}.pnav-fab:active{transform:scale(.96)}.has-pnav .shell,.has-pnav.shell,.has-pnav.shell-wide{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}@media (min-width: 860px){.topbar-identity-full{display:inline}.topbar-identity-compact{display:none}.topbar-divider{display:block;width:1px;height:22px;background:var(--line);margin:0 .15rem;flex:none}.nav-dock{position:static;flex-direction:row;gap:.3rem;background:transparent;border:none;border-radius:0;padding:0;box-shadow:none}.nav-dock .nav-item{flex:none;flex-direction:row;width:38px;height:38px;padding:0;border-radius:8px}.nav-dock .nav-item svg{width:20px;height:20px}.nav-dock .nav-item .nav-label{display:none}.nav-dock .nav-item.active{background:var(--accent-soft);color:var(--accent)}}@media (max-width: 859.98px){.has-bottom-nav .shell,.has-bottom-nav.shell,.has-bottom-nav.shell-wide{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}}.auth-shell{min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}.auth-frame{display:flex;flex-direction:column;flex:1}@media (min-width: 860px){.auth-shell{flex-direction:row;align-items:center;justify-content:center;padding:2rem;min-height:100vh}.auth-frame{flex-direction:row;flex:none;width:100%;max-width:1000px;height:620px;border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lg)}}.auth-hero{position:relative;overflow:hidden;flex:0 0 75%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 640px 560px at 44% 34%,var(--accent-soft),var(--paper) 72%)}@media (min-width: 860px){.auth-hero{flex:0 0 70%}}.auth-orbit{position:absolute;border-radius:50%;animation:auth-float 10s ease-in-out infinite}.auth-orbit.o1{width:190px;height:190px;background:var(--accent-2);opacity:.3;top:2%;left:-10%;filter:blur(1px)}.auth-orbit.o2{width:240px;height:240px;background:var(--accent);opacity:.22;bottom:-10%;right:-8%;filter:blur(1px);animation-delay:-3.3s}.auth-orbit.o3{width:96px;height:96px;background:var(--warm);opacity:.22;bottom:18%;left:10%;animation-delay:-6.6s}.auth-orbit.o4{width:44px;height:44px;background:var(--accent);opacity:.4;top:18%;right:20%;animation:auth-float-sm 7s ease-in-out infinite;animation-delay:-2s}.auth-ring{position:absolute;top:50%;left:50%;width:300px;height:300px;margin:-150px 0 0 -150px;border:1px solid var(--line);border-radius:50%}@keyframes auth-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-16px) scale(1.05)}}@keyframes auth-float-sm{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@media (prefers-reduced-motion: reduce){.auth-orbit{animation:none}}.auth-hero-content{position:relative;z-index:3;text-align:center;padding:0 2rem}.auth-logomark{position:relative;width:44px;height:30px;margin:0 auto .9rem}.auth-logomark i{position:absolute;bottom:0;border-radius:50%}.auth-logomark i:nth-child(1){width:9px;height:9px;left:0;background:var(--accent-2)}.auth-logomark i:nth-child(2){width:13px;height:13px;left:14px;bottom:-2px;background:color-mix(in srgb,var(--accent) 55%,var(--accent-2))}.auth-logomark i:nth-child(3){width:18px;height:18px;left:31px;bottom:-4px;background:var(--accent)}.auth-hero-content h1{font-size:2.1rem}.auth-hero-content p{max-width:26ch;margin:0 auto}.auth-sheet{flex:1;background:var(--paper-raised);display:flex;flex-direction:column;justify-content:center;border-radius:22px 22px 0 0;margin-top:-20px;position:relative;z-index:4;box-shadow:0 -12px 28px #14151f0d;padding:1.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom,0px))}.auth-handle{width:36px;height:4px;background:var(--line);border-radius:99px;margin:0 auto 1rem}@media (min-width: 860px){.auth-sheet{border-radius:0;margin-top:0;box-shadow:inset 1px 0 0 var(--line);align-items:center;padding:2.5rem}.auth-sheet-inner{width:100%;max-width:280px}.auth-handle{display:none}}.auth-sheet form{width:100%}@media (min-width: 860px){.auth-sheet form{max-width:280px;margin:0 auto}}.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-xs);transition:box-shadow .18s var(--ease),transform .18s var(--ease),border-color .18s var(--ease)}.card-link{display:block;text-decoration:none;color:inherit;cursor:pointer}.card-link:hover,.card-link:focus-visible{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-1px)}.card.accent-left,.card.warn-left{position:relative;border-left:none;border-image:none;padding-left:1.5rem}.card.accent-left:before,.card.warn-left:before{content:"";position:absolute;left:.55rem;top:.85rem;bottom:.85rem;width:4px;border-radius:999px}.card.accent-left:before{background:linear-gradient(180deg,var(--accent),var(--accent-2))}.card.warn-left:before{background:var(--warm)}.raffle-setup-toggle{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:40;display:flex;align-items:center;gap:.4rem;padding:.7rem 1rem .7rem 1.1rem;border-radius:var(--radius) 0 0 var(--radius);background:var(--accent-soft);color:var(--accent);border:1px solid var(--line);border-right:none;box-shadow:var(--shadow-sm);font-weight:600;font-size:.9rem;transition:right .32s var(--ease)}.raffle-setup-toggle.is-open{right:min(420px,92vw)}.raffle-setup-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#14151f52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .28s var(--ease);z-index:45}.raffle-setup-scrim.is-open{opacity:1;pointer-events:auto}.raffle-setup-panel{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:var(--paper-raised);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);transform:translate(100%);transition:transform .32s var(--ease);z-index:46;overflow-y:auto;padding:1.5rem;padding-top:calc(1.5rem + env(safe-area-inset-top))}.raffle-setup-panel.is-open{transform:translate(0)}.raffle-setup-panel .card:last-child{margin-bottom:0}@media (prefers-color-scheme: dark){.raffle-setup-scrim{background:#0000008c}}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field label{font-size:.82rem;font-weight:600;color:var(--ink-soft)}.field input,.field select,.field textarea,input[type=text],input[type=email],input[type=date],input[type=time],input[type=number]{border:1px solid var(--line);border-radius:8px;padding:.65rem .8rem;background:var(--paper-raised);color:var(--ink);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ink-soft)}.field input:focus,.field select:focus,.field textarea:focus,input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-suffix-wrap{display:flex;align-items:center;gap:.1rem;border:1px solid var(--line);border-radius:8px;background:var(--paper-raised);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.input-suffix-wrap:hover{border-color:var(--ink-soft)}.input-suffix-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field .input-suffix-wrap input,.input-suffix-wrap input[type=text]{border:none;background:none;box-shadow:none;flex:1;min-width:0;padding-right:.2rem}.field .input-suffix-wrap input:focus,.input-suffix-wrap input:focus{outline:none;border:none;box-shadow:none}.input-suffix{padding-right:.8rem;color:var(--ink-soft);font-size:.9rem;white-space:nowrap;flex:none}.input-suffix-wrap input:-webkit-autofill,.input-suffix-wrap input:-webkit-autofill:hover,.input-suffix-wrap input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 100px var(--paper-raised) inset;-webkit-text-fill-color:var(--ink);caret-color:var(--ink)}.field small{color:var(--ink-soft);font-size:.78rem}.field.checkbox{flex-direction:row;align-items:flex-start;gap:.6rem}.field.checkbox input{margin-top:.2rem;width:18px;height:18px;accent-color:var(--accent)}.type-select{position:relative}.type-swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.5rem;flex:none}.preset-picker{display:flex;flex-wrap:wrap;gap:.5rem}.preset-option{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .85rem;border-radius:var(--radius-sm, 8px);border:1.5px solid var(--line);background:var(--paper-raised);color:var(--ink);font-size:.84rem;font-weight:500;cursor:pointer;transition:.15s var(--ease)}.preset-option:hover{border-color:var(--accent)}.preset-option.active{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.preset-swatch-pair{display:inline-flex;flex:none}.preset-swatch-pair span{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--paper-raised)}.preset-swatch-pair span:last-child{margin-left:-5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:10px;padding:.75rem 1.2rem;font-weight:600;border:1px solid var(--line);background:var(--paper-raised);color:var(--ink);cursor:pointer;transition:transform .12s var(--ease),box-shadow .12s var(--ease),background-color .12s var(--ease),border-color .12s var(--ease),opacity .12s var(--ease);box-shadow:var(--shadow-xs)}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--ink-soft)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.btn-primary{background:linear-gradient(100deg,var(--accent),color-mix(in srgb,var(--accent) 60%,var(--accent-2)));border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover:not(:disabled){filter:brightness(1.08);border-color:var(--accent)}.btn-danger{background:var(--warm-soft);border-color:var(--warm);color:var(--warm)}.btn-danger:hover:not(:disabled){background:var(--warm);color:#fff}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.bottom-cta{position:fixed;left:0;right:0;bottom:0;padding:.9rem 1.1rem calc(.9rem + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--paper) 60%,transparent);z-index:6}.bottom-cta .btn{max-width:720px;margin:0 auto}.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.18rem .6rem .18rem .5rem;border-radius:99px;font-size:.78rem;font-weight:600;font-family:var(--mono)}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.pill.ok{background:var(--good-soft);color:var(--good)}.pill.pending{background:var(--paper-sunk);color:var(--ink-soft)}.pill.warn{background:var(--warm-soft);color:var(--warm)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.pill.role-owner,.pill.role-admin{background:var(--accent-soft);color:var(--accent)}.pill.role-oic{background:var(--warm-soft);color:var(--warm)}.pill.role-member{background:var(--paper-sunk);color:var(--ink-soft)}.tab-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem;padding-bottom:1.1rem;border-bottom:1px solid var(--line)}.tab-pill{font-family:var(--sans);font-weight:600;font-size:.85rem;padding:.5rem 1.15rem;border-radius:999px;border:1.5px solid var(--line);background:var(--paper-raised);color:var(--ink-soft);cursor:pointer;transition:border-color .15s var(--ease),color .15s var(--ease),background .15s var(--ease)}.tab-pill:hover{border-color:var(--accent);color:var(--ink)}.tab-pill.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.tab-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem}.stat-tile{background:linear-gradient(160deg,var(--accent-soft),var(--paper-raised) 55%);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;box-shadow:var(--shadow-xs);transition:box-shadow .18s var(--ease),transform .18s var(--ease);display:flex;align-items:center;gap:.7rem;width:100%;font:inherit;text-align:left;text-decoration:none;color:inherit;cursor:pointer}.stat-tile:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.stat-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stat-tile .icon{flex:none;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,var(--accent),var(--accent-2));color:var(--accent-contrast);box-shadow:var(--shadow-xs)}.stat-tile .icon svg{width:19px;height:19px}.stat-tile .n{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:600;line-height:1.1;background:linear-gradient(100deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.stat-tile .l{font-size:.78rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.stat-tile.warn{background:linear-gradient(160deg,var(--warm-soft),var(--paper-raised) 55%)}.stat-tile.warn .n{background:none;-webkit-text-fill-color:unset;color:var(--warm)}.stat-tile.warn .icon{background:linear-gradient(140deg,var(--warm),#d67a3f)}table{width:100%;border-collapse:collapse;font-size:.92rem}th{text-align:left;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:.55rem .6rem;border-bottom:1px solid var(--line);background:var(--paper-sunk)}td{padding:.55rem .6rem;border-bottom:1px solid var(--line)}tbody tr{transition:background-color .12s var(--ease)}tbody tr:hover{background:var(--accent-soft)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs)}.table-wrap table{min-width:480px}.notice{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);padding:.9rem 1rem;font-size:.9rem;margin-bottom:1.25rem}.landing-hero{position:relative;overflow:hidden;padding:3.5rem 1.5rem 3rem;text-align:center;background:linear-gradient(180deg,var(--paper-raised),var(--paper));border-bottom:1px solid var(--line)}.landing-hero-content{position:relative;z-index:3}.landing-hero-content h1{font-family:var(--display);font-size:2.5rem;margin:.6rem 0 .4rem}.landing-hero-content p{color:var(--ink-soft);max-width:34ch;margin:0 auto}.landing-staff-link{position:absolute;top:1.5rem;right:1.5rem;z-index:4;font-size:.85rem;color:var(--ink-soft);text-decoration:none;border:1px solid var(--line);border-radius:99px;padding:.4rem .9rem;background:var(--paper-raised);transition:border-color .15s var(--ease),color .15s var(--ease)}.landing-staff-link:hover{border-color:var(--accent);color:var(--accent)}.landing-body{max-width:720px;margin:0 auto;padding:2rem 1.25rem 4rem}.event-card{border-left:3px solid var(--accent)}.event-card .type-swatch{background:var(--accent)}.owner-hero{margin-bottom:1.5rem}.owner-hero h1{margin-bottom:.2rem}.raffle-tabs{display:flex;gap:1.5rem;border-bottom:1px solid var(--line);margin-bottom:1.25rem;overflow-x:auto}.raffle-tab{border:none;background:none;padding:.7rem .1rem;font-family:var(--display);font-size:.95rem;font-weight:600;color:var(--ink-soft);cursor:pointer;white-space:nowrap;position:relative;top:1px;border-bottom:2px solid transparent;transition:color .15s var(--ease),border-color .15s var(--ease)}.raffle-tab:hover{color:var(--ink)}.raffle-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.section-label{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:.6rem;display:flex;align-items:center;gap:.4rem}.section-label:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.owner-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.5rem;align-items:start}@media (min-width: 900px){.owner-grid{grid-template-columns:1.6fr 1fr}}.event-layout{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}.event-layout-main{min-width:0}.tile-nav{margin-bottom:0}.tile-nav-list{display:flex;flex-direction:column;gap:.3rem}.tile-nav-link{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .75rem;border-radius:8px;border:1px solid transparent;color:var(--ink);text-decoration:none;font-size:.88rem;font-weight:500;transition:background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}.tile-nav-link:hover{background:var(--accent-soft);color:var(--accent)}.tile-nav-link.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.tile-nav-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-nav-count{flex:none;font-family:var(--mono);font-size:.72rem;color:var(--ink-soft)}.tile-nav-link.active .tile-nav-count{color:var(--accent)}.tile-nav-icon{display:none}.tile-nav-divider{height:1px;background:var(--line);margin:.5rem .25rem}@media (min-width: 900px){.shell-wide:has(.event-layout.with-panel){padding-right:6rem}.tile-dock{position:fixed;right:1.25rem;left:auto;top:50%;bottom:auto;transform:translateY(-50%);z-index:24;width:auto;margin:0;padding:.65rem .5rem;border-radius:999px;box-shadow:var(--shadow-md)}.tile-dock .section-label{display:none}.tile-dock .tile-nav-list{flex-direction:column;gap:.3rem}.tile-dock .tile-nav-link{flex:none;width:44px;height:44px;padding:0;border-radius:999px;justify-content:center;position:relative}.tile-dock .tile-nav-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex:none}.tile-dock .tile-nav-count{display:none}.tile-dock .tile-nav-name{position:absolute;right:calc(100% + .6rem);top:50%;transform:translateY(-4px);background:var(--ink);color:var(--paper);padding:.4rem .7rem;border-radius:8px;font-size:.78rem;font-weight:600;white-space:nowrap;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity .12s var(--ease),transform .12s var(--ease)}.tile-dock .tile-nav-link:hover .tile-nav-name,.tile-dock .tile-nav-link:focus-visible .tile-nav-name{opacity:1;transform:translateY(-50%)}.tile-dock .tile-nav-link.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.calendar-head strong{font-family:var(--display);font-size:1.05rem}.calendar-nav{display:flex;gap:.3rem}.calendar-nav button{padding:.3rem .55rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.calendar-dow{background:var(--paper-sunk);font-family:var(--mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);text-align:center;padding:.4rem 0}.calendar-day{background:var(--paper-raised);min-height:78px;min-width:0;padding:.3rem;display:flex;flex-direction:column;gap:.2rem}.calendar-day.outside{background:var(--paper-sunk);opacity:.45}.calendar-day.weekend{background:var(--paper-sunk)}.calendar-day.weekend .day-num{color:var(--ink-faint, var(--ink-soft))}.calendar-day .day-num{font-family:var(--mono);font-size:.72rem;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--ink-soft)}.calendar-day.today{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.calendar-day.today .day-num{background:var(--accent);color:var(--accent-contrast);border-radius:50%;font-weight:600}.calendar-chip{display:block;font-size:.64rem;line-height:1.3;padding:.08rem .3rem;border-radius:5px;background:var(--accent-soft);color:var(--accent);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:2px solid var(--accent)}.calendar-chip:hover{background:var(--accent);color:var(--accent-contrast)}.calendar-more{font-size:.62rem;color:var(--ink-soft);padding-left:.3rem}.action-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.action-item:last-child{border-bottom:none;padding-bottom:0}.action-item .a-meta{font-size:.78rem;color:var(--ink-soft);margin-top:.2rem}.error{background:var(--warm-soft);border:1px solid var(--warm);color:var(--warm);border-radius:var(--radius);padding:.7rem .9rem;font-size:.9rem;margin-bottom:1rem}.back-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;color:var(--ink-soft);text-decoration:none;margin-bottom:1rem;transition:color .15s var(--ease)}.back-link:hover{color:var(--accent)}.badge{background:var(--paper-raised);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden;margin:1.5rem auto;max-width:340px;text-align:left;border:1px solid var(--line);animation:rise .4s var(--ease)}.badge-header{background:var(--accent);color:var(--accent-contrast);padding:1.1rem 1.25rem}.badge-header .eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:600;opacity:.85}.badge-header h2{font-family:var(--display);font-size:1.25rem;margin:.2rem 0 0;color:inherit}.badge-perforation{position:relative;height:0;border-top:2px dashed color-mix(in srgb,var(--ink) 18%,transparent)}.badge-perforation:before,.badge-perforation:after{content:"";position:absolute;top:-10px;width:20px;height:20px;border-radius:50%;background:var(--paper)}.badge-perforation:before{left:-10px}.badge-perforation:after{right:-10px}.badge-body{padding:1.4rem 1.25rem 1.1rem;display:flex;flex-direction:column;align-items:center}.badge-qr{background:#fff;border-radius:14px;padding:.9rem;box-shadow:var(--shadow-sm)}.badge-qr img{width:100%;max-width:220px;height:auto;display:block}.badge-ref{font-family:var(--mono);letter-spacing:.18em;font-size:1.4rem;font-weight:600;margin:1rem 0 0}.badge-meta{color:var(--ink-soft);font-size:.85rem;text-align:center}.qr-frame{background:#fff;border-radius:14px;padding:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #00000026}.qr-frame img{width:100%;max-width:260px;height:auto;display:block}.ref-code{font-family:var(--mono);letter-spacing:.12em;font-size:1.3rem;font-weight:600}.muted{color:var(--ink-soft);font-size:.88rem}.spread{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.stack-sm{display:flex;flex-direction:column;gap:.5rem}.row-gap{display:flex;gap:.6rem;flex-wrap:wrap}.checklist-item{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.checklist-item:last-child{border-bottom:none}.checklist-item.done span{text-decoration:line-through;color:var(--ink-soft)}.checklist-item input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}.checklist-table,.data-table{width:100%;border-collapse:collapse;font-size:.86rem;margin-bottom:.5rem}.checklist-table th,.data-table th{text-align:left;font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);padding:.5rem;border-bottom:1px solid var(--line)}.checklist-table td,.data-table td{padding:.5rem;border-bottom:1px solid var(--line);vertical-align:middle}.checklist-table tr:last-child td,.data-table tr:last-child td{border-bottom:none}.checklist-table tr.status-done .item-name{color:var(--ink-soft);text-decoration:line-through}.checklist-table tr.status-waived .item-name{color:var(--ink)}.checklist-table input,.checklist-table select,.checklist-waive-prompt input,.checklist-add-input{border:1px solid var(--line);border-radius:8px;padding:.5rem .65rem;background:var(--paper-raised);color:var(--ink)}.checklist-table input:focus,.checklist-table select:focus,.checklist-waive-prompt input:focus,.checklist-add-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.checklist-table input[type=date]{width:148px}.checklist-table .remarks-cell{min-width:140px}.checklist-table .remove-cell{text-align:right}.status-select{font-size:.82rem;font-weight:600;flex:none}.status-select.status-not_started{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.status-select.status-in_progress{background:var(--warm-soft);color:var(--warm);border-color:var(--warm)}.status-select.status-done{background:var(--good-soft);color:var(--good);border-color:var(--good)}.status-select.status-waived{background:var(--warm-soft);color:var(--warm);border-color:var(--warm)}.checklist-waive-prompt{display:flex;gap:.5rem;align-items:center;padding:0 0 .6rem;flex-wrap:wrap}.checklist-row-note{margin-top:.25rem;font-size:.78rem;color:var(--ink-soft)}.avatar-dot{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-family:var(--display);font-size:.85rem;font-weight:700;flex:none}.avatar-dot.sm{width:28px;height:28px;font-size:.72rem}.avatar-dot.xs{width:20px;height:20px;font-size:.6rem}.workspace-header{display:flex;flex-wrap:wrap;gap:1rem 2rem;padding-bottom:.4rem;margin-bottom:.5rem;border-bottom:1px solid var(--line)}.wh-role .section-label{margin-bottom:.3rem}.wh-person{display:flex;align-items:center;gap:.5rem}.wh-person-name{font-size:.86rem;font-weight:600}.wh-unassigned{font-size:.86rem;color:var(--ink-soft);font-style:italic}.wh-members{display:flex;flex-wrap:wrap;gap:.4rem}.wh-chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--paper-sunk);border-radius:99px;padding:.2rem .6rem .2rem .3rem;font-size:.8rem}.roster-row{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.roster-row:last-child{border-bottom:none}.roster-info{flex:1;min-width:0}.roster-name{font-size:.9rem;font-weight:600}.roster-scope{font-size:.78rem;color:var(--ink-soft)}.overview-layout{display:grid;grid-template-columns:280px 1fr;gap:1.5rem;align-items:start}@media (max-width: 860px){.overview-layout{grid-template-columns:1fr}}.rail{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm);position:sticky;top:1.5rem}.rail .section-label{margin-bottom:.55rem}.rail-group+.rail-group{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line)}.rail-utility{margin-bottom:.9rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}.rail-utility .rail-item{color:var(--accent);font-weight:600}.rail-utility .rail-item:hover{background:var(--accent-soft)}.rail-item{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;padding:.55rem .6rem;border-radius:8px;border:1px solid transparent;background:none;font-family:inherit;font-size:.87rem;font-weight:500;color:var(--ink);cursor:pointer;text-decoration:none;transition:background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}.rail-item:hover{background:var(--accent-soft);color:var(--accent)}.rail-item.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.rail-icon{width:18px;height:18px;flex:none;display:flex;align-items:center;justify-content:center}.rail-icon svg{width:100%;height:100%}.rail-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-dot{width:7px;height:7px;border-radius:50%;flex:none}.rail-dot.green{background:var(--good)}.rail-dot.amber{background:var(--warm)}.rail-dot.red{background:var(--danger)}.gate{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--accent-soft),var(--paper-raised) 60%);border:1px solid var(--line);border-left:3px solid transparent;border-image:linear-gradient(180deg,var(--accent),var(--accent-2)) 1;border-radius:var(--radius);padding:1.2rem 1.4rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap;transition:background .3s var(--ease)}.gate.ready{background:linear-gradient(160deg,var(--good-soft),var(--paper-raised) 60%)}.gate-eyebrow{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.gate-ring{position:relative;width:56px;height:56px;flex:none}.gate-ring svg{transform:rotate(-90deg)}.gate-ring circle{fill:none;stroke-width:5}.gate-ring .track{stroke:var(--paper-sunk)}.gate-ring .fill{stroke:url(#gateGrad);stroke-linecap:round;transition:stroke-dashoffset .4s var(--ease),stroke .3s var(--ease)}.gate.ready .gate-ring .fill{stroke:var(--good)}.gate-ring .n{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;font-size:.85rem}.gate.ready .gate-ring .n{color:var(--good)}.gate-copy{flex:1;min-width:220px}.gate-copy strong{font-family:var(--display);font-size:1.1rem;display:block;transition:color .3s var(--ease)}.gate.ready .gate-copy strong{color:var(--good)}.gate-copy p{margin:.25rem 0 0;color:var(--ink-soft);font-size:.85rem}.gate-actions{display:flex;align-items:center;gap:.7rem}.publish-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.65rem 1.7rem;min-width:180px;line-height:1.1}.publish-btn .pb-main{font-family:var(--display);font-weight:700;font-size:1.05rem}.publish-btn .pb-sub{font-family:var(--mono);font-weight:600;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;opacity:.85}.subsection-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem}.subsection-head h3{font-size:1.02rem}.info-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1.3px solid var(--ink-soft);color:var(--ink-soft);font-family:var(--display);font-style:italic;font-weight:700;font-size:.68rem;cursor:help;flex:none;opacity:.65;transition:opacity .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}.info-icon:hover{opacity:1;color:var(--accent);border-color:var(--accent)}.subsection-head .info-icon{margin-left:-.3rem}.section-divider{border:none;border-top:1px solid var(--line);margin:1.4rem 0}.pane-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.3rem}.pane-head h2{font-size:1.15rem;display:flex;align-items:center;gap:.6rem;margin:0}.pane-sub{color:var(--ink-soft);font-size:.86rem;margin:.3rem 0 .75rem}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.6rem}@media (max-width: 520px){.profile-grid{grid-template-columns:1fr}}.profile-field .section-label{margin-bottom:.25rem}.profile-field .value{font-size:.95rem;font-weight:500}.profile-field .value.muted{color:var(--ink-soft);font-weight:400;font-style:italic}.profile-field.span2{grid-column:1 / -1}.btn-edit{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;padding:.45rem .8rem}.btn-edit svg{width:14px;height:14px}.btn-icon-only{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:999px;flex:none}.btn-icon-only svg{width:15px;height:15px}.profile-edit-actions{display:flex;gap:.6rem;margin-top:.75rem}.grant-access-form{display:flex;gap:.5rem;margin-top:.8rem;flex-wrap:wrap}.grant-access-form input{flex:1;min-width:160px;border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;background:var(--paper-raised);color:var(--ink);font-family:inherit;font-size:.88rem}.grant-access-form select{width:auto;border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;background:var(--paper-raised);color:var(--ink);font-family:inherit;font-size:.88rem}.scan-qr-quickaction{display:flex;align-items:center;gap:.5rem;background:var(--paper-sunk);border-radius:999px;padding:.35rem;flex:none}.scan-qr-quickaction select{border:none;background:none;color:var(--ink-soft);font-family:inherit;font-size:.8rem;font-weight:600;padding:.2rem 0 .2rem .65rem}.scan-qr-quickaction .btn-primary{padding:.5rem 1rem;font-size:.82rem;border-radius:999px;white-space:nowrap;flex:none}.tile-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.file-upload{display:inline-flex;align-items:center;gap:.5rem;border:1.5px dashed var(--line);border-radius:8px;padding:.7rem 1rem;color:var(--ink-soft);font-size:.85rem;cursor:pointer;transition:border-color .12s var(--ease),color .12s var(--ease)}.file-upload:hover{border-color:var(--accent);color:var(--accent)}.checklist-todo-layout{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:1.5rem}.checklist-table-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding-bottom:.4rem}.checklist-table-scroll::-webkit-scrollbar{height:8px}.checklist-table-scroll::-webkit-scrollbar-track{background:transparent}.checklist-table-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.checklist-table-scroll::-webkit-scrollbar-thumb:hover{background:var(--ink-soft)}.todo-widget{background:var(--paper-sunk);border-radius:var(--radius);padding:.9rem 1rem}.todo-widget .subsection-head{margin-bottom:.5rem}.todo-list{list-style:none;margin:0;padding:0}.todo-item{display:flex;align-items:center;gap:.55rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.todo-item:last-child{border-bottom:none}.todo-item input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;flex:none}.todo-item span{flex:1;font-size:.85rem}.todo-item.done span{text-decoration:line-through;color:var(--ink-soft)}.todo-del{background:none;border:none;color:var(--ink-soft);cursor:pointer;opacity:0;padding:.2rem;border-radius:4px;transition:opacity .12s var(--ease),color .12s var(--ease)}.todo-item:hover .todo-del{opacity:1}.todo-del:hover{color:var(--danger)}.todo-add-row{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.todo-add-row input{flex:1;border:1px solid var(--line);border-radius:8px;padding:.5rem .7rem;background:var(--paper-raised);color:var(--ink);font-family:inherit;font-size:.85rem}.todo-add-row input:focus{outline:2px solid var(--accent);outline-offset:1px}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.8rem;margin-bottom:1rem}.insight-tile{background:linear-gradient(160deg,var(--accent-soft),var(--paper-raised) 60%);border:1px solid var(--line);border-radius:14px;padding:.85rem .9rem}.insight-tile .n{font-family:var(--display);font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.insight-tile .n small{font-size:.9rem;font-weight:600;color:var(--ink-soft)}.insight-tile .lbl{font-size:.74rem;color:var(--ink-soft);margin-top:.15rem}.insight-tile.warn{background:linear-gradient(160deg,var(--warm-soft),var(--paper-raised) 60%)}.insight-tile.warn .n{color:var(--warm)}.registration-layout{display:grid;grid-template-columns:230px 1fr;gap:2.2rem;align-items:start}@media (max-width: 820px){.registration-layout{grid-template-columns:1fr}}.registration-main{min-width:0}.registration-sidebar,.communication-sidebar{position:sticky;top:1.5rem;padding:1.2rem 1.3rem;background:linear-gradient(170deg,var(--paper-raised),var(--accent-soft) 130%);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}@media (max-width: 820px){.registration-sidebar,.communication-sidebar{position:static;top:auto}}.communication-sidebar .insight-tile{margin-bottom:.7rem}.communication-sidebar .insight-tile:last-child{margin-bottom:0}.flow-track{position:relative;padding-left:1.5rem;margin-top:.2rem}.flow-track:before{content:"";position:absolute;left:.3rem;top:.3rem;bottom:.3rem;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--accent),var(--accent-2),var(--good),var(--warm))}.flow-node{position:relative;margin-bottom:1.8rem}.flow-node:last-child{margin-bottom:0}.flow-dot{position:absolute;left:-1.5rem;top:.3rem;width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 3px var(--paper-raised)}.flow-dot.accent{background:var(--accent)}.flow-dot.cyan{background:var(--accent-2)}.flow-dot.good{background:var(--good)}.flow-dot.warm{background:var(--warm)}.flow-n{font-family:var(--display);font-size:2.1rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.flow-n small{font-size:1.05rem;font-weight:600;color:var(--ink-soft)}.flow-lbl{font-size:.74rem;color:var(--ink-soft);margin-top:.3rem;text-transform:uppercase;letter-spacing:.04em;font-family:var(--mono)}.flow-mini{font-size:.86rem;display:flex;align-items:baseline;gap:.4rem;padding:.1rem 0}.flow-mini b{font-family:var(--display);font-weight:700;font-size:1.05rem;min-width:1.3em}.scan-feedback{border-radius:var(--radius);padding:1rem;text-align:center;font-weight:600;box-shadow:var(--shadow-sm);animation:rise .25s var(--ease)}.scan-feedback.ok{background:var(--good-soft);color:var(--good)}.scan-feedback.warn{background:var(--warm-soft);color:var(--warm)}.scan-frame{position:relative;width:100%;max-width:360px;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);background:#000}.scan-frame:after{content:"";position:absolute;top:12%;right:12%;bottom:12%;left:12%;pointer-events:none;border-radius:14px;background:linear-gradient(var(--accent),var(--accent)) 0 0/24px 3px no-repeat,linear-gradient(var(--accent),var(--accent)) 0 0/3px 24px no-repeat,linear-gradient(var(--accent),var(--accent)) 100% 0/24px 3px no-repeat,linear-gradient(var(--accent),var(--accent)) 100% 0/3px 24px no-repeat,linear-gradient(var(--accent),var(--accent)) 0 100%/24px 3px no-repeat,linear-gradient(var(--accent),var(--accent)) 0 100%/3px 24px no-repeat,linear-gradient(var(--accent),var(--accent)) 100% 100%/24px 3px no-repeat,linear-gradient(var(--accent),var(--accent)) 100% 100%/3px 24px no-repeat}.raffle-stage{text-align:center;padding:2.5rem 1.5rem;border-radius:var(--radius);background:linear-gradient(160deg,var(--accent-soft),var(--paper-raised) 62%);border:1px solid var(--line);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.raffle-stage-count{font-family:var(--mono);font-size:.78rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3rem}.raffle-prize-name{font-family:var(--display);font-size:1.3rem;font-weight:600;margin-bottom:.3rem}.raffle-prize-img{width:64px;height:64px;object-fit:cover;border-radius:10px;margin:0 auto .75rem;display:block;box-shadow:var(--shadow-sm);border:1px solid var(--line)}.raffle-drum-name{font-family:var(--display);font-size:clamp(1.2rem,5vw,1.7rem);font-weight:700;text-wrap:balance;background:linear-gradient(100deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}@keyframes raffle-land{0%{transform:scale(.8);opacity:0}55%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}.raffle-drum-ref{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-soft);font-size:.85rem;margin-top:.3rem}.raffle-wheel-wrap{position:relative;width:min(100%,340px);aspect-ratio:1;margin:1rem auto .5rem}.raffle-wheel-canvas{width:100%;height:100%;display:block;border-radius:50%;box-shadow:var(--shadow-md)}.raffle-wheel-pointer{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:22px solid var(--accent-2);z-index:2;filter:drop-shadow(0 2px 3px rgba(18,24,31,.3))}.raffle-wheel-winner{position:absolute;top:9%;right:9%;bottom:9%;left:9%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper-raised);border-radius:50%;border:3px solid var(--accent);box-shadow:var(--shadow-md);padding:1rem;text-align:center;animation:raffle-land .5s var(--ease)}.raffle-progress{display:flex;gap:.4rem;justify-content:center;margin-top:1.5rem}.raffle-progress .dot{width:8px;height:8px;border-radius:50%;background:var(--line);transition:background-color .2s var(--ease),transform .2s var(--ease)}.raffle-progress .dot.done{background:var(--accent)}.raffle-progress .dot.current{background:var(--accent-2);transform:scale(1.3)}.raffle-spark{position:absolute;border-radius:50%;opacity:0;pointer-events:none;background:var(--accent-2)}.raffle-stage.landed .raffle-spark{animation:raffle-spark .8s var(--ease) forwards}.raffle-spark:nth-child(1){top:12%;left:10%;width:8px;height:8px;animation-delay:.05s}.raffle-spark:nth-child(2){top:20%;right:12%;width:10px;height:10px;background:var(--accent);animation-delay:.12s}.raffle-spark:nth-child(3){bottom:16%;left:18%;width:6px;height:6px;background:var(--accent);animation-delay:.2s}.raffle-spark:nth-child(4){bottom:22%;right:20%;width:9px;height:9px;animation-delay:.16s}@keyframes raffle-spark{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1) translateY(-10px)}}.raffle-group-winners{margin:1rem auto 0;max-width:420px;text-align:left}.raffle-group-winner-row{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;padding:.5rem .2rem;border-bottom:1px solid var(--line);animation:raffle-land .4s var(--ease) backwards}.raffle-group-winner-row:last-child{border-bottom:none}@media (prefers-reduced-motion: reduce){.raffle-group-winner-row{animation:none}}@media (prefers-reduced-motion: reduce){.raffle-wheel-winner,.raffle-spark{animation:none!important;opacity:1}}.raffle-tile-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem;margin:1rem 0 .5rem;max-height:360px;overflow-y:auto;padding:.25rem}.raffle-tile{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .5rem;font-size:.82rem;font-weight:600;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color .1s linear,border-color .1s linear,transform .1s linear,box-shadow .1s linear}.raffle-tile.active{background:linear-gradient(160deg,var(--accent),var(--accent-2));border-color:var(--accent);color:var(--accent-contrast);transform:scale(1.08);box-shadow:0 0 0 4px var(--accent-soft),var(--shadow-md)}.raffle-tile.winner{background:linear-gradient(160deg,var(--accent),var(--accent-2));border-color:var(--accent);color:var(--accent-contrast);transform:scale(1.15);box-shadow:0 0 0 6px var(--accent-soft),var(--shadow-md);animation:raffle-land .5s var(--ease)}@media (prefers-reduced-motion: reduce){.raffle-tile{transition:none}.raffle-tile.winner{animation:none}}.raffle-watch-shell .raffle-tile-board{max-width:640px;max-height:480px}.raffle-tile-label{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raffle-tile.shape-circle{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%}.raffle-tile.shape-circle .raffle-tile-label{max-width:78%}.raffle-tile.shape-diamond{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:6px;transform:rotate(45deg)}.raffle-tile.shape-diamond .raffle-tile-label{max-width:70%;transform:rotate(-45deg)}.raffle-tile.shape-diamond.active{transform:rotate(45deg) scale(1.08)}.raffle-tile.shape-diamond.winner{transform:rotate(45deg) scale(1.15)}@media (prefers-reduced-motion: reduce){.raffle-tile.shape-diamond.active,.raffle-tile.shape-diamond.winner{transform:rotate(45deg)}}.raffle-lane-track{display:flex;flex-direction:column;gap:.4rem;position:relative;margin:1rem 0 .5rem;max-height:360px;overflow-y:auto;padding:.25rem .25rem .25rem 0}.raffle-lane-finish{position:absolute;top:0;bottom:0;right:8%;width:2px;pointer-events:none;background:repeating-linear-gradient(180deg,var(--accent) 0 6px,transparent 6px 12px)}.raffle-lane{display:flex;align-items:center;gap:.5rem;position:relative;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:.35rem .6rem;transition:background-color .2s var(--ease),border-color .2s var(--ease)}.raffle-lane-name{flex:none;width:30%;max-width:130px;font-size:.78rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raffle-lane-rail{position:relative;flex:1;height:1.6rem}.raffle-lane-duck{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:1.1rem;line-height:1;transition:left .05s linear}.raffle-lane-duck-icon{display:inline-block;transform:scaleX(-1)}.raffle-lane.winner{background:linear-gradient(160deg,var(--accent-soft),var(--paper-raised));border-color:var(--accent)}.raffle-lane.winner .raffle-lane-name{color:var(--accent)}.raffle-lane.winner .raffle-lane-duck{animation:raffle-land .5s var(--ease)}@media (prefers-reduced-motion: reduce){.raffle-lane-duck{transition:none}.raffle-lane.winner .raffle-lane-duck{animation:none}}.raffle-watch-shell .raffle-lane-track{max-width:640px;width:100%;max-height:480px}.raffle-watch-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;background:var(--paper);position:relative;overflow:hidden}.raffle-watch-shell:before{content:"";position:absolute;top:-10%;left:-10%;width:60vw;height:60vw;max-width:700px;max-height:700px;border-radius:50%;background:var(--accent-2);opacity:.1;filter:blur(90px);pointer-events:none}.raffle-watch-shell:after{content:"";position:absolute;bottom:-15%;right:-10%;width:50vw;height:50vw;max-width:600px;max-height:600px;border-radius:50%;background:var(--accent);opacity:.1;filter:blur(90px);pointer-events:none}.raffle-watch-header{display:flex;align-items:center;gap:.6rem;font-family:var(--display);font-weight:600;font-size:1.1rem;color:var(--ink-soft);margin-bottom:2rem;position:relative;z-index:1}.raffle-watch-shell .raffle-stage{max-width:720px;width:100%;position:relative;z-index:1;padding:3.5rem 2rem}.raffle-watch-shell .raffle-wheel-wrap{width:min(100%,460px);margin:1.5rem auto .5rem}.raffle-watch-shell .raffle-prize-name{font-size:clamp(1.4rem,3vw,2rem)}.raffle-watch-shell .raffle-drum-name{font-size:clamp(1.4rem,4vw,2rem)}.raffle-watch-shell .raffle-drum-ref{font-size:1.1rem}.raffle-roster-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.raffle-roster-row:last-child{border-bottom:none}.raffle-roster-row.excluded{opacity:.5}.raffle-prize-thumb{width:32px;height:32px;object-fit:cover;border-radius:6px;border:1px solid var(--line);flex:none}.raffle-prize-thumb-empty{display:block;background:var(--paper-sunk)}.category-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;border-radius:999px;padding:.3rem 1.6rem .3rem .7rem;font-family:var(--mono);font-size:.74rem;font-weight:600;letter-spacing:.01em;cursor:pointer;background-repeat:no-repeat;background-position:right .55rem center;background-size:9px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23565a72' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.category-select.cat-grand,.category-badge.cat-grand{background-color:var(--accent-soft);color:var(--accent)}.category-select.cat-major,.category-badge.cat-major{background-color:var(--warm-soft);color:var(--warm)}.category-select.cat-minor,.category-badge.cat-minor{background-color:var(--paper-sunk);color:var(--ink-soft)}.category-select.cat-award,.category-badge.cat-award{background-color:var(--accent-2-soft);color:var(--accent-2)}.category-select.cat-consolation,.category-badge.cat-consolation{background-color:var(--good-soft);color:var(--good)}.category-select:hover{filter:brightness(.94)}.category-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.category-badge{display:inline-block;border-radius:999px;padding:.3rem .7rem;font-family:var(--mono);font-size:.74rem;font-weight:600;letter-spacing:.01em}@media (prefers-color-scheme: dark){.category-select:hover{filter:brightness(1.18)}}@media (prefers-color-scheme: dark){.category-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239aa39c' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}.raffle-winner-list{display:flex;flex-direction:column;gap:.3rem}.raffle-winner-row{display:flex;align-items:center;gap:.4rem;font-size:.8rem;white-space:nowrap}.raffle-winner-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.raffle-winner-row.is-waived .raffle-winner-name{text-decoration:line-through;color:var(--ink-soft);opacity:.7}.raffle-winner-row.is-actionable{flex-wrap:wrap;white-space:normal;justify-content:space-between;gap:.6rem}.raffle-draw-cell{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.raffle-draw-stepper{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--paper-raised);height:34px}.raffle-draw-stepper button{border:none;background:var(--paper-sunk);color:var(--ink);width:34px;font-size:1.05rem;line-height:1;cursor:pointer;transition:background-color .12s var(--ease)}.raffle-draw-stepper button:hover:not(:disabled){background:var(--line)}.raffle-draw-stepper button:disabled{color:var(--ink-soft);opacity:.5;cursor:default}.raffle-draw-stepper input{border:none;width:32px;text-align:center;font-family:var(--mono);font-size:.85rem;-moz-appearance:textfield;background:transparent;color:var(--ink)}.raffle-draw-stepper input::-webkit-inner-spin-button,.raffle-draw-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.raffle-prize-table{min-width:866px}.raffle-tag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.raffle-tag{border:1px solid var(--line);border-radius:10px;padding:.6rem;text-align:center;background:var(--paper-raised);break-inside:avoid}.raffle-tag img{width:100%;max-width:120px;aspect-ratio:1;margin:0 auto;display:block}.raffle-tag-label{font-weight:600;font-size:.82rem;margin-top:.4rem}.raffle-tag-owner{font-size:.76rem;color:var(--ink-soft);margin-top:.1rem}.raffle-tags-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#14151f52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60}.card.raffle-tags-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:61;width:min(720px,92vw);max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg)}@media (prefers-color-scheme: dark){.raffle-tags-scrim{background:#0000008c}}@media print{body *{visibility:hidden}.raffle-tags-panel,.raffle-tags-panel *{visibility:visible}.raffle-tags-panel{position:absolute;top:0;left:0;width:100%;border:none;box-shadow:none}.no-print{display:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.survey-bar-row{display:flex;align-items:center;gap:.6rem;margin:.4rem 0}.survey-bar-label{width:40%;max-width:200px;flex:none;font-size:.84rem;color:var(--ink);text-align:right}.survey-bar-track{flex:1;background:var(--paper-sunk);border-radius:99px;height:10px;overflow:hidden}.survey-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:99px;transition:width .3s var(--ease)}.survey-bar-count{width:2.5rem;flex:none;font-family:var(--mono);font-size:.78rem;color:var(--ink-soft)}.survey-quote-list{display:flex;flex-direction:column;gap:.5rem;max-height:260px;overflow-y:auto}.survey-quote{background:var(--paper-sunk);border-left:2px solid var(--accent);border-radius:0 8px 8px 0;padding:.5rem .75rem;font-size:.88rem;font-style:italic}.rating-picker{display:flex;gap:.4rem;flex-wrap:wrap}.rating-picker button{width:40px;height:40px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper-raised);color:var(--ink);font-family:var(--mono);font-weight:600;cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease),color .15s var(--ease)}.rating-picker button.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--ink-soft);border:1px dashed var(--line);border-radius:var(--radius)}.empty-state:before{content:"";display:block;width:34px;height:22px;margin:0 auto .9rem;background:radial-gradient(circle at 15% 100%,var(--accent-2) 0 7px,transparent 7.5px),radial-gradient(circle at 50% 82%,color-mix(in srgb,var(--accent) 55%,var(--accent-2)) 0 9px,transparent 9.5px),radial-gradient(circle at 85% 76%,var(--accent) 0 11px,transparent 11.5px);opacity:.5}
