@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_a4bae9{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_a4bae9{--font-display-src:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/313510e2713fb214-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Hanken Grotesk Fallback;src:local("Arial");ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.00%;size-adjust:100.94%}.__className_9c618b{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.__variable_9c618b{--font-body-src:"Hanken Grotesk","Hanken Grotesk Fallback"}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/59829bb575d36b50-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/e02f7a71372872a3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spline Sans Mono Fallback;src:local("Arial");ascent-override:71.59%;descent-override:17.57%;line-gap-override:0.00%;size-adjust:134.59%}.__className_1999fd{font-family:Spline Sans Mono,Spline Sans Mono Fallback;font-style:normal}.__variable_1999fd{--font-mono-src:"Spline Sans Mono","Spline Sans Mono Fallback"}:root{--night:#221829;--night-2:#2b1f33;--blueprint:#102536;--blueprint-2:#0c1c2a;--parchment:#f3e6c9;--parchment-2:#e9d8b4;--kraft:#d8c3a0;--ink:#2a2114;--ink-2:#5f5238;--cream:#f4e8d0;--cream-2:rgba(244,232,208,0.64);--cream-3:rgba(244,232,208,0.34);--brass:#e8b552;--brass-deep:#c7962f;--cyan:#74bada;--cyan-dim:#3f7f9b;--cyan-label:#6fb1d0;--lantern:#f3a23e;--ember:#e8654b;--minium:#d6492f;--patina:#5fb594;--patina-deep:#3e7c6a;--steel:#b8b3a6;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:22px;--shadow-card:0 18px 40px -22px rgba(0,0,0,0.85);--shadow-paper:0 1px 0 rgba(255,255,255,0.5) inset,0 14px 30px -18px rgba(0,0,0,0.7);--shadow-tool:0 2px 0 rgba(0,0,0,0.4),0 7px 12px -5px rgba(0,0,0,0.6);--glow-brass:0 0 22px -4px rgba(232,181,82,0.55);--glow-lantern:0 0 28px -2px rgba(243,162,62,0.6);--font-display:var(--font-display-src),"Bricolage Grotesque",system-ui,sans-serif;--font-body:var(--font-body-src),"Hanken Grotesk",system-ui,sans-serif;--font-mono:var(--font-mono-src),"Spline Sans Mono",ui-monospace,monospace;--ease-spring:cubic-bezier(0.2,0.8,0.2,1);--ease-out-back:cubic-bezier(0.34,1.56,0.64,1);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body,html{max-width:100vw;overflow-x:hidden}body{min-height:100vh;background-color:var(--night);background-image:radial-gradient(120% 70% at 50% -12%,rgba(243,162,62,.16),rgba(243,162,62,.04) 32%,transparent 60%),radial-gradient(90% 60% at 85% 110%,rgba(116,186,218,.07),transparent 60%);background-attachment:fixed;color:var(--cream);font-family:var(--font-body);font-size:16px;line-height:1.55;letter-spacing:.005em;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");opacity:.05;mix-blend-mode:overlay}.page,.role-shell,main.page{position:relative;z-index:1}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.08;letter-spacing:-.015em;color:var(--cream)}h1{font-size:clamp(1.7rem,4.5vw,2.3rem)}h2{font-size:1.15rem}h3{font-size:1rem}a{color:var(--brass);-webkit-text-decoration-color:rgba(232,181,82,.4);text-decoration-color:rgba(232,181,82,.4);text-underline-offset:2px}.roi-section>h2,.section-label,.tenant-section>h2{font-family:var(--font-mono);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--cream-2)}.muted{color:var(--cream-2);font-size:.85rem}.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page{max-width:760px;margin:0 auto;padding:2.5rem 1.25rem 5rem;display:flex;flex-direction:column;gap:1.5rem}.role-shell{min-height:100vh}.role-header{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.75rem;padding:.7rem 1.25rem;background:linear-gradient(180deg,rgba(18,12,22,.92),rgba(18,12,22,.72));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(232,181,82,.16)}.role-badge,.role-switcher{font-family:var(--font-mono);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:.22rem .55rem;border-radius:var(--r-sm);background:rgba(232,181,82,.12);color:var(--brass);border:1px solid rgba(232,181,82,.28)}.role-switcher{cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23e8b552'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .45rem center;padding-right:1.5rem}.role-switcher option{color:#111}.role-user{margin-right:auto;font-weight:600;color:var(--cream)}.role-user a{color:inherit;text-decoration:none}.role-user a:hover{color:var(--brass)}.back-link{width:-moz-fit-content;width:fit-content;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;color:var(--cream-2);text-decoration:none}.back-link:hover{color:var(--brass)}.btn-primary,button{font-family:var(--font-body)}.btn-primary,.completion-form button,.onboard-form button{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.2rem;border:1px solid var(--brass-deep);border-radius:var(--r-md);background:linear-gradient(180deg,var(--brass) 0,var(--brass-deep) 100%);color:#2a1d05;font-weight:700;font-size:.92rem;text-decoration:none;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,var(--shadow-tool);transition:transform .12s var(--ease-spring),box-shadow .18s,filter .18s}.btn-primary:hover,.completion-form button:hover:not(:disabled),.onboard-form button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,var(--shadow-tool),var(--glow-brass);filter:brightness(1.04)}.btn-primary:active,.completion-form button:active:not(:disabled){transform:translateY(0)}.completion-form button:disabled,.onboard-form button:disabled{opacity:.55;cursor:progress;filter:saturate(.6)}.nav-card:focus-visible,.role-switcher:focus-visible,[role=button]:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:var(--r-sm)}:where(button:not([class])){font:inherit;font-weight:600;padding:.45rem .95rem;border-radius:var(--r-sm);border:1px solid rgba(244,232,208,.22);background:rgba(244,232,208,.06);color:var(--cream);cursor:pointer}input,select,textarea{font:inherit;color:var(--ink);background:var(--parchment);border:1px solid rgba(42,33,20,.25);border-radius:var(--r-sm);padding:.5rem .6rem}input::placeholder,textarea::placeholder{color:rgba(42,33,20,.45)}input:focus,select:focus,textarea:focus{outline:2px solid var(--brass);outline-offset:1px;border-color:var(--brass)}input[type=file]{background:transparent;border:1px dashed rgba(244,232,208,.3);color:var(--cream-2);padding:.55rem .6rem}input[type=file]::-webkit-file-upload-button{font:inherit;font-weight:600;margin-right:.6rem;padding:.3rem .7rem;border:1px solid rgba(232,181,82,.4);border-radius:var(--r-sm);background:rgba(232,181,82,.14);color:var(--brass);cursor:pointer}input[type=file]::file-selector-button{font:inherit;font-weight:600;margin-right:.6rem;padding:.3rem .7rem;border:1px solid rgba(232,181,82,.4);border-radius:var(--r-sm);background:rgba(232,181,82,.14);color:var(--brass);cursor:pointer}.field{display:flex;flex-direction:column;gap:.3rem}.field>span:not(.field-error){font-family:var(--font-mono);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--cream-2)}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--minium);outline-color:var(--minium)}.field-error,.form-error{font-size:.82rem;color:#ff9b86}.form-ok,.form-success{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;font-size:.85rem;font-weight:600;color:var(--patina)}.redeem-option .form-ok,.review-item .form-ok,.tenant-task-item .form-ok{color:#2f6253}.completion-form .field-error,.redeem-option .form-error,.review-item .form-error,.tenant-task-item .field-error,.tenant-task-item .form-error{color:#a3331c}.form-hint{font-size:.85rem;color:var(--cream-2)}.tenant-app{display:flex;flex-direction:column;gap:1.75rem}.tenant-app>header h1{display:flex;align-items:baseline;gap:.6rem}.redeem>p,.roi-dashboard>header p,.tenant-app>header p{color:var(--cream-2);max-width:52ch}.workshop-hero{position:relative;border-radius:var(--r-xl);padding:1.4rem 1.4rem 1.2rem;background:radial-gradient(120% 80% at 50% -20%,rgba(243,162,62,.14),transparent 55%),linear-gradient(180deg,var(--blueprint) 0,var(--blueprint-2) 100%);border:1px solid rgba(116,186,218,.22);box-shadow:var(--shadow-card),0 0 0 1px rgba(0,0,0,.4) inset;overflow:hidden}.workshop-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(116,186,218,.16) 1px,transparent 1.4px);background-size:22px 22px;background-position:11px 11px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);opacity:.7}.workshop-hero>*{position:relative}.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.wordmark{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan)}.wordmark small{display:block;margin-top:.35rem;font-family:var(--font-display);font-size:1.35rem;font-weight:800;letter-spacing:-.01em;text-transform:none;color:var(--cream)}.hero-balance{text-align:right;flex-shrink:0}.hero-balance .balance-label{display:block;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-2)}.balance-pts{font-family:var(--font-display);font-weight:800;font-size:2.1rem;line-height:1;color:var(--brass);text-shadow:var(--glow-brass)}.balance-usd{display:block;font-family:var(--font-mono);font-size:.82rem;color:var(--cream-2)}.toolwall{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));grid-gap:.5rem;gap:.5rem}.tool-slot{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.7rem .4rem .55rem;border-radius:var(--r-md);border:1px solid transparent;text-align:center}.tool-slot[data-earned=false]{border-style:dashed;border-color:rgba(116,186,218,.32);background:rgba(116,186,218,.04)}.tool-slot[data-earned=false] .tool-glyph{color:var(--cyan-dim);opacity:.7}.tool-slot[data-earned=false] .tool-name{color:var(--cyan-label)}.tool-slot[data-earned=true]{background:linear-gradient(180deg,rgba(232,181,82,.1),rgba(232,181,82,.02));border-color:rgba(232,181,82,.22)}.tool-slot[data-earned=true] .tool-glyph{color:var(--brass);filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}.tool-slot[data-earned=true] .tool-name{color:var(--cream)}.tool-glyph{width:38px;height:38px;transition:transform .2s var(--ease-out-back),filter .2s}.tool-slot[data-earned=true]:hover .tool-glyph{transform:translateY(-4px) rotate(-3deg);filter:drop-shadow(0 8px 10px rgba(0,0,0,.55)) drop-shadow(0 0 10px rgba(232,181,82,.4))}.tool-name{font-size:.7rem;font-weight:600;line-height:1.15;letter-spacing:.01em}.tool-uses{font-family:var(--font-mono);font-size:.62rem;color:var(--brass-deep);letter-spacing:.04em}@keyframes ink-in{0%{-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);opacity:.15}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);opacity:1}}.tool-slot[data-earned=true] .tool-glyph{animation:ink-in .7s var(--ease-spring) backwards;animation-delay:calc(var(--i, 0) * 80ms + .12s)}.hero-foot{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.2rem;padding-top:1rem;border-top:1px solid rgba(116,186,218,.16)}.rank{display:flex;flex-direction:column;gap:.4rem;flex:1 1 240px;min-width:200px}.rank-name{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.rank-name strong{font-family:var(--font-display);font-size:1rem;color:var(--cream)}.rank-name span{font-family:var(--font-mono);font-size:.72rem;color:var(--cream-2)}.rankbar{height:7px;border-radius:99px;background:rgba(0,0,0,.35);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.5)}.rankbar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brass-deep),var(--brass));box-shadow:var(--glow-brass);transition:width .8s var(--ease-spring)}.shoplight{display:flex;align-items:center;gap:.55rem;padding:.5rem .75rem;border-radius:var(--r-md);background:rgba(0,0,0,.25);border:1px solid rgba(244,232,208,.1)}.shoplight .bulb{width:26px;height:26px;flex-shrink:0;color:var(--cream-3)}.shoplight[data-lit=true] .bulb{color:var(--lantern);filter:drop-shadow(0 0 8px rgba(243,162,62,.8));animation:bulb-flicker 5s ease-in-out infinite}@keyframes bulb-flicker{0%,to{opacity:1}48%{opacity:1}50%{opacity:.82}52%{opacity:1}}.shoplight-text{display:flex;flex-direction:column;line-height:1.2}.shoplight-text strong{font-size:.82rem;color:var(--cream)}.shoplight-text span{font-family:var(--font-mono);font-size:.66rem;color:var(--cream-2)}.tenant-section{display:flex;flex-direction:column;gap:.85rem}.tenant-submission-list,.tenant-task-list{list-style:none;display:flex;flex-direction:column;gap:.7rem}.tenant-submission-item,.tenant-task-item{position:relative;display:flex;flex-direction:column;gap:.45rem;padding:.95rem 1.1rem .95rem 1.4rem;background:linear-gradient(180deg,var(--parchment),var(--parchment-2));color:var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-paper)}.tenant-submission-item:before,.tenant-task-item:before{content:"";position:absolute;left:.55rem;top:.7rem;bottom:.7rem;width:0;border-left:2px dotted rgba(42,33,20,.28)}.tenant-task-item[data-state=approved]{box-shadow:none;border:1px solid rgba(42,33,20,.14)}.tenant-task-item[data-state=approved],.tenant-task-item[data-state=in-review]{background:linear-gradient(180deg,#efe1c2,#e4d2ad)}.tenant-submission-head,.tenant-task-head{display:flex;gap:.5rem;align-items:baseline;justify-content:space-between}.tenant-submission-head strong,.tenant-task-head strong{font-family:var(--font-display);font-size:1.02rem;color:var(--ink)}.tenant-submission-item .muted,.tenant-task-item .muted,.tool-chip{color:var(--ink-2)}.tool-chip{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;padding:.2rem .5rem .2rem .35rem;border-radius:99px;background:rgba(42,33,20,.08);border:1px solid rgba(42,33,20,.16);font-size:.72rem;font-weight:600}.tool-chip svg{width:16px;height:16px;color:var(--brass-deep)}.redeem-cost,.review-points,.tenant-task-points{display:inline-flex;align-items:baseline;gap:.3rem;white-space:nowrap;font-family:var(--font-mono);font-size:.78rem;font-weight:600;padding:.18rem .5rem;border-radius:var(--r-sm);background:rgba(199,150,47,.16);color:var(--ink-2);border:1px solid rgba(199,150,47,.3)}.redeem-cost .usd,.review-points .usd,.tenant-task-points .usd{font-weight:500;color:var(--ink-2)}.tenant-task-state{font-size:.86rem;color:var(--ink-2)}.tenant-task-state.state-in-review{color:#7a4a12;font-weight:600}.tenant-task-state.state-approved{color:var(--patina-deep);font-weight:600}.tenant-submission-status{font-family:var(--font-mono);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.16rem .5rem;border-radius:var(--r-sm);white-space:nowrap;background:rgba(164,99,26,.16);color:#6e3f10;border:1px solid rgba(164,99,26,.35)}.review-photo,.tenant-submission-photo{align-self:flex-start;font-family:var(--font-mono);font-size:.78rem;color:var(--ink-2)}.completion-form{display:flex;flex-direction:column;gap:.6rem;margin-top:.55rem;padding-top:.7rem;border-top:1px dashed rgba(42,33,20,.22)}.completion-form .field>span:not(.field-error),.review-form .field>span{color:var(--ink-2)}.completion-form input[type=file]{border-color:rgba(42,33,20,.22);color:var(--ink-2)}.completion-form input[type=file]::-webkit-file-upload-button{color:var(--ink-2)}.completion-form input[type=file]::file-selector-button{color:var(--ink-2)}.stamp{align-self:flex-start;display:inline-flex;align-items:center;gap:.3rem;margin-top:.2rem;padding:.3rem .7rem;font-family:var(--font-mono);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a3331c;border:2px solid #a3331c;border-radius:var(--r-sm);background:rgba(214,73,47,.06);transform:rotate(-5deg);box-shadow:inset 0 0 0 1px rgba(163,51,28,.25);animation:stamp-press .5s var(--ease-out-back) both}.stamp.stamp--filed{color:#2f6253;border-color:#2f6253;background:rgba(62,124,106,.08);box-shadow:inset 0 0 0 1px rgba(47,98,83,.25)}@keyframes stamp-press{0%{opacity:0;transform:rotate(-5deg) scale(1.7);filter:blur(1px)}55%{opacity:1;transform:rotate(-5deg) scale(.92);filter:blur(0)}to{opacity:1;transform:rotate(-5deg) scale(1)}}.reward-progress{display:flex;flex-direction:column;gap:.45rem}.reward-progress-label{font-size:.92rem;color:var(--cream-2)}.reward-progress-label strong{font-family:var(--font-display);color:var(--brass)}.reward-progress-bar{height:.6rem;border-radius:999px;overflow:hidden;background:rgba(0,0,0,.35);box-shadow:inset 0 1px 2px rgba(0,0,0,.5)}.reward-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brass-deep),var(--brass));box-shadow:var(--glow-brass);transition:width .6s var(--ease-spring)}.reward-trust{margin:0;font-family:var(--font-mono);font-size:.72rem;color:var(--cream-2)}.redeem{gap:1.25rem}.redeem,.tenant-balance{display:flex;flex-direction:column}.tenant-balance{gap:.1rem;padding:1.1rem 1.3rem;border-radius:var(--r-lg);background:linear-gradient(180deg,var(--blueprint),var(--blueprint-2));border:1px solid rgba(232,181,82,.22);box-shadow:var(--shadow-card)}.tenant-balance-label{font-family:var(--font-mono);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--cream-2)}.tenant-balance-value{font-family:var(--font-display);font-weight:800;font-size:2.2rem;line-height:1.05;color:var(--brass);text-shadow:var(--glow-brass)}.tenant-balance .balance-usd{text-align:left}.redeem-link{align-self:flex-start;margin-top:.4rem;font-family:var(--font-mono);font-size:.8rem;color:var(--brass);text-decoration:none}.redeem-link:hover{text-decoration:underline}.redeem-options{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:.85rem;gap:.85rem}.redeem-option{display:flex;flex-direction:column;gap:.6rem;padding:1rem;border-radius:var(--r-md);background:linear-gradient(180deg,var(--parchment),var(--parchment-2));color:var(--ink);box-shadow:var(--shadow-paper);position:relative;overflow:hidden}.redeem-option:after{content:"";position:absolute;left:0;right:0;bottom:2.9rem;border-top:2px dashed rgba(42,33,20,.22)}.redeem-option-head{display:flex;flex-direction:column;gap:.4rem}.redeem-option-head strong{font-family:var(--font-display);font-size:1.05rem;color:var(--ink)}.redeem-button,.review-approve{padding:.5rem .9rem;border:1px solid var(--brass-deep);border-radius:var(--r-sm);font-family:var(--font-body);font-weight:700;font-size:.88rem;cursor:pointer;background:linear-gradient(180deg,var(--brass),var(--brass-deep));color:#2a1d05;box-shadow:0 1px 0 rgba(255,255,255,.3) inset,var(--shadow-tool);transition:transform .12s var(--ease-spring),filter .18s,box-shadow .18s}.redeem-button:hover:not(:disabled),.review-approve:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 1px 0 rgba(255,255,255,.3) inset,var(--shadow-tool),var(--glow-brass)}.redeem-button:disabled{opacity:.5;cursor:not-allowed;filter:saturate(.5)}.redemption-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.redemption-item{display:flex;gap:.6rem;align-items:baseline;padding:.7rem 1rem;border-radius:var(--r-md);background:rgba(244,232,208,.04);border:1px solid rgba(244,232,208,.1)}.redemption-item strong{color:var(--cream)}.redemption-item .muted,.redemption-status{font-family:var(--font-mono)}.redemption-status{margin-left:auto;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.16rem .5rem;border-radius:var(--r-sm);white-space:nowrap;border:1px solid transparent}.redemption-status.status-pending{background:rgba(243,162,62,.14);color:var(--lantern);border-color:rgba(243,162,62,.3)}.redemption-status.status-fulfilled{background:rgba(95,181,148,.14);color:var(--patina);border-color:rgba(95,181,148,.3)}.redemption-status.status-failed{background:rgba(214,73,47,.14);color:#ff9b86;border-color:rgba(214,73,47,.3)}.redemption-claim-link{margin-left:auto;font-family:var(--font-mono);font-size:.74rem;font-weight:600;white-space:nowrap;color:var(--brass);text-decoration:none}.redemption-claim-link:hover{text-decoration:underline}.redemption-item:has(.redemption-claim-link) .redemption-status{margin-left:0}.roi-dashboard{gap:1.75rem}.roi-dashboard,.roi-section{display:flex;flex-direction:column}.roi-section{gap:.85rem}.roi-total{position:relative;display:grid;grid-template-columns:1fr auto;align-items:end;grid-gap:.5rem 1rem;gap:.5rem 1rem;padding:1.3rem 1.4rem;border-radius:var(--r-lg);background:linear-gradient(180deg,var(--blueprint),var(--blueprint-2));border:1px solid rgba(116,186,218,.24);box-shadow:var(--shadow-card);overflow:hidden}.roi-total:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,transparent 0 21px,rgba(116,186,218,.07) 21px 22px),repeating-linear-gradient(90deg,transparent 0 21px,rgba(116,186,218,.07) 21px 22px);-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}.roi-total>*{position:relative}.roi-total-label{grid-column:1;font-family:var(--font-mono);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--cyan)}.roi-total-value{grid-column:1;font-family:var(--font-display);font-weight:800;font-size:clamp(2.2rem,7vw,3rem);line-height:1;color:var(--brass);text-shadow:var(--glow-brass)}.roi-total .muted{grid-column:1/-1;color:var(--cream-2);font-family:var(--font-mono);font-size:.76rem}.roi-total-aside{grid-column:2;grid-row:1/3;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;gap:.45rem;padding-left:1rem;border-left:1px solid rgba(116,186,218,.24);text-align:right}.roi-total-aside .field-row{display:flex;flex-direction:column;line-height:1.15}.roi-total-aside .field-row span{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}.roi-total-aside .field-row strong{font-family:var(--font-display);font-size:1.3rem;color:var(--cream)}@media (max-width:460px){.roi-total{grid-template-columns:1fr}.roi-total-aside{grid-column:1;grid-row:auto;flex-direction:row;justify-content:flex-start;gap:1.5rem;padding-left:0;padding-top:.8rem;border-left:none;border-top:1px solid rgba(116,186,218,.24);text-align:left}}.roi-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.86rem;background:rgba(16,37,54,.4);border:1px solid rgba(116,186,218,.16);border-radius:var(--r-md);overflow:hidden}.roi-table td,.roi-table th{text-align:left;padding:.65rem .8rem;border-bottom:1px solid rgba(116,186,218,.12)}.roi-table thead th{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--cyan);background:rgba(12,28,42,.6)}.roi-table tbody tr:last-child td{border-bottom:none}.roi-table tbody tr{transition:background .15s}.roi-table tbody tr:hover{background:rgba(116,186,218,.06)}.roi-table td{color:var(--cream)}.roi-table .roi-num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--brass)}.roi-table .unit-cell{font-family:var(--font-body);font-weight:600}.mini-wall{display:inline-flex;gap:3px;vertical-align:middle}.mini-wall .peg{width:8px;height:8px;border-radius:2px;background:rgba(116,186,218,.18);border:1px solid rgba(116,186,218,.25)}.mini-wall .peg.filled{background:var(--brass);border-color:var(--brass-deep);box-shadow:0 0 6px -1px rgba(232,181,82,.6)}.flag,.roi-status{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-mono);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .5rem;border-radius:var(--r-sm);white-space:nowrap;border:1px solid transparent}.flag--ok,.roi-status.status-up-to-date{background:rgba(95,181,148,.14);color:var(--patina);border-color:rgba(95,181,148,.32)}.flag--warn,.roi-status.status-overdue{background:rgba(214,73,47,.14);color:#ff8e76;border-color:rgba(214,73,47,.36)}.review-list{list-style:none;gap:.9rem}.review-item,.review-list{display:flex;flex-direction:column}.review-item{gap:.5rem;padding:1rem 1.15rem;background:linear-gradient(180deg,var(--parchment),var(--parchment-2));color:var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-paper)}.review-head{display:flex;gap:.5rem;align-items:baseline;justify-content:space-between}.review-head strong{font-family:var(--font-display);color:var(--ink)}.review-item .muted{color:var(--ink-2)}.review-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.4rem;padding-top:.6rem;border-top:1px dashed rgba(42,33,20,.22)}.review-actions{display:flex;gap:.6rem}.review-actions button{padding:.5rem 1rem;border-radius:var(--r-sm);font-weight:700;font-size:.88rem;cursor:pointer}.review-actions button:disabled{opacity:.55;cursor:progress}.review-reject{background:transparent;color:#9a2613;border:1px solid rgba(214,73,47,.5)}.review-reject:hover:not(:disabled){background:rgba(214,73,47,.08)}.admin-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}.catalog-admin,.onboarding{display:flex;flex-direction:column;gap:1.5rem}.onboard-forms{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.catalog-add,.catalog-form,.catalog-list-section,.onboard-chain,.onboard-form{display:flex;flex-direction:column;gap:.7rem}.onboard-form{padding:1.1rem;border-radius:var(--r-md);background:rgba(244,232,208,.04);border:1px solid rgba(244,232,208,.1)}.onboard-form h3{font-size:1rem}.onboard-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;font-weight:600;color:var(--cream-2)}.assignment-list,.catalog-list,.landlord-list,.unit-list{list-style:none;display:flex;flex-direction:column;gap:.55rem}.assignment-item,.catalog-item,.landlord-item{padding:.8rem 1rem;border-radius:var(--r-md);background:rgba(244,232,208,.04);border:1px solid rgba(244,232,208,.1)}.assignment-head,.landlord-head{display:flex;gap:.5rem;align-items:baseline}.assignment-head{justify-content:space-between}.unit-list{margin-top:.5rem;padding-left:.5rem;gap:0}.unit-item{display:flex;flex-direction:column;gap:.1rem;padding:.5rem 0;border-top:1px solid rgba(244,232,208,.08)}.unit-label{font-weight:700;color:var(--cream)}.tenant-tag{font-size:.8rem;color:var(--patina)}.tenant-tag.vacant{color:rgba(244,232,208,.55)}.catalog-item[data-active=false]{opacity:.6}.catalog-item-summary{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;cursor:pointer}.catalog-item-name{font-weight:700;color:var(--cream)}.catalog-item-badge{font-family:var(--font-mono);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.1rem .4rem;border-radius:var(--r-sm);background:rgba(214,73,47,.18);color:#ff9b86}.catalog-item-meta{margin-left:auto;font-family:var(--font-mono);font-size:.82rem;color:var(--cream-2)}.catalog-item-body{display:flex;flex-direction:column;gap:.7rem;margin-top:.7rem;padding-top:.7rem;border-top:1px solid rgba(244,232,208,.1)}.catalog-item-description{font-size:.9rem;color:var(--cream-2)}.catalog-form-footer,.catalog-item-toggle{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.catalog-form-footer button,.catalog-item-toggle button{font:inherit;font-weight:600;padding:.45rem .9rem;border-radius:var(--r-sm);border:1px solid rgba(232,181,82,.35);background:rgba(232,181,82,.1);color:var(--brass);cursor:pointer}.catalog-form-footer button:disabled{opacity:.55;cursor:progress}.catalog-item-toggle-hint{font-size:.78rem;color:var(--cream-2)}.assignment-kind{font-family:var(--font-mono);font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.14rem .45rem;border-radius:var(--r-sm);white-space:nowrap;background:rgba(244,232,208,.1);color:var(--cream-2)}.assignment-kind.kind-scheduled{background:rgba(116,186,218,.16);color:var(--cyan)}.nav-cards{display:grid;grid-gap:.7rem;gap:.7rem;margin-top:.5rem}.feature-card,.nav-card{display:block;padding:1.1rem 1.2rem;border-radius:var(--r-md);text-decoration:none;color:var(--cream);background:rgba(244,232,208,.04);border:1px solid rgba(244,232,208,.12);transition:border-color .18s,transform .18s,background .18s}.nav-card:hover{border-color:rgba(232,181,82,.5);background:rgba(232,181,82,.06);transform:translateY(-2px)}.feature-card strong,.nav-card strong{display:block;margin-bottom:.2rem;font-family:var(--font-display);font-size:1.02rem}.feature-card p,.nav-card span{font-size:.86rem;color:var(--cream-2);margin:0}.empty-state{padding:2.5rem 1.5rem;text-align:center;border-radius:var(--r-lg);border:1px dashed rgba(116,186,218,.3);background:rgba(116,186,218,.04);color:var(--cream-2)}.empty-state p{margin:0}.coming-soon,.unit-info{padding:1.3rem;border-radius:var(--r-md);background:rgba(244,232,208,.04);border:1px solid rgba(244,232,208,.1)}.coming-soon h2,.unit-info h2{font-size:1rem;margin-bottom:.5rem}.coming-soon ul{margin:0;padding-left:1.2rem}.coming-soon ul,.unit-info .address{font-size:.9rem;color:var(--cream-2)}.landing{text-align:center;padding:2rem 0 1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.landing .eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan)}.landing h1{font-size:clamp(2.4rem,8vw,3.6rem);font-weight:800;letter-spacing:-.02em}.landing h1 .glow{color:var(--brass);text-shadow:var(--glow-brass)}.landing .tagline{font-size:1.1rem;color:var(--cream-2);max-width:46ch;margin-bottom:1rem}.landing .features{display:grid;grid-gap:.85rem;gap:.85rem;text-align:left;width:100%;margin-bottom:1.5rem}@media (min-width:560px){.landing .features{grid-template-columns:1fr 1fr}}.legal-page{max-width:760px}.legal-page h1{font-family:var(--font-display)}.legal-banner{padding:.85rem 1.1rem;border:1px solid rgba(243,162,62,.35);border-radius:var(--r-md);background:rgba(243,162,62,.1);color:var(--cream);font-size:.9rem}.legal-section{display:flex;flex-direction:column;gap:.6rem}.legal-section h2{font-family:var(--font-display);font-size:1.1rem;color:var(--cream)}.legal-section ul{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.35rem;color:var(--cream-2)}.legal-page a{color:var(--cyan)}.legal-page a:hover{color:var(--brass)}.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;margin-top:2rem;border-top:1px solid var(--cream-3);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;color:var(--cream-2)}.site-footer a{color:var(--cream-2);text-decoration:none}.site-footer a:hover{color:var(--brass);text-decoration:underline}.admin-home{gap:2.5rem}.admin-home,.admin-home>header{display:flex;flex-direction:column}.admin-home>header{gap:.5rem}.admin-insights{gap:1.5rem}.admin-insights,.admin-subsection{display:flex;flex-direction:column}.admin-subsection{gap:.6rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem}.kpi-tile{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem;border:1px solid rgba(116,186,218,.2);border-radius:var(--r-md);background:rgba(16,37,54,.4)}.kpi-label{font-family:var(--font-mono);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--cyan)}.kpi-value{font-family:var(--font-display);font-weight:800;font-size:1.5rem;line-height:1.1;color:var(--brass);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-hint{font-size:.7rem;color:var(--cream-2)}.kpi-hint,.kpi-table{font-family:var(--font-mono)}.kpi-table{width:100%;border-collapse:collapse;font-size:.86rem;background:rgba(16,37,54,.4);border:1px solid rgba(116,186,218,.16);border-radius:var(--r-md);overflow:hidden}.kpi-table td,.kpi-table th{text-align:left;padding:.55rem .7rem;border-bottom:1px solid rgba(116,186,218,.12);color:var(--cream)}.kpi-table th{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--cyan);background:rgba(12,28,42,.6)}.kpi-table tbody tr:last-child td{border-bottom:none}.kpi-table .kpi-num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--brass)}.tax-flag{font-family:var(--font-mono);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.14rem .5rem;border-radius:var(--r-sm);white-space:nowrap;border:1px solid transparent}.tax-flag.flag-nec{background:rgba(214,73,47,.16);color:#ff9b86;border-color:rgba(214,73,47,.32)}.tax-flag.flag-watch{background:rgba(243,162,62,.14);color:var(--lantern);border-color:rgba(243,162,62,.3)}.points-chart{margin:0;display:flex;flex-direction:column;gap:.5rem}.points-chart-svg{width:100%;height:auto}.points-chart-axis{stroke:rgba(116,186,218,.35);stroke-width:1}.points-bar.bar-issued{fill:var(--patina)}.points-bar.bar-redeemed{fill:var(--brass)}.points-chart-label{font-family:var(--font-mono);font-size:11px;fill:var(--cream-2)}.points-chart-legend{display:flex;gap:1.25rem;font-family:var(--font-mono);font-size:.74rem;color:var(--cream-2)}.points-chart-legend>span{display:inline-flex;align-items:center;gap:.35rem}.points-swatch{display:inline-block;width:.7rem;height:.7rem;border-radius:.15rem}.points-swatch.bar-issued{background:var(--patina)}.points-swatch.bar-redeemed{background:var(--brass)}.admin-launch{display:flex;flex-direction:column;gap:.6rem}.launch-map{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:1.5rem;gap:1.5rem;align-items:start}@media (max-width:720px){.launch-map{grid-template-columns:1fr}}.launch-map-svg{width:100%;height:auto;border:1px solid rgba(116,186,218,.2);border-radius:var(--r-md);background:rgba(16,37,54,.4)}.launch-map-state{stroke:var(--night);stroke-width:1}.launch-map-state.tier-allowed{fill:var(--patina)}.launch-map-state.tier-restricted{fill:var(--minium)}.launch-map-state.tier-review{fill:var(--lantern)}.launch-map-aside{gap:1rem}.launch-legend,.launch-map-aside{display:flex;flex-direction:column}.launch-legend{list-style:none;margin:0;padding:0;gap:.5rem;font-size:.85rem;color:var(--cream-2)}.launch-legend li{display:flex;align-items:flex-start;gap:.5rem}.launch-swatch{flex:0 0 auto;width:.85rem;height:.85rem;border-radius:.2rem;margin-top:.15rem}.launch-swatch.tier-allowed{background:var(--patina)}.launch-swatch.tier-restricted{background:var(--minium)}.launch-swatch.tier-review{background:var(--lantern)}.launch-rationale{margin:0;font-size:.82rem;color:var(--cream-2)}.launch-state-list{margin:0;font-family:var(--font-mono);font-size:.82rem;color:var(--cream)}.launch-state-list dt{font-weight:600;text-transform:uppercase;font-size:.66rem;letter-spacing:.1em;color:var(--cyan);margin-top:.5rem}.launch-state-list dd{display:flex;gap:.5rem;margin:.2rem 0 0}.launch-code{flex:0 0 1.6rem;font-weight:600;color:var(--brass);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.tool-slot[data-earned=true] .tool-glyph{-webkit-clip-path:none;clip-path:none;opacity:1}.shoplight[data-lit=true] .bulb{animation:none}}