@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0020-007E,U+00A0-00AC,U+00AE-0148,U+014A-01C3,U+01C5-024F,U+02B0-0304,U+0306-030A,U+030C,U+030F,U+0313,U+0315,U+031B,U+0323,U+0326-0328,U+032C,U+0337-0338,U+0342-0343,U+0346-036F,U+1E00-1E9B,U+1E9D-1EFF,U+2000-200B,U+2010-2027,U+202F-2055,U+2057,U+205F,U+20AC,U+2122,U+2212,U+FEFF}
@font-face{font-family:VaultDisplay;font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/oswald-latin.woff2') format('woff2');unicode-range:U+0020-007E,U+00A0-00AC,U+00AE-017F,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01B7,U+01C4-01CE,U+01D3-01D4,U+01E4-01EB,U+01EE-01EF,U+01F1-01F5,U+01FA-021B,U+021E-021F,U+022A-022D,U+0230-0233,U+0237,U+0259,U+02BB-02BC,U+02C6-02C7,U+02C9,U+02D8-02DD,U+0300-0304,U+0306-030C,U+030F,U+0311-0312,U+031B,U+0323-0324,U+0326-0328,U+032E,U+0331,U+0335,U+1E02-1E03,U+1E0A-1E0B,U+1E1E-1E1F,U+1E40-1E41,U+1E56-1E57,U+1E60-1E61,U+1E6A-1E6B,U+1E80-1E85,U+1E9E,U+1EA0-1EF9,U+2010,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2032-2033,U+2039-203A,U+2044,U+2052,U+2074,U+20AC,U+2122,U+2212,U+2215}
:root{color-scheme:dark;--bg:#080b0b;--panel:#121818;--panel2:#1a2221;--line:#2a3734;--text:#f3f3ed;--muted:#a1b0ab;--teal:#49edda;--pink:#ff6ab6;--orange:#ff965b;--display:VaultDisplay,Impact,'Arial Narrow',sans-serif;--sans:Inter,'Helvetica Neue',Arial,sans-serif}
:root{--fs-base:17px;--fs-body:17px;--fs-sm:15px;--fs-cap:14px;--fs-label-l:13px;--fs-label:12px;--fs-title:17px;--tap:44px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)} /* v1.4.1 type + touch tokens: app-first (iOS 17pt body, 44pt targets); desktop scales back below */
@media(min-width:1000px){:root{--fs-base:15px;--fs-body:16px;--fs-sm:13.5px;--fs-cap:12px;--fs-label-l:12px;--fs-label:11px;--fs-title:16px}}
:root{--chat-muted:var(--muted)} /* outside .room-chat (photo viewer, photo sheet) the lifted chat token falls back to the theme's own muted text */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:var(--fs-base)/1.5 var(--sans);min-height:100vh}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit;background:transparent;border:1px solid var(--line);padding:11px 17px;border-radius:3px;transition:background .2s,border-color .2s,transform .2s}button:hover{background:#202b28;border-color:#5e8276}button:disabled{opacity:.48;cursor:wait}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:4px}input,textarea,select{width:100%;background:#0c1110;border:1px solid #354740;border-radius:3px;color:var(--text);padding:13px 14px;min-height:47px}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--teal)}input[type=file]{padding:8px}input::placeholder,textarea::placeholder{color:#788f85}label{display:block;font-size:var(--fs-sm);letter-spacing:.04em;color:var(--muted)}label input,label select,label textarea{margin-top:7px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.025em;line-height:.99}h1{font-size:clamp(52px,6.8vw,108px);margin-bottom:24px}h2{font-size:clamp(35px,4vw,62px);margin-bottom:18px}h3{font-size:var(--fs-body);line-height:1.35;font-weight:650}p{color:var(--muted)}small{color:var(--muted)}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--teal);border-color:var(--teal);color:#09231d;font-weight:750}.primary:hover{background:#94f9ed;border-color:#94f9ed}.warm{background:var(--orange);color:#211208;border-color:var(--orange)}.danger{color:var(--pink);border-color:#70364f}.subtle{border-color:transparent;color:var(--muted)}.wide{width:100%}.muted{color:var(--muted)}.teal{color:var(--teal)}.pink{color:var(--pink)}.orange{color:var(--orange)}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.19em;font-size:var(--fs-label);font-weight:800;color:var(--muted);margin-bottom:15px}.tag{display:inline-flex;font-size:var(--fs-label);font-weight:650;letter-spacing:.08em;text-transform:uppercase;padding:4px 7px;background:#142c27;border:1px solid #31574b;color:var(--teal);border-radius:2px;gap:5px;align-items:center}.tag.worn{color:var(--orange);background:#2b211b;border-color:#523d2d}.tag.pink{color:var(--pink);background:#311d26;border-color:#633746}.tag.neutral{color:var(--muted);background:#1a2220;border-color:#34453f}.section-label{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.section-label h2{margin:0;font-size:32px}.section-label .eyebrow{margin:0}.row{display:flex;align-items:center;gap:12px}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:grid;gap:18px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.full{grid-column:1/-1}.error{color:var(--orange);font-size:var(--fs-sm);min-height:20px;margin-top:10px}.empty{padding:45px 25px;border:1px dashed var(--line);text-align:center}.empty p{max-width:440px;margin:12px auto 20px}.panel{background:var(--panel);border:1px solid var(--line);padding:28px}.initial{display:grid;place-content:center;min-height:100vh;text-align:center;gap:20px}.loading-ring{width:28px;height:28px;border:2px solid #26473c;border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite;margin:auto}.skip{position:absolute;left:12px;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;z-index:200}.skip:focus,.skip:focus-visible{position:fixed;top:12px;left:12px;width:auto;height:auto;margin:0;padding:10px 14px;overflow:visible;clip:auto;white-space:normal;background:var(--bg);border:1px solid var(--line);color:var(--text)}.app-header{height:90px;max-width:1580px;padding:0 48px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #20302a}.wordmark{font-weight:850;font-size:25px;letter-spacing:-1.4px;color:var(--text)}.wordmark i{font-style:normal;color:var(--teal)}.wordmark sup{font-size:var(--fs-cap);margin-left:5px;letter-spacing:0;vertical-align:top}.header-right{display:flex;gap:10px;align-items:center}.header-link{font-size:var(--fs-sm);border:none;color:var(--muted)}.avatar{width:36px;height:36px;padding:0;display:grid;place-items:center;background:#183c32;color:var(--teal);border-radius:50%;font-size:var(--fs-sm);font-weight:700}.status-dot{width:6px;height:6px;display:inline-block;background:var(--teal);border-radius:50%;box-shadow:0 0 12px #49edda70;margin-right:8px}.page{max-width:1484px;padding:44px 48px calc(168px + env(safe-area-inset-bottom,0px));margin:0 auto}.page.wide-page{max-width:1680px;padding-top:24px}.bottom-nav{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:9px 17px;background:#0c1110f5;border:1px solid #33483e;box-shadow:0 10px 50px #000b;border-radius:18px;z-index:30;backdrop-filter:blur(18px)}.bottom-nav button{display:flex;flex-direction:column;gap:5px;align-items:center;border:0;min-width:85px;padding:9px 14px;color:#8e9e96;font-size:var(--fs-label);font-weight:750;letter-spacing:.09em;text-transform:uppercase;border-radius:9px}.bottom-nav button.active{background:#17392f;color:var(--teal)}.bottom-nav button:hover{background:#18251f}.bottom-nav svg{width:22px;height:22px}.home-heading{display:flex;align-items:end;justify-content:space-between;padding:13px 0 25px;gap:20px}.home-heading h1{font-family:var(--sans);font-weight:850;text-transform:none;letter-spacing:-5px;margin:0 0 15px;font-size:clamp(48px,6.8vw,90px)}.home-heading .tagline{max-width:500px;font-size:var(--fs-body);line-height:1.75;margin:0}.home-heading .eyebrow{color:var(--teal)}.mini-date{text-align:right;font-size:var(--fs-label);letter-spacing:.16em;line-height:2.1;color:var(--muted);white-space:nowrap}.home-grid{display:grid;grid-template-columns:.68fr 1fr 1fr;gap:17px;margin-top:20px}.rotation{padding:27px 26px;background:linear-gradient(145deg,#152c23,#101715 70%);border:1px solid #2d4639;position:relative;min-height:390px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.rotation::after{content:'';position:absolute;width:180px;height:180px;border:1px solid #275a47;border-radius:50%;right:-80px;top:22%;box-shadow:0 0 0 36px #1c3e301f,0 0 0 72px #1c3e3014;pointer-events:none}.rotation .count{font-family:var(--display);font-size:clamp(75px,9vw,128px);color:var(--teal);line-height:1;margin:18px 0 4px;letter-spacing:-5px}.rotation .count-caption{font-size:17px;font-weight:800;letter-spacing:.04em}.rotation p{font-size:var(--fs-sm);max-width:185px;margin:17px 0 20px}.rotation-meta{display:flex;gap:26px;border-top:1px solid #30463b;padding-top:18px}.rotation-meta strong{font-size:25px;color:var(--text);font-weight:500;display:block}.rotation-meta span{font-size:var(--fs-label);color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.doorway{min-height:390px;position:relative;isolation:isolate;overflow:hidden;padding:0;border:1px solid #315b50;border-radius:2px;text-align:left;background:#14231d}.doorway.closet-door{border-color:#5b4536}.doorway>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;z-index:-2;transition:transform 1.2s;object-position:50%}.doorway:hover>img{transform:scale(1.05)}.doorway::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#07100ef2 3%,#07100e40 65%,#07100e35)}.doorway .door-content{position:absolute;inset:auto 26px 26px}.doorway .door-number{position:absolute;left:25px;top:22px;font-family:var(--display);font-size:34px;color:#fff9}.doorway h2{font-size:43px;margin:14px 0 12px}.doorway p{font-size:var(--fs-sm);margin:0;color:#c2d3cb}.doorway .enter-arrow{position:absolute;right:20px;bottom:25px;width:35px;height:35px;display:grid;place-items:center;background:var(--teal);color:#0b271d}.closet-door .enter-arrow{background:var(--orange)}.match-banner{margin:22px 0 36px;padding:23px 28px;border:1px solid #34493e;display:flex;align-items:center;gap:18px;background:linear-gradient(90deg,#17241d,#101513);text-align:left;width:100%}.match-banner>svg{color:var(--teal);width:29px;height:29px}.match-banner .banner-text{flex:1}.match-banner strong{display:block;font-size:var(--fs-body);margin-bottom:3px}.match-banner span{font-size:var(--fs-sm);color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.shoe-card{position:relative;display:block;width:100%;padding:0;background:#0e1512;border:1px solid #283c32;text-align:left;overflow:hidden}.shoe-card:hover,.room-card:hover,.sticker-key:hover{border-color:#6dba9f;background:#15231c}.shoe-card:hover{transform:translateY(-3px)}.shoe-card .photo{aspect-ratio:1.36;background:radial-gradient(ellipse at 50% 85%,#21453540,transparent 65%),#101713;overflow:hidden;display:flex;align-items:center;justify-content:center}.shoe-card img{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;transition:transform .5s}.shoe-card:hover img{transform:scale(1.04)}.shoe-card .card-copy{padding:15px 17px 18px}.shoe-card .brand{font-size:var(--fs-label);letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.shoe-card h3{font-size:var(--fs-sm);min-height:35px;margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shoe-card p{font-size:var(--fs-cap);margin:0 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shoe-card .card-footer{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:var(--fs-cap);color:var(--muted)}.shoe-card .favorite-mark{position:absolute;right:12px;top:10px;color:var(--pink);z-index:2}.card-grid.list-view{grid-template-columns:1fr}.list-view .shoe-card{display:grid;grid-template-columns:150px 1fr}.list-view .shoe-card .photo{aspect-ratio:1.5}.list-view .card-copy{display:flex;align-items:center;gap:24px}.list-view .card-copy>*{flex:1}.list-view .shoe-card h3{min-height:0}.vault-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:34px 0 24px}.vault-title h1{font-size:72px;margin:0}.unworn-counter{background:var(--teal);color:#0b251c;padding:12px 20px;min-width:100px;text-align:center}.unworn-counter strong{display:block;font-family:var(--display);font-size:36px;line-height:1.2}.unworn-counter span{font-weight:800;font-size:var(--fs-label);letter-spacing:.1em}.collection-tools{display:flex;align-items:center;gap:11px;margin-bottom:12px}.search-box{position:relative;flex:1}.search-box svg{position:absolute;left:15px;top:15px;color:var(--muted)}.search-box input{padding-left:47px}.collection-tools select{max-width:155px}.filter-row{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:23px}.filter-row input,.filter-row select{font-size:var(--fs-sm);padding:9px 11px;min-height:40px}.result-count{font-size:var(--fs-cap);color:var(--muted);margin:12px 0}.scene{position:relative;height:600px;min-height:450px;max-height:70vh;background:#050a07;border:1px solid #32473c;overflow:hidden;isolation:isolate}.scene-bg{position:absolute;inset:0;z-index:-3;background:center/cover url('/assets/vault.webp');transition:transform 1.3s ease,background-position 1.3s ease;filter:brightness(.65)}.scene.closet-scene .scene-bg{background-image:url('/assets/closet.webp');filter:brightness(.55)}.scene[data-look=left] .scene-bg{transform:scale(1.2) translateX(7%)}.scene[data-look=right] .scene-bg{transform:scale(1.2) translateX(-7%)}.scene::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#050c09e0,transparent 30%,transparent 80%,#040b09b0);z-index:-1}.scene-label{position:absolute;top:21px;left:28px;color:var(--teal);font-size:var(--fs-label);letter-spacing:.25em;font-weight:800;z-index:8}.scene-controls{position:absolute;bottom:18px;left:20px;right:20px;display:flex;gap:2px;background:#070d0ce8;border:1px solid #3b5147;z-index:10}.scene-controls button{flex:1;border:0;border-radius:0;font-size:var(--fs-label);letter-spacing:.07em;font-weight:700;padding:14px 4px;display:flex;gap:6px;align-items:center;justify-content:center}.scene-controls .active{color:var(--teal);background:#1d3228}.closet-scene .scene-controls .active{color:var(--orange)}.room-actions{position:absolute;top:17px;right:22px;display:flex;gap:8px;z-index:10}.room-actions button{background:#0a1411e8;font-size:var(--fs-cap);padding:8px 12px}.room-stage{position:absolute;inset:65px 5% 100px;perspective:1300px;pointer-events:none}.wall{position:absolute;top:0;bottom:0;background:#08110deb;box-shadow:0 0 40px #0009,inset 0 0 30px #0007;border:1px solid #314d3c;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#45775e #0b150f;transition:left 1s,width 1s,transform 1s,opacity 1s;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:0;pointer-events:auto}.wall.center{left:25%;width:50%;transform:translateZ(0)}.wall.left{left:0;width:25%;transform-origin:right center;transform:rotateY(38deg);grid-template-columns:repeat(2,minmax(0,1fr))}.wall.right{left:75%;width:25%;transform-origin:left center;transform:rotateY(-38deg);grid-template-columns:repeat(2,minmax(0,1fr))}.scene[data-look=left] .wall.left{left:14%;width:70%;transform:rotateY(0);grid-template-columns:repeat(4,minmax(0,1fr));z-index:5}.scene[data-look=left] .wall.center{left:87%;width:40%;transform:rotateY(-42deg)}.scene[data-look=left] .wall.right{left:120%;opacity:0}.scene[data-look=right] .wall.right{left:14%;width:70%;transform:rotateY(0);grid-template-columns:repeat(4,minmax(0,1fr));z-index:5}.scene[data-look=right] .wall.center{left:-30%;width:40%;transform:rotateY(42deg)}.scene[data-look=right] .wall.left{left:-45%;opacity:0}.shelf-shoe{position:relative;background:radial-gradient(ellipse at 50% 85%,#346e4b40,transparent 65%);border:0;border-bottom:4px solid #264535;box-shadow:0 2px 7px #49edda35;border-radius:0;height:125px;padding:9px 7px 18px;min-width:0}.shelf-shoe img{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 8px 7px #000);transition:transform .3s}.shelf-shoe:hover{background:#2346337a;border-color:var(--teal)}.shelf-shoe:hover img{transform:translateY(-5px) scale(1.12)}.shelf-shoe span{position:absolute;bottom:4px;left:5px;right:5px;font-size:var(--fs-cap);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:#bfcec4}.room-hint{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);font-size:var(--fs-label);letter-spacing:.13em;text-transform:uppercase;color:#bbc8bf;white-space:nowrap}.closet-intro{max-width:440px;position:absolute;left:45px;bottom:110px;text-shadow:0 2px 20px #000}.closet-intro h1{font-size:76px;line-height:.93;margin-bottom:18px}.closet-intro .eyebrow{color:var(--orange)}.closet-intro p{color:#eee8df}.closet-below{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 35px}.closet-below p{max-width:570px;margin:0}.match-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start;padding-top:24px}.match-copy h1{font-size:clamp(50px,6vw,94px)}.match-copy p{font-size:var(--fs-body);max-width:350px}.match-notes{margin-top:38px;border-top:1px solid var(--line);padding-top:23px;font-size:var(--fs-cap);display:grid;gap:14px;max-width:350px}.match-notes span{display:flex;gap:10px;color:var(--muted)}.match-notes b{color:var(--teal);font-weight:500}.photo-upload{display:grid;place-items:center;position:relative;aspect-ratio:1.38;border:1px solid #4f6355;background:radial-gradient(ellipse at 50% 80%,#26432e40,transparent),#121b15;overflow:hidden;cursor:pointer;padding:20px;text-align:center}.photo-upload input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;z-index:2}.photo-upload:focus-within{outline:2px solid var(--teal);outline-offset:3px}.photo-upload img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#0b110d;z-index:1}.photo-upload .upload-label svg{width:36px;height:36px;color:var(--teal);margin:0 auto 16px}.photo-upload strong{display:block;font-family:var(--display);text-transform:uppercase;font-size:33px;color:var(--text)}.photo-upload span{display:block;color:var(--muted);margin-top:8px;font-size:var(--fs-sm)}.match-form{display:grid;gap:22px}.match-form>button{padding:16px}.analysis-summary{border:1px solid var(--line);padding:20px 24px;margin:28px 0}.palette{display:flex;align-items:center;gap:9px;margin-bottom:10px;flex-wrap:wrap}.swatch{width:22px;height:22px;border-radius:50%;border:1px solid #bbb5;display:inline-block}.palette span{font-size:var(--fs-sm);color:var(--muted)}.match-results{margin-top:42px}.match-result{background:var(--panel);border:1px solid var(--line);position:relative;padding:18px}.match-result .rank{font-family:var(--display);font-size:36px;color:var(--teal)}.match-result img{height:210px;width:100%;object-fit:contain;mix-blend-mode:screen}.match-result h3{margin:16px 0 9px}.match-result p{font-size:var(--fs-sm);line-height:1.65}.match-result button{width:100%;margin-top:10px}.score{font-size:var(--fs-cap);color:var(--muted)}.score strong{font-size:26px;color:var(--text);font-weight:500}.outfit-card{border:1px solid var(--line);background:var(--panel);overflow:hidden}.outfit-card img{aspect-ratio:1;object-fit:cover;width:100%}.outfit-card .copy{padding:20px}.agent-heading{display:flex;align-items:center;gap:20px;margin:25px 0}.agent-heading h1{font-size:65px;margin:0;font-family:var(--sans);font-weight:300;letter-spacing:-3px}.agent-emblem{width:74px;height:74px;display:grid;place-items:center;background:var(--teal);color:#103124}.agent-emblem svg{width:34px;height:34px}.conversation{min-height:340px;display:grid;align-content:start;gap:18px;padding:20px 0}.message{padding:25px 28px;max-width:850px;background:#172018;border-left:2px solid #41654d}.message.user{justify-self:end;background:#12281d;border-left-color:var(--teal)}.message p{margin:0;color:var(--text);font-size:var(--fs-body);line-height:1.7}.message .eyebrow{margin-bottom:8px}.agent-form{display:flex;gap:10px;padding:12px;border:1px solid #35493c;background:var(--panel);position:sticky;bottom:110px;z-index:5}.agent-form input{border:0;background:transparent}.agent-form button{width:55px;flex-shrink:0;padding:10px}.suggestions{display:flex;gap:10px;margin:10px 0;flex-wrap:wrap}.suggestions button{font-size:var(--fs-cap)}.tabs{display:flex;border-bottom:1px solid var(--line);gap:18px;margin:22px 0}.tabs button{border:0;border-radius:0;padding:12px 5px;color:var(--muted);font-size:var(--fs-sm)}.tabs button.active{border-bottom:2px solid var(--teal);color:var(--teal)}.event-list{display:grid;gap:16px}.event-card{display:grid;grid-template-columns:85px 1fr auto;align-items:start;gap:23px;padding:25px;border:1px solid var(--line);background:var(--panel)}.event-date{border:1px solid #41624d;padding:10px;text-align:center;color:var(--teal);font-size:var(--fs-label);text-transform:uppercase}.event-date strong{display:block;font-family:var(--display);font-size:38px}.event-card h3{font-size:20px;margin-bottom:7px}.event-card p{font-size:var(--fs-sm);white-space:pre-wrap;margin-bottom:12px}.watch-card{border:1px solid var(--line);background:var(--panel);padding:22px}.watch-card h3{margin:0 0 10px}.watch-card p{font-size:var(--fs-sm)}.watch-card .row{margin-top:12px}.alert-card{padding:25px;border:1px solid var(--line);border-left:2px solid var(--teal);background:var(--panel)}.alert-card.read{opacity:.6;border-left-color:var(--line)}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:25px 0}.admin-stats .panel{padding:18px}.admin-stats strong{font-family:var(--display);display:block;font-size:39px;color:var(--teal)}.admin-stats span{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}th,td{text-align:left;padding:16px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em}td small{display:block;margin-top:3px}td button{font-size:var(--fs-cap);padding:7px 9px;margin:2px}.source-card{background:var(--panel);border:1px solid var(--line);padding:20px}.source-card p{font-size:var(--fs-cap)}.source-card h3{margin-bottom:12px}dialog{background:#0d1510;color:var(--text);border:1px solid #435f4c;padding:0;max-width:960px;width:calc(100% - 32px);max-height:90vh;border-radius:5px;box-shadow:0 30px 140px #000;overscroll-behavior:contain}dialog::backdrop{background:#010704df;backdrop-filter:blur(8px)}.modal-head{display:flex;justify-content:space-between;gap:20px;align-items:center;position:sticky;top:0;background:#111c15f5;border-bottom:1px solid var(--line);padding:18px 25px;z-index:5}.modal-head h2{font-family:var(--sans);font-size:17px;text-transform:none;margin:0;letter-spacing:0}.modal-head button{border:0;padding:6px}.modal-body{padding:28px}.modal-body.compact{max-width:560px;margin:auto}.modal-body h2{font-size:41px}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px}.detail-photo{background:radial-gradient(ellipse at 50% 65%,#34573f40,transparent),#0b130e;position:sticky;top:90px;align-self:start;min-height:300px;display:grid;place-items:center}.detail-photo img{width:100%;max-height:400px;object-fit:contain;mix-blend-mode:screen}.detail-info h2{font-size:38px;line-height:1.06}.details{display:grid;grid-template-columns:1fr 1fr;margin:20px 0}.details>div{padding:11px 0;border-bottom:1px solid #2b3b2f}.details dt{font-size:var(--fs-cap);color:var(--muted);margin-bottom:4px}.details dd{font-size:var(--fs-sm);margin:0}.detail-info p{font-size:var(--fs-sm)}.detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.detail-actions button{font-size:var(--fs-cap)}.catalog-results{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;max-height:50vh;overflow:auto;padding:1px}.catalog-results .shoe-card .card-copy{padding:12px}.catalog-results .shoe-card h3{font-size:var(--fs-cap)}.scan-video{width:100%;height:300px;object-fit:cover;background:#030704;border:1px solid #315e44}.scanner-frame{position:relative}.scanner-frame::after{content:'';pointer-events:none;position:absolute;left:15%;right:15%;top:30%;bottom:30%;border:2px solid var(--teal);border-radius:10px;box-shadow:0 0 0 999px #0005;clip-path:inset(-200px -100px)}.scan-status{font-size:var(--fs-sm);margin:12px 0}.form-actions{display:flex;justify-content:end;gap:10px;margin-top:25px}.upload-preview{max-height:200px;object-fit:contain;margin:auto}.readonly-banner{padding:15px 20px;border:1px solid #784b32;background:#2a1f16;color:var(--orange);font-size:var(--fs-sm);margin-bottom:20px}.login{min-height:100vh;display:grid;place-items:center;position:relative;padding:40px 20px;isolation:isolate;background:#030807}.login::before{content:'';position:fixed;inset:0;z-index:-2;background:center/cover url('/assets/storefront.webp')}.login::after{content:'';position:fixed;inset:0;background:linear-gradient(0deg,#030806de,#03080666 50%,#03080685);z-index:-1}.login-card{width:100%;max-width:430px;text-align:center;background:#07110be8;border:1px solid #3e6350;padding:35px 39px;box-shadow:0 0 90px #04201b66;backdrop-filter:blur(6px)}.login-logo{max-width:170px;max-height:190px;object-fit:contain;margin:0 auto 20px;animation:neon 6s infinite}.login-wordmark{font-size:45px;font-weight:850;letter-spacing:-2.5px;margin:0 0 13px;color:var(--teal);text-shadow:0 0 24px #49edda45;animation:neon 6s infinite}.login-card .tagline{font-size:var(--fs-cap);line-height:1.8;max-width:300px;margin:0 auto 25px}.login-card form{text-align:left;display:grid;gap:15px}.login-card h1{font:700 19px var(--sans);letter-spacing:-.02em;text-transform:none;margin:0 0 20px}.login-footer{margin:20px 0 0;font-size:var(--fs-cap)}.login-footer button{border:none;color:var(--teal);padding:4px}.login-kicker{margin:0 0 20px;font-size:var(--fs-label);letter-spacing:.25em;color:#cee4d8}.login-card .primary{margin-top:5px;padding:14px;box-shadow:0 0 28px #49edda20}.login-meta{font-size:var(--fs-label);letter-spacing:.18em;text-transform:uppercase;color:#a0b7a9;margin-top:25px}#toasts{position:fixed;top:18px;right:20px;z-index:100;display:grid;gap:8px;max-width:380px}.toast{background:#182d20;color:var(--text);border:1px solid #588169;padding:15px 20px;box-shadow:0 10px 40px #0009;font-size:var(--fs-sm);animation:slidein .3s}.toast.error-toast{border-color:var(--orange)}#transition{position:fixed;inset:0;pointer-events:none;z-index:80;perspective:1400px;display:none;background:#020604}#transition.playing{display:block;animation:transition-away 2.5s forwards}.steel-door{position:absolute;inset:0 10%;background:repeating-linear-gradient(0deg,#232b29,#1b2220 2px,#29312d 3px);border:18px solid #101613;box-shadow:inset 0 0 0 4px #64756b,inset 0 0 90px #000,0 0 0 20px #030805;display:grid;place-items:center;transform-origin:left center;animation:door-open 2.5s forwards}.wheel{width:180px;height:180px;border:12px solid #68786c;border-radius:50%;position:relative;box-shadow:0 0 0 7px #19241d,0 0 30px #0008;animation:wheel-turn 1s ease forwards}.wheel::before,.wheel::after{content:'';position:absolute;left:50%;top:0;bottom:0;width:10px;background:#68786c;transform:translateX(-50%) rotate(45deg)}.wheel::after{transform:translateX(-50%) rotate(-45deg)}.bolts{position:absolute;inset:15% -12px;display:flex;flex-direction:column;justify-content:space-around}.bolts i{display:block;height:20px;width:calc(100% + 24px);background:linear-gradient(90deg,#8c9c8e 0 24px,transparent 24px calc(100% - 24px),#8c9c8e calc(100% - 24px));animation:bolts .8s .3s forwards}@keyframes spin{to{transform:rotate(360deg)}}@keyframes neon{0%,95%,100%{opacity:1}96%{opacity:.87}97%{opacity:1}98%{opacity:.93}}@keyframes slidein{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes wheel-turn{to{transform:rotate(120deg)}}@keyframes bolts{to{transform:scaleX(.94)}}@keyframes door-open{0%,35%{transform:rotateY(0)}90%,100%{transform:rotateY(-108deg) translateX(-10%);opacity:0}}@keyframes transition-away{0%,65%{opacity:1}100%{opacity:0}}@media(min-width:1450px){.shelf-shoe{height:150px}}
@media(max-width:1000px){.app-header{padding:0 25px}.page{padding:30px 25px 140px}.home-grid{grid-template-columns:.8fr 1fr 1fr;gap:12px}.rotation{padding:20px}.doorway .door-content{left:18px;right:18px}.doorway h2{font-size:34px}.doorway .enter-arrow{display:none}.card-grid{grid-template-columns:repeat(3,1fr)}.match-layout{gap:35px}.match-copy h1{font-size:66px}.scene{height:510px}.shelf-shoe{height:100px}.home-heading h1{font-size:65px}.home-heading .tagline{max-width:400px}}
@media(max-width:700px){.app-header{height:69px;padding:0 19px}.wordmark{font-size:22px}.header-link.header-admin{display:none}.header-link.header-howto{display:inline-block;padding:8px 10px;font-size:var(--fs-cap)}.header-right{gap:4px}.page{padding:25px 19px calc(160px + env(safe-area-inset-bottom,0px))}.page.wide-page{padding-top:15px}.home-heading{padding:5px 0 16px}.home-heading h1{font-size:52px;letter-spacing:-3px;margin-bottom:12px}.home-heading .tagline{font-size:var(--fs-sm);max-width:330px}.mini-date{display:none}.eyebrow{font-size:var(--fs-label)}.home-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.rotation{grid-column:1/-1;min-height:170px;display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:20px}.rotation .eyebrow{margin-bottom:4px}.rotation .count{font-size:72px;margin:0;letter-spacing:-3px}.rotation .count-caption{font-size:var(--fs-cap)}.rotation p{display:none}.rotation-meta{align-self:center;border:0;padding:0;justify-content:end;gap:20px}.rotation-meta strong{font-size:26px}.rotation-meta span{font-size:var(--fs-label)}.doorway{min-height:300px}.doorway h2{font-size:30px}.doorway p{font-size:var(--fs-cap)}.doorway .door-content{left:15px;right:10px;bottom:20px}.doorway .door-number{top:14px;left:15px;font-size:25px}.doorway .tag{font-size:var(--fs-cap);padding:3px 5px}.match-banner{padding:17px;margin:17px 0 30px;gap:12px}.match-banner strong{font-size:var(--fs-sm)}.match-banner span{font-size:var(--fs-cap)}.match-banner>svg{width:23px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shoe-card .card-copy{padding:12px}.shoe-card h3{font-size:var(--fs-cap);min-height:30px}.shoe-card .brand{font-size:var(--fs-label)}.shoe-card p{font-size:var(--fs-cap)}.card-footer .tag{font-size:var(--fs-cap)}.shoe-card .card-footer{font-size:var(--fs-cap)}.bottom-nav{gap:0;padding:7px 5px;bottom:10px;max-width:calc(100% - 22px);border-radius:16px}.bottom-nav button{min-width:61px;padding:8px 9px;font-size:var(--fs-label);gap:5px}.bottom-nav svg{width:21px;height:21px}.section-label h2{font-size:26px}.section-label button{font-size:var(--fs-cap);padding:8px}.vault-title h1{font-size:54px}.vault-title{margin:26px 0 20px}.unworn-counter{padding:9px 13px;min-width:75px}.unworn-counter strong{font-size:30px}.unworn-counter span{font-size:var(--fs-label)}.collection-tools{flex-wrap:wrap}.search-box{flex-basis:100%}.collection-tools select{flex:1;max-width:none;min-height:41px;font-size:var(--fs-cap)}.collection-tools button{font-size:var(--fs-cap);padding:9px 12px}.filter-row{grid-template-columns:repeat(2,1fr)}.filter-row input,.filter-row select{font-size:var(--fs-cap)}.scene{height:445px;max-height:none;min-height:400px;margin:0 -8px}.scene-label{top:18px;left:17px;font-size:var(--fs-label)}.room-actions{top:42px;right:15px;left:15px;justify-content:center}.room-actions button{font-size:var(--fs-cap);padding:6px 9px}.room-stage{inset:88px 3% 92px;perspective:900px}.wall.center{width:68%;left:16%;grid-template-columns:repeat(3,minmax(0,1fr))}.wall.left{width:16%;grid-template-columns:1fr;transform:rotateY(42deg)}.wall.right{width:16%;left:84%;grid-template-columns:1fr;transform:rotateY(-42deg)}.scene[data-look=left] .wall.left,.scene[data-look=right] .wall.right{left:5%;width:90%;grid-template-columns:repeat(3,minmax(0,1fr))}.shelf-shoe{height:91px;padding:6px 4px 15px}.shelf-shoe span{font-size:var(--fs-cap)}.scene-controls{left:12px;right:12px;bottom:15px}.scene-controls button{font-size:var(--fs-label);padding:12px 0}.scene-controls svg{width:14px;height:14px}.room-hint{bottom:67px;font-size:var(--fs-label)}.closet-intro{left:25px;right:20px;bottom:95px;max-width:290px}.closet-intro h1{font-size:58px}.closet-intro p{font-size:var(--fs-sm)}.closet-below{display:block}.closet-below p{font-size:var(--fs-sm);margin-bottom:15px}.grid-3{grid-template-columns:1fr;gap:15px}.match-layout{grid-template-columns:1fr;gap:22px;padding-top:5px}.match-copy h1{font-size:58px;max-width:440px}.match-copy h1 br{display:none}.match-copy p{font-size:var(--fs-sm);max-width:none;margin-bottom:0}.match-notes{display:none}.photo-upload{aspect-ratio:1.35}.match-form{gap:18px}.match-results{margin-top:27px}.match-result img{height:220px}.agent-heading{gap:14px}.agent-heading h1{font-size:38px;letter-spacing:-1.5px}.agent-emblem{width:51px;height:51px;flex-shrink:0}.agent-emblem svg{width:26px}.conversation{min-height:280px}.message{padding:20px}.message p{font-size:var(--fs-sm)}.agent-form{bottom:99px;padding:8px}.agent-form input{font-size:var(--fs-sm);padding:10px}.detail-layout{grid-template-columns:1fr;gap:18px}.detail-photo{position:static;min-height:200px}.detail-photo img{max-height:250px}.detail-info h2{font-size:34px}.modal-head{padding:15px 18px}.modal-body{padding:20px}.grid-2{grid-template-columns:1fr}.catalog-results{grid-template-columns:repeat(2,1fr)}.admin-stats{grid-template-columns:1fr 1fr}.admin-stats strong{font-size:32px}.event-card{grid-template-columns:65px 1fr;padding:20px 15px;gap:15px}.event-card>button{grid-column:2;justify-self:start}.event-card h3{font-size:var(--fs-body)}.login-card{padding:30px 25px}.login-wordmark{font-size:41px}.login{padding:24px 16px}.list-view .shoe-card{grid-template-columns:110px 1fr}.list-view .card-copy{display:block}.list-view .card-copy .brand{display:none}.list-view .shoe-card .photo{height:100%;aspect-ratio:auto}.list-view .shoe-card .card-footer{margin-top:8px}.filter-row>:last-child{grid-column:1/-1}.panel{padding:20px}.header-right .icon-button{padding:8px}.modal-body h2{font-size:32px}.event-list .row{flex-wrap:wrap}#toasts{left:15px;right:15px;max-width:none}.steel-door{inset:0 3%}.wheel{width:130px;height:130px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.scene-bg{transform:none!important}}

.detected-palette{border-top:1px solid var(--line);padding:18px 0;margin-top:18px}.detected-palette .palette{flex-wrap:wrap;margin:12px 0;gap:12px}.pixel-color{display:flex;align-items:center;gap:7px;font-size:var(--fs-sm)}.pixel-color .swatch{flex-shrink:0}.pixel-color small{display:block;font-size:var(--fs-cap);letter-spacing:.02em}.saved-colors{font-size:var(--fs-cap);margin:10px 0}.detected-palette button{font-size:var(--fs-cap);padding:7px 10px}@media(max-width:700px){.header-right>.eyebrow{display:none}}
#transition{overflow:hidden;height:100vh;height:100dvh}
#transition.playing{pointer-events:auto}
body:has(#transition.playing){overflow:hidden}
#transition:not(.closet-transition) .steel-door{--door-art-width:max(100vw,177.7778vh);--door-art-width:max(100vw,177.7778dvh);inset:0;width:100%;height:100%;aspect-ratio:auto;margin:0;background:#17211e url('/assets/vault-door.webp') center/cover;border:2px solid var(--teal);box-shadow:0 0 35px #2bdec44d;max-height:none}
#transition:not(.closet-transition) .wheel{position:absolute;left:calc(50% - var(--door-art-width) * .1385);top:calc(50% - var(--door-art-width) * .5625 * .226);width:calc(var(--door-art-width) * .277);height:calc(var(--door-art-width) * .5625 * .49);border:0;box-shadow:none;background:url('/assets/vault-door.webp') 50% 51.7% / 361% 204%;border-radius:50%}
#transition:not(.closet-transition) .wheel::before,#transition:not(.closet-transition) .wheel::after{display:none}
@media(max-width:700px){.match-copy h1{font-size:52px}.match-copy h1 br{display:block}.match-layout>*{min-width:0}.detected-palette .pixel-color{max-width:100%}.section-label{flex-wrap:wrap;gap:14px}}

[hidden]{display:none!important}.pair-extra{border:0;padding:0;margin:0;min-width:0}.pair-extra legend{padding:0;margin-bottom:18px}.pair-type{max-width:300px}.detail-info .pair-type{margin-bottom:24px}.form-hint{margin:0;font-size:var(--fs-sm)}#pair-form label small{display:block;margin-top:7px;font-weight:400;font-size:var(--fs-cap)}

/* Decorative room layers must never intercept shelf clicks. */
.scene-bg,.scene-label,.room-hint{pointer-events:none}
.scene[data-look=left] .wall.right,.scene[data-look=right] .wall.left{pointer-events:none}
.closet-fits{margin-top:55px}.clothing-card .photo{aspect-ratio:1}.clothing-card img,.clothing-detail img,.shelf-clothing img{mix-blend-mode:normal}.closet-scene .wall{background:#21170feb;border-color:#7a573d;scrollbar-color:#916d4e #20180f}.shelf-clothing{height:180px;border-color:#755236;background:radial-gradient(ellipse at 50% 85%,#ad784330,transparent 70%);box-shadow:0 2px 7px #ff965b30}.shelf-clothing:hover{background:#62432366;border-color:var(--orange)}.clothing-categories{margin-top:18px}.clothing-card:hover{border-color:var(--orange)}.clothing-detail .detail-photo{background:#211b14}.clothing-categories button.active{color:var(--orange);border-color:var(--orange)}
@media(max-width:700px){.shelf-clothing{height:130px}.clothing-categories{gap:4px}.clothing-categories button{font-size:var(--fs-cap);padding:8px}.closet-fits{margin-top:36px}}
.compact-title{font-size:clamp(42px,5.5vw,78px);margin-bottom:14px}.page-title{margin:0;line-height:1.05;overflow-wrap:normal;word-break:normal}.nowrap{white-space:nowrap}.block{display:block}.home-import{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding:20px 24px;border:1px solid var(--line);background:#111b17}.home-import p{margin:4px 0 0;font-size:var(--fs-sm)}.import-upload{max-width:820px;margin:25px 0}.import-upload .download-link{margin-top:18px}.download-link{display:inline-block;border-bottom:1px solid var(--teal);padding:6px 0;font-size:var(--fs-sm)}.import-help{margin:32px 0}.import-guide p{max-width:900px}.import-guide .table-wrap{margin:25px 0}.import-guide td:first-child{min-width:150px;color:var(--teal)}.import-guide td{white-space:normal}.howto-steps{padding-left:22px;max-width:900px;color:var(--muted)}.howto-steps li{padding:9px 0 9px 7px}.howto-steps strong{color:var(--text)}details summary{cursor:pointer;font-weight:700;padding:5px 0}details[open] summary{margin-bottom:20px}.import-history{margin:40px 0}.import-history h2{font-size:32px}.import-rows{display:grid;gap:14px}.import-row{border:1px solid var(--line);background:var(--panel);padding:22px}.import-row-heading{display:grid;gap:9px}.import-row-heading .tag{justify-self:start}.import-row-heading p{font-size:var(--fs-sm);margin-bottom:10px}.import-row select{max-width:100%}.import-pair-summary{display:flex;gap:20px;align-items:center;margin-top:16px}.import-pair-summary img{width:120px;height:85px;object-fit:contain;flex-shrink:0}.import-pair-summary p{font-size:var(--fs-sm);margin:5px 0}.import-pair-summary>span{font-size:var(--fs-cap);max-width:120px}.import-duplicate{display:flex;align-items:center;gap:10px;margin-top:15px;color:var(--orange)}.import-duplicate input{margin:0;flex-shrink:0}.import-commit-bar{position:sticky;bottom:calc(118px + env(safe-area-inset-bottom,0px));z-index:15;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#10251ff5;border:1px solid #3e7263;padding:16px 20px;margin-top:20px;backdrop-filter:blur(10px)}.import-commit-bar span{font-size:var(--fs-sm)}.import-result{margin:30px 0}.import-result h2{font-size:44px}.import-result details{margin-top:24px}.howto-cards{margin:30px 0}.howto-cards p{font-size:var(--fs-sm)}.tabs{flex-wrap:wrap}
@media(max-width:700px){.home-import{align-items:start;flex-direction:column;padding:18px}.import-row{padding:16px}.import-pair-summary{gap:12px}.import-pair-summary img{width:85px}.import-commit-bar{padding:12px;bottom:calc(110px + env(safe-area-inset-bottom,0px))}.import-commit-bar button{font-size:var(--fs-sm)}.import-preview h2{font-size:34px}.import-guide td:first-child{min-width:105px}.import-guide td{font-size:var(--fs-sm)}.howto-cards{grid-template-columns:1fr}}

/* Paired glazed doors open on opposite outer hinges into the fitting room. */
#transition.playing.closet-transition{background:#090a09;overflow:hidden;animation:closet-arrival 2.9s ease both}
.closet-reveal{position:absolute;inset:0;background:linear-gradient(90deg,#080908b8,transparent 30% 70%,#080908b8),url('/assets/closet.webp') center/cover;animation:closet-approach 2.9s ease both}
.french-frame{position:absolute;inset:0;border:clamp(9px,1.3vw,20px) solid #221a16;border-bottom-width:10px;box-shadow:0 0 0 2px #785540,inset 0 0 0 2px #a77d59,0 0 0 12px #110f0e,0 0 90px 45px #000b;perspective:1500px}
.french-lintel{position:absolute;left:0;right:0;top:20px;z-index:1;pointer-events:none;text-align:center;font-size:var(--fs-label);font-weight:700;letter-spacing:.32em;color:var(--orange);text-shadow:0 0 18px #ff965b70}
.french-leaf{position:absolute;top:0;bottom:0;width:50%;--door-stile:clamp(14px,2vw,30px);border:var(--door-stile) solid #33241b;border-image:linear-gradient(90deg,#211813,#634833 48%,#302219) 1;box-shadow:inset 0 0 0 4px #201913,inset 0 0 0 6px #644b36,0 15px 40px #0009;backface-visibility:hidden;will-change:transform}
.french-left{left:0;transform-origin:left center;animation:french-open-left 2.9s cubic-bezier(.3,.05,.2,1) both}
.french-right{right:0;transform-origin:right center;animation:french-open-right 2.9s cubic-bezier(.3,.05,.2,1) both}
.french-glazing{height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:0;box-shadow:0 0 0 1px #ad8258,inset 0 0 0 3px #100e0c}
.french-pane{border:clamp(4px,.5vw,7px) solid #3d2e22;background:linear-gradient(116deg,#fce0bc22 0 10%,transparent 11% 49%,#fff2d615 50% 54%,transparent 55%),linear-gradient(0deg,#20160f99,#ac92724d 70%,#e8dbc133);box-shadow:inset 0 0 16px #0008,0 0 0 2px #0e0b09;backdrop-filter:blur(4px)}
.french-handle{position:absolute;top:47%;height:16%;max-height:100px;width:8px;border:1px solid #d3b48c;border-radius:4px;background:linear-gradient(90deg,#583b23,#f3d6a7 42%,#b78b57 70%,#593d29);box-shadow:3px 3px 8px #000b,0 0 14px #ff965b24}
.french-left .french-handle{right:calc(var(--door-stile) * -.7)}.french-right .french-handle{left:calc(var(--door-stile) * -.7)}
@keyframes french-open-left{0%,16%{transform:rotateY(0)}79%,100%{transform:rotateY(-104deg)}}
@keyframes french-open-right{0%,19%{transform:rotateY(0)}82%,100%{transform:rotateY(104deg)}}
@keyframes closet-arrival{0%,77%{opacity:1}100%{opacity:0}}
@keyframes closet-approach{0%,16%{transform:scale(1);filter:brightness(.5)}82%,100%{transform:scale(1.1);filter:brightness(.85)}}
@media(max-width:700px){.french-frame{perspective:950px}.french-lintel{top:16px;font-size:var(--fs-label)}.french-leaf{--door-stile:16px}.french-handle{width:6px}}
@media(prefers-reduced-motion:reduce){#transition.playing{display:none}}

.vault-filter-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;margin-bottom:14px;background:#142c27;border:1px solid #31574b;color:var(--teal)}.vault-filter-notice strong{font-size:var(--fs-sm)}.vault-filter-notice span{display:block;color:var(--muted);font-size:var(--fs-sm);margin-top:3px}.vault-filter-notice button{flex-shrink:0;font-size:var(--fs-sm);background:var(--teal);color:#09231d}@media(max-width:700px){.vault-filter-notice{align-items:start;flex-direction:column;gap:10px}}

.wall-heading{grid-column:1/-1;position:sticky;top:0;z-index:3;background:#130e0bdd;padding:12px 5px;color:var(--orange);font-size:var(--fs-label);font-weight:800;letter-spacing:.14em;text-align:center;pointer-events:none}.wall-empty{grid-column:1/-1;min-height:160px;display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px dashed #b27b5344;color:#b8a99b}.wall-empty svg{width:18px}.clothing-stage .wall{align-content:start}.clothing-categories{overflow:auto}.import-steps{display:flex;gap:12px;margin:20px 0 25px;flex-wrap:wrap}.import-steps span{padding:9px 14px;border:1px solid var(--line);font-size:var(--fs-sm)}.import-steps span:first-child{color:var(--teal)}
html:not([lang=en]):not([lang=es]) h1,html:not([lang=en]):not([lang=es]) h2{font-family:Arial,'Noto Sans',sans-serif;letter-spacing:0;line-height:1.2}html:not([lang=en]):not([lang=es]) h1{font-size:clamp(36px,5vw,74px)}html:not([lang=en]):not([lang=es]) .eyebrow,html:not([lang=en]):not([lang=es]) .bottom-nav{letter-spacing:0}html[dir=rtl] .room-stage,html[dir=rtl] .scene-controls,html[dir=rtl] .french-frame{direction:ltr}html[dir=rtl] .wall-heading,html[dir=rtl] .shelf-shoe{direction:rtl}html[dir=rtl] input[type=email],html[dir=rtl] input[type=password],html[dir=rtl] input[type=file],html[dir=rtl] input[name=style_number],html[dir=rtl] input[name=barcode]{direction:ltr;text-align:left}html[dir=rtl] .card-copy,html[dir=rtl] .detail-info,html[dir=rtl] .import-row-heading{text-align:right}html[dir=rtl] .enter-arrow{right:auto;left:24px}

.shoe-tile{position:relative;min-width:0}.shoe-tile>.shoe-card{width:100%;height:100%}.favorite-button{position:absolute;inset:10px 10px auto auto;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:10px;background:#0b1111eb;border:1px solid var(--line);border-radius:50%;color:var(--muted)}.favorite-button svg,.favorite-filter svg{width:20px;height:20px;flex-shrink:0}.favorite-button[aria-pressed=true],.favorite-filter[aria-pressed=true]{color:var(--pink);border-color:var(--pink)}.favorite-button[aria-pressed=true] svg{fill:currentColor}.favorite-button.detail-favorite{position:static;border-radius:4px}.favorite-filter{display:inline-flex;align-items:center;gap:8px}.weather-picker{border:1px solid var(--line);padding:20px;display:grid;gap:14px;min-width:0;background:#101b19}.weather-picker p{font-size:var(--fs-sm);margin:0}.weather-picker h3{margin:0}.weather-picker label{min-width:0}.weather-search{display:flex;gap:8px;margin-top:6px}.weather-search input{min-width:0;flex:1}.weather-search button{flex-shrink:0}.weather-picker select{max-width:100%;width:100%;text-overflow:ellipsis}.weather-picker small,.weather-summary small{display:block;color:var(--muted);font-size:var(--fs-cap)}.weather-summary{padding:16px;margin:5px 0;border-inline-start:2px solid var(--teal);background:#0c1513}.weather-summary p{font-size:var(--fs-sm);line-height:1.6;margin:8px 0}.weather-summary strong{font-size:var(--fs-sm);overflow-wrap:anywhere}.weather-temperature{font-size:24px;font-weight:800;color:var(--teal);margin-top:12px}.weather-summary a{text-decoration:underline}.weather-summary button{display:block;font-size:var(--fs-cap);margin-top:8px}.match-results>.weather-summary{margin:20px 0}.agent-weather{max-width:900px;margin:24px 0}.agent-weather summary{color:var(--teal)}
@media(max-width:700px){.favorite-button{inset:5px 5px auto auto}.weather-picker{padding:14px}.weather-search{flex-wrap:wrap}.weather-search input{flex-basis:100%}.weather-search button{width:100%}.weather-summary .row{gap:9px}.weather-temperature{font-size:21px}}
.admin-management{margin:24px 0 32px}.admin-management p{font-size:var(--fs-sm)}

.fit-heading{margin-bottom:30px}.fit-builder{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:40px;align-items:start}.fit-builder aside{min-width:0}.fit-anchor{padding:20px;background:#111d1a;border:1px solid var(--teal);margin-bottom:24px}.fit-anchor>img{width:100%;height:190px;object-fit:contain}.fit-anchor h2{font:700 22px var(--sans);margin:14px 0;overflow-wrap:anywhere}.fit-anchor p{font-size:var(--fs-sm)}.fit-anchor button{font-size:var(--fs-sm)}.fit-weather>summary{cursor:pointer;padding:15px 0;color:var(--teal)}.fit-pieces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fit-piece{border:1px solid var(--line);background:#101816;min-width:0}.fit-piece.is-anchor{border-color:var(--teal)}.fit-piece-link{display:block;width:100%;border:0;text-align:start;padding:18px;background:transparent}.fit-piece-link img{display:block;width:100%;height:180px;object-fit:contain;margin:14px 0}.fit-piece-link h3{font-size:17px;overflow-wrap:anywhere}.fit-piece-link p{font-size:var(--fs-sm);margin:8px 0}.fit-piece-link small{color:var(--muted);font-weight:400}.fit-piece .eyebrow{margin:0;font-size:var(--fs-cap)}.fit-piece .tag{font-size:var(--fs-cap)}.fit-piece ul{padding:0 22px 16px 32px;color:var(--muted);font-size:var(--fs-sm);line-height:1.6;margin:0}.fit-options{margin:20px 0}.fit-missing{padding:22px;border:1px solid var(--orange);margin-top:22px}.fit-missing .row{margin-top:16px}.fit-missing p{font-size:var(--fs-sm)}#fit-results{min-width:0}#fit-results>.section-label{margin-top:0}#fit-results>.weather-summary{margin-bottom:22px}@media(max-width:950px){.fit-builder{grid-template-columns:1fr;gap:30px}.fit-anchor{display:flex;align-items:center;gap:20px}.fit-anchor>img{width:35%;height:150px}.fit-builder aside .stack{max-width:none}}@media(max-width:480px){.fit-pieces{gap:10px}.fit-piece-link{padding:12px}.fit-piece-link img{height:130px}.fit-piece-link h3{font-size:var(--fs-sm)}.fit-piece ul{font-size:var(--fs-cap);padding-inline-start:25px;padding-inline-end:12px}.fit-anchor{padding:14px;gap:12px}.fit-anchor h2{font-size:18px}.fit-options{flex-wrap:wrap}}

.fit-mode-tabs{margin:0 0 30px;flex-wrap:wrap}.fit-choose{padding:20px;border:1px solid var(--line);margin-top:24px}.fit-choose p{font-size:var(--fs-sm)}.fit-choose .row{margin-top:15px}.fit-photo-upload{min-height:260px;height:300px}.fit-photo-upload .upload-label strong{font-size:25px}.fit-builder textarea{min-height:110px;width:100%}.bottom-nav{max-width:min(660px,calc(100% - 22px))}

/* Let content shrink to the phone width without disabling user zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.page,.modal-body,.modal-body form,.stack>*,:is(.grid-2,.grid-3,.home-grid,.card-grid,.detail-layout,.fit-builder)>*,.search-box,.banner-text,.table-wrap{min-width:0}
input,select,textarea{min-width:0;max-width:100%}
.grid-2,.detail-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.page :is(h1,h2,h3),.modal-body :is(h2,h3,p,dd),.import-row-heading,.fit-piece-link p{overflow-wrap:anywhere}
.table-wrap{max-width:100%}
.bottom-nav button{min-width:0;flex:1 1 0}
@media(max-width:1024px),(pointer:coarse){
  /* iOS zooms focused fields below 16px, leaving the page magnified. */
  body input,body select,body textarea{font-size:var(--fs-body)!important}
}
@media(max-width:700px){
  .grid-2,.grid-3,.detail-layout,.fit-builder{grid-template-columns:minmax(0,1fr)}
  .home-grid,.rotation,.filter-row,.admin-stats,.catalog-results{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-heading{min-width:0}
  .home-heading>div{min-width:0}
  .home-heading h1{font-size:clamp(34px,11.4vw,52px);letter-spacing:-.06em}
  .vault-title{flex-wrap:wrap;align-items:center;gap:14px}
  .vault-title>div{min-width:0;flex:1 1 150px}
  .vault-title h1{font-size:clamp(38px,10.5vw,54px)}
  .vault-title>button,.form-actions>button{max-width:100%}
  .form-actions,.import-pair-summary,.import-commit-bar{flex-wrap:wrap}
  .bottom-nav{width:calc(100% - 22px);max-width:390px;bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  .bottom-nav button{padding-inline:5px;overflow-wrap:anywhere}
  .page{padding-bottom:calc(168px + env(safe-area-inset-bottom,0px))}
  .fit-photo-upload{height:auto;min-height:230px;aspect-ratio:auto}
  .weather-picker,.fit-choose,.fit-missing,.fit-photo-colors{max-width:100%}
  .modal-head{gap:12px}
  .modal-head h2{min-width:0;overflow-wrap:anywhere}
  .modal-head>button{flex-shrink:0}
  .room-hint{white-space:normal;width:calc(100% - 24px);text-align:center}
}

.original-palette{margin-top:18px}.original-palette summary{font-size:var(--fs-sm);color:var(--muted);cursor:pointer}.color-editor-rows{display:grid;gap:14px}.color-editor-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:15px;align-items:center}.color-editor-row>.swatch{width:28px;height:28px;border-radius:50%;border:1px solid #84958b}.color-editor-row button{display:flex;align-items:center;gap:6px;margin-top:18px}.fit-photo-colors{padding:18px;margin-bottom:22px}.fit-photo-colors p{margin:8px 0 14px}@media(max-width:500px){.color-editor-row{gap:10px}.color-editor-row button{padding:10px}.color-editor-row button span{display:none}}

.upload-progress{border-left:3px solid var(--teal);padding:14px 18px;background:#112421;color:var(--teal);font-weight:600}.no-fit h2{font-size:36px}.no-fit .row{justify-content:center}

.fit-photo-picker{display:grid;gap:12px;min-width:0}.fit-photo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fit-photo-actions button{min-height:52px;padding:12px 10px;white-space:normal}.fit-photo-picker .fit-photo-upload{cursor:default}.fit-photo-name{margin:0;overflow-wrap:anywhere;font-size:var(--fs-sm)}.fit-photo-name:empty{display:none}.fit-photo-picker [hidden]{display:none!important}.fit-photo-picker>[data-action="remove-fit-photo"]{justify-self:start;padding:6px 0}

.silhouette-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 8px;background:#0c1b16;border-block:1px solid #2e4c40;color:var(--teal);font-size:var(--fs-cap);line-height:1.4;overflow-wrap:anywhere;pointer-events:none}.silhouette-heading b{min-width:0}.silhouette-heading span{color:var(--muted);font-size:var(--fs-cap);white-space:nowrap}@media(max-width:700px){.silhouette-heading{padding:7px 4px;flex-wrap:wrap;font-size:var(--fs-cap)}.silhouette-heading span{font-size:var(--fs-cap)}}


/* Auth helpers + legal pages */
.login-links{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:-4px 0 2px;font-size:var(--fs-sm)}
.login-links .linkish,.login-card button.linkish{border:0;background:transparent;color:var(--teal);padding:0;font-size:var(--fs-sm);text-decoration:none;min-height:0}
.login-links .linkish:hover,.login-card button.linkish:hover{text-decoration:underline;background:transparent;border-color:transparent}
.login-consent{margin:14px 0 0;font-size:var(--fs-cap);color:var(--muted);line-height:1.55;text-align:left}
.login-consent a{color:var(--teal)}
.login-meta a{color:var(--teal);letter-spacing:.08em;text-transform:none;font-size:var(--fs-label)}
.login-help{text-align:left;margin:8px 0 18px}
.login-help p{font-size:var(--fs-sm);line-height:1.65;margin:0 0 12px}
.login-help .muted{color:var(--muted);font-size:var(--fs-sm)}
.login-help .login-links{justify-content:center;margin-top:8px}
.legal-body{background:var(--bg);min-height:100vh}
.legal-page{max-width:760px;margin:0 auto;padding:48px 24px 80px}
.legal-header{margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.legal-brand{font-size:28px;font-weight:850;letter-spacing:-1.2px;color:var(--teal);margin:0 0 18px}
.legal-page h1{font:700 28px/1.2 var(--sans);text-transform:none;letter-spacing:-.02em;margin:0 0 14px}
.legal-page h2{font:700 18px/1.3 var(--sans);text-transform:none;letter-spacing:0;margin:36px 0 14px;color:var(--text)}
.legal-page h3{font:650 var(--fs-sm)/1.4 var(--sans);margin:22px 0 10px;color:var(--text)}
.legal-page p,.legal-page li{color:var(--muted);font-size:var(--fs-sm);line-height:1.7}
.legal-page ul,.legal-page ol{padding-left:1.2em;margin:0 0 14px}
.legal-page li{margin-bottom:8px}
.legal-page strong{color:var(--text)}
.legal-meta{font-size:var(--fs-sm);color:var(--muted);margin:0 0 18px}
.legal-facts{display:grid;gap:14px;margin:18px 0 22px}
.legal-facts>div{padding:12px 0;border-bottom:1px solid #24352f}
.legal-facts dt{font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.legal-facts dd{margin:0;font-size:var(--fs-sm);color:var(--text);line-height:1.55}
.legal-back{margin:18px 0 0;font-size:var(--fs-sm)}
.legal-table{margin:16px 0 22px}
.legal-table table{font-size:var(--fs-sm)}
.legal-table th,.legal-table td{white-space:normal;vertical-align:top;padding:12px 14px}
.legal-footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.legal-disclaimer{font-size:var(--fs-cap);color:var(--muted);margin-top:14px;max-width:560px}
@media(max-width:700px){
  .legal-page{padding:28px 16px 60px}
  .legal-page h1{font-size:24px}
  .login-links{justify-content:flex-start}
}

/* Rooms v1 — built from existing .panel, .avatar, .section-label, .status-dot, .tag and button styles. */
.room-group{margin:40px 0 18px}.room-grid{align-items:stretch}
.room-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:0;min-height:190px;color:var(--text);transition:border-color .2s,background .2s,transform .2s}
.room-card:hover{transform:translateY(-3px)}
.room-card-head,.room-card-foot{display:flex;justify-content:space-between;align-items:center;gap:12px}.room-card h3{margin:18px 0 6px}
.room-card p{margin:0 0 18px;font-size:var(--fs-sm);color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.room-card-foot{margin-top:auto;font-size:var(--fs-sm);color:var(--muted)}.room-card-members{font-size:var(--fs-cap);color:var(--muted);letter-spacing:.04em}.room-card-status{font-size:var(--fs-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.home-rooms{margin:0 0 50px}.home-rooms-empty{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.home-rooms-empty p{margin:0}
.room-visibility{border:0;padding:0;margin:0;display:grid;gap:10px}.room-visibility legend{margin-bottom:10px}
.room-choice{display:flex;align-items:flex-start;gap:12px;margin:0;padding:14px;border:1px solid var(--line);cursor:pointer;color:var(--text);font-size:var(--fs-sm);letter-spacing:0}
.room-choice:has(input:checked){border-color:var(--teal);background:var(--panel2)}.room-choice input{width:18px;min-height:18px;margin:3px 0 0;flex:0 0 18px}.room-choice>span{flex:1}.room-choice small{display:block;color:var(--muted);font-size:var(--fs-sm);margin-top:2px}
.room-back{margin:0 0 18px -17px}
.room-gate{max-width:620px}.room-gate h2{margin:18px 0 12px}.room-gate p{color:var(--muted)}
.avatar.avatar-sm{width:28px;height:28px;font-size:var(--fs-cap);flex-shrink:0}.avatar.avatar-md{flex-shrink:0}.room-msg.mine .avatar{color:var(--pink);background:var(--panel2)}
.room-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.room-chat{display:flex;flex-direction:column;padding:0;height:min(calc(100vh - 330px),780px);min-height:460px}
.room-head{padding:22px 26px 18px;border-bottom:1px solid var(--line)}.room-head h2{margin:12px 0 4px}.room-head p{margin:0;color:var(--muted);font-size:var(--fs-sm)}
.room-live{font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}.room-live.offline{color:var(--orange)}.status-dot.orange{background:var(--orange);box-shadow:0 0 12px var(--orange)}
.room-messages{list-style:none;margin:0;padding:28px 26px 18px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px;scrollbar-color:var(--line) transparent}
.room-empty{margin:auto;padding:30px;color:var(--muted);text-align:center;flex:1}
.room-msg{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start}.room-msg>div{min-width:0}
.room-msg-meta{display:flex;align-items:baseline;gap:10px}.room-msg-meta b{font-size:var(--fs-sm)}.room-msg.mine .room-msg-meta b{color:var(--pink)}.room-msg-meta time{font-size:var(--fs-cap);color:var(--muted)}
.room-msg-body{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--fs-sm)}
.room-msg.deleted .room-msg-body{color:var(--muted);font-size:var(--fs-sm)}.room-msg.deleted .avatar{background:transparent;border:1px dashed var(--line);color:var(--muted)}
.room-msg-delete{min-width:0;padding:2px;margin-left:auto;opacity:0;transition:opacity .2s}.room-msg-delete svg{width:14px;height:14px}.room-msg:hover .room-msg-delete,.room-msg-delete:focus-visible{opacity:1}
@media(hover:none){.room-msg-delete{opacity:.6}}
.room-composer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:16px 20px;border-top:1px solid var(--line);background:var(--panel2)}
.room-composer textarea{margin:0;text-overflow:ellipsis;min-height:46px;max-height:160px;resize:none}
.room-composer button{align-self:end;min-height:46px}.room-send svg{display:none}.room-composer .error{grid-column:1/-1;margin:0;min-height:0}.room-composer .error:empty{display:none}
.room-sticker-open{align-self:end;min-height:46px;min-width:46px;padding:0 11px}
.room-sticker{width:132px;height:132px;margin-top:4px;filter:drop-shadow(0 0 10px var(--sticker-glow))}.room-sticker,.room-sticker[data-accent=teal]{--sticker-glow:color-mix(in srgb,var(--teal) 33%,transparent)}.room-sticker[data-accent=pink]{--sticker-glow:color-mix(in srgb,var(--pink) 33%,transparent)}.room-sticker[data-accent=orange]{--sticker-glow:color-mix(in srgb,var(--orange) 33%,transparent)}.room-sticker svg{width:100%;height:100%;display:block}
.sticker-hint{margin:0 0 16px;color:var(--muted);font-size:var(--fs-sm)}
.sticker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:440px}
.sticker-key{display:grid;place-items:center;padding:8px;min-height:0;aspect-ratio:1;background:var(--panel2);border-color:var(--line)}.sticker-key svg{width:100%;height:100%}
/* Chat backdrop (default for everyone): the lit boutique sneaker wall photo (/assets/vault.webp), sharp (no blur), brightened 1.25, under a thin 10-18% dark wash; slow drift + neon glow; still when reduced motion is requested. The personal vault collage is opt-in and sits above it. */
.room-chat{position:relative;isolation:isolate;overflow:hidden;background:var(--bg);--veil-88:color-mix(in srgb,var(--bg) 88%,transparent);--veil-93:color-mix(in srgb,var(--bg) 93%,transparent);--veil-95:color-mix(in srgb,var(--bg) 95%,transparent);--glow-teal:color-mix(in srgb,var(--teal) 11%,transparent);--glow-pink:color-mix(in srgb,var(--pink) 8%,transparent)}
.room-chat::before{content:"";position:absolute;inset:-2%;z-index:-2;background:url('/assets/vault.webp') center/cover no-repeat;filter:brightness(1.25) saturate(1.1);animation:room-drift 40s ease-in-out infinite alternate}
.room-chat::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 45% at 88% 0%,var(--glow-teal),transparent 70%),radial-gradient(55% 45% at 0% 100%,var(--glow-pink),transparent 70%),linear-gradient(165deg,var(--wash-hi) 0%,var(--wash-mid) 45%,var(--wash-lo) 100%);animation:room-glow 9s ease-in-out infinite alternate}
.room-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:var(--glass,color-mix(in srgb,var(--panel) 85%,transparent));backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}
/* v1.4 dark liquid glass: the sneaker photo sits behind a thin dark wash (10-18%) and is lit; the TEXT is carried by frosted bubbles (--glass) so
   it stays AA over any photo, white ones included. Bubbles use backdrop-filter, so .room-messages must not have a mask/filter (that would make it a
   backdrop root and the glass would blur nothing). --chat-muted is lifted toward --text. */
.room-chat{--wash-hi:color-mix(in srgb,var(--bg) 10%,transparent);--wash-mid:color-mix(in srgb,var(--bg) 14%,transparent);--wash-lo:color-mix(in srgb,var(--bg) 18%,transparent);--glow-teal:color-mix(in srgb,var(--teal) 12%,transparent);--glow-pink:color-mix(in srgb,var(--pink) 9%,transparent);--glass:color-mix(in srgb,var(--panel) 85%,transparent);--chat-muted:color-mix(in srgb,var(--muted) 30%,var(--text));border-color:color-mix(in srgb,var(--teal) 24%,var(--line));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 10%,transparent),inset 0 0 44px color-mix(in srgb,var(--teal) 7%,transparent),0 24px 60px color-mix(in srgb,var(--bg) 70%,transparent)}
.room-chat .room-msg{width:fit-content;max-width:min(100%,640px);padding:10px 14px 11px 10px;background:var(--glass);border:1px solid var(--line);border-radius:3px;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 8%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}
.room-chat .room-msg.mine{border-left:2px solid var(--pink);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 8%,transparent),-8px 0 16px -8px color-mix(in srgb,var(--pink) 45%,transparent)}
.room-chat .room-msg-meta b{color:var(--teal)}.room-chat .room-msg.mine .room-msg-meta b{color:var(--pink)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.room-chat .room-msg,.room-chat .room-head,.room-chat .room-composer,.room-chat .room-empty{background:color-mix(in srgb,var(--panel) 92%,transparent)}}
/* Hover/focus inside the chat: the global dark-slate and neon-mint hovers are replaced by a teal-glow tint where a real hover exists;
   everywhere else the rest state is restated so nothing stays highlighted after a tap. */
.room-chat button:not(.primary):not(.room-send):hover{background:transparent;border-color:var(--line)}
.room-chat button.primary:hover,.room-chat .room-send:hover{background:var(--teal);border-color:var(--teal)}
@media(hover:hover){.room-chat button:not(.primary):not(.room-send):hover{background:color-mix(in srgb,var(--panel2) 78%,var(--teal));border-color:var(--teal);box-shadow:0 0 14px color-mix(in srgb,var(--teal) 28%,transparent)}
.room-chat button.primary:hover,.room-chat .room-send:hover{background:color-mix(in srgb,var(--teal) 85%,var(--text));border-color:var(--teal);box-shadow:0 0 16px color-mix(in srgb,var(--teal) 40%,transparent)}}
.room-chat input:focus,.room-chat textarea:focus{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal),0 0 16px color-mix(in srgb,var(--teal) 30%,transparent)}
.room-chat .room-msg-body{color:var(--text)}
.room-chat .room-msg-meta time,.room-chat .room-head p,.room-chat .room-msg.deleted .room-msg-body{color:var(--chat-muted)}
/* Empty state is a glass card, not bare text on the photo (it measured 1.0-1.07:1 on the lit wall). */
.room-chat .room-empty{flex:none;align-self:center;margin:0 16px 16px;padding:12px 16px;max-width:calc(100% - 32px);color:var(--text);background:var(--glass);border:1px solid var(--line);border-radius:3px;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}
.room-chat .room-tag-card small.tag{color:var(--chat-muted)}
.room-composer{background:var(--glass,color-mix(in srgb,var(--panel) 85%,transparent));backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-top-color:color-mix(in srgb,var(--text) 8%,transparent)}
/* Personal collage: the viewer's own vault photos only (owner-scoped), lit (saturate/brightness) and softly blurred under a thin wash. Opt-in (off by default); covers the default sneaker wall photo when on. */
.room-collage{position:absolute;inset:-3%;z-index:-2;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:0;pointer-events:none;opacity:0;transition:opacity .9s ease;filter:blur(1px) saturate(1.3) brightness(1.35)}@media(max-width:700px){.room-collage{grid-template-columns:repeat(2,1fr)}}@media(min-width:701px){.room-collage img:nth-child(n+7){display:none}}
.room-collage:empty{display:none}.room-chat.has-collage .room-collage{opacity:1}
.room-collage img{width:100%;height:100%;object-fit:cover;transform:rotate(var(--r,0deg)) scale(1.04)}.room-collage .t1{--r:-1.5deg}.room-collage .t2{--r:1deg}.room-collage .t3{--r:1.5deg}.room-collage .t4{--r:-1deg}.room-collage .t5{--r:1deg}.room-collage .t6{--r:-1.5deg}.room-collage .t7{--r:1.5deg}
@media(prefers-reduced-motion:reduce){.room-collage{transition:none}}
.room-collage .missing-photo{display:none}
.room-head>div{min-width:0}.room-head h2{overflow-wrap:anywhere}
.room-collage-toggle{flex:none;min-height:44px;min-width:44px;padding:0 10px}.room-collage-toggle svg{width:20px;height:20px}.room-collage-toggle[aria-pressed=true]{color:var(--teal);border-color:color-mix(in srgb,var(--teal) 55%,var(--line))}.room-collage-toggle[aria-pressed=false]{color:var(--chat-muted)}
.room-tag-count{margin:0 0 10px}
/* Sneaker tags */
.room-composer{grid-template-columns:auto auto minmax(0,1fr) auto}.room-tag-open{align-self:end;min-height:46px;min-width:46px;padding:0 11px}
.room-tag-tray{grid-column:1/-1;order:-1;display:flex;flex-wrap:wrap;gap:6px}.room-tag-tray[hidden]{display:none}
.room-tag-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;text-transform:none;letter-spacing:0;font-size:var(--fs-sm);padding:3px 3px 3px 7px}.room-tag-chip-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-tag-chip button{flex:none;min-height:0;min-width:0;padding:2px}.room-tag-chip svg{width:12px;height:12px}
.room-tags{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.room-tag-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;width:min(100%,250px);padding:6px 10px 6px 6px;background:var(--panel2);border:1px solid var(--line);border-radius:3px}
.room-tag-card img{width:52px;height:52px;object-fit:cover;border-radius:2px;background:var(--panel)}
.room-tag-card b{display:-webkit-box;font-size:var(--fs-sm);line-height:1.25;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.room-tag-card small.tag{display:inline-flex;max-width:100%;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-tag-card small.tag+small.tag{margin-left:0}
.room-msg.mine .room-tag-card{border-color:color-mix(in srgb,var(--pink) 45%,var(--line))}
.room-chat .room-tag-card{background:color-mix(in srgb,var(--panel2) 70%,transparent)}
.room-tag-results{display:grid;gap:6px;max-height:min(52vh,420px);overflow-y:auto;margin:12px 0 16px}
.room-tag-option{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;text-align:left;padding:6px 10px 6px 6px;background:var(--panel2);border-color:var(--line);min-height:0}.room-tag-option img{width:48px;height:48px;object-fit:contain}.room-tag-option small{display:block;color:var(--muted);font-size:var(--fs-cap)}.room-tag-option[aria-pressed=true]{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:color-mix(in srgb,var(--teal) 10%,var(--panel2))}
@keyframes room-drift{from{transform:scale(1.02) translate3d(-1%,0,0)}to{transform:scale(1.08) translate3d(1.5%,-1%,0)}}
@keyframes room-glow{from{opacity:.94}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.room-chat::before,.room-chat::after{animation:none}}
.page-hidden .room-chat::before,.page-hidden .room-chat::after{animation-play-state:paused}
.room-side{display:grid;gap:16px}.room-side-block{background:var(--panel);border:1px solid var(--line);padding:18px}.room-side-title{justify-content:space-between}.room-side-title button{padding:4px 6px;font-size:var(--fs-sm)}
.room-people{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px;max-height:340px;overflow-y:auto}
.room-people li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.room-person{font-size:var(--fs-sm);flex:1;min-width:0;overflow-wrap:anywhere}.room-person small{display:block;color:var(--muted);font-size:var(--fs-cap)}
.room-person-tools{display:flex;gap:4px;width:100%;padding-left:38px;margin-top:-6px}.room-person-tools button{padding:4px 8px;font-size:var(--fs-cap)}
.room-side-actions{display:flex;flex-wrap:wrap;gap:8px}.room-side-actions button{flex:1}
.room-settings-open{flex:none;min-height:44px;min-width:44px;padding:0 10px}.room-settings-open svg{width:20px;height:20px}
.room-settings{display:grid;gap:12px}.room-settings-name{margin:0;font-family:var(--display);font-weight:900;font-size:32px;line-height:1;letter-spacing:-.02em;text-transform:uppercase;color:var(--text)}
.room-settings-by{margin:0}.room-delete{min-height:48px;margin-top:8px;font-weight:750;color:var(--pink);border-color:#70364f;background:color-mix(in srgb,var(--pink) 16%,transparent)}
.room-delete:hover{background:color-mix(in srgb,var(--pink) 28%,transparent);border-color:var(--pink)}
.room-audit{list-style:none;margin:0;padding:0;display:grid;gap:12px}.room-audit li{display:grid;gap:2px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}.room-audit time{font-size:var(--fs-cap);color:var(--muted)}
@media(max-width:1000px){.room-layout{grid-template-columns:1fr}.room-chat{height:68vh}}
@media(max-width:700px){.room-sticker{width:112px;height:112px}.room-messages{padding:22px 16px 14px}.room-head{padding:18px 16px 14px}.room-composer{padding:12px;gap:8px}.room-tag-card{width:100%}.room-send{min-width:46px;padding:0 12px}.room-send svg{display:block;width:21px;height:21px}.room-send span{display:none}.room-chat{height:calc(100dvh - 300px);min-height:380px}.room-back{margin-left:-12px}}
a.primary{display:inline-flex;align-items:center;padding:11px 17px;border:1px solid var(--teal);border-radius:3px;text-decoration:none}
.tag.handle-tag{text-transform:none}
.room-card-foot span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:380px){.room-chat{height:max(600px,calc(100dvh - 190px))}.room-tag-card small.tag{white-space:normal}.room-head{padding:14px 12px 12px}.room-head h2{font-size:34px}.room-composer{grid-template-columns:46px 46px minmax(0,1fr)}.room-composer textarea{grid-column:1/-1;grid-row:1}.room-send{grid-column:3;grid-row:2}.room-composer:has(.room-tag-tray:not([hidden])) .room-tag-tray{grid-row:1}.room-composer:has(.room-tag-tray:not([hidden])) textarea{grid-row:2}.room-composer:has(.room-tag-tray:not([hidden])) .room-send{grid-row:3}.room-composer:has(.room-tag-tray:not([hidden])) .room-sticker-open,.room-composer:has(.room-tag-tray:not([hidden])) .room-tag-open{grid-row:3}.room-sticker-open,.room-tag-open{grid-row:2}.room-collage-toggle{min-width:44px}}
.check-row{display:flex;align-items:center;gap:10px;color:var(--text)}

/* Room photos (24h): same surfaces as the rest of the room — --panel2 / --line, 3px radii, .tag chips, muted text from --chat-muted */
.room-composer{grid-template-columns:auto auto auto minmax(0,1fr) auto}
.room-photo-pick{align-self:end;min-height:46px;min-width:46px;padding:0 11px}
.room-photo{margin:6px 0 0;display:grid;gap:4px;width:fit-content;max-width:100%}
.room-photo-open{display:block;padding:0;min-height:0;min-width:0;max-width:min(100%,320px);background:var(--panel2);border:1px solid var(--line);border-radius:3px;overflow:hidden;line-height:0;cursor:zoom-in}
.room-photo-open:hover{border-color:var(--teal)}
.room-photo-open img{display:block;width:auto;height:auto;min-width:96px;max-width:100%;max-height:340px;object-fit:contain;background:var(--panel2)}
.room-photo figcaption{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.room-photo-ttl{color:var(--chat-muted);font-size:var(--fs-cap);letter-spacing:.02em}
.room-photo-remove{min-height:24px;min-width:24px;padding:4px 8px;font-size:var(--fs-cap)}
.room-photo-error{display:flex;align-items:center;gap:8px;margin:0;padding:8px 12px;border:1px dashed var(--line);border-radius:3px;background:var(--panel2);color:var(--chat-muted);font-size:var(--fs-sm)}.room-photo-error button{min-height:32px;min-width:44px}
.room-photo.is-error .room-photo-open{display:none}.room-photo-expired:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.room-photo-expired{display:inline-flex;align-items:center;gap:8px;margin:6px 0 0;padding:8px 12px;max-width:100%;border:1px dashed var(--line);border-radius:3px;background:var(--panel2);color:var(--chat-muted);font-size:var(--fs-sm)}
.room-photo-expired svg{flex:none;width:16px;height:16px}
/* Dark glass for photo surfaces inside the chat: translucent --panel2, the same inset highlight as the bubbles, teal glow on hover/focus (touch gets none). */
.room-chat .room-photo-open{background:color-mix(in srgb,var(--panel2) 70%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 8%,transparent),0 0 0 1px color-mix(in srgb,var(--teal) 10%,transparent)}
.room-chat .room-photo-expired,.room-chat .room-photo-error{background:color-mix(in srgb,var(--panel2) 70%,transparent);border-color:var(--line);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 8%,transparent)}
.room-chat .room-photo-open:focus-visible{outline:2px solid var(--teal);outline-offset:2px;box-shadow:0 0 16px color-mix(in srgb,var(--teal) 35%,transparent)}
@media(hover:hover){.room-chat .room-photo-open:hover{border-color:var(--teal);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 8%,transparent),0 0 16px color-mix(in srgb,var(--teal) 35%,transparent)}}
.room-photo-form .room-photo-preview{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 6%,transparent)}
.room-photo-form .room-photo-preview:has(img){border-style:solid;border-color:color-mix(in srgb,var(--teal) 35%,var(--line))}
.room-photo-form .room-photo-sources{align-items:stretch}
.room-photo-form .room-photo-sources>button{flex:1 1 150px;min-height:46px;justify-content:center;opacity:1}
.room-photo-form button[type=submit]{opacity:1}
.room-photo-form .room-photo-sources svg{width:18px;height:18px}
.room-photo-preview{display:grid;place-items:center;min-height:120px;max-height:260px;overflow:hidden;background:var(--panel2);border:1px dashed var(--line);border-radius:3px;color:var(--chat-muted);font-size:var(--fs-sm);text-align:center;padding:8px;overflow-wrap:anywhere}
.room-photo-preview img{display:block;max-width:100%;max-height:240px;object-fit:contain;border-radius:3px}
.room-photo-form .form-hint{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--chat-muted);font-size:var(--fs-sm)}
.room-photo-form .form-hint .tag{flex:none}
.photo-viewer{border:0;padding:0;margin:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:var(--bg);color:var(--text)}
.photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.photo-viewer::backdrop{background:var(--bg)}
.photo-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top))}
.photo-viewer-close{min-height:46px;min-width:46px}
.photo-viewer-stage{position:relative;overflow:hidden;min-height:0;margin:0 12px;cursor:zoom-out}
.photo-viewer-stage img{position:absolute;inset:0;margin:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:3px}
.photo-viewer-stage img.is-thumb{filter:blur(1px)}
.photo-viewer-stage .loading-ring{position:absolute;inset:0;margin:auto;z-index:1}
.photo-viewer-error{position:absolute;inset:0;margin:auto;width:fit-content;height:fit-content;display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--panel2);border:1px solid var(--line);border-radius:3px;color:var(--text);z-index:2;cursor:default}.photo-viewer-error button{min-height:46px;min-width:46px}
.photo-viewer-caption{background:var(--bg);color:var(--text);margin:0;padding:12px 16px calc(16px + env(safe-area-inset-bottom));max-height:30vh;overflow:auto;text-align:center;overflow-wrap:anywhere;white-space:pre-wrap}
@media(max-width:380px){.room-composer{grid-template-columns:46px 46px 46px minmax(0,1fr)}.room-composer textarea{grid-column:1/-1;grid-row:1}.room-composer .room-send{grid-column:4;grid-row:2}.room-sticker-open,.room-tag-open,.room-photo-pick,.room-photo-open{min-width:46px}.room-photo-open img{max-height:260px}.room-photo-expired{font-size:var(--fs-sm);padding:8px 10px}.photo-viewer-stage{margin:0 6px}.room-composer:has(.room-tag-tray:not([hidden])) .room-photo-pick{grid-row:3}}
.room-photo-tag-tray{order:0}
.room-photo-tag-open{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.room-photo-tag-open svg{width:18px;height:18px}
.room-msg .room-photo+.room-msg-body,.room-msg .room-photo+.room-tags{margin-top:6px}


/* ---------- layered background ---------- */
.rc-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#060909}
.rc-bg .rc-photo{position:absolute;inset:-4%;background:url(/assets/vault.webp) center/cover;filter:saturate(1.1) brightness(.62) blur(1.5px);animation:rc-drift 40s ease-in-out infinite alternate}
.rc-bg .rc-wash{position:absolute;inset:0;background:
 radial-gradient(900px 600px at 12% -5%,color-mix(in srgb,var(--teal) 20%,transparent),transparent 70%),
 radial-gradient(800px 600px at 105% 25%,color-mix(in srgb,var(--pink) 14%,transparent),transparent 70%),
 linear-gradient(180deg,rgba(8,11,11,.50) 0%,rgba(8,11,11,.80) 45%,rgba(8,11,11,.95) 100%)}
.rc-bg .rc-grain{position:absolute;inset:0;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
@keyframes rc-drift{from{transform:scale(1.04) translate3d(-1%,0,0)}to{transform:scale(1.10) translate3d(1.5%,-1%,0)}}
/* ---------- shell ---------- */
.rc-head{display:grid;gap:18px;padding:10px 0 20px}
.rc-today{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:3px;background:var(--glass);border:1px solid color-mix(in srgb,var(--teal) 28%,var(--line));backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 40px color-mix(in srgb,var(--teal) 7%,transparent)}
.rc-pulse{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 color-mix(in srgb,var(--teal) 60%,transparent);animation:rc-pulse 2.2s infinite;flex-shrink:0}
@keyframes rc-pulse{70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
.rc-today b{font-weight:700}.rc-today span{color:var(--muted);font-size:var(--fs-sm)}.rc-today .rc-grow{flex:1;min-width:0;line-height:1.35}
.rc-today button{padding:7px 11px;border-radius:2px;font-size:var(--fs-label);font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);border-color:color-mix(in srgb,var(--teal) 40%,var(--line))}
/* controls */
.rc-controls{display:grid;gap:12px;margin-bottom:16px}
.rc-seg{display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:3px;background:rgba(10,14,14,.6);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.rc-seg button{border:0;padding:9px 0;border-radius:2px;font-size:var(--fs-label-l);font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;gap:8px;justify-content:center;align-items:center;transition:.25s}
.rc-seg button svg{width:16px;height:16px}
.rc-seg button.rc-on{background:var(--teal);color:#09231d}
.rc-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px}
.rc-chips::-webkit-scrollbar{display:none}
.rc-chip{white-space:nowrap;padding:8px 13px;border-radius:99px;font-size:var(--fs-sm);font-weight:650;color:var(--muted);background:rgba(14,19,19,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:.25s;display:flex;gap:7px;align-items:center}
.rc-chip small{font-size:var(--fs-cap);opacity:.7;font-weight:700}
.rc-chip:hover{border-color:#5e8276;color:var(--text)}
.rc-chip.rc-on{color:#09231d;background:var(--teal);border-color:var(--teal)}
/* ---------- glass ---------- */
.rc-glass{background:var(--glass);border:1px solid color-mix(in srgb,var(--text) 11%,var(--line));border-radius:4px;backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 24px 60px rgba(0,0,0,.45)}
/* month */
.rc-month{padding:14px 12px 14px}
.rc-mh{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 12px}
.rc-mh h2{font:900 30px/1 var(--display);text-transform:uppercase;letter-spacing:-.01em}
.rc-mh h2 span{color:var(--muted);font-weight:400;margin-left:8px;font-size:20px}
.rc-nav{display:flex;gap:6px}
.rc-nav button{width:34px;height:34px;display:grid;place-items:center;border-radius:2px;padding:0;position:relative}
.rc-nav button.rc-dot::after{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal)}
.rc-dow,.rc-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.rc-dow{padding-bottom:6px}
.rc-dow div{text-align:center;font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;color:var(--muted);opacity:.8}
.rc-day{position:relative;aspect-ratio:1/1.12;border-radius:3px;overflow:hidden;padding:0;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:rgba(10,14,14,.45);text-align:left;transition:transform .25s,border-color .25s,box-shadow .25s}
.rc-day .rc-n{position:absolute;top:4px;left:4px;font:650 var(--fs-label-l)/1 var(--sans);z-index:3;color:var(--muted);font-variant-numeric:tabular-nums;padding:3px 5px 3px;border-radius:2px}
.rc-day.rc-has .rc-n{background:rgba(6,9,9,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.rc-day.rc-empty{cursor:default;opacity:.55}
.rc-day.rc-has{cursor:pointer;border-color:color-mix(in srgb,var(--text) 18%,var(--line))}
.rc-day.rc-has .rc-n{color:var(--text)}
.rc-day .rc-th{position:absolute;inset:0;background:#f4f5f2;display:grid;place-items:center}
.rc-day .rc-th img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%}.rc-day .rc-th .rc-ph{color:#6f7b76}
.rc-day .rc-cnt{position:absolute;right:3px;bottom:3px;z-index:3;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--teal);color:#07211c;font:800 var(--fs-label)/18px var(--sans);text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.5)}
.rc-day.rc-has:hover{transform:translateY(-2px);border-color:var(--teal)}
.rc-day.rc-sel{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal),0 0 26px color-mix(in srgb,var(--teal) 50%,transparent);transform:translateY(-2px)}
.rc-day.rc-sel .rc-n{color:#07211c;background:var(--teal)}
.rc-legend{display:flex;gap:14px;align-items:center;padding:12px 4px 0;font-size:var(--fs-cap);color:var(--muted)}
.rc-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--teal);margin-right:6px}
/* day detail */
.rc-dayhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 2px 12px}
.rc-dayhead h2{font:900 28px/1 var(--display);text-transform:uppercase;letter-spacing:-.01em}
.rc-dayhead span{font-size:var(--fs-sm);color:var(--muted);letter-spacing:.04em;white-space:nowrap}
.rc-cards{display:grid;gap:10px}
.rc-card{display:grid;grid-template-columns:92px 1fr auto;gap:13px;padding:10px;align-items:stretch;animation:rc-rise .55s cubic-bezier(.2,.8,.2,1) both;position:relative;overflow:hidden}
.rc-card::before{content:"";position:absolute;inset:0;background:radial-gradient(260px 120px at 0% 0%,color-mix(in srgb,var(--teal) 10%,transparent),transparent 70%);pointer-events:none}
.rc-card:nth-child(2){animation-delay:.07s}.rc-card:nth-child(3){animation-delay:.14s}.rc-card:nth-child(4){animation-delay:.21s}.rc-card:nth-child(5){animation-delay:.28s}
@keyframes rc-rise{from{opacity:0;transform:translateY(12px)}}
.rc-pic{position:relative;width:92px;height:92px;border-radius:3px;overflow:hidden;background:#f4f5f2;display:grid;place-items:center;box-shadow:inset 0 -14px 24px rgba(0,0,0,.14)}
.rc-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;transition:transform .5s}
.rc-card:hover .rc-pic img{transform:scale(1.07) rotate(-2deg)}
.rc-ph{display:grid;place-items:center;width:100%;height:100%;color:#6f7b76}.rc-ph svg{width:60%;height:60%;stroke-width:1.2}
.rc-info{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:6px;padding:1px 0}
.rc-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.rc-tag{display:inline-flex;font-size:var(--fs-label);font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:3px 6px;border-radius:2px;border:1px solid}
.rc-tag.b-jordan{color:var(--pink);background:#311d26;border-color:#633746}
.rc-tag.b-nike{color:var(--teal);background:#142c27;border-color:#31574b}
.rc-tag.b-adidas{color:var(--orange);background:#2b211b;border-color:#523d2d}
.rc-tag.b-converse{color:#e9d27a;background:#2b2816;border-color:#575022}
.rc-tag.b-nb{color:#a9b9ff;background:#1b2036;border-color:#37406a}
.rc-tag.when{color:var(--muted);background:#1a2220;border-color:#34453f}
.rc-info h3{font-size:var(--fs-sm);line-height:1.28;font-weight:650;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rc-cw{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-meta{display:flex;align-items:baseline;gap:10px;font-size:var(--fs-sm);color:var(--muted)}
.rc-price{font:700 19px/1 var(--display);color:var(--text);letter-spacing:.01em}
.rc-price.rc-tba{font:600 var(--fs-label-l) var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rc-sku{font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:var(--fs-cap)}
.rc-bell{align-self:start;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;padding:0;background:rgba(10,14,14,.5);color:var(--muted);transition:.3s;position:relative;z-index:2}
.rc-bell:hover{color:var(--text);border-color:#5e8276}
.rc-bell.rc-on{color:#09231d;background:var(--teal);border-color:var(--teal);box-shadow:0 0 22px color-mix(in srgb,var(--teal) 55%,transparent)}
.rc-bell.rc-on svg{fill:currentColor;animation:rc-ring .7s}
@keyframes rc-ring{20%{transform:rotate(18deg)}40%{transform:rotate(-14deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}
.rc-noday{padding:26px 20px;text-align:center;color:var(--muted);font-size:var(--fs-sm)}
/* upcoming */
.rc-group{margin-bottom:22px}
.rc-gh{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 4px;margin:0 -4px 8px;background:linear-gradient(180deg,rgba(8,11,11,.92) 60%,transparent)}
.rc-gh .rc-d{font:900 24px/1 var(--display);text-transform:uppercase}
.rc-gh .rc-r{font-size:var(--fs-label);font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.rc-gh .rc-l{flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.rc-gh .rc-c{font-size:var(--fs-cap);color:var(--muted)}
.rc-hidden{display:none!important}
/* desktop */
@media(min-width:900px){
  .rc-head{grid-template-columns:1fr auto;align-items:end;padding:14px 0 28px}
 .rc .rc-title{font-size:96px}
 h1{font-size:96px}
 .rc-today{min-width:360px}
 .rc-controls{grid-template-columns:auto 1fr;align-items:center;gap:22px}
 .rc-seg{width:260px}
 .rc-chips{margin:0;padding:2px 0}
 .rc-layout.rc-month-view{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);align-items:start;gap:24px}
 .rc-month{padding:22px 22px 20px}
 .rc-mh h2{font-size:44px}.rc-mh h2 span{font-size:26px}
 .rc-dow,.rc-days{gap:8px}
 .rc-day{aspect-ratio:1/.92}.rc-day .rc-n{font-size:var(--fs-sm);top:8px;left:10px}
 .rc-day .rc-cnt{width:auto;min-width:22px;height:22px;line-height:22px;font-size:var(--fs-cap);border-radius:11px;right:7px;bottom:7px}
 .rc-detail{position:sticky;top:20px}
 .rc-dayhead h2{font-size:40px}
 .rc-pic{width:104px;height:104px}.rc-card{grid-template-columns:104px 1fr auto}
 .rc-info h3{font-size:var(--fs-body)}
 .rc-up .rc-cardsgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
}
@media(prefers-reduced-motion:reduce){.rc *{animation:none!important;transition:none!important}}

/* ===== Release calendar (v1.3). Look matches the approved preview; every class is rc-prefixed so nothing else in the app is touched. ===== */
.rc{--glass:color-mix(in srgb,var(--panel) 72%,transparent);max-width:1180px;margin:0 auto;position:relative}
:where(.rc) button{padding:0;border-radius:2px;font:inherit;color:inherit;background:transparent;border:1px solid var(--line);transition:border-color .25s,background .25s,color .25s,transform .25s,box-shadow .25s}
:where(.rc) button:hover{background:rgba(26,34,32,.55);border-color:#5e8276}
.rc svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.rc p,.rc h1,.rc h2,.rc h3{margin:0}
.rc-layout{display:grid;gap:18px}
.rc .rc-title{font:900 clamp(46px,13vw,60px)/.92 var(--display);text-transform:uppercase;letter-spacing:-.025em;margin:0}
.rc .rc-title em{font-style:normal;color:var(--teal);text-shadow:0 0 34px color-mix(in srgb,var(--teal) 45%,transparent)}
.rc .eyebrow{margin-bottom:10px}
.rc-bgwrap{position:fixed;inset:0;z-index:-1;pointer-events:none}
.rc-today button,.rc .rc-today button{padding:7px 11px}
.rc-seg button{padding:9px 0}
.rc-chip{padding:8px 13px;border-radius:99px}
.rc .rc-chip.rc-on,.rc .rc-chip.rc-on:hover,.rc .rc-seg button.rc-on,.rc .rc-seg button.rc-on:hover{background:var(--teal);border-color:var(--teal);color:#09231d}
.rc .rc-bell.rc-on,.rc .rc-bell.rc-on:hover{background:var(--teal);border-color:var(--teal);color:#09231d}
.rc .rc-day{padding:0;border-radius:3px;background:rgba(10,14,14,.45)}
.rc .rc-day.rc-has:hover{background:rgba(10,14,14,.45);border-color:var(--teal)}
.rc .rc-day.rc-sel{border-color:var(--teal)}
.rc .rc-day.rc-empty:hover{border-color:color-mix(in srgb,var(--line) 70%,transparent);background:rgba(10,14,14,.45)}
.rc-day.rc-empty{cursor:default}
.rc-bell{padding:0;border-radius:50%}
.rc .rc-bell{padding:0;border-radius:50%}
.rc-nav button{padding:0}
.rc-open{display:contents}
.rc .rc-card{cursor:pointer}
.rc .rc-name{all:unset;cursor:pointer}
.rc .rc-name:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.rc-info .rc-name{font-size:var(--fs-sm)}
.rc-tag.rc-b-other{color:#cfd7d3;background:#1d2422;border-color:#3a4642}
.rc-tag.rc-b-puma{color:#ffd0a0;background:#2d2118;border-color:#5a4026}
.rc-tag.rc-b-asics{color:#8fe3ff;background:#142630;border-color:#2b5163}
.rc-tag.rc-b-newbalance{color:#a9b9ff;background:#1b2036;border-color:#37406a}
.rc-more{display:flex;justify-content:center;margin:6px 0 22px}
.rc-more button{padding:11px 22px;font-size:var(--fs-label-l);font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);border-color:color-mix(in srgb,var(--teal) 40%,var(--line))}
.rc-tbahead{display:flex;align-items:baseline;gap:12px;margin:34px 2px 6px}
.rc-tbahead h2{font:900 28px/1 var(--display);text-transform:uppercase}
.rc-tbahead span{color:var(--muted);font-size:var(--fs-sm)}
.rc-tbatoggle{appearance:none;background:transparent;border:0;border-top:1px solid rgba(255,255,255,.12);color:inherit;font:inherit;width:100%;text-align:left;padding:18px 2px 6px;cursor:pointer;align-items:center;min-height:48px}
.rc-tbatoggle:focus-visible{outline:2px solid var(--teal,#2dd4bf);outline-offset:3px;border-radius:8px}
.rc-tbatoggle .rc-tbacount{margin-left:auto}
.rc-chev{width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-3px);transition:transform .18s ease;flex:none}
.rc-tbasec.rc-open .rc-chev{transform:rotate(-135deg) translateY(-3px)}
@media (prefers-reduced-motion:reduce){.rc-chev{transition:none}}
.rc-tbanote{font-size:var(--fs-sm);color:var(--muted);margin:0 2px 14px}
/* search + filters */
.rc-find{display:flex;gap:8px;align-items:center}
.rc-search{position:relative;flex:1;min-width:0}
.rc-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}
.rc .rc-search input{width:100%;padding:10px 12px 10px 36px;border-radius:3px;border:1px solid var(--line);background:rgba(10,14,14,.6);color:var(--text);font-size:var(--fs-sm);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.rc .rc-search input:focus{outline:none;border-color:var(--teal)}
.rc .rc-fbtn{padding:10px 14px;font-size:var(--fs-label-l);font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:rgba(10,14,14,.6);display:inline-flex;gap:8px;align-items:center;border-radius:3px;white-space:nowrap}
.rc .rc-fbtn svg{width:16px;height:16px}
.rc .rc-fbtn.rc-on{color:var(--teal);border-color:color-mix(in srgb,var(--teal) 55%,var(--line))}
.rc-fbtn b{background:var(--teal);color:#07211c;border-radius:9px;min-width:18px;height:18px;line-height:18px;font-size:var(--fs-cap);text-align:center;padding:0 5px}
.rc-panel{padding:16px;margin-bottom:16px;display:grid;gap:14px}
.rc-panel label,.rc-flabel{display:block;font-size:var(--fs-label);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.rc-panel select,.rc-panel input[type=number]{width:100%;padding:9px 10px;border-radius:3px;border:1px solid var(--line);background:rgba(10,14,14,.7);color:var(--text);font-size:var(--fs-sm)}
.rc-panel select:focus,.rc-panel input:focus{outline:none;border-color:var(--teal)}
.rc-fgrid{display:grid;gap:14px;grid-template-columns:1fr}
.rc-price{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;color:var(--muted)}
.rc-pills{display:flex;gap:6px;flex-wrap:wrap}
.rc .rc-pill{padding:7px 11px;border-radius:99px;font-size:var(--fs-sm);font-weight:650;color:var(--muted);background:rgba(14,19,19,.62);display:inline-flex;gap:6px;align-items:center}
.rc .rc-pill small{font-size:var(--fs-cap);opacity:.7}
.rc .rc-pill.rc-on,.rc .rc-pill.rc-on:hover{background:var(--teal);color:#09231d;border-color:var(--teal)}
.rc-sw{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.35);display:inline-block}
.rc-factions{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:var(--fs-sm);color:var(--muted)}
.rc .rc-link{border:0;padding:6px 0;background:none;color:var(--teal);font-size:var(--fs-label-l);font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.rc .rc-link:hover{background:none;text-decoration:underline}
.rc-result{font-size:var(--fs-sm);color:var(--muted);margin:0 2px 12px}
.rc-skel{height:96px;border-radius:4px;background:linear-gradient(90deg,rgba(18,24,24,.6),rgba(30,40,38,.7),rgba(18,24,24,.6));background-size:200% 100%;animation:rc-sh 1.2s infinite linear}
@keyframes rc-sh{to{background-position:-200% 0}}
@media(min-width:900px){.rc-fgrid{grid-template-columns:1.4fr 1fr 1fr 1fr}.rc-controls{grid-template-columns:auto 1fr}.rc .rc-find{max-width:560px;justify-self:end;width:100%}}
/* release detail */
.rc-back{margin:4px 0 12px;display:inline-flex;gap:8px;align-items:center;padding:8px 12px;font-size:var(--fs-label-l);font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rc-dlayout{display:grid;gap:18px;margin-top:6px}
.rc-hero{position:relative;aspect-ratio:1/1;border-radius:4px;overflow:hidden;background:#f4f5f2;display:grid;place-items:center;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.rc-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%}
.rc-hero .rc-ph svg{width:40%;height:40%}
@keyframes sole-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.rc-pic.cut-float,.rc-hero.cut-float,.rc-th.cut-float{background:#101614}
.rc-pic.cut-glass,.rc-hero.cut-glass,.rc-th.cut-glass{background:radial-gradient(75% 50% at 50% 12%,rgba(73,237,218,.32),transparent 62%),radial-gradient(70% 46% at 88% 100%,rgba(255,138,61,.16),transparent 58%),linear-gradient(180deg,rgba(24,52,48,.62),rgba(8,14,13,.78));box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 -24px 36px rgba(0,0,0,.28)}
.rc-pic.cut-float img,.rc-hero.cut-float img,.rc-th.cut-float img,.rc-pic.cut-glass img,.rc-hero.cut-glass img,.rc-th.cut-glass img{filter:drop-shadow(0 12px 10px rgba(0,0,0,.45));animation:sole-drift 7.5s ease-in-out infinite;background:transparent}
.rc-hero.cut-float img,.rc-hero.cut-glass img{animation-duration:8.5s}
.rc-th.cut-float img,.rc-th.cut-glass img{width:78%;height:78%;object-fit:contain;margin:auto}
@media (prefers-reduced-motion:reduce){.rc-pic.cut-float img,.rc-hero.cut-float img,.rc-th.cut-float img,.rc-pic.cut-glass img,.rc-hero.cut-glass img,.rc-th.cut-glass img{animation:none}}
.fit-lock{display:flex;align-items:center;justify-content:center;min-height:44px;width:calc(100% - 24px);margin:0 12px 12px;border:1px solid var(--line);background:transparent;color:var(--text);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.fit-lock.is-locked{border-color:var(--teal);color:#09231d;background:var(--teal)}
.fit-acts{margin:8px 0 18px}
.fit-worn-note{margin:8px 0 0;color:var(--teal);font-weight:700}
.rc-dinfo{padding:18px;display:grid;gap:14px;align-content:start}
.rc .rc-dname{font:900 clamp(30px,8vw,46px)/1 var(--display);text-transform:uppercase;letter-spacing:-.01em}
.rc-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rc-fact{padding:10px 12px;border-radius:3px;background:rgba(10,14,14,.5);border:1px solid color-mix(in srgb,var(--line) 80%,transparent)}
.rc-fact span{display:block;font-size:var(--fs-label);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.rc-fact b{font-size:var(--fs-body);font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rc-fact.rc-wide{grid-column:1/-1}
.rc .rc-remind{padding:12px 16px;font-size:var(--fs-label-l);font-weight:800;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;gap:10px;align-items:center;justify-content:center;border-radius:3px;color:var(--text)}
.rc .rc-remind.rc-on,.rc .rc-remind.rc-on:hover{background:var(--teal);color:#09231d;border-color:var(--teal)}
.rc .rc-remind.rc-on svg{fill:currentColor}
.rc-buy{padding:18px}
.rc-buy h2{font:900 24px/1 var(--display);text-transform:uppercase;margin-bottom:4px}
.rc-buy .rc-sub{font-size:var(--fs-sm);color:var(--muted);margin-bottom:12px}
.rc-links{display:grid;gap:8px}
.rc a.rc-store{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:3px;border:1px solid color-mix(in srgb,var(--text) 14%,var(--line));background:rgba(10,14,14,.5);color:var(--text);text-decoration:none;transition:border-color .25s,transform .25s}
.rc a.rc-store:hover{border-color:var(--teal);transform:translateY(-1px);text-decoration:none}
.rc-store b{flex:1;min-width:0;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-store .rc-kind{font-size:var(--fs-label);font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:3px 6px;border-radius:2px;border:1px solid #34453f;color:var(--muted);background:#1a2220}
.rc-store .rc-kind.rc-k-raffle{color:var(--pink);background:#311d26;border-color:#633746}
.rc-store .rc-kind.rc-k-release{color:var(--teal);background:#142c27;border-color:#31574b}
.rc-store svg{width:16px;height:16px;color:var(--muted)}
.rc-nolinks{padding:14px;border-radius:3px;border:1px dashed var(--line);color:var(--muted);font-size:var(--fs-sm)}
.rc-fine{font-size:var(--fs-cap);color:var(--muted);margin-top:12px}
.rc-admin{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:10px}
.rc-admin form{display:grid;gap:8px;grid-template-columns:1fr}
.rc-admin input,.rc-admin select{padding:9px 10px;border-radius:3px;border:1px solid var(--line);background:rgba(10,14,14,.7);color:var(--text);font-size:var(--fs-sm);width:100%}
.rc-admin .rc-arow{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm)}
.rc-admin .rc-arow span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc .rc-danger{color:var(--pink);border-color:#633746;padding:5px 9px;font-size:var(--fs-cap)}
.rc .rc-primary{background:var(--teal);color:#09231d;border-color:var(--teal);padding:10px 14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:var(--fs-label-l)}
.rc .rc-primary:hover{background:var(--teal);color:#09231d}
@media(min-width:900px){.rc-dlayout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}.rc-hero{position:sticky;top:20px}.rc-admin form{grid-template-columns:1.2fr 1fr 2fr auto}}
/* header calendar link + alert badge, saved list in Alerts */
.header-link.header-calendar{color:var(--teal)}
.bell-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;border-radius:8px;background:var(--teal);color:#07211c;font:800 var(--fs-label)/16px var(--sans);text-align:center;padding:0 4px}
.icon-button.has-badge{position:relative}
.saved-releases{margin:30px 0 8px}
.saved-releases h2{font:900 26px/1 var(--display);text-transform:uppercase;margin-bottom:6px}
.saved-row{display:flex;align-items:center;gap:14px;padding:10px;border:1px solid var(--line);border-radius:4px;background:#121818;margin-top:10px}
.saved-row .thumb{width:56px;height:56px;border-radius:3px;overflow:hidden;background:#f4f5f2;flex-shrink:0;display:grid;place-items:center}
.saved-row .thumb img{width:100%;height:100%;object-fit:cover}
.saved-row .grow{flex:1;min-width:0}.saved-row h3{font-size:var(--fs-sm);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-row small{color:var(--muted)}
.alert-card .view-release{margin-top:8px}
.rc-chip.rc-on small{opacity:.85;color:#09231d}.header-calendar,.header-howto{white-space:nowrap}
.saved-row h3{white-space:normal}
.saved-row button{padding:9px 14px;font-size:var(--fs-sm);min-height:0}
@media(max-width:520px){.saved-row{flex-wrap:wrap}.saved-row .grow{flex:1 1 calc(100% - 80px)}.saved-row button{flex:1 1 40%}}

/* v1.3.2 release detail: colours + Find a fit (reuses the vault swatch/palette look) */
.rc .rc-colors{border-top:1px solid var(--line);margin:14px 0 0;padding:14px 0 4px}
.rc .rc-colors>b{font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rc .rc-colors .palette{margin:10px 0 6px;gap:10px 16px}
.rc .rc-colors .swatch{width:26px;height:26px}
.rc .rc-colors .pixel-color{font-size:var(--fs-sm);gap:9px}
.rc .rc-colors-src{display:block;font-size:var(--fs-cap);color:var(--muted)}
.rc .rc-colors-none{font-size:var(--fs-sm);color:var(--muted);margin:14px 0 0}
.rc .rc-findfit{margin:14px 0 4px}
.rc .rc-fit-hint{font-size:var(--fs-cap);color:var(--muted);margin:2px 0 12px;text-align:center}

/* ===== v1.4 Raffle Hub ===== */
/* PROPOSED additions for public/styles.css — scoped under .rc, existing tokens only */
.rc-chip-s{white-space:nowrap;display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-label);font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border-radius:2px;border:1px solid #34453f;color:var(--muted);background:#1a2220;font-variant-numeric:tabular-nums}
.rc-chip-s svg{width:12px;height:12px;stroke-width:2.2}
.rc-chip-s i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor;animation:rc-blink 2s ease-in-out infinite}
.rc-chip-s.rc-s-open{color:var(--teal);background:#142c27;border-color:#31574b}
.rc-chip-s.rc-s-upcoming{color:var(--orange);background:#2b211b;border-color:#523d2d}
.rc-chip-s.rc-s-results{color:#a8d4c6;background:#16241f;border-color:#2f4b41}
.rc a.rc-enter{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 16px;border-radius:3px;font-size:var(--fs-label-l);font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:1px solid color-mix(in srgb,var(--text) 22%,var(--line));color:var(--text);background:transparent;transition:transform .25s cubic-bezier(.23,1,.32,1),border-color .25s,background .25s,box-shadow .25s}
.rc a.rc-enter svg{width:15px;height:15px}
.rc a.rc-enter:hover{border-color:var(--teal);transform:translateY(-1px);text-decoration:none}
.rc a.rc-enter:active{transform:translateY(0)}
.rc a.rc-enter.rc-go{background:var(--teal);border-color:var(--teal);color:#09231d;box-shadow:0 0 28px #49edda20}
.rc a.rc-enter.rc-go:hover{background:#94f9ed;border-color:#94f9ed}
.rc a.rc-enter.rc-dim{color:var(--muted);border-color:var(--line)}
.rc a.rc-enter:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.rc-raf-form{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:14px;border-radius:3px;border:1px solid color-mix(in srgb,var(--teal) 30%,var(--line));background:rgba(10,14,14,.55)}
.rc-raf-form .rc-fld{display:grid;gap:6px}
.rc-raf-form .rc-two{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.rc-raf-form .rc-fld{min-width:0}
.rc-raf-form input[type=datetime-local]{min-width:0;font-size:var(--fs-sm);padding:11px 8px;-webkit-appearance:none;appearance:none}
.rc-raf-form input,.rc-raf-form select{padding:11px 12px;min-height:44px;border-radius:3px;border:1px solid var(--line);background:rgba(10,14,14,.7);color:var(--text);font-size:var(--fs-sm);width:100%;margin:0;font-variant-numeric:tabular-nums}
.rc-raf-form input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.rc-raf-form .rc-seg{grid-template-columns:repeat(3,1fr)}
.rc-raf-form .rc-seg button{min-height:40px;font-size:var(--fs-label);letter-spacing:.06em}
.rc-raf-form .rc-opt{font-weight:500;letter-spacing:.04em;text-transform:none;color:#788f85}
.rc-raf-willshow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--fs-sm);color:var(--muted)}
.rc-raf-actions{display:flex;gap:10px}
.rc-raf-actions .rc-primary{flex:1;min-height:44px}
.rc-raf-actions button.rc-ghost{min-height:44px;padding:0 16px;font-size:var(--fs-label-l);font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rc-chip-s.rc-s-closing{color:#ff8fb4;background:#2b1620;border-color:#59293c}
@keyframes rc-blink{0%,100%{opacity:1}50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.rc-chip-s i{animation:none}}
/* hub header */
.rc-hub-tools{display:flex;gap:8px;align-items:center}
.rc .rc-submit-btn{min-height:44px;padding:0 14px;display:inline-flex;gap:8px;align-items:center;white-space:nowrap}
.rc .rc-submit-btn svg,.rc .rc-go-strip svg{width:16px;height:16px}
.rc-strip{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:3px;background:var(--glass);border:1px solid color-mix(in srgb,var(--teal) 28%,var(--line));backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.rc-strip .rc-grow{flex:1;min-width:0;line-height:1.35;font-size:var(--fs-sm);color:var(--muted)}
.rc-strip .rc-grow b{color:var(--text);font-weight:700}
.rc .rc-go-strip{padding:7px 11px;border-radius:2px;font-size:var(--fs-label);font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);border-color:color-mix(in srgb,var(--teal) 40%,var(--line));display:inline-flex;align-items:center;gap:6px;min-height:36px}
/* tabs (admin only) */
.rc-tabs2{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:rgba(10,14,14,.6)}
.rc-tabs2 button{min-height:44px;border:0;border-radius:0;font-size:var(--fs-label-l);font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:none;display:flex;gap:8px;align-items:center;justify-content:center}
.rc-tabs2 button.rc-on{background:color-mix(in srgb,var(--teal) 16%,transparent);color:var(--teal)}
.rc-tabs2 b{background:var(--pink);color:#2a0b17;border-radius:9px;min-width:18px;height:18px;line-height:18px;font-size:var(--fs-cap);padding:0 5px;text-align:center}
/* filter scope chips */
.rc-scope{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0 0}
.rc-token{display:inline-flex;gap:8px;align-items:center;min-height:36px;padding:0 6px 0 12px;border-radius:99px;font-size:var(--fs-sm);font-weight:650;color:var(--teal);border:1px solid color-mix(in srgb,var(--teal) 45%,var(--line));background:rgba(20,44,39,.55)}
.rc-token button{width:28px;height:28px;border-radius:50%;padding:0;display:grid;place-items:center;border:0;background:rgba(255,255,255,.06);color:var(--teal)}
.rc-token svg{width:12px;height:12px;stroke-width:2.4}
.rc-quick{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:12px -16px 0;padding:0 16px 2px}
.rc-quick::-webkit-scrollbar{display:none}
.rc-quick .rc-pill{min-height:36px;flex:none}
/* groups */
.rc .rc-grp{display:flex;align-items:baseline;gap:10px;margin:26px 0 12px;font:900 22px/1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.rc-grp em{font:700 var(--fs-label-l)/1 var(--font,Inter,sans-serif);font-style:normal;letter-spacing:.14em;color:var(--muted);font-variant-numeric:tabular-nums}
.rc-grp i{width:8px;height:8px;border-radius:50%;align-self:center;background:var(--g,#34453f)}
.rc-grp.rc-g-closing{--g:var(--pink)}.rc-grp.rc-g-open{--g:var(--teal)}.rc-grp.rc-g-upcoming{--g:var(--orange)}
.rc .rc-grp-sub{margin:-6px 0 12px;font-size:var(--fs-sm);color:var(--muted)}
.rc-hub-list{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.rc-hub-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1280px){.rc-hub-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* v1.6.7: one card per sneaker, then a store list. Phone-first, one column until the card has room. */
.rc-shoes{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.rc-shoes{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rc button.rc-shoe{display:grid;grid-template-columns:84px minmax(0,1fr) 16px;gap:12px;align-items:center;width:100%;text-align:left;padding:12px;min-height:108px;border-radius:3px;color:inherit;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 42%),color-mix(in srgb,var(--panel) 72%,transparent);border:1px solid color-mix(in srgb,var(--text) 14%,var(--line));box-shadow:inset 3px 0 0 var(--rf,#34453f),inset 0 1px 0 rgba(255,255,255,.06)}
.rc button.rc-shoe.rc-s-live{--rf:var(--teal);border-color:color-mix(in srgb,var(--teal) 34%,var(--line))}
.rc button.rc-shoe.rc-s-upcoming{--rf:var(--orange)}
.rc button.rc-shoe.rc-s-recent{--rf:#34453f;opacity:.82}
.rc button.rc-shoe:hover{border-color:#5e8276;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 42%),color-mix(in srgb,var(--panel) 84%,transparent)}
.rc button.rc-shoe .rc-pic{width:84px;height:84px}
.rc-shoe-copy{min-width:0}
.rc-shoe-date{display:block;margin-top:3px;font-size:var(--fs-cap);color:var(--muted)}
.rc-shoe-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px;font-size:var(--fs-cap);color:#b9c9c2;line-height:1.35}
.rc-shoe-meta b{color:var(--teal);font-weight:750;letter-spacing:.02em}
.rc button.rc-shoe>svg{width:16px;height:16px;color:#5e8276}
.rc-shoetop{margin:2px 0 12px}
.rc button.rc-back{min-height:44px;padding:8px 12px;display:inline-flex;align-items:center;gap:6px}
.rc button.rc-back svg{width:16px;height:16px}
.rc-shoehead{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:14px}
.rc-shoehead .rc-pic{width:72px;height:72px}
.rc-storelist{display:grid;gap:10px}
.rc-store{display:grid;gap:8px;padding:14px;border-radius:3px;border:1px solid color-mix(in srgb,var(--text) 14%,var(--line));background:rgba(10,14,14,.45);min-width:0}
.rc-store.rc-s-closed,.rc-store.rc-s-results{opacity:.72}
.rc-store-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-width:0}
.rc-store-top b{font-size:var(--fs-title);font-weight:700;overflow-wrap:anywhere}
.rc-store-facts{display:grid;gap:4px;font-size:var(--fs-sm);color:#b9c9c2}
.rc-store-facts span{display:flex;gap:8px;align-items:center;min-width:0}
.rc-store-facts svg{width:14px;height:14px;color:var(--muted);flex:none}
.rc-store .rc-enter{width:100%}
.rc-submit-wrap{display:grid;margin-top:26px}
.rc-submit-wrap .rc-submit-btn{justify-content:center;min-height:48px;width:100%}
/* row card */
.rc-rx{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:14px 14px 14px 17px;border-radius:3px;border:1px solid color-mix(in srgb,var(--text) 14%,var(--line));background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%),color-mix(in srgb,var(--panel) 72%,transparent);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 30px -18px rgba(0,0,0,.7);overflow:hidden;min-width:0;align-content:start}
.rc-rx::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--rf,#34453f)}
.rc-rx.rc-s-open{--rf:var(--teal);border-color:color-mix(in srgb,var(--teal) 34%,var(--line))}
.rc-rx.rc-s-closing{--rf:var(--pink);border-color:color-mix(in srgb,var(--pink) 38%,var(--line))}
.rc-rx.rc-s-upcoming{--rf:var(--orange)}
.rc-rx.rc-s-results{--rf:#7fa99b}
.rc-rx.rc-s-closed .rc-rx-main,.rc-rx.rc-s-closed .rc-rx-win{opacity:.6}
.rc-rx-top{display:flex;align-items:center;justify-content:space-between;gap:6px 8px;flex-wrap:wrap}
.rc-rx-top .rc-tagrow{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;margin-left:auto}
.rc-rf-type{white-space:nowrap;font-size:var(--fs-label);font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:3px 6px;border-radius:2px;border:1px solid #34453f;color:var(--muted)}
.rc-rf-type.rc-ver{color:#a8d4c6;border-color:#2f4b41;display:inline-flex;gap:4px;align-items:center}
.rc-rf-type svg{width:10px;height:10px;stroke-width:2.6}
.rc .rc-rx-main{display:grid;grid-template-columns:72px minmax(0,1fr) 16px;gap:12px;align-items:center;color:inherit;text-decoration:none;min-height:72px;border-radius:3px;margin:-2px;padding:2px;transition:background .2s}
.rc a.rc-rx-main:hover{background:rgba(255,255,255,.04)}
.rc a.rc-rx-main:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.rc a.rc-rx-main:active{background:rgba(255,255,255,.07)}
.rc-rx-main .rc-pic{width:72px;height:72px}
.rc-rx-main>svg:last-child{width:16px;height:16px;color:#5e8276}
.rc-rx-brand{display:block;font-size:var(--fs-label);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.rc-rx-shoe{display:block;font-size:var(--fs-body);font-weight:650;line-height:1.22;letter-spacing:-.005em;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rc-rx-store{display:flex;gap:6px;align-items:center;margin-top:5px;font-size:var(--fs-sm);color:#b9c9c2}
.rc-rx-store svg{width:13px;height:13px;color:var(--muted);flex:none}
.rc-rx-store span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-rx-win{display:flex;gap:9px;align-items:flex-start;font-size:var(--fs-sm);line-height:1.4;font-variant-numeric:tabular-nums;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.rc-rx-win svg{width:15px;height:15px;margin-top:2px;color:var(--muted);flex:none}
.rc-rx-win b{font-weight:600}.rc-rx-win small{display:block;color:var(--muted);font-size:var(--fs-cap);margin-top:2px}
.rc-rx-bar{height:3px;border-radius:2px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:-4px}
.rc-rx-bar span{display:block;height:100%;width:var(--p,0%);background:var(--rf);box-shadow:0 0 12px color-mix(in srgb,var(--rf) 60%,transparent)}
.rc-rx-meta{display:flex;flex-wrap:wrap;gap:6px}
.rc-rx-meta span{display:inline-flex;gap:6px;align-items:center;font-size:var(--fs-cap);color:var(--muted);padding:3px 8px;border-radius:2px;background:rgba(255,255,255,.04);border:1px solid color-mix(in srgb,var(--line) 80%,transparent)}
.rc-rx-meta svg{width:12px;height:12px}
.rc a.rc-enter.rc-urgent{background:var(--pink);border-color:var(--pink);color:#2a0b17;box-shadow:0 0 28px #ff5d9c26}
.rc a.rc-enter.rc-urgent:hover{background:#ff8fb4;border-color:#ff8fb4}
.rc-rx.rc-pending{border-style:dashed;border-color:#6b5a2f;--rf:#e9c46a}
.rc-rx.rc-pending .rc-chip-s{color:#e9c46a;background:#2a2112;border-color:#6b5a2f}
.rc .rc-pend-note{font-size:var(--fs-sm);color:var(--muted);line-height:1.45}
/* empty */
.rc-raf-empty{display:grid;justify-items:center;gap:8px;text-align:center;padding:34px 20px;border-radius:3px;border:1px dashed var(--line);background:rgba(10,14,14,.35);margin-top:22px}
.rc-raf-empty svg{width:30px;height:30px;color:#5e8276;margin-bottom:4px}
.rc-raf-empty b{font:900 22px/1.1 var(--display);text-transform:uppercase}
.rc-raf-empty p{font-size:var(--fs-sm);max-width:290px;line-height:1.5;color:var(--muted)}
.rc-raf-empty .rc-acts{display:grid;gap:8px;width:100%;max-width:290px;margin-top:8px}
.rc-raf-empty .rc-acts button{min-height:44px;font-size:var(--fs-label-l);font-weight:750;letter-spacing:.1em;text-transform:uppercase;display:flex;gap:8px;justify-content:center;align-items:center}
.rc-raf-empty .rc-acts svg{width:16px;height:16px;margin:0;color:inherit}
/* sheet */
.rc-dim-top{height:150px;overflow:hidden;filter:blur(2px) brightness(.5);pointer-events:none;border-radius:3px 3px 0 0}
.rc-sheet{position:relative;margin:-14px -16px -40px;padding:10px 16px 28px;border-radius:14px 14px 0 0;background:color-mix(in srgb,var(--panel) 94%,#000);border-top:1px solid color-mix(in srgb,var(--teal) 28%,var(--line));box-shadow:0 -24px 60px -20px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.08);display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.rc-grab{width:40px;height:4px;border-radius:2px;background:#3a4a44;justify-self:center}
.rc-sheet-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.rc-sheet-h h2{font:900 26px/1 var(--display);text-transform:uppercase;margin-bottom:6px}
.rc-sheet-h p{font-size:var(--fs-sm);color:var(--muted);line-height:1.45}
.rc-sheet-h button{width:44px;height:44px;flex:none;display:grid;place-items:center;padding:0}
.rc-sheet-h button svg{width:16px;height:16px}
.rc-sheet form{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
.rc-sheet .rc-fld{display:grid;gap:6px;min-width:0}
.rc-sheet .rc-two{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.rc-sheet input,.rc-sheet select{padding:11px 12px;min-height:44px;border-radius:3px;border:1px solid var(--line);background:rgba(10,14,14,.7);color:var(--text);font-size:var(--fs-sm);width:100%;margin:0;min-width:0}
.rc-sheet input[type=datetime-local]{font-size:var(--fs-sm);padding:11px 8px;-webkit-appearance:none;appearance:none}
.rc-sheet input:focus-visible,.rc-sheet select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.rc-sheet input:disabled{opacity:.5}
.rc-sheet .rc-seg{grid-template-columns:repeat(3,1fr)}
.rc-sheet .rc-seg button{min-height:40px;font-size:var(--fs-label);letter-spacing:.06em}
.rc-sheet .rc-opt{font-weight:500;letter-spacing:.04em;text-transform:none;color:#788f85}
.rc-hint{font-size:var(--fs-cap);color:var(--muted);line-height:1.4}
.rc-hint b{color:var(--text);font-weight:600}
.rc-pendbanner{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:3px;border:1px solid #6b5a2f;background:#2a2112;color:#e9c46a;font-size:var(--fs-sm);line-height:1.5}
.rc-pendbanner svg{width:16px;height:16px;flex:none;margin-top:2px}
.rc-pendbanner b{display:block;font-weight:750;letter-spacing:.06em;text-transform:uppercase;font-size:var(--fs-label);margin-bottom:2px}
.rc-sheet .rc-raf-actions .rc-primary{flex:1;min-height:48px}
/* admin queue */
.rc-q{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.rc-qcard{position:relative;display:grid;gap:12px;padding:14px;border-radius:3px;border:1px solid color-mix(in srgb,var(--text) 14%,var(--line));background:color-mix(in srgb,var(--panel) 72%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);min-width:0}
.rc-qcard .rc-rx-main{grid-template-columns:56px minmax(0,1fr)}
.rc-qcard .rc-pic{width:56px;height:56px}
.rc-qrows{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 12px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}
.rc-qrows span{font-size:var(--fs-label);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.rc-qrows b{font-weight:600;overflow-wrap:anywhere}
.rc-qrows .rc-host{color:var(--teal);word-break:break-all}
.rc-qrows .rc-host em{font-style:normal;color:var(--muted)}
.rc-checks{display:flex;gap:6px;flex-wrap:wrap}
.rc-checks span{display:inline-flex;gap:6px;align-items:center;font-size:var(--fs-cap);padding:3px 8px;border-radius:2px;border:1px solid #2f4b41;background:#16241f;color:#a8d4c6}
.rc-checks span svg{width:11px;height:11px;stroke-width:2.6}
.rc-checks span.rc-warn{border-color:#523d2d;background:#2b211b;color:var(--orange)}
.rc-qact{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rc-qact button{min-height:44px;font-size:var(--fs-label-l);font-weight:800;letter-spacing:.1em;text-transform:uppercase;display:flex;gap:8px;align-items:center;justify-content:center}
.rc-qact button svg{width:15px;height:15px;stroke-width:2.4}
.rc-qact .rc-approve{background:var(--teal);border-color:var(--teal);color:#09231d}
.rc-qact .rc-reject{color:#ff8fb4;border-color:#59293c;background:#2b1620}
.rc-qcard .rc-edit{justify-self:start;font-size:var(--fs-label);padding:6px 0;min-height:32px;border:0;background:none;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-weight:750}
.rc-reasons{display:flex;gap:6px;flex-wrap:wrap}
/* release detail chip */
.rc-rchip{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:3px;border:1px solid color-mix(in srgb,var(--text) 18%,var(--line));background:rgba(10,14,14,.5);color:var(--text);text-decoration:none;transition:border-color .25s,background .25s,transform .25s cubic-bezier(.23,1,.32,1)}
.rc a.rc-rchip:hover{border-color:var(--teal);text-decoration:none;transform:translateY(-1px)}
.rc a.rc-rchip:active{transform:none}
.rc a.rc-rchip:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.rc-rchip>svg{width:18px;height:18px;color:var(--teal);flex:none}
.rc-rchip b{font-size:var(--fs-sm);font-weight:700;letter-spacing:.02em}
.rc-rchip small{margin-left:auto;font-size:var(--fs-cap);font-weight:700;color:var(--teal);display:inline-flex;gap:6px;align-items:center}
.rc-rchip small i{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal)}
.rc-rchip>svg:last-child{width:14px;height:14px;color:#5e8276}
@media(prefers-reduced-motion:reduce){.rc-rchip,.rc a.rc-enter{transition:none}}
/* header link: desktop/tablet only, mobile enters through the calendar strip */
.header-link.header-raffles{display:none;color:var(--teal)}
@media(min-width:700px){.header-link.header-raffles{display:inline-block}}
.rc .rc-search svg{z-index:1}
.rc-overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:rgba(3,6,6,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.rc-overlay .rc-sheet{margin:0;width:100%;max-width:560px;max-height:94vh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
@media(min-width:700px){.rc-overlay{align-items:center}.rc-overlay .rc-sheet{border-radius:14px;max-height:90vh}}
body.rc-noscroll{overflow:hidden}
.rc-sheet .rc-hint,.rc .rc-hint{font-size:var(--fs-sm);color:var(--muted);line-height:1.4}
.rc-form-err{margin:0;padding:10px 12px;border-radius:3px;border:1px solid color-mix(in srgb,var(--pink) 60%,var(--line));background:color-mix(in srgb,var(--pink) 12%,transparent);color:#ffc0d3;font-size:var(--fs-sm);line-height:1.4}
.rc-form-err[hidden]{display:none}
.rc-rx.rc-rejected{opacity:.9}.rc-rx.rc-rejected .rc-chip-s.rc-s-rej{color:#ffb3c8;border-color:color-mix(in srgb,var(--pink) 50%,var(--line))}
.rc .rc-adm-row{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:10px}
.rc .rc-adm-row button{min-height:44px;padding:0 14px;font-size:var(--fs-label);font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rc .rc-adm-row button.rc-rm{color:#ff9db8}
.rc .rc-rejectbox{display:grid;gap:6px}.rc .rc-rejectbox[hidden]{display:none}
.rc .rc-rejectbox input{padding:11px 12px;min-height:44px;border:1px solid var(--line);border-radius:3px;background:rgba(10,14,14,.7);color:var(--text);width:100%}
.rc .rc-host a{color:inherit;word-break:break-all}.rc .rc-host a:hover{color:var(--teal)}
.rc .rc-approve:disabled{opacity:.4;cursor:not-allowed}
.rc a.rc-raf-strip{text-decoration:none;color:inherit;margin:0 0 14px;transition:border-color .15s,transform .15s}
.rc a.rc-raf-strip:hover{border-color:var(--teal);transform:translateY(-1px)}
.rc a.rc-raf-strip:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.rc a.rc-raf-strip>svg{width:20px;height:20px;color:var(--teal);flex:none;stroke:currentColor;fill:none;stroke-width:1.8}
.rc-rafstrip:empty{display:none}
.rc-rchip svg,.rc-strip svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.header-link.header-raffles{display:none;color:var(--pink)}
@media(min-width:700px){.header-link.header-raffles{display:inline-block;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.rc a.rc-raf-strip{transition:none}}

/* v1.4.1 sizing: shared tokens (see :root) + touch targets + safe areas. App-first: iOS 44pt / Android 48dp touch, 17pt body. */
button{min-height:var(--tap)}
.avatar{width:var(--tap);height:var(--tap);font-size:var(--fs-sm)}.avatar.avatar-sm{width:32px;height:32px;min-height:0;font-size:var(--fs-label)}
.app-header{padding-left:max(25px,var(--safe-l));padding-right:max(25px,var(--safe-r))}
.bottom-nav{bottom:calc(10px + var(--safe-b))}
@media(max-width:700px){
.app-header{height:calc(69px + var(--safe-t));padding:var(--safe-t) max(16px,var(--safe-r)) 0 max(16px,var(--safe-l))}
.wordmark{padding:0 4px;min-height:var(--tap)}
.header-right{gap:2px;min-width:0}
.header-link,.header-link.header-howto{padding:0 10px;min-height:var(--tap);font-size:var(--fs-sm)}
.icon-button,.header-right .icon-button{min-width:var(--tap);min-height:var(--tap);padding:0}
.page{padding-left:max(19px,var(--safe-l));padding-right:max(19px,var(--safe-r))}
.page{padding-bottom:calc(170px + var(--safe-b))}
.bottom-nav{bottom:calc(10px + var(--safe-b));max-width:calc(100% - 22px - var(--safe-l) - var(--safe-r))}
.bottom-nav button{min-width:62px;min-height:56px;padding:6px 4px;font-size:var(--fs-label);letter-spacing:.04em}
.bottom-nav svg{width:24px;height:24px}
.card-grid{gap:12px}
.shoe-card h3,.rc-name{font-size:var(--fs-title)}
}
@media(max-width:560px){.header-link.header-howto{display:none}}
@media(max-width:700px){
.bottom-nav button{justify-content:flex-start;padding-top:8px;white-space:nowrap;letter-spacing:.02em}
.rc-card{grid-template-columns:100px 1fr auto}.rc-pic{width:100px;height:100px}
.rc-sku{white-space:nowrap}
.rc-rx-main{grid-template-columns:84px minmax(0,1fr) 16px;min-height:84px}.rc-rx-main .rc-pic{width:84px;height:84px}
.rc-day{min-width:0}.rc-days{gap:2px}
.rc-bell{min-width:var(--tap);min-height:var(--tap);width:var(--tap);height:var(--tap)}.rc .rc-name{display:inline-flex;align-items:center;max-width:100%;text-align:left;min-height:var(--tap)}
.rc-pill,.rc-quick .rc-pill,.rc-chip,.rc-fbtn{min-height:var(--tap)}
}
/* 3D Vault/Closet diorama: labels live inside fixed-size shelves, so the scene gets its own (still >=11px) tier. Everything outside the scene uses the app tokens. */
.scene{--fs-label:11px;--fs-label-l:11px;--fs-cap:11px;--fs-sm:12px;--fs-body:13px}
.scene-controls button{font-size:12px}
@media(max-width:700px){
.room-hint{white-space:normal;width:calc(100% - 36px);text-align:center;letter-spacing:.05em;line-height:1.35;bottom:72px;background:#050a07d9;padding:5px 10px;border-radius:3px;width:max-content;max-width:calc(100% - 28px)}
.scene{height:470px}
.room-actions button{padding:6px 10px;white-space:nowrap}
}
/* Find a fit lands on its result: clear the notch/status bar on top (bottom nav is handled by the page's bottom padding). */
#fit-results{scroll-margin-top:calc(var(--safe-t) + 16px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v1.4.2 per-pair US/EU size system: segmented switch, 44px targets, existing teal accent */
.size-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:end}
.size-field>small{grid-column:1/-1;color:var(--muted);font-size:var(--fs-cap)}
.seg{display:inline-flex;border:1px solid var(--line);background:var(--panel2);min-height:var(--tap)}
.seg-opt,.seg-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:56px;min-height:calc(var(--tap) - 2px);padding:0 16px;margin:0;color:var(--muted);font:700 var(--fs-sm)/1 var(--sans);letter-spacing:.08em;cursor:pointer;border:0;background:transparent}
.seg-opt input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.seg-opt:has(input:checked),.seg-btn[aria-pressed="true"]{background:var(--teal);color:#071311}
.seg-opt:has(input:focus-visible),.seg-btn:focus-visible{outline:2px solid var(--pink);outline-offset:-2px}
.size-switch{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:14px 0}
.size-switch small{color:var(--muted);font-size:var(--fs-cap)}
.filter-row select{min-width:0}

/* v1.5 Sales preview + Discover strip. Same teal/pink/orange glass as Releases and Raffles; 44px targets; size tokens only. */
.dc-tabs{display:flex;align-items:center;gap:12px;margin:2px 0 14px}
.dc-label{font-size:var(--fs-label);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);flex:none}
.dc-row{flex:1;min-width:0;display:grid;grid-template-columns:repeat(3,1fr);padding:3px;border-radius:3px;background:rgba(10,14,14,.6);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.dc-row button{border:0;min-height:var(--tap);padding:0 4px;border-radius:2px;background:none;font-size:var(--fs-label-l);font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);transition:background .25s,color .25s}
.dc-row button:hover{color:var(--text)}
.dc-row button.dc-on,.dc-row button.dc-on:hover{background:var(--teal);color:#09231d}
.dc-row button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.sl .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sl-example{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:3px;font-size:var(--fs-sm);line-height:1.4;color:var(--muted);background:var(--glass);border:1px dashed color-mix(in srgb,var(--orange) 55%,var(--line));backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}
.sl-example b{display:block;color:var(--orange);font-size:var(--fs-label-l);letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-bottom:2px}
.sl-example svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--orange);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sl svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* v1.7.3: sort pills stay on ONE line each and the row scrolls sideways (a 3-column grid wrapped “Matches your closet” onto two lines at 390px) */
.sl-sort.rc-chips{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;margin:0 -16px;padding:2px 16px;scroll-padding:0 16px}
.sl-sort .rc-chip{flex:0 0 auto;min-height:var(--tap);white-space:nowrap;justify-content:center;text-align:center;line-height:1.15;padding:6px 14px;scroll-snap-align:start}
.sl-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sl-count{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}
.sl .rc-fbtn{min-height:var(--tap)}
.sl-fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sl-fgrid select{min-height:var(--tap)}
.sl-note{margin:18px 0 4px;font-size:var(--fs-sm);line-height:1.45;color:var(--muted)}.sl-note b{color:var(--text);font-weight:650}
.sl-h{margin:18px 0 0;font-size:var(--fs-label-l);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sl-stores .rc-pill{min-height:var(--tap)}
.sl-list{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);margin-top:16px}
.sl-skel{height:240px;border-radius:4px}
.sl-card{position:relative;display:grid;gap:14px;padding:14px;border-radius:4px;border:1px solid color-mix(in srgb,var(--text) 14%,var(--line));background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 40%),var(--glass);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 44px rgba(0,0,0,.4)}
.sl-card.sl-hit{border-color:color-mix(in srgb,var(--teal) 42%,var(--line))}
.sl-top{display:flex;align-items:center;gap:12px}
.sl-mono{flex:none;width:40px;height:40px;border-radius:3px;display:grid;place-items:center;font-size:var(--fs-sm);font-weight:900;letter-spacing:.04em;color:var(--text);background:rgba(255,255,255,.07);border:1px solid var(--line)}
.sl-store{flex:1;min-width:0;display:grid;gap:2px}
.sl-store b{font-size:var(--fs-body);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sl-store span{display:flex;gap:6px;align-items:center;font-size:var(--fs-cap);color:var(--muted);font-variant-numeric:tabular-nums}
.sl-store span svg{width:14px;height:14px;flex:none}
.sl-store span.sl-soon{color:var(--pink);font-weight:650}
.sl-pct{flex:none;display:grid;justify-items:center;min-width:56px;padding:5px 8px 4px;border-radius:3px;color:var(--orange);background:#2b211b;border:1px solid #523d2d;font:900 22px/1 var(--display);letter-spacing:-.01em}
.sl-pct small{font:800 var(--fs-label)/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.sl-main{display:flex;gap:14px;align-items:center}
.sl-pic{flex:none;width:84px;height:84px}
.sl-info{flex:1;min-width:0;display:grid;gap:3px;justify-items:start}
.sl-name{margin:3px 0 0;font:650 var(--fs-body)/1.22 var(--sans);letter-spacing:-.005em;overflow-wrap:anywhere}
.sl-color{font-size:var(--fs-cap);color:var(--muted)}
.sl-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin-top:6px;font-variant-numeric:tabular-nums}
.sl-now{font:900 26px/1 var(--display);color:var(--teal);letter-spacing:-.01em}
.sl-price s{font-size:var(--fs-sm);color:var(--muted)}
.sl-save{font-size:var(--fs-cap);color:var(--text);font-weight:650}
.sl-sizes{display:grid;gap:8px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.sl-sl{font-size:var(--fs-label);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sl-sl em{font-style:normal;letter-spacing:.04em;text-transform:none;font-weight:650;margin-left:4px}
.sl-szrow{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.sl-sz{min-width:44px;min-height:36px;padding:0 10px;display:grid;place-items:center;border-radius:99px;font-size:var(--fs-sm);font-weight:700;font-variant-numeric:tabular-nums;border:1px solid var(--line)}
.sl-sz.sl-in{color:var(--teal);background:#142c27;border-color:#31574b}
.sl-sz.sl-out{color:#7d8c87;background:transparent;border-style:dashed;text-decoration:line-through;text-decoration-thickness:1.5px}
.sl-match{justify-self:start;font-size:var(--fs-label);font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:2px;border:1px solid #34453f;color:var(--muted);background:#1a2220}
.sl-match.rc-m-both{color:var(--teal);background:#142c27;border-color:#31574b}
.sl-match.rc-m-brand{color:var(--pink);background:#311d26;border-color:#633746}
.sl-match.rc-m-size{color:var(--orange);background:#2b211b;border-color:#523d2d}
.rc a.sl-shop{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 16px;border-radius:3px;font-size:var(--fs-label-l);font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:#09231d;background:var(--teal);border:1px solid var(--teal);transition:transform .2s,box-shadow .2s}
.rc a.sl-shop svg{width:16px;height:16px;flex:none}
.rc a.sl-shop:hover{transform:translateY(-1px);box-shadow:0 8px 24px color-mix(in srgb,var(--teal) 28%,transparent);text-decoration:none}
.rc a.sl-shop:active{transform:none}
.rc a.sl-shop:focus-visible,.sl button:focus-visible,.sl select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.sl-ex{justify-self:center;font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:#7d8c87}
.sl-fine{margin-top:20px}
.rc-noday p{margin:0 0 12px}
@media(min-width:700px){.sl-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.rc a.sl-shop,.dc-row button{transition:none}.rc a.sl-shop:hover{transform:none}}
.sl .sl-h{margin:22px 0 0}
.sl-pic{background:linear-gradient(145deg,#1f2e2a,#101716);border:1px solid var(--line);box-shadow:none}
.sl-pic .rc-ph{color:#5e8276}.sl-pic .rc-ph svg{width:56px;height:56px;stroke-width:1.4}

/* v1.5 Sales: production states (coming soon, affiliate disclosure, sizes unknown) and the admin Manage tab */
.sl-disclose{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;padding:10px 12px;border-radius:3px;font-size:var(--fs-sm);line-height:1.45;color:var(--muted);background:rgba(10,14,14,.55);border:1px solid var(--line)}
.sl-disclose svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--teal)}
.sl-soon-card{display:grid;justify-items:center;text-align:center;gap:10px;padding:30px 20px 24px;border-radius:4px}
.sl-soon-card h2{margin:4px 0 0;font:900 28px/1.05 var(--display);letter-spacing:-.01em}
.sl-soon-card p{margin:0;max-width:34ch;font-size:var(--fs-body);line-height:1.5;color:var(--muted)}
.sl-soon-ic{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:var(--teal);background:#142c27;border:1px solid #31574b}
.sl-soon-ic svg{width:26px;height:26px}
.sl-soon-actions{display:grid;gap:10px;width:100%;max-width:320px;margin-top:10px}
.sl-soon-actions .rc-primary{min-height:48px}
.sl-soon-actions .rc-ghost{min-height:var(--tap);border:1px solid var(--line);border-radius:3px;font-size:var(--fs-label-l);font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.sl-soon-add{min-height:var(--tap);margin-top:4px}
.sl-check{margin:0;font-size:var(--fs-sm);color:var(--orange);font-weight:650}
.sl-mtop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 14px}
.sl-add{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 18px}
.sl-add svg{width:18px;height:18px}
.sl-mlist{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.sl-mrow{display:grid;gap:8px;padding:14px;border-radius:4px;border:1px solid var(--line);background:var(--glass)}
.sl-mhead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.sl-mhead>div{min-width:0;overflow-wrap:anywhere;font-size:var(--fs-body)}
.sl-mname{color:var(--muted)}
.sl-mmeta{font-size:var(--fs-sm);line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums}
.sl-state{flex:none;font-size:var(--fs-label);font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:2px;border:1px solid #34453f;color:var(--muted);background:#1a2220}
.sl-state-ok{color:var(--teal);background:#142c27;border-color:#31574b}
.sl-state-soon{color:var(--orange);background:#2b211b;border-color:#523d2d}
.sl-feeds{display:grid;gap:10px;padding:16px;margin-top:18px;border-radius:4px}
.sl-feeds-h{display:grid;gap:10px}
.sl-feeds h2{margin:0;font-size:var(--fs-label-l);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sl-feeds p{margin:4px 0 0;font-size:var(--fs-sm);line-height:1.5;color:var(--muted)}
.sl-feedbtn{min-height:var(--tap);border:1px solid var(--line);border-radius:3px;padding:0 16px;font-size:var(--fs-label-l);font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--text);justify-self:start}
.sl-feedlist{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:var(--fs-sm)}
.sl-feedlist li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:6px}
.sl-feedlist span{color:var(--muted);text-align:right}
.sl .sl-mrow .rc-adm-row{flex-wrap:wrap}
@media(min-width:700px){.sl-mlist{grid-template-columns:repeat(2,minmax(0,1fr))}.sl-feeds-h{grid-template-columns:1fr auto;align-items:start}}

/* Deal photos (cached by the server, same-origin) */
.sl-pic{position:relative;overflow:hidden}
.sl-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#eef0ec;padding:4px;border-radius:inherit}
.sl-prev{display:flex;align-items:center;gap:12px;margin-top:8px;flex-wrap:wrap}
.sl-prev-box{flex:none;width:96px;height:96px;display:grid;place-items:center;border-radius:4px;border:1px solid var(--line);background:#eef0ec;overflow:hidden}
.sl-prev-box img{width:100%;height:100%;object-fit:contain;padding:4px}
.sl-prev-box.sl-prev-bad{background:linear-gradient(145deg,#1f2e2a,#101716);color:#5e8276}.sl-prev-box.sl-prev-bad svg{width:44px;height:44px;stroke-width:1.4}
.sl-prev-load{background:linear-gradient(110deg,#1b2724 30%,#26362f 50%,#1b2724 70%);background-size:200% 100%;animation:sl-sh 1.2s linear infinite}
@keyframes sl-sh{to{background-position:-200% 0}}
.sl-prev .rc-hint{flex:1;min-width:140px;margin:0}.sl-prev-err{color:var(--orange)}
.sl-prev-retry{min-height:var(--tap)}
@media(prefers-reduced-motion:reduce){.sl-prev-load{animation:none}}
.sl-prev-retry{padding:0 18px;white-space:nowrap;flex:none}

/* ===== v1.5.1 layout round: Back button, Import on top, Home release-calendar card, Month/List switch ===== */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--hair:color-mix(in srgb,var(--text) 10%,var(--line))}

/* Back button: header (every screen that is not a bottom-bar tab) and the top of every sheet. 44 x 44, iOS-style chevron. */
.back-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);min-height:var(--tap);padding:0;border-radius:50%;border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 80%,transparent);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.07);transition:transform .16s var(--ease-out),background-color .16s var(--ease-out),border-color .16s var(--ease-out)}
.back-btn svg{width:22px;height:22px;margin-left:-2px}
.back-btn:hover{background:color-mix(in srgb,var(--teal) 14%,var(--panel));border-color:color-mix(in srgb,var(--teal) 55%,var(--line))}
.back-btn:active{transform:scale(.94)}
.back-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.app-header.has-back{gap:8px;justify-content:flex-start}
.app-header.has-back .header-right{margin-left:auto}
.app-header.has-back>.back-btn{margin-left:-4px;margin-right:4px}
@media(max-width:700px){.app-header.has-back .wordmark{font-size:20px;padding:0 2px}.app-header.has-back .header-right>.eyebrow{display:none}.app-header.has-back .header-calendar{display:none}.modal-head .modal-x{display:none}}
@media(max-width:380px){.app-header.has-back .wordmark{display:none}}
.modal-head{justify-content:flex-start}.modal-head h2{flex:1;min-width:0;margin:0}
.modal-head .back-btn{margin-left:-6px;border-color:color-mix(in srgb,var(--teal) 35%,var(--line))}
/* the old in-page "All rooms" arrow is replaced by the header Back button */
.room-back{display:none}

/* Import: first thing on Home and Vault. */
.import-top{position:relative;display:flex;align-items:center;gap:14px;margin:0 0 20px;padding:14px 14px 14px 16px;border-radius:4px;border:1px solid color-mix(in srgb,var(--teal) 38%,var(--line));background:linear-gradient(100deg,color-mix(in srgb,var(--teal) 13%,var(--panel)),color-mix(in srgb,var(--panel) 92%,transparent) 70%);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.4),0 14px 34px rgba(0,0,0,.28);animation:v151-rise .55s var(--ease-out) both}
.import-top .it-icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--teal) 18%,transparent);color:var(--teal)}
.import-top .it-icon svg{width:22px;height:22px}
.import-top .it-copy{flex:1;min-width:0;display:grid;gap:2px}
.import-top .it-copy strong{font-size:var(--fs-title);letter-spacing:-.01em;line-height:1.2}
.import-top .it-copy span{font-size:var(--fs-sm);color:var(--muted);line-height:1.35;text-wrap:balance}
.import-top .it-go{flex:none;min-height:var(--tap);padding:0 22px;margin:0;letter-spacing:.08em;text-transform:uppercase;font-size:var(--fs-label-l);transition:transform .16s var(--ease-out),box-shadow .2s var(--ease-out)}
.import-top .it-go:active{transform:scale(.97)}
@media(max-width:520px){.import-top{padding:12px;gap:12px}.import-top .it-copy span{display:none}.import-top .it-copy strong{font-size:var(--fs-sm)}.import-top .it-go{padding:0 18px}}

/* Home: the release-calendar card. Layered: base, colour field, masked grid, grain, then a fan of the next drops' photos. */
.hc{position:relative;margin:0 0 20px;animation:v151-rise .6s .06s var(--ease-out) both}
.hc-main{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch;gap:6px;width:100%;min-height:230px;padding:22px 18px 20px 22px;text-align:left;color:var(--text);border-radius:4px 4px 0 0;border:1px solid var(--hair);border-bottom:0;background:#0b1111;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.45),0 22px 60px rgba(0,0,0,.4);transition:transform .2s var(--ease-out),border-color .25s var(--ease-out)}
.hc-main:active{transform:scale(.99)}
.hc-main:hover{border-color:color-mix(in srgb,var(--teal) 45%,var(--line))}
.hc-main:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.hc-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hc-aurora{position:absolute;inset:-30%;background:radial-gradient(42% 48% at 18% 30%,color-mix(in srgb,var(--teal) 34%,transparent),transparent 70%),radial-gradient(40% 46% at 86% 20%,color-mix(in srgb,var(--pink) 26%,transparent),transparent 70%),radial-gradient(46% 52% at 70% 95%,color-mix(in srgb,var(--orange) 20%,transparent),transparent 72%);filter:saturate(1.15);animation:v151-drift 16s ease-in-out infinite alternate;will-change:transform}
.hc-grid{position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--text) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 7%,transparent) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(75% 90% at 70% 40%,#000,transparent 78%);mask-image:radial-gradient(75% 90% at 70% 40%,#000,transparent 78%)}
.hc-grain{position:absolute;inset:0;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.hc-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.hc-copy .eyebrow{margin-bottom:12px;color:color-mix(in srgb,var(--text) 72%,var(--teal))}
.hc-next{font-size:var(--fs-label);font-weight:800;letter-spacing:.16em;color:var(--teal)}
.hc-name{margin-top:4px;font-family:var(--display);font-size:clamp(25px,7.2vw,34px);font-weight:400;line-height:1.02;letter-spacing:.005em;text-transform:uppercase;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.hc-when{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 8px;margin-top:10px;font-variant-numeric:tabular-nums}
.hc-count{font-size:var(--fs-title);font-weight:800;letter-spacing:.04em;color:var(--text)}
.hc-when i{font-style:normal;font-size:var(--fs-sm);color:var(--muted)}
.hc-when em{font-style:normal;font-size:var(--fs-label-l);font-weight:750;letter-spacing:.12em;color:var(--pink)}
.hc-sub{margin-top:8px;font-size:var(--fs-sm);line-height:1.4;color:var(--muted);text-wrap:balance}
.hc-cta{white-space:nowrap;margin-top:auto;padding-top:16px;display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);font-size:var(--fs-label-l);font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--teal)}
.hc-cta svg{width:18px;height:18px;transition:transform .3s var(--ease-out)}
.hc-main:hover .hc-cta svg{transform:translateX(4px)}
.hc-stack{position:relative;min-height:170px;perspective:700px}
.hc-shot{position:absolute;top:50%;left:50%;width:min(62%,148px);aspect-ratio:4/5;margin:calc(min(62%,148px)*-.625) 0 0 calc(min(62%,148px)*-.5);border-radius:4px;overflow:hidden;background:radial-gradient(90% 80% at 50% 35%,#f1f3f1,#cfd6d3);border:1px solid rgba(255,255,255,.35);box-shadow:0 1px 2px rgba(0,0,0,.4),0 18px 36px rgba(0,0,0,.5);transform:translate3d(calc((var(--i) - 1) * 40%),calc((var(--i) - 1) * 6%),0) rotate(calc((var(--i) - 1) * 8deg)) scale(calc(1 - var(--i) * .06));z-index:calc(3 - var(--i));animation:v151-fan .8s calc(.12s + var(--i) * .09s) var(--ease-out) both;transition:transform .5s var(--ease-out)}
.hc-shot img{width:100%;height:100%;object-fit:contain;padding:8%;mix-blend-mode:multiply}
.hc-shot b{position:absolute;left:6px;bottom:6px;padding:3px 7px;border-radius:3px;font-size:11px;font-weight:800;letter-spacing:.1em;color:#fff;background:rgba(8,11,11,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@media(hover:hover){.hc-main:hover .hc-shot{transform:translate3d(calc((var(--i) - 1) * 44%),calc((var(--i) - 1) * 6%),0) rotate(calc((var(--i) - 1) * 9deg)) scale(calc(1 - var(--i) * .06))}}
.hc-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--hair);border-radius:0 0 4px 4px;background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:0 22px 40px rgba(0,0,0,.25)}
.hc-chip{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px;min-height:var(--tap);padding:11px 12px;text-align:left;border:0;border-radius:0;background:transparent;color:var(--text);transition:background-color .2s var(--ease-out)}
.hc-chip+.hc-chip{border-left:1px solid var(--hair)}
.hc-chip strong{grid-row:1/3;font-size:24px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--teal)}
.hc-chip:nth-child(2) strong{color:var(--pink)}.hc-chip:nth-child(3) strong{color:var(--orange)}
.hc-chip span{grid-column:2;font-size:var(--fs-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.2;text-wrap:balance}
.hc-chip svg{display:none}
.hc-chip:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.hc-chip:active{background:color-mix(in srgb,var(--text) 10%,transparent)}
.hc-chip:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.hc-bare .hc-main{grid-template-columns:1fr;min-height:0}
.hc-bare .hc-chips{margin-top:0}
@media(max-width:420px){.hc-main{padding:20px 12px 12px 18px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);min-height:236px}.hc-stack{min-height:150px}.hc-chip{padding:10px 8px;column-gap:6px}.hc-chip strong{font-size:21px}.hc-chip span{font-size:11px;letter-spacing:.04em}}
@keyframes v151-rise{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}
@keyframes v151-drift{from{transform:translate3d(-3%,-2%,0) scale(1)}to{transform:translate3d(3%,2%,0) scale(1.06)}}
@keyframes v151-fan{from{opacity:0;transform:translate3d(0,24px,0) rotate(0deg) scale(.9)}}
@media(prefers-reduced-motion:reduce){.import-top,.hc,.hc-aurora,.hc-shot{animation:none!important}.hc-main,.hc-shot,.back-btn,.hc-cta svg{transition:none!important}.hc-main:hover .hc-shot{transform:translate3d(calc((var(--i) - 1) * 40%),calc((var(--i) - 1) * 6%),0) rotate(calc((var(--i) - 1) * 8deg)) scale(calc(1 - var(--i) * .06))}}

/* Release calendar: a clear Month | List switch (44px) */
.rc-seg{padding:4px;gap:4px;border-radius:6px}
.rc .rc-seg button,.rc-seg button{min-height:var(--tap);padding:0 12px;border-radius:4px;font-size:var(--fs-label-l);letter-spacing:.12em;transition:background-color .25s var(--ease-out),color .25s var(--ease-out),transform .16s var(--ease-out)}
.rc-seg button:active{transform:scale(.97)}
.rc-seg button:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
.rc .rc-seg button.rc-on{box-shadow:0 0 0 1px color-mix(in srgb,var(--teal) 60%,transparent),0 6px 18px color-mix(in srgb,var(--teal) 24%,transparent)}
.rc-controls>.rc-seg{width:100%;max-width:none}
@media(min-width:700px){.rc-controls>.rc-seg{width:320px}}

/* ===== v1.5.2 home polish ===== */
/* 1) Hero wordmark: "Soles" in brand teal (no trailing dot). */
.home-heading h1.home-wordmark{line-height:.99;letter-spacing:0;min-height:.99em;display:flex;align-items:center}.home-heading h1.home-wordmark img{display:block;height:.80em;width:auto;max-width:100%}
.home-heading h1 .soles{color:var(--teal);text-shadow:0 0 38px color-mix(in srgb,var(--teal) 32%,transparent)}

/* 2) Vault + Closet doorway cards: tag / title / subtitle share the same lines in both cards. */
.doorway .door-content{display:flex;flex-direction:column;align-items:flex-start}
.doorway .door-content .tag{white-space:nowrap;max-width:100%}
.doorway .door-content h2{min-height:calc(2 * 1em * var(--door-h2-lh,1.02));line-height:var(--door-h2-lh,1.02)}
.doorway .door-content p{min-height:calc(2 * 1.4em);line-height:1.4}
@media(max-width:700px){
  .doorway .door-content{left:14px;right:12px}
  .doorway .door-content .tag{font-size:var(--fs-label);letter-spacing:.05em;padding:4px 6px;gap:0}
}
@media(max-width:374px){
  .doorway .door-content .tag{white-space:normal;min-height:calc(2 * 1.2em + 8px);align-items:flex-start;line-height:1.2}
}

/* 3) Bottom tab bar: full-width, flush with the screen bottom like a native iOS/Android tab bar. */
:root{--nav-h:calc(68px + var(--safe-b))}
.bottom-nav{left:0;right:0;bottom:0;width:100%;max-width:none;transform:none;border-radius:0;border:0;border-top:1px solid color-mix(in srgb,var(--teal) 22%,#33483e);
  padding:6px max(8px,var(--safe-l),calc((100% - 620px)/2)) calc(6px + var(--safe-b)) ;gap:2px;justify-content:center;align-items:stretch;
  background:linear-gradient(180deg,color-mix(in srgb,#101816 80%,transparent),color-mix(in srgb,#090d0c 92%,transparent));
  -webkit-backdrop-filter:blur(24px) saturate(1.5);backdrop-filter:blur(24px) saturate(1.5);
  box-shadow:0 -1px 0 #ffffff0d inset,0 -14px 40px -12px #000c}
.bottom-nav button{flex:1 1 0;min-width:0;max-width:none;min-height:56px}
.bottom-nav button.active{background:color-mix(in srgb,var(--teal) 15%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--teal) 30%,transparent) inset}
.page,.page.wide-page{padding-bottom:calc(var(--nav-h) + 28px)}
.agent-form{bottom:calc(var(--nav-h) + 12px)}
.import-commit-bar{bottom:calc(var(--nav-h) + 12px)}

/* v1.5.3: release source link (the calendar feed) */

/* v1.5.5: Home chat (Rooms) cards. Built to draw interest, in the calendar card's family: a full-strength aurora that drifts, a masked grid, grain, a big bubble outline, a live-activity pill (real last-message time), a member stack and a clear open/join button.
   Scoped to .room-card-home (Home only); the Rooms page keeps the plain card. */
.home-rooms .room-card-home{position:relative;isolation:isolate;overflow:hidden;min-height:228px;padding:18px 18px 14px 20px;border-radius:4px;border:1px solid color-mix(in srgb,var(--teal) 24%,var(--hair));background:#0a1010;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.45),0 18px 44px rgba(3,18,16,.5),0 0 0 1px rgba(73,237,218,.03);animation:v151-rise .55s var(--ease-out) both;
  transition:transform .2s var(--ease-out),border-color .25s var(--ease-out)}
.home-rooms .room-grid>.room-card-home:nth-child(2){animation-delay:.07s}.home-rooms .room-grid>.room-card-home:nth-child(3){animation-delay:.14s}
.home-rooms .room-card-home:hover{background:#0a1010;border-color:color-mix(in srgb,var(--teal) 55%,var(--line));transform:translateY(-2px)}
.home-rooms .room-card-home:active{transform:scale(.99)}
.home-rooms .room-card-home:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.home-rooms .rc-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.home-rooms .rc-aurora{position:absolute;inset:-30%;background:radial-gradient(42% 46% at 16% 26%,color-mix(in srgb,var(--teal) 32%,transparent),transparent 70%),radial-gradient(40% 44% at 90% 14%,color-mix(in srgb,var(--pink) 24%,transparent),transparent 70%),radial-gradient(46% 50% at 74% 96%,color-mix(in srgb,var(--orange) 20%,transparent),transparent 72%);filter:saturate(1.15);animation:v151-drift 16s ease-in-out infinite alternate;will-change:transform}
.home-rooms .rc-grid{position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(80% 95% at 80% 25%,#000,transparent 78%);mask-image:radial-gradient(80% 95% at 80% 25%,#000,transparent 78%)}
.home-rooms .rc-grain{position:absolute;inset:0;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
/* the bubble: one large outline of the Rooms glyph bleeding off the top-right, behind the copy */
.home-rooms .room-card-home::after{content:"";position:absolute;z-index:-1;right:-26px;top:34px;width:172px;height:172px;pointer-events:none;opacity:.13;transform:rotate(8deg);
  background:linear-gradient(160deg,var(--teal),var(--pink));-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='.55' stroke-linejoin='round' stroke-linecap='round'><path d='M4 5h16v11H10l-5 4v-4H4zM8 9h8M8 12h5'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='.55' stroke-linejoin='round' stroke-linecap='round'><path d='M4 5h16v11H10l-5 4v-4H4zM8 9h8M8 12h5'/></svg>") center/contain no-repeat}
.home-rooms .room-card-home .room-card-head{justify-content:flex-start;gap:10px;flex-wrap:wrap}
.home-rooms .hr-chip{flex:none;min-width:0;min-height:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid color-mix(in srgb,var(--teal) 40%,var(--hair));background:color-mix(in srgb,var(--teal) 12%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.home-rooms .hr-chip svg{width:16px;height:16px;fill:none;stroke:var(--teal);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.home-rooms .hr-live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;min-width:0;font-size:var(--fs-label);font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.home-rooms .hr-live i{position:relative;flex:none;width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--muted) 70%,transparent)}
.home-rooms .hr-live.on{color:var(--teal)}
.home-rooms .hr-live.on i{background:var(--teal);box-shadow:0 0 8px color-mix(in srgb,var(--teal) 70%,transparent)}
.home-rooms .hr-live.on i::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--teal);animation:hr-ping 2s var(--ease-out) infinite}
.home-rooms .hr-live.new{color:var(--pink)}.home-rooms .hr-live.new i{background:var(--pink)}
.home-rooms .room-card-home h3{margin:16px 0 6px;font-family:var(--display);font-weight:400;font-size:clamp(30px,8.4vw,38px);line-height:1;letter-spacing:.005em;text-transform:uppercase;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.home-rooms .room-card-home p{margin:0 0 12px;max-width:34ch;line-height:1.4;color:color-mix(in srgb,var(--text) 72%,var(--muted))}
.home-rooms .hr-by{display:flex;align-items:center;gap:10px;min-width:0;font-size:var(--fs-sm);color:color-mix(in srgb,var(--muted) 88%,transparent)}
.home-rooms .hr-by>span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-rooms .hr-status{flex:none;font-size:var(--fs-label);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.home-rooms .hr-status.teal{color:var(--teal)}.home-rooms .hr-status.orange{color:var(--orange)}.home-rooms .hr-status.danger{color:var(--pink)}
.home-rooms .hr-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--hair)}
.home-rooms .hr-people{display:inline-flex;align-items:center;gap:10px;min-width:0}
.home-rooms .hr-avs{display:inline-flex;flex:none}
.home-rooms .hr-av{--c:var(--teal);flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:-8px;border-radius:50%;font-style:normal;font-size:var(--fs-label);font-weight:800;color:#06100f;background:radial-gradient(90% 90% at 30% 20%,color-mix(in srgb,var(--c) 85%,#fff),var(--c));border:2px solid #0a1010;box-shadow:0 1px 2px rgba(0,0,0,.4)}
.home-rooms .hr-av:first-child{margin-left:0}
.home-rooms .hr-av[style*="--k:1"]{--c:var(--pink)}.home-rooms .hr-av[style*="--k:2"]{--c:var(--orange)}.home-rooms .hr-av[style*="--k:3"]{--c:#b9c7c2}
.home-rooms .hr-av{overflow:hidden}
.home-rooms .hr-av:not(:first-child)::before{content:"";width:100%;height:100%;background:radial-gradient(circle at 50% 36%,rgba(6,16,15,.62) 0 3.4px,transparent 3.9px),radial-gradient(ellipse 8px 6px at 50% 104%,rgba(6,16,15,.62) 0 5.5px,transparent 6.2px)}
.home-rooms .hr-count{font-size:var(--fs-sm);font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.home-rooms .hr-cta{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);padding:0 16px 0 18px;border-radius:999px;font-size:var(--fs-label-l);font-weight:800;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;color:#04100e;background:linear-gradient(180deg,color-mix(in srgb,var(--teal) 92%,#fff),var(--teal));box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 6px 18px color-mix(in srgb,var(--teal) 28%,transparent);transition:transform .2s var(--ease-out)}
.home-rooms .hr-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .3s var(--ease-out)}
.home-rooms .room-card-home:hover .hr-cta svg{transform:translateX(4px)}
.home-rooms .room-card-home:active .hr-cta{transform:scale(.97)}
@keyframes hr-ping{from{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}
@media(max-width:360px){.home-rooms .hr-foot{flex-wrap:wrap}.home-rooms .hr-cta{width:100%;justify-content:center}.home-rooms .hr-live{margin-left:0}}
@media(prefers-reduced-motion:reduce){.home-rooms .rc-aurora{animation:none}.home-rooms .hr-live.on i::after{animation:none;opacity:0}}
/* v1.5.5: chat space + full screen.
   Phones: the message list gets the whole screen between the app header and the tab bar (a compact one-line head, slim bubbles, a slim composer),
   so ~10+ short messages fit on a 390x844 phone instead of 2-3. Full screen hides the app chrome and pins the chat to the visual viewport. */
.room-full-exit{display:none}
.room-full-toggle{flex:none;min-height:var(--tap);min-width:var(--tap);padding:0 10px;color:var(--chat-muted)}.room-full-toggle svg{width:20px;height:20px}
.room-full-toggle[aria-pressed=true]{color:var(--teal);border-color:color-mix(in srgb,var(--teal) 55%,var(--line))}
.room-messages{overscroll-behavior:contain}
/* The delete X floats in the bubble corner (it used to stretch the meta row to 44px); its tap area is still >=44px via ::after. */
.room-chat .room-msg{position:relative}.room-chat .room-msg-delete{position:absolute;top:3px;right:4px;margin:0;min-height:0;min-width:0;padding:4px}.room-chat .room-msg-delete::after{content:"";position:absolute;inset:-14px -10px -14px -14px}
.room-msg-meta{min-height:0}.room-msg-meta b,.room-msg-meta time{line-height:18px}
@media(max-width:700px){
  .page:has(.room-layout){padding-top:6px}
  .room-back{display:none}
  .room-chat{height:calc(100dvh - 69px - var(--safe-t) - 6px - var(--nav-h) - 6px);min-height:320px}
  .room-head{align-items:center;padding:2px 6px 2px 14px;min-height:48px;gap:6px}
  .room-head>div{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
  .room-head .row{display:contents}.room-head .row>.tag{display:none}
  .room-head h2{order:0;margin:0;font-size:25px;line-height:1.1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal}
  .room-head .room-live{order:1;flex:none;font-size:11px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
  .room-head p{display:none}
  .room-messages{padding:8px 10px 8px;gap:3px}
  .room-chat .room-msg{grid-template-columns:28px minmax(0,1fr);gap:8px;padding:4px 10px 5px 8px;max-width:100%;position:relative}
  .room-chat .room-msg .avatar{width:28px;height:28px;font-size:13px;margin-top:1px}
  .room-msg-meta{gap:8px;line-height:1.15;min-height:0}.room-msg-meta b{font-size:14px}.room-msg-meta time{font-size:12px}
  .room-msg-body{margin:1px 0 0;font-size:15px;line-height:1.3}
  .room-msg-meta b,.room-msg-meta time{line-height:16px}
  .room-sticker{width:96px;height:96px;margin-top:2px}
  .room-composer{padding:8px 10px;gap:6px}
  .room-composer button,.room-sticker-open,.room-tag-open,.room-photo-pick{min-height:var(--tap);min-width:var(--tap);padding:0 10px}
  .room-composer textarea{min-height:var(--tap);padding-top:10px;padding-bottom:10px}
  .room-send{min-width:var(--tap);padding:0 10px}
}
@media(max-width:380px){.room-chat{height:calc(100dvh - 69px - var(--safe-t) - 6px - var(--nav-h) - 6px);min-height:320px}.room-head{padding:2px 6px 2px 12px}.room-head h2{font-size:22px}.room-composer{grid-template-columns:var(--tap) var(--tap) minmax(0,1fr)}}

@media(min-width:1001px){.room-chat{height:min(calc(100dvh - 230px),860px);min-height:460px}.room-head{padding:14px 24px 12px}.room-head h2{margin:8px 0 2px}}
/* Full screen: app header, tab bar, back row and member list are hidden; the chat fills the visual viewport (100dvh; shrinks above the keyboard). */
body.room-full{overflow:hidden;overscroll-behavior:none}
body.room-full .app-header,body.room-full .bottom-nav,body.room-full .room-back,body.room-full .room-side{display:none}
body.room-full .page{padding:0;animation:none;transform:none;opacity:1}
body.room-full .room-layout{display:block}
body.room-full .room-chat{position:fixed;left:0;right:0;top:var(--vv-top,0px);height:var(--vv-h,100dvh);min-height:0;z-index:60;border:0;border-radius:0;box-shadow:none;animation:v155-full .22s var(--ease-out,cubic-bezier(.23,1,.32,1))}
body.room-full .room-head{padding:calc(2px + var(--safe-t)) max(6px,var(--safe-r)) 2px max(6px,var(--safe-l))}
body.room-full .room-full-exit{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:var(--tap);min-width:var(--tap);padding:0 10px}
body.room-full .room-composer{padding-bottom:calc(8px + var(--safe-b));padding-left:max(10px,var(--safe-l));padding-right:max(10px,var(--safe-r))}
body.room-full .room-messages{padding-left:max(10px,var(--safe-l));padding-right:max(10px,var(--safe-r))}
@media(min-width:701px){body.room-full .room-head{padding-left:max(24px,calc((100% - 880px)/2));padding-right:max(24px,calc((100% - 880px)/2))}
  body.room-full .room-messages{padding:22px max(24px,calc((100% - 880px)/2)) 14px}
  body.room-full .room-composer{padding-left:max(24px,calc((100% - 880px)/2));padding-right:max(24px,calc((100% - 880px)/2))}}
@keyframes v155-full{from{opacity:.0;transform:scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){body.room-full .room-chat{animation:none}}

/* v1.5.6: Rooms tab + Home Fit Agent card, in the Home Rooms / calendar card family.
   The Rooms tab wraps in .home-rooms.rooms-tab so the Home card styling applies to every room card; everything new is scoped to .rooms-tab or .fit-card. */
.rooms-tab .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rooms-tab .rt-hero{position:relative;isolation:isolate;overflow:hidden;margin:0 0 6px;padding:22px 20px 18px;border-radius:4px;border:1px solid color-mix(in srgb,var(--teal) 26%,var(--hair));background:#0a1010;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.45),0 18px 44px rgba(3,18,16,.5);animation:v151-rise .55s var(--ease-out) both}
.rooms-tab .rt-hero::after{content:"";position:absolute;z-index:-1;right:-34px;top:-8px;width:200px;height:200px;pointer-events:none;opacity:.14;transform:rotate(8deg);
  background:linear-gradient(160deg,var(--teal),var(--pink));-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='.5' stroke-linejoin='round' stroke-linecap='round'><path d='M4 5h16v11H10l-5 4v-4H4zM8 9h8M8 12h5'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='.5' stroke-linejoin='round' stroke-linecap='round'><path d='M4 5h16v11H10l-5 4v-4H4zM8 9h8M8 12h5'/></svg>") center/contain no-repeat}
.rooms-tab .rt-hero .eyebrow{display:block;margin-bottom:10px;color:color-mix(in srgb,var(--text) 72%,var(--teal))}
.rooms-tab .rt-hero h1{margin:0 0 10px;font-family:var(--display);font-weight:400;font-size:clamp(46px,14vw,64px);line-height:.95;letter-spacing:.005em;text-transform:uppercase;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.rooms-tab .rt-hero p{margin:0 0 16px;max-width:36ch;font-size:var(--fs-sm);line-height:1.45;color:color-mix(in srgb,var(--text) 72%,var(--muted));text-wrap:pretty}
.rooms-tab .rt-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 16px;border:1px solid var(--hair);border-radius:4px;background:color-mix(in srgb,#060a0a 60%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.rooms-tab .rt-stat{display:flex;flex-direction:column;gap:3px;padding:10px 12px;min-width:0;font-variant-numeric:tabular-nums}
.rooms-tab .rt-stat+.rt-stat{border-left:1px solid var(--hair)}
.rooms-tab .rt-stat strong{font-size:24px;font-weight:800;line-height:1;color:var(--teal)}
.rooms-tab .rt-stat:nth-child(2) strong{color:var(--pink)}.rooms-tab .rt-stat:nth-child(3) strong{color:var(--orange)}
.rooms-tab .rt-stat span{font-size:var(--fs-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.2}
.rooms-tab .rt-actions{display:flex;flex-wrap:wrap;gap:10px}
.rooms-tab .rt-actions .primary{flex:1 1 150px;justify-content:center;min-height:var(--tap);font-weight:800;letter-spacing:.07em;text-transform:uppercase;font-size:var(--fs-label-l);color:#04100e;border-color:var(--teal);background:linear-gradient(180deg,color-mix(in srgb,var(--teal) 92%,#fff),var(--teal));box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 6px 18px color-mix(in srgb,var(--teal) 28%,transparent);transition:transform .2s var(--ease-out)}
.rooms-tab .rt-actions .primary:active{transform:scale(.98)}
.rooms-tab .rt-actions .primary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2}
.rooms-tab .rt-actions button:not(.primary){flex:1 1 150px;min-height:var(--tap);background:color-mix(in srgb,var(--text) 4%,transparent);border-color:var(--line);transition:transform .2s var(--ease-out),border-color .2s var(--ease-out)}
.rooms-tab .rt-actions button:not(.primary):hover{border-color:color-mix(in srgb,var(--teal) 55%,var(--line))}
.rooms-tab .rt-actions button:not(.primary):active{transform:scale(.98)}
.rooms-tab .rt-actions button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.rooms-tab .room-group{margin:30px 0 14px;align-items:center}
.rooms-tab .room-group h2{margin:0}
.rooms-tab .rt-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 9px;border-radius:14px;font-size:var(--fs-label-l);font-weight:800;font-variant-numeric:tabular-nums;color:var(--teal);border:1px solid color-mix(in srgb,var(--teal) 40%,var(--hair));background:color-mix(in srgb,var(--teal) 10%,transparent)}
.rooms-tab .room-grid{gap:14px}
.rooms-tab .room-grid>.room-card-home:nth-child(n+4){animation-delay:.18s}
.rooms-tab .room-grid>.room-card-home:nth-child(even) .rc-aurora{scale:-1 1}
.rooms-tab .empty{position:relative;overflow:hidden;margin-top:18px;border:1px dashed color-mix(in srgb,var(--teal) 34%,var(--line));border-radius:4px;background:radial-gradient(70% 90% at 15% 0%,color-mix(in srgb,var(--teal) 14%,transparent),transparent 70%),radial-gradient(60% 80% at 100% 100%,color-mix(in srgb,var(--pink) 10%,transparent),transparent 70%),#0a1010}
/* loading skeleton: opacity pulse only */
.rooms-tab .rt-skel{display:flex;flex-direction:column;gap:12px;padding:22px 20px;border-radius:4px;border:1px solid var(--hair);background:#0a1010;min-height:140px}
.rooms-tab .room-card-home.rt-skel{min-height:200px;animation:none}
.rooms-tab .rt-skel i{display:block;height:14px;border-radius:3px;background:color-mix(in srgb,var(--text) 9%,transparent);animation:rt-pulse 1.4s ease-in-out infinite alternate}
.rooms-tab .rt-skel i:nth-of-type(1){width:34%}.rooms-tab .rt-skel i:nth-of-type(2){width:72%;height:26px}.rooms-tab .rt-skel i:nth-of-type(3){width:52%}
@keyframes rt-pulse{from{opacity:.45}to{opacity:1}}
@media(max-width:360px){.rooms-tab .rt-hero{padding:18px 16px 16px}.rooms-tab .rt-stat{padding:9px 8px}.rooms-tab .rt-stat span{font-size:11px;letter-spacing:.03em}}
@media(min-width:701px){.rooms-tab .rt-hero{padding:30px 32px 26px}.rooms-tab .rt-hero p{max-width:56ch}.rooms-tab .rt-stats{max-width:440px}.rooms-tab .rt-actions .primary,.rooms-tab .rt-actions button:not(.primary){flex:0 0 auto;min-width:180px}}
@media(prefers-reduced-motion:reduce){.rooms-tab .rt-hero{animation:none}.rooms-tab .rt-skel i{animation:none}.rooms-tab .rt-actions button{transition:none}}

/* Home Fit Agent card: the same layered family, title only */
.match-banner.fit-card{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:14px;min-height:88px;margin:22px 0 30px;padding:16px 16px 16px 18px;border-radius:4px;border:1px solid color-mix(in srgb,var(--teal) 24%,var(--hair));background:#0a1010;text-align:left;color:var(--text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.45),0 18px 44px rgba(3,18,16,.5);animation:v151-rise .6s .08s var(--ease-out) both;transition:transform .2s var(--ease-out),border-color .25s var(--ease-out)}
.match-banner.fit-card:hover{border-color:color-mix(in srgb,var(--teal) 55%,var(--line));transform:translateY(-2px)}
.match-banner.fit-card:active{transform:scale(.99)}
.match-banner.fit-card:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.fit-card .fc-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.fit-card .fc-aurora{position:absolute;inset:-40%;background:radial-gradient(36% 50% at 10% 50%,color-mix(in srgb,var(--teal) 30%,transparent),transparent 70%),radial-gradient(34% 46% at 62% 6%,color-mix(in srgb,var(--pink) 22%,transparent),transparent 70%),radial-gradient(40% 52% at 96% 100%,color-mix(in srgb,var(--orange) 22%,transparent),transparent 72%);filter:saturate(1.15);animation:v151-drift 16s ease-in-out infinite alternate;will-change:transform}
.fit-card .fc-grid{position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(80% 140% at 85% 30%,#000,transparent 78%);mask-image:radial-gradient(80% 140% at 85% 30%,#000,transparent 78%)}
.fit-card .fc-grain{position:absolute;inset:0;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
@media(prefers-reduced-motion:reduce){.fit-card .fc-aurora{animation:none}.match-banner.fit-card{animation:none;transition:none}}
.rooms-tab .rt-actions button:not(.primary){font-size:var(--fs-cap);padding-left:10px;padding-right:10px;white-space:nowrap}

/* v1.5.8: the notification permission sheet (v1.6.1: the Home card itself is back to the original calendar design; alarms only choose which pairs it shows). */
@keyframes v158-sheet{from{opacity:0;transform:translate3d(0,24px,0)}}
@media(prefers-reduced-motion:reduce){.alarm-sheet .as-card{animation:none!important}}
.alarm-sheet{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}
.alarm-sheet .as-scrim{position:absolute;inset:0;background:rgba(4,6,6,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.alarm-sheet .as-card{position:relative;width:min(100%,460px);margin:0 8px calc(8px + var(--safe-b));padding:24px 20px 14px;border:1px solid var(--hair);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--teal) 10%,#101616),#0b1111 60%);box-shadow:0 30px 80px rgba(0,0,0,.6);text-align:center;animation:v158-sheet .35s var(--ease-out) both}
.alarm-sheet .as-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:color-mix(in srgb,var(--teal) 16%,transparent);border:1px solid color-mix(in srgb,var(--teal) 45%,transparent);color:var(--teal)}
.alarm-sheet .as-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.alarm-sheet h2{margin:0 0 8px;font-family:var(--display);font-weight:400;font-size:24px;letter-spacing:.01em;text-transform:uppercase;text-wrap:balance}
.alarm-sheet p{margin:0 0 18px;font-size:var(--fs-sm);line-height:1.45;color:var(--muted);text-wrap:balance}
.alarm-sheet button.wide{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px}
.alarm-sheet button.subtle{margin-top:4px;background:transparent;border:0;color:var(--muted)}

/* v1.5.9: "New messages" button shown when a message arrives while the reader has scrolled up (their place is kept). */
.room-new-msgs{position:absolute;left:50%;transform:translateX(-50%);bottom:84px;z-index:5;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--teal) 55%,transparent);background:color-mix(in srgb,var(--panel) 92%,transparent);color:var(--text);font-size:var(--fs-sm,13px);font-weight:600;box-shadow:0 6px 22px rgba(0,0,0,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:v159-pill .18s ease-out}
.room-new-msgs[hidden]{display:none}
.room-new-msgs svg{width:16px;height:16px;transform:rotate(90deg)}
@keyframes v159-pill{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.room-new-msgs{animation:none}}

/* ===== v1.6.0 chat composer: a roomy, auto-growing box (about 5 lines) ===== */
.room-composer textarea{min-height:48px;max-height:calc(5 * 1.4em + 26px);padding:12px 14px;line-height:1.4;border-radius:14px;overflow-y:hidden;resize:none;text-overflow:clip}
body .room-composer textarea{font-size:max(16px,var(--fs-body))!important}
@media(max-width:700px){
  .room-composer{grid-template-columns:var(--tap) var(--tap) var(--tap) minmax(0,1fr);gap:8px;align-items:center}
  .room-composer textarea{grid-column:1/-1;grid-row:1;min-height:52px}
  .room-composer .room-sticker-open{grid-column:1;grid-row:2}
  .room-composer .room-tag-open{grid-column:2;grid-row:2}
  .room-composer .room-photo-pick{grid-column:3;grid-row:2}
  .room-composer .room-send{grid-column:4;grid-row:2;justify-self:end;min-width:112px;min-height:var(--tap);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px}
  .room-composer .room-send svg{display:block;width:20px;height:20px}
  .room-composer .room-send span{display:inline}
  .room-composer:has(.room-tag-tray:not([hidden])) .room-tag-tray{grid-row:1}
  .room-composer:has(.room-tag-tray:not([hidden])) textarea{grid-row:2}
  .room-composer:has(.room-tag-tray:not([hidden])) .room-sticker-open,
  .room-composer:has(.room-tag-tray:not([hidden])) .room-tag-open,
  .room-composer:has(.room-tag-tray:not([hidden])) .room-photo-pick,
  .room-composer:has(.room-tag-tray:not([hidden])) .room-send{grid-row:3}
}

/* ===== v1.6.0 profiles + ISO ===== */
.name-link{display:inline;min-height:0;min-width:0;padding:0;margin:0;border:0;background:none;color:inherit;font:inherit;font-weight:inherit;text-align:left;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;cursor:pointer;border-radius:3px;transition:text-decoration-color .15s}
.name-link:hover,.name-link:focus-visible{text-decoration-color:currentColor;background:none}
.name-link:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.name-link.msg-name{font-weight:700;color:var(--pink)}
.name-link.inline{color:var(--teal);font-weight:700}
button.name-link-av{border:0;cursor:pointer;padding:0;font:inherit;position:relative}
button.name-link-av:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
button.name-link-av::after{content:"";position:absolute;inset:-4px}
button.tag.handle-tag.name-link{display:inline-flex;min-height:36px;padding:4px 12px;text-decoration:none;background:#142c27;color:var(--teal);border:1px solid #31574b;border-radius:999px;font-size:var(--fs-cap);cursor:pointer}
button.tag.handle-tag.name-link:hover{border-color:var(--teal);background:#1a3a33}
.room-people .name-link{min-height:var(--tap);display:inline-flex;align-items:center}

.pf-loading{padding:36px 0}
.pf-head{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.pf-avatar{width:68px;height:68px;font-size:30px;font-family:var(--display);color:var(--pink);background:var(--panel2);border:2px solid color-mix(in srgb,var(--pink) 55%,var(--line));flex:none}
.pf-id{min-width:0;display:grid;gap:3px}
.pf-id h3{margin:0;font-family:var(--display);font-size:26px;line-height:1.1;overflow-wrap:anywhere}
.pf-id small,.pf-counts{color:var(--muted);font-size:var(--fs-cap)}
.pf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.pf-stats-one{grid-template-columns:1fr}
.pf-stat{display:grid;gap:2px;justify-items:center;padding:12px 6px;background:var(--panel2);border:1px solid var(--line);border-radius:6px;text-align:center}
.pf-stat strong{font-family:var(--display);font-size:28px;line-height:1;color:var(--teal)}
.pf-stat:last-child strong{color:var(--orange)}
.pf-stat span{font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pf-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.pf-actions>*{flex:1 1 140px;min-height:var(--tap);display:inline-flex;align-items:center;justify-content:center;text-align:center}
.pf-link{padding:0 16px;border:1px solid var(--line);border-radius:4px;color:var(--text);text-decoration:none;font-weight:700;font-size:var(--fs-sm)}
.pf-link:hover{border-color:var(--teal);color:var(--teal)}
.pf-private{display:grid;gap:4px;margin:0 0 16px;padding:14px 16px;border:1px dashed var(--line);border-radius:6px;background:color-mix(in srgb,var(--panel2) 70%,transparent)}
.pf-private span{color:var(--muted);font-size:var(--fs-cap)}
.pf-section{display:grid;gap:10px;margin:0 0 18px}
.pf-section .row.spread{align-items:center}
.pf-favs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pf-favs li{display:grid;gap:4px;min-width:0}
.pf-fav-photo{aspect-ratio:1;background:#0e1512;border:1px solid #283c32;border-radius:4px;display:grid;place-items:center;overflow:hidden}
.pf-fav-photo img{width:100%;height:100%;object-fit:contain}
.pf-favs small{font-size:var(--fs-label);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-more,.pf-empty{color:var(--muted);font-size:var(--fs-cap);margin:0}

.iso-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.iso-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 12px;align-items:center;padding:10px;background:var(--panel2);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:6px}
.iso-row.is-found{border-left-color:var(--teal);opacity:.78}
.iso-thumb{width:56px;height:56px;display:grid;place-items:center;background:#0e1512;border:1px solid #283c32;border-radius:4px;overflow:hidden}
.iso-thumb img{width:100%;height:100%;object-fit:contain}
.iso-thumb.big{width:72px;height:72px}
.iso-ph{display:grid;place-items:center;color:var(--orange)}
.iso-ph svg{width:22px;height:22px}
.iso-main{display:grid;gap:2px;min-width:0}
.iso-main b{font-size:var(--fs-sm);overflow-wrap:anywhere}
.iso-main small{color:var(--muted);font-size:var(--fs-cap);overflow-wrap:anywhere}
.iso-main .iso-notes{color:var(--text);opacity:.8;font-style:italic}
.iso-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.iso-actions>button{flex:1 1 90px;min-height:var(--tap);display:inline-flex;align-items:center;justify-content:center;gap:6px}
.iso-actions svg{width:18px;height:18px}
.iso-disclaimer,.iso-rule{color:var(--muted);font-size:var(--fs-cap);line-height:1.4;margin:6px 0 0}
.iso-rule{margin:0 0 14px;padding:10px 12px;border-left:3px solid var(--orange);background:color-mix(in srgb,var(--orange) 8%,transparent);border-radius:0 4px 4px 0}
.iso-tabs{margin-bottom:14px}
.iso-search{gap:8px;margin-bottom:12px;flex-wrap:nowrap}
.iso-search input{flex:1;min-width:0;margin:0}
.iso-search button{min-height:var(--tap)}
.iso-found-box{margin-top:18px}
.iso-found-box summary{min-height:var(--tap);display:flex;align-items:center;cursor:pointer;color:var(--muted);font-weight:700}
.iso-prefill{gap:14px;align-items:center;padding:10px;background:var(--panel2);border:1px solid var(--line);border-radius:6px}
.iso-prefill p{margin:0;font-size:var(--fs-sm)}
.iso-size{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.iso-public{margin-top:28px}
.shoe-tile .iso-chip{position:absolute;left:10px;top:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;min-height:36px;min-width:44px;padding:0 12px;border-radius:999px;background:#0b1111eb;border:1px solid color-mix(in srgb,var(--orange) 60%,var(--line));color:var(--orange);font-size:var(--fs-label);font-weight:800;letter-spacing:.08em;cursor:pointer}
.shoe-tile .iso-chip svg{width:16px;height:16px}
.shoe-tile .iso-chip:hover{background:var(--orange);color:#1a0d05}
.iso-inline{display:block;margin:4px 0 10px;min-height:var(--tap);color:var(--orange)}
.rc .rc-iso{margin-top:10px;width:100%;border-color:color-mix(in srgb,var(--orange) 50%,var(--line));color:var(--orange)}
.rc .rc-iso svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.iso-public ul{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}
@media(prefers-reduced-motion:reduce){.name-link{transition:none}}
.import-top .it-go:focus-visible{outline:2px solid var(--teal);outline-offset:2px}

/* v1.6.1: Vault filter bar, quiet accents, and the lively Fit Agent page.
   Teal stays the primary; pink (the heart) and orange (In search of) are used as small hints. */
.vault-bar{margin:6px 0 16px;display:grid;gap:10px}
.vb-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.vb-top .result-count{margin:0;min-width:0;overflow-wrap:anywhere}
.vb-top .vb-reset{flex:none;min-height:36px;padding:6px 10px;font-size:var(--fs-cap)}
.vb-chips{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.vb-chip{--c:var(--teal);display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--tap);padding:0 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 28%,var(--line));background:color-mix(in srgb,var(--c) 5%,transparent);color:var(--text);font-size:var(--fs-sm);font-weight:700;letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:transform .18s var(--ease-out),background .18s,border-color .18s,box-shadow .18s}
.vb-chip svg{width:17px;height:17px;flex:none;color:var(--c);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vb-chip:hover{background:color-mix(in srgb,var(--c) 16%,transparent);border-color:color-mix(in srgb,var(--c) 70%,var(--line))}
.vb-chip:active{transform:scale(.97)}
.vb-chip:focus-visible{outline:2px solid var(--c);outline-offset:2px}
.vb-fav{--c:var(--pink)}
.vb-iso{--c:var(--orange)}
.vb-fav[aria-pressed="true"]{background:var(--pink);border-color:var(--pink);color:#2a0a1b;box-shadow:0 0 18px color-mix(in srgb,var(--pink) 40%,transparent)}
.vb-fav[aria-pressed="true"] svg{fill:currentColor}
@media(max-width:380px){.vb-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.vb-chip{padding:0 6px;gap:5px;font-size:var(--fs-cap)}.vb-chip svg{width:15px;height:15px}}

/* v1.6.2: back to the v1.6.0 look. Colour is a quiet hint in only a few chosen places: the pink notification dot, the pink
   heart/Favorites chip, the orange In-search-of chip, and the small ON SALE tag. Everything else stays teal on dark. */
.bell-badge{background:var(--pink)}

/* ===== Fit Agent ===== */
.fit-stage{position:relative;isolation:isolate;padding-bottom:8px}
.fx-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict}
.fx-aurora{position:absolute;inset:-30%;background:radial-gradient(38% 34% at 14% 10%,color-mix(in srgb,var(--teal) 22%,transparent),transparent 70%),radial-gradient(34% 30% at 90% 22%,color-mix(in srgb,var(--teal) 18%,transparent),transparent 70%),radial-gradient(36% 30% at 50% 70%,color-mix(in srgb,var(--teal) 10%,transparent),transparent 72%);animation:v161-drift 18s ease-in-out infinite alternate;will-change:transform}
.fx-grid{position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--text) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 5%,transparent) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(70% 55% at 50% 18%,#000,transparent 80%);mask-image:radial-gradient(70% 55% at 50% 18%,#000,transparent 80%)}
.fx-grain{position:absolute;inset:0;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
@keyframes v161-drift{from{transform:translate3d(-3%,-2%,0) scale(1)}to{transform:translate3d(3%,3%,0) scale(1.08)}}
.fit-hero{position:relative;padding:8px 0 4px;animation:v161-rise .7s var(--ease-out) both}
.fit-hero .eyebrow{background:linear-gradient(90deg,var(--teal),var(--teal));-webkit-background-clip:text;background-clip:text;color:transparent}
.fit-hero h1{font-size:clamp(44px,13vw,72px);line-height:.95;margin:6px 0 10px;background:linear-gradient(100deg,var(--text) 30%,var(--teal) 70%,var(--teal));background-size:160% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:v161-sheen-text 7s ease-in-out infinite alternate}
@keyframes v161-sheen-text{from{background-position:0 0}to{background-position:100% 0}}
.fit-hero p{max-width:30em;color:color-mix(in srgb,var(--text) 78%,var(--muted))}
.fx-orbs{position:absolute;right:-6px;top:0;width:96px;height:96px;pointer-events:none;opacity:.75}
.fit-hero>:not(.fx-orbs){position:relative;z-index:1}
.fx-orbs i{position:absolute;border-radius:50%;opacity:.9;animation:v161-float 5s ease-in-out infinite alternate}
.fx-orbs i:nth-child(1){width:46px;height:46px;right:30px;top:6px;background:radial-gradient(circle at 30% 30%,#fff8,var(--teal) 40%,transparent 72%)}
.fx-orbs i:nth-child(2){width:30px;height:30px;right:0;top:44px;background:radial-gradient(circle at 30% 30%,#fff8,var(--teal) 40%,transparent 72%);animation-delay:-1.6s}
.fx-orbs i:nth-child(4){width:16px;height:16px;right:84px;top:26px;background:radial-gradient(circle at 30% 30%,#fff8,var(--teal) 40%,transparent 72%);animation-delay:-2.3s}
.fx-orbs i:nth-child(3){width:22px;height:22px;right:58px;top:66px;background:radial-gradient(circle at 30% 30%,#fff8,var(--teal) 40%,transparent 72%);animation-delay:-3.1s}
@keyframes v161-float{from{transform:translate3d(0,-6px,0)}to{transform:translate3d(0,8px,0)}}
@keyframes v161-rise{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
.fit-stage .fit-mode-tabs{gap:8px;border:0;margin:18px 0 16px;padding:5px;border-radius:16px;background:color-mix(in srgb,#000 38%,transparent);border:1px solid var(--hair);flex-wrap:nowrap;animation:v161-rise .7s .08s var(--ease-out) both}
.fit-stage .fit-mode-tabs button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:var(--tap);padding:10px 4px;border:1px solid transparent;border-radius:12px;font-size:var(--fs-cap);font-weight:700;line-height:1.15;text-align:center;color:var(--muted);background:transparent;transition:color .2s,background .25s var(--ease-out),border-color .2s,transform .18s var(--ease-out),box-shadow .25s}
.fit-stage .fit-mode-tabs button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fit-stage .fit-mode-tabs button:active{transform:scale(.97)}
.fit-stage .fit-mode-tabs button.active{border:1px solid color-mix(in srgb,var(--teal) 55%,transparent);border-bottom-width:1px;color:var(--text);background:linear-gradient(160deg,color-mix(in srgb,var(--teal) 16%,transparent),color-mix(in srgb,var(--teal) 12%,transparent));box-shadow:inset 0 1px 0 #ffffff1c}
.fit-stage .fit-mode-tabs button.active svg,.fit-stage .fit-mode-tabs button.active .ft-dots{color:var(--teal)}
.fit-stage .fit-mode-tabs span{display:block;overflow-wrap:anywhere}
.ft-dots{display:inline-flex;align-items:center;height:20px}
.fit-stage .fit-mode-tabs .ft-dots{display:inline-flex}
.ft-dots i{display:block;width:11px;height:11px;border-radius:50%;margin-inline-end:-3px;border:1.5px solid #080b0b}
.ft-dots i:nth-child(1){background:var(--teal)}.ft-dots i:nth-child(2){background:var(--teal)}.ft-dots i:nth-child(3){background:var(--text)}
.fit-stage .fit-builder{position:relative;padding:18px;border-radius:18px;border:1px solid var(--hair);background:linear-gradient(180deg,color-mix(in srgb,#101816 82%,transparent),color-mix(in srgb,#0a0f0e 86%,transparent));backdrop-filter:blur(6px);animation:v161-rise .7s .16s var(--ease-out) both;box-shadow:0 18px 50px #0007}
.fit-stage .fit-builder::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,color-mix(in srgb,var(--teal) 40%,transparent),color-mix(in srgb,var(--teal) 28%,transparent) 40%,transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.fit-swatches,.fit-places{display:flex;gap:8px;margin:2px -18px 12px;padding:2px 18px 6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 28px),transparent)}
.fit-swatches::-webkit-scrollbar,.fit-places::-webkit-scrollbar{display:none}
.fs-chip,.fp-chip{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);padding:0 14px 0 10px;border-radius:999px;border:1px solid var(--hair);background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text);font-size:var(--fs-sm);font-weight:600;text-transform:capitalize;white-space:nowrap;cursor:pointer;transition:transform .2s var(--ease-out),border-color .2s,background .2s,box-shadow .2s}
.fp-chip{padding:0 14px;text-transform:none}
.fs-chip i{width:22px;height:22px;border-radius:50%;background:var(--sw);border:1.5px solid color-mix(in srgb,var(--text) 35%,transparent);box-shadow:inset 0 -3px 5px #0004;transition:transform .25s var(--ease-out)}
.fs-chip:active,.fp-chip:active{transform:scale(.95)}
.fs-chip[aria-pressed="true"]{border-color:var(--sw);background:color-mix(in srgb,var(--sw) 20%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--sw) 38%,transparent)}
.fs-chip[aria-pressed="true"] i{transform:scale(1.15);border-color:var(--text)}
.fp-chip[aria-pressed="true"]{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 16%,transparent);color:var(--text)}
.fs-chip:focus-visible,.fp-chip:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.fit-places{margin-top:-4px}
.fit-stage .fit-go{margin-top:14px}
/* Results reveal */
.fit-stage #fit-results{margin-top:22px}
.fit-loading{position:relative;overflow:hidden}
.fit-loading .fl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;width:100%}
.fit-loading .fl-grid i{display:block;height:150px;border-radius:12px;border:1px solid var(--hair);background:linear-gradient(100deg,#ffffff06 20%,#ffffff14 40%,#ffffff06 60%) 0 0/220% 100%;animation:v161-shimmer 1.4s linear infinite}
.fit-loading .fl-grid i:nth-child(2){animation-delay:-.35s}.fit-loading .fl-grid i:nth-child(3){animation-delay:-.7s}.fit-loading .fl-grid i:nth-child(4){animation-delay:-1.05s}
@keyframes v161-shimmer{from{background-position:120% 0}to{background-position:-100% 0}}
.fit-stage #fit-results.fit-in .section-label{animation:v161-rise .55s var(--ease-out) both}
.fit-stage #fit-results.fit-in .section-label h2{background:linear-gradient(100deg,var(--text),var(--teal));-webkit-background-clip:text;background-clip:text;color:transparent}
.fit-palette{display:flex;gap:6px;margin:4px 0 14px;padding:8px 10px;width:max-content;max-width:100%;border-radius:999px;border:1px solid var(--hair);background:#0008}
.fit-palette i{width:22px;height:22px;border-radius:50%;background:var(--sw);border:1.5px solid color-mix(in srgb,var(--text) 30%,transparent);box-shadow:inset 0 -3px 5px #0004}
.fit-in .fit-palette{animation:v161-rise .5s .1s var(--ease-out) both}
.fit-in .fit-palette i{animation:v161-pop .5s var(--ease-out) both;animation-delay:calc(.15s + var(--i,0)*60ms)}
@keyframes v161-pop{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}
.fit-stage .fit-piece{position:relative;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,#14201d 90%,transparent),#0b1110);transition:transform .25s var(--ease-out),border-color .25s,box-shadow .25s}
.fit-stage .fit-piece::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--teal),transparent 80%);opacity:.8}
.fit-stage .fit-piece.is-anchor{border-color:var(--teal);box-shadow:0 0 24px color-mix(in srgb,var(--teal) 24%,transparent)}
.fit-stage .fit-piece:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--teal) 50%,var(--line));box-shadow:0 14px 34px #0009}
.fit-in .fit-piece{animation:v161-card .7s var(--ease-out) both;animation-delay:calc(.12s + var(--i,0)*85ms)}
.fit-in .fit-piece:nth-child(1){--i:0}.fit-in .fit-piece:nth-child(2){--i:1}.fit-in .fit-piece:nth-child(3){--i:2}.fit-in .fit-piece:nth-child(4){--i:3}.fit-in .fit-piece:nth-child(5){--i:4}.fit-in .fit-piece:nth-child(6){--i:5}.fit-in .fit-piece:nth-child(7){--i:6}.fit-in .fit-piece:nth-child(8){--i:7}
@keyframes v161-card{from{opacity:0;transform:translate3d(0,26px,0) scale(.94) rotate(-1.2deg)}60%{opacity:1}to{opacity:1;transform:none}}
.fit-stage .fit-piece-link img{filter:drop-shadow(0 12px 14px #0008);transition:transform .35s var(--ease-out)}
.fit-stage .fit-piece:hover .fit-piece-link img{transform:scale(1.05) rotate(-2deg)}
.fit-stage .empty{border-radius:16px;border:1px dashed color-mix(in srgb,var(--teal) 28%,var(--line));background:color-mix(in srgb,#0a0f0e 70%,transparent)}
@media(prefers-reduced-motion:reduce){
  .fx-aurora,.fit-hero,.fit-hero h1,.fx-orbs i,.fit-stage .fit-mode-tabs,.fit-stage .fit-builder,.fit-stage .fit-go,.fit-loading .fl-grid i,.fit-in .fit-piece,.fit-in .fit-palette,.fit-in .fit-palette i,.fit-stage #fit-results.fit-in .section-label{animation:none!important}
  .fit-stage .fit-piece,.fit-stage .fit-piece-link img,.fs-chip,.fp-chip,.vb-chip{transition:none}
}

/* v1.6.1: Releases (Discover > Releases) sits in a 1990s sneaker store. Treated like the Rooms chat background:
   bright photo with a slow drift, a faint bg wash, a teal glow top-right and a pink glow bottom-left that breathes. */
.rc-bg.rc-store .rc-photo{inset:-2%;background:url(/assets/sneaker-store.webp) center/cover no-repeat;filter:brightness(1.25) saturate(1.1);animation:room-drift 40s ease-in-out infinite alternate;will-change:transform}
.rc-bg.rc-store .rc-wash{position:absolute;inset:0;background:radial-gradient(70% 45% at 88% 0%,color-mix(in srgb,var(--teal) 12%,transparent),transparent 70%),radial-gradient(55% 45% at 0% 100%,color-mix(in srgb,var(--pink) 6%,transparent),transparent 70%),linear-gradient(165deg,color-mix(in srgb,var(--bg) 30%,transparent) 0%,color-mix(in srgb,var(--bg) 38%,transparent) 45%,color-mix(in srgb,var(--bg) 48%,transparent) 100%);animation:room-glow 9s ease-in-out infinite alternate}
.rc-bg.rc-store .rc-grain{opacity:.05}
@media(prefers-reduced-motion:reduce){.rc-bg.rc-store .rc-photo,.rc-bg.rc-store .rc-wash{animation:none}}
/* v1.6.1: Discover tab row never pushes the page wider than 320px */
.dc-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.dc-row button{min-width:0}
@media(max-width:340px){.dc-row button{letter-spacing:.04em;font-size:var(--fs-cap)}}

/* v1.6.1: Add a pair > Search catalog. The search row fits 320-430px; tabs are a tidy 2x2 segmented grid on phones. */
.catalog-search{flex-wrap:nowrap;gap:8px;align-items:stretch}
.catalog-search input{flex:1 1 0;min-width:0;text-overflow:ellipsis}
.catalog-search button{flex:none;white-space:nowrap;min-height:var(--tap);padding:0 16px}
@media(max-width:340px){.catalog-search button{padding:0 14px}.catalog-search .cs-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}
.add-tabs{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:4px 16px}
@media(max-width:560px){
  .add-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;border:1px solid var(--hair);border-radius:14px;background:color-mix(in srgb,#000 30%,transparent)}
  .add-tabs button{min-height:var(--tap);padding:8px 6px;border:1px solid transparent;border-radius:10px;text-align:center;line-height:1.2}
  .add-tabs button.active{border:1px solid color-mix(in srgb,var(--teal) 55%,transparent);background:color-mix(in srgb,var(--teal) 14%,transparent);color:var(--teal)}
}
.no-match{display:grid;gap:14px;margin-top:18px}
.no-match .nm-head{padding:22px 16px}.no-match .nm-head p{margin:8px auto 0}
.nm-did{margin:0;font-size:var(--fs-sm)}
.nm-did-btn{display:inline;min-height:0;padding:2px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--orange) 55%,transparent);background:color-mix(in srgb,var(--orange) 10%,transparent);color:var(--orange);font-weight:700;overflow-wrap:anywhere;text-align:left}
.nm-title{margin:4px 0 0;font-size:var(--fs-label-l);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.nm-results{margin-top:0}
.nm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nm-act{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:8px 10px;line-height:1.2;text-align:center;color:var(--teal);border-color:color-mix(in srgb,var(--teal) 45%,var(--line));background:color-mix(in srgb,var(--teal) 8%,transparent)}
.nm-act.nm-iso{color:var(--orange);border-color:color-mix(in srgb,var(--orange) 45%,var(--line));background:color-mix(in srgb,var(--orange) 8%,transparent)}
.nm-act svg{width:17px;height:17px}
.nm-tip{margin:0;font-size:var(--fs-cap)}
@media(max-width:380px){.nm-actions{grid-template-columns:1fr}}

/* v1.6.1: the "Notify me when @handle posts" bell next to Follow (pink when on) */
.pf-bell{flex:0 0 auto!important;min-width:var(--tap);gap:8px;padding:0 14px;border-radius:12px;background:transparent;border:1px solid var(--hair);color:var(--muted);transition:background .18s var(--ease-out),border-color .18s var(--ease-out),color .18s var(--ease-out),transform .18s var(--ease-out)}
.pf-bell svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pf-bell:hover{border-color:color-mix(in srgb,var(--pink) 55%,var(--hair));color:var(--pink)}
.pf-bell.is-on{color:#2a0617;border-color:var(--pink);background:linear-gradient(135deg,color-mix(in srgb,var(--pink) 92%,#fff),var(--pink));box-shadow:0 6px 18px color-mix(in srgb,var(--pink) 30%,transparent)}
.pf-bell.is-on svg{fill:currentColor;transform-origin:50% 0;animation:pf-ring .7s var(--ease-out) 1}
.pf-bell-label{font-size:var(--fs-label-l);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
@keyframes pf-ring{0%{transform:rotate(0)}20%{transform:rotate(16deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}100%{transform:rotate(0)}}
@media(prefers-reduced-motion:reduce){.pf-bell.is-on svg{animation:none}}

/* v1.6.1 chat: @mention autocomplete, mention chips, auto-linked URLs */
.room-composer{position:relative}
.mention-pop{position:absolute;left:12px;right:12px;bottom:calc(100% + 8px);z-index:5;display:flex;flex-direction:column;gap:2px;padding:6px;max-height:min(280px,42vh);overflow-y:auto;overscroll-behavior:contain;border:1px solid color-mix(in srgb,var(--teal) 30%,var(--hair));border-radius:16px;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 16px 40px rgba(0,0,0,.45);transform-origin:50% 100%;animation:mention-pop-in .16s var(--ease-out,ease-out)}
.mention-pop[hidden]{display:none}
.mention-opt{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--tap,44px);padding:6px 10px;border:0;border-radius:11px;background:transparent;color:var(--text);text-align:left;font:inherit;cursor:pointer;min-width:0}
.mention-opt .avatar{flex:none}
.mention-opt-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.mention-opt-handle{flex:none;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--teal);font-size:var(--fs-sm)}
.mention-opt:hover,.mention-opt.active{background:color-mix(in srgb,var(--teal) 14%,transparent)}
.mention-opt.active{box-shadow:inset 3px 0 0 var(--teal)}
.mention{display:inline;margin:0;padding:1px 8px 2px;min-height:0;border:1px solid color-mix(in srgb,var(--teal) 38%,transparent);border-radius:999px;background:color-mix(in srgb,var(--teal) 14%,transparent);color:var(--teal);font:inherit;font-weight:700;line-height:1.5;cursor:pointer;overflow-wrap:anywhere;text-align:left;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.mention:hover{background:color-mix(in srgb,var(--teal) 24%,transparent)}
.mention.is-me{border-color:color-mix(in srgb,var(--pink) 50%,transparent);background:color-mix(in srgb,var(--pink) 18%,transparent);color:#fff}
.room-msg.mentions-me{border-left:3px solid var(--pink);background-image:linear-gradient(90deg,color-mix(in srgb,var(--pink) 7%,transparent),transparent 60%)}
.msg-link{color:var(--teal);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--teal) 45%,transparent);text-underline-offset:2px;overflow-wrap:anywhere;word-break:break-word;max-width:100%}
.msg-link:hover{text-decoration-color:var(--teal)}
.room-msg-body{overflow-wrap:anywhere;word-break:break-word;min-width:0}
@keyframes mention-pop-in{from{opacity:0;transform:translate3d(0,8px,0) scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.mention-pop{animation:none}}

/* ===== v1.6.1 chat round-out: reactions, replies, link cards, unread, block/report (pink / orange / teal) ===== */
.room-msg{-webkit-touch-callout:none;transition:transform .18s var(--ease-out,ease-out)}
.room-msg.flash{animation:msg-flash 1.6s var(--ease-out,ease-out)}
@keyframes msg-flash{0%{box-shadow:0 0 0 2px var(--teal),0 0 18px color-mix(in srgb,var(--teal) 40%,transparent)}100%{box-shadow:0 0 0 0 transparent,0 0 0 transparent}}
.room-msg-more{min-width:var(--tap,44px);min-height:var(--tap,44px);margin:-12px -10px -12px 0;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);opacity:.65}
.room-msg-more svg{width:20px;height:20px;fill:currentColor}.room-msg-more:hover,.room-msg-more:focus-visible{opacity:1;color:var(--teal)}
.room-msg-meta .room-msg-more{margin-left:auto}.room-msg-meta .room-msg-more+.room-msg-delete{margin-left:0}
.room-reacts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.room-reacts[hidden],.room-preview[hidden]{display:none}
.room-react{display:inline-flex;align-items:center;gap:5px;min-height:32px;min-width:0;padding:2px 10px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 80%,transparent);color:var(--text);font-size:var(--fs-sm);line-height:1;cursor:pointer;transition:transform .15s var(--ease-out,ease-out),border-color .15s,background .15s}
.room-react span{font-size:15px}.room-react i{font-style:normal;font-weight:700;font-size:var(--fs-cap);color:var(--muted);font-variant-numeric:tabular-nums}
.room-react:hover{border-color:color-mix(in srgb,var(--teal) 60%,transparent)}.room-react:active{transform:scale(.94)}
.room-react.mine{border-color:color-mix(in srgb,var(--teal) 60%,transparent);background:color-mix(in srgb,var(--teal) 14%,transparent)}.room-react.mine i{color:var(--text)}
.room-react-add{padding:2px 12px;font-weight:700;color:var(--muted)}
.room-react::after,.room-react-add::after{content:"";position:absolute;inset:-6px 0}.room-react{position:relative}
.room-menu-react{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:14px}
.room-react-pick{min-height:var(--tap,44px);min-width:0;padding:0;font-size:24px;line-height:1;border-radius:14px;border:1px solid var(--line);background:var(--panel2);cursor:pointer;transition:transform .15s var(--ease-out,ease-out)}
.room-react-pick:active{transform:scale(.9)}.room-react-pick.mine{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 16%,transparent)}
.room-menu-peek{margin:0 0 12px;padding:8px 12px;border-left:3px solid var(--teal);background:color-mix(in srgb,var(--panel2) 70%,transparent);color:var(--muted);font-size:var(--fs-sm);overflow-wrap:anywhere}.room-menu-peek b{color:var(--text)}
.room-menu-list{display:grid;gap:8px}.room-menu-list button{min-height:var(--tap,44px);justify-content:flex-start;text-align:left}
.room-quote{display:flex;flex-direction:column;gap:1px;width:100%;max-width:100%;min-width:0;min-height:0;margin:2px 0 6px;padding:6px 10px;text-align:left;border:0;border-left:3px solid var(--teal);border-radius:3px;background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text);cursor:pointer;font:inherit}
.room-quote b{font-size:var(--fs-cap);color:var(--teal)}.room-quote span{font-size:var(--fs-sm);color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.room-quote:hover{background:color-mix(in srgb,var(--text) 9%,transparent)}.room-quote.is-gone{cursor:default;border-left-color:var(--line);background:transparent;font-style:italic}
.room-reply-bar{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 16px;border-top:1px solid var(--line);border-left:3px solid var(--teal);background:color-mix(in srgb,var(--panel2) 92%,transparent)}
.room-reply-bar[hidden]{display:none}.rrb-text{display:flex;flex-direction:column;min-width:0;flex:1}.rrb-text b{font-size:var(--fs-cap);color:var(--teal)}.rrb-text span{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.room-preview{margin-top:8px;max-width:100%}
.room-link-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:0;align-items:stretch;max-width:380px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel2) 85%,transparent);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s var(--ease-out,ease-out)}
.room-link-card.no-img{grid-template-columns:minmax(0,1fr)}.room-link-card:hover{border-color:color-mix(in srgb,var(--teal) 55%,transparent)}.room-link-card:active{transform:scale(.99)}
.room-link-card img{width:72px;height:100%;min-height:72px;object-fit:cover;display:block;background:var(--panel)}
.room-link-card span{display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 12px;border-left:2px solid var(--teal)}.room-link-card.no-img span{border-left:2px solid var(--teal)}
.room-link-card small{font-size:var(--fs-cap);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.room-link-card b{font-size:var(--fs-sm);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.room-link-card em{font-style:normal;font-size:var(--fs-cap);color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.nav-badge,.room-unread{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--pink);color:#14070d;font:700 11px/1 var(--sans);font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--bg)}
.bottom-nav button{position:relative}.nav-badge{position:absolute;top:4px;left:calc(50% + 6px);animation:badge-pop .35s var(--ease-out,ease-out)}
.room-card{position:relative}.room-unread{position:absolute;top:12px;right:12px;z-index:2;animation:badge-pop .35s var(--ease-out,ease-out)}.hr-by .room-unread,.room-card-foot .room-unread{position:static;margin-left:auto;flex:none}
.room-card:has(.room-unread){border-color:color-mix(in srgb,var(--teal) 35%,var(--line))}
.nav-badge.has-mention,.room-unread.has-mention{background:var(--orange)}
@keyframes badge-pop{from{opacity:0;transform:scale(.4)}60%{transform:scale(1.15)}to{opacity:1;transform:none}}
.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--orange);color:#1c0c04;font:700 11px/1 var(--sans)}
.report-chips{display:flex;flex-wrap:wrap;gap:8px}.report-chip{min-height:var(--tap,44px);min-width:0;padding:0 14px;border-radius:999px}.report-chip.on{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 16%,transparent)}
.report-row{padding:12px 0;border-bottom:1px solid var(--line)}.report-row.done{opacity:.55}.report-row header{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.report-row small{color:var(--muted)}
.report-reason{margin:6px 0;font-weight:600;overflow-wrap:anywhere}.report-row blockquote{margin:6px 0 10px;padding:6px 10px;border-left:3px solid var(--orange);color:var(--muted);font-size:var(--fs-sm);overflow-wrap:anywhere}
.pf-safety{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line)}.pf-safety small{color:var(--muted)}
.pf-block{min-height:var(--tap,44px);color:var(--muted)}.pf-block:not(.is-on):hover{color:var(--pink);border-color:var(--pink)}
.blocked-list small{color:var(--muted)}
@media(max-width:380px){.room-menu-react{gap:4px}.room-link-card{grid-template-columns:60px minmax(0,1fr)}.room-link-card img{width:60px}}
@media(prefers-reduced-motion:reduce){.room-msg.flash,.nav-badge,.room-unread{animation:none}.room-msg,.room-react,.room-react-pick,.room-link-card{transition:none}}

/* ===== v1.6.1 Sales: general-sale link cards ===== */
.sl-card.sl-link{border-color:color-mix(in srgb,var(--teal) 25%,var(--line))}
.sl-link .sl-mono{background:color-mix(in srgb,var(--teal) 14%,transparent);border-color:color-mix(in srgb,var(--teal) 40%,var(--line))}
.sl-gen{display:inline-flex;align-items:center;gap:6px;flex:none;padding:5px 10px;border-radius:999px;font-size:var(--fs-cap);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);border:1px solid color-mix(in srgb,var(--orange) 45%,transparent);background:color-mix(in srgb,var(--orange) 10%,transparent)}
.sl-gen svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sl-gen small{font:inherit}
.sl-linkinfo{display:grid;gap:6px;align-content:start}.sl-linkinfo .sl-name{margin:0;font-size:var(--fs-h3,20px);line-height:1.25;overflow-wrap:anywhere}
.rc a.sl-browse{background:transparent;color:var(--text);border:1px solid color-mix(in srgb,var(--teal) 55%,transparent);box-shadow:none}
.rc a.sl-browse:hover{background:color-mix(in srgb,var(--teal) 14%,transparent)}
.sl-toggle{display:flex;align-items:flex-start;gap:12px;min-height:var(--tap,44px);padding:12px 14px;margin-bottom:6px;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--panel2) 70%,transparent);cursor:pointer}
.sl-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.sl-tg{flex:none;position:relative;width:44px;height:26px;margin-top:2px;border-radius:999px;background:var(--line);transition:background .2s}
.sl-tg::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out,ease-out)}
.sl-toggle input:checked+.sl-tg{background:var(--teal)}.sl-toggle input:checked+.sl-tg::after{transform:translateX(18px)}
.sl-toggle input:focus-visible+.sl-tg{outline:2px solid var(--teal);outline-offset:3px}
.sl-tg-t{display:grid;gap:2px;min-width:0}.sl-tg-t small{color:var(--muted);font-size:var(--fs-sm)}
.sl-kindtag{display:inline-block;padding:2px 8px;border-radius:999px;font-weight:700;color:var(--orange);border:1px solid color-mix(in srgb,var(--orange) 45%,transparent)}
@media(prefers-reduced-motion:reduce){.sl-tg,.sl-tg::after{transition:none}}

/* ===== v1.6.1 Sales page header note + Home "% OFF" stat tag ===== */
.sl-note{margin:14px 0 0;max-width:46ch;color:var(--muted);font-size:var(--fs-sm);line-height:1.45}
/* v1.6.1: "On Sale" is longer than "Sales", so at phone widths the Discover label sits above the three tabs instead of beside them */
@media(max-width:380px){.dc-tabs{flex-direction:column;align-items:stretch;gap:6px}.dc-row button{white-space:nowrap;letter-spacing:.04em;padding:0 2px}}
/* v1.6.1: the delete × sits in the meta row beside the ⋯ menu, instead of floating over it */
.room-chat .room-msg-meta .room-msg-delete{position:relative;margin:0 0 0 2px;padding:4px;opacity:.6}.room-chat .room-msg-meta .room-msg-delete::after{inset:-4px -6px}


/* v1.6.1: keep the Send button clear of the camera button on very narrow phones (3 tools + Send share one row). */
@media(max-width:380px){
  .room-composer .room-send{min-width:0;width:100%;padding:0 12px;gap:6px}
}

/* v1.6.1: the Home stat tile for sales reads "On Sale" and carries a small % OFF tag (pink/orange) so it means store discounts. */
.hc-chip .hc-off{grid-column:2;justify-self:start;margin-top:3px;padding:1px 6px;border-radius:999px;font-style:normal;font-weight:900;font-size:11px;letter-spacing:.06em;line-height:1.5;color:#1a0b10;background:var(--orange)}
.hc-chip:has(.hc-off){grid-template-rows:auto auto auto}.hc-chip:has(.hc-off) strong{grid-row:1/4}
@media(max-width:420px){.hc-chip .hc-off{font-size:11px;padding:1px 5px}}

/* v1.7.1: one fit button (.fit-btn), see the block at the end of this file */
/* v1.6.2: a slow, subtle white light sweep across the Fit Agent / Find a fit / Match a fit buttons and the Home Fit Agent card button. No new colors; transform-only (never touches layout); the sweep sits behind the label and icon (z-index:-1 inside the button's own stacking context, so bare text is never dimmed); off under reduced motion */
/* v1.6.2: the Closet/Vault hero buttons share one readable style (light label on the dark pill), Match a fit included */
/* v1.6.2: keep the Fit Agent tab label inside its button on the narrowest phones */
@media(max-width:360px){.bottom-nav button[data-nav="agent"]{letter-spacing:0;padding-inline:2px;font-size:11px;font-weight:750;flex:1.35 1 0}}

/* ===== v1.6.3 release alarm notifications card (Alerts page) ===== */
.rp-card{margin:0 0 25px;padding:16px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--teal) 7%,var(--panel)),var(--panel));min-width:0}
.rp-card h2{margin:2px 0 8px;font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:.01em;text-transform:uppercase;text-wrap:balance}
.rp-status{margin:0 0 12px;font-size:var(--fs-sm);line-height:1.4;color:var(--muted)}
.rp-status.is-on{color:var(--teal)}
.rp-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--tap);margin:0 0 12px}
.rp-rows{display:grid;gap:8px;margin:0 0 14px}
.rp-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:var(--tap);padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);text-align:left;font:inherit}
.rp-text{display:grid;gap:2px;min-width:0}
.rp-text b{font-size:var(--fs-body);font-weight:600;overflow-wrap:anywhere}
.rp-text small{font-size:var(--fs-cap);color:var(--muted);overflow-wrap:anywhere}
.rp-switch{position:relative;flex:none;width:46px;height:28px;border-radius:999px;background:#33403d;transition:background .2s}
.rp-switch::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s}
.rp-row[aria-checked="true"] .rp-switch{background:var(--teal)}
.rp-row[aria-checked="true"] .rp-switch::after{transform:translateX(18px);background:#04110f}
.rp-row[aria-checked="true"]{border-color:color-mix(in srgb,var(--teal) 45%,var(--line))}
.rp-preview{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid var(--line);margin:0 0 10px}
.rp-app{flex:none;width:28px;height:28px;border-radius:7px;overflow:hidden}
.rp-app img{display:block;width:28px;height:28px}
.rp-msg{display:grid;gap:2px;min-width:0;font-size:var(--fs-cap);line-height:1.3}
.rp-msg small{color:var(--muted);font-size:var(--fs-label-l)}
.rp-msg b{font-size:var(--fs-sm);overflow-wrap:anywhere}
.rp-msg span{color:var(--muted);overflow-wrap:anywhere}
.rp-note{margin:0;font-size:var(--fs-cap);line-height:1.4;color:var(--muted)}
[dir="rtl"] .rp-row{text-align:right}
[dir="rtl"] .rp-switch::after{left:auto;right:3px}
[dir="rtl"] .rp-row[aria-checked="true"] .rp-switch::after{transform:translateX(-18px)}
@media(prefers-reduced-motion:reduce){.rp-switch,.rp-switch::after{transition:none}}

/* v1.6.3 Fit Agent page: a walk-in closet glimpsed behind the page (the Closet hero art, toned right down), warm light at the top, and small pink/orange hints around the teal. Text sits on cards and a heavy dark wash, so it stays readable; nothing here animates (the page already has the aurora drift). */
.fx-closet{position:absolute;inset:0;background:linear-gradient(180deg,#070a09f4 0%,#070a09b2 24%,#070a0994 58%,#070a09ee 100%),url('/assets/closet.webp') 50% 38%/cover no-repeat;opacity:.85;filter:saturate(.9)}
.fx-closet::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 26% at 50% 0%,color-mix(in srgb,var(--orange) 19%,transparent),transparent 72%),radial-gradient(46% 26% at 104% 78%,color-mix(in srgb,var(--pink) 17%,transparent),transparent 72%),radial-gradient(40% 22% at -6% 48%,color-mix(in srgb,var(--orange) 10%,transparent),transparent 72%)}
.fit-hero .eyebrow{background:linear-gradient(90deg,var(--teal) 0 62%,color-mix(in srgb,var(--teal) 45%,var(--pink)) 82%,var(--pink));-webkit-background-clip:text;background-clip:text}
.fit-hero h1{background-image:linear-gradient(100deg,var(--text) 28%,var(--teal) 64%,color-mix(in srgb,var(--teal) 62%,var(--pink)) 100%)}
.fx-orbs i:nth-child(2){background:radial-gradient(circle at 30% 30%,#fff8,var(--pink) 42%,transparent 72%)}
.fx-orbs i:nth-child(3){background:radial-gradient(circle at 30% 30%,#fff8,var(--orange) 42%,transparent 72%)}
.ft-dots i:nth-child(2){background:var(--orange)}.ft-dots i:nth-child(3){background:var(--pink)}
.fit-stage .fit-mode-tabs button[data-mode="photo"].active{border-color:color-mix(in srgb,var(--pink) 60%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--pink) 15%,transparent),color-mix(in srgb,var(--teal) 8%,transparent))}
.fit-stage .fit-mode-tabs button[data-mode="photo"].active svg{color:var(--pink)}
.fit-stage .fit-mode-tabs button[data-mode="piece"].active{border-color:color-mix(in srgb,var(--orange) 60%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--orange) 15%,transparent),color-mix(in srgb,var(--teal) 8%,transparent))}
.fit-stage .fit-mode-tabs button[data-mode="piece"].active svg{color:var(--orange)}
.fit-stage .fit-builder{background:linear-gradient(180deg,color-mix(in srgb,#101816 76%,transparent),color-mix(in srgb,#0a0f0e 82%,transparent))}
.fit-stage .fit-builder::before{background:linear-gradient(135deg,color-mix(in srgb,var(--teal) 46%,transparent),color-mix(in srgb,var(--teal) 24%,transparent) 36%,transparent 58%,color-mix(in srgb,var(--pink) 34%,transparent) 100%)}
.fp-chip[aria-pressed="true"]{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 15%,transparent)}
/* the fixed closet/aurora layer paints over the static header; lift the header above it on this page only */
body:has(.fit-stage) .app-header{position:relative;z-index:2}
/* end v1.6.3 fit-agent */

/* v1.6.4: keep the tab bar pinned on iOS Safari and the home-screen app.
   The bar was position:fixed with backdrop-filter, and the Fit Agent tab runs an infinite translate3d shimmer.
   After the toolbar or keyboard moves the visual viewport, WebKit detaches that fixed layer while the document scrolls, so the bar drifts off the bottom.
   The document no longer scrolls: #app-scroll does. The bar is an in-flow footer of a shell sized to the visual viewport (100dvh until JS measures visualViewport, then the real height and any stuck offsetTop).
   A negative margin lets the page slide under the same frosted bar; the shimmer, colors and safe-area padding are unchanged. */
html:has(#app-scroll){height:100%;overflow:hidden;background:var(--bg)}
html:has(#app-scroll) body{min-height:0;height:var(--shell-h,100dvh);margin-top:var(--shell-top,0px);overflow:hidden}
#root:has(#app-scroll){height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}
#app-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;z-index:0;margin-bottom:calc(-1 * var(--nav-h,0px))}
#root:has(#app-scroll)>.bottom-nav{position:relative;left:auto;right:auto;top:auto;bottom:auto;flex:none;width:100%;max-width:none;transform:none;z-index:30}

/* Release detail: one row per store raffle (open / closed / upcoming), times in Eastern. */
.rc-raffles{padding:18px}
.rc-raffles h2{font:900 24px/1 var(--display);text-transform:uppercase;margin:0 0 4px}
.rc-raffles .rc-sub{font-size:var(--fs-sm);color:var(--muted);margin:0 0 12px}
.rc-rlist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rc-rrow{display:grid;gap:8px;padding:12px 14px;border-radius:3px;border:1px solid color-mix(in srgb,var(--text) 14%,var(--line));background:rgba(10,14,14,.5)}
.rc-rrow-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.rc-rrow-top b{min-width:0;overflow-wrap:anywhere;font-size:var(--fs-title)}
.rc-rstatus{flex:none;font-size:var(--fs-label);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.rc-rs-open .rc-rstatus{color:var(--teal)}
.rc-rs-upcoming .rc-rstatus{color:var(--orange)}
.rc-rs-closed .rc-rstatus{color:var(--muted)}
.rc-rwhen{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;color:var(--muted);font-size:var(--fs-sm)}
.rc-rrow .rc-enter{justify-self:start;min-width:44px;white-space:normal;text-align:center;line-height:1.15;padding-top:10px;padding-bottom:10px}
.raffle-feed-admin h3{margin:0 0 6px}
.raffle-feed-admin .rf-switch{min-height:44px;min-width:88px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.raffle-feed-admin .rf-switch.rf-on{background:var(--teal);border-color:var(--teal);color:#09231d}
.rf-sources{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.rf-src{border-top:1px solid var(--line);padding-top:10px}
.rf-src p{margin:4px 0 0;color:var(--muted);font-size:var(--fs-sm)}
.rf-st{float:right;font-size:var(--fs-label);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--orange)}
.rf-blocked{color:var(--pink)}
.rf-ok{color:var(--teal)}

/* v1.6.7 room cards: eleven designs. default is design 1; the rest change the surface and the motif. App palette only. */
.home-rooms .room-card-home.rc-skin{--skin-bg:radial-gradient(70% 60% at 0% 0%,color-mix(in srgb,var(--teal) 14%,transparent),transparent 70%),radial-gradient(60% 60% at 100% 100%,color-mix(in srgb,var(--pink) 6%,transparent),transparent 70%),var(--bg);--skin-line:color-mix(in srgb,var(--teal) 30%,transparent);position:relative;min-height:0;padding:20px;border-radius:12px;overflow:hidden;border-color:var(--skin-line);background:var(--skin-bg)}
.home-rooms .room-card-home.rc-skin:hover{background:var(--skin-bg);border-color:color-mix(in srgb,var(--teal) 55%,var(--line))}
.home-rooms .room-card-home.rc-skin::after{content:none}
.home-rooms .rc-skin-default::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(color-mix(in srgb,var(--text) 3%,transparent) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,color-mix(in srgb,var(--text) 3%,transparent) 1px,transparent 1px) 0 0/24px 24px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);mask-image:linear-gradient(180deg,#000,transparent 80%)}
.home-rooms .rc-skin-teal-glow{--skin-bg:radial-gradient(80% 70% at 0% 0%,color-mix(in srgb,var(--teal) 22%,transparent),transparent 70%),radial-gradient(70% 70% at 100% 100%,color-mix(in srgb,var(--teal) 18%,transparent),transparent 70%),var(--bg);--skin-line:color-mix(in srgb,var(--teal) 55%,transparent);box-shadow:inset 0 0 26px color-mix(in srgb,var(--teal) 14%,transparent),0 0 22px -10px color-mix(in srgb,var(--teal) 40%,transparent)}
.home-rooms .room-card-home.rc-skin-teal-glow::after{content:"";position:absolute;left:16px;right:16px;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--teal),transparent);z-index:2}
.home-rooms .rc-skin-frost{--skin-bg:linear-gradient(145deg,color-mix(in srgb,var(--text) 11%,transparent),color-mix(in srgb,var(--text) 3%,transparent) 60%),var(--bg);--skin-line:color-mix(in srgb,var(--text) 20%,transparent);border-radius:20px;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 22%,transparent),0 12px 28px -14px #000b}
.home-rooms .rc-skin-frost>.rc-wm{opacity:.1}
.home-rooms .rc-skin-blueprint{--skin-bg:radial-gradient(70% 70% at 100% 0%,color-mix(in srgb,var(--teal) 10%,transparent),transparent 70%),var(--bg);--skin-line:color-mix(in srgb,var(--teal) 55%,transparent);border-radius:4px;border-style:dashed}
.home-rooms .rc-skin-court{--skin-bg:radial-gradient(70% 80% at 100% 50%,color-mix(in srgb,var(--teal) 10%,transparent),transparent 70%),var(--bg);--skin-line:color-mix(in srgb,var(--teal) 36%,transparent);box-shadow:inset 0 0 0 4px var(--bg),inset 0 0 0 5px color-mix(in srgb,var(--teal) 30%,transparent)}
.home-rooms .rc-skin-lanes{--skin-line:transparent;--skin-bg:linear-gradient(var(--bg),var(--bg)) padding-box,linear-gradient(135deg,color-mix(in srgb,var(--teal) 85%,transparent),color-mix(in srgb,var(--teal) 12%,transparent) 55%,color-mix(in srgb,var(--pink) 50%,transparent)) border-box;background:var(--skin-bg)}
.home-rooms .rc-skin-case{--skin-bg:radial-gradient(60% 70% at 78% 0%,color-mix(in srgb,var(--teal) 14%,transparent),transparent 70%),var(--bg);--skin-line:color-mix(in srgb,var(--teal) 40%,transparent);border-radius:14px;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 12%,transparent)}
.home-rooms .rc-skin-heat{--skin-bg:radial-gradient(70% 50% at 100% 0%,color-mix(in srgb,var(--orange) 7%,transparent),transparent 70%),var(--bg);--skin-line:color-mix(in srgb,var(--teal) 28%,transparent)}
.home-rooms .room-card-home.rc-skin-heat::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--orange),color-mix(in srgb,var(--orange) 35%,transparent) 55%,transparent);z-index:2}
.home-rooms .rc-skin-plug{--skin-bg:radial-gradient(60% 70% at 82% 38%,color-mix(in srgb,var(--teal) 20%,transparent),transparent 72%),var(--bg);--skin-line:color-mix(in srgb,var(--teal) 50%,transparent)}
.home-rooms .rc-skin-search{--skin-bg:radial-gradient(70% 60% at 100% 0%,color-mix(in srgb,var(--teal) 16%,transparent),transparent 70%),radial-gradient(60% 60% at 0% 0%,color-mix(in srgb,var(--teal) 8%,transparent),transparent 70%),var(--bg);--skin-line:color-mix(in srgb,var(--teal) 34%,transparent)}
.home-rooms .rc-skin>.rc-dec,.home-rooms .rc-skin>.rc-wm{position:absolute;pointer-events:none;z-index:0}
.home-rooms .rc-skin>.rc-dec{inset:0;width:100%;height:100%}
.home-rooms .rc-skin>.rc-wm{top:80px;right:12px;width:130px;height:auto;opacity:.12;stroke:var(--text);fill:none;stroke-width:2}
.home-rooms .rc-skin>*:not(.rc-dec):not(.rc-wm){position:relative;z-index:1}
.home-rooms .rc-stroke,.home-rooms .rc-rings,.home-rooms .rc-cross,.home-rooms .rc-court,.home-rooms .rc-case-frame,.home-rooms .rc-minor,.home-rooms .rc-major{fill:none;stroke:color-mix(in srgb,var(--teal) 28%,transparent);stroke-linecap:round;stroke-linejoin:round}
.home-rooms .rc-sw-15,.home-rooms .rc-rings{stroke-width:1.5}.home-rooms .rc-sw-14{stroke-width:1.4}
.home-rooms .rc-rings{stroke:color-mix(in srgb,var(--teal) 22%,transparent)}.home-rooms .rc-cross{stroke:color-mix(in srgb,var(--teal) 16%,transparent);stroke-width:1.2;fill:none}
.home-rooms .rc-minor{stroke:color-mix(in srgb,var(--teal) 9%,transparent)}.home-rooms .rc-major{stroke:color-mix(in srgb,var(--teal) 20%,transparent);stroke-width:1.2}
.home-rooms .rc-reg{fill:none;stroke:color-mix(in srgb,var(--teal) 70%,transparent);stroke-width:1.6;stroke-linecap:square}
.home-rooms .rc-fill-soft{fill:color-mix(in srgb,var(--teal) 14%,transparent)}
.home-rooms .rc-wedge{fill:color-mix(in srgb,var(--teal) 17%,transparent)}.home-rooms .rc-arm{fill:none;stroke:color-mix(in srgb,var(--teal) 60%,transparent);stroke-width:1.6}
.home-rooms .rc-blip-pink{fill:var(--pink)}.home-rooms .rc-blip-ring{fill:none;stroke:color-mix(in srgb,var(--pink) 45%,transparent);stroke-width:1.4}.home-rooms .rc-blip-teal{fill:color-mix(in srgb,var(--teal) 80%,transparent)}
.home-rooms .rc-blob-teal{fill:color-mix(in srgb,var(--teal) 30%,transparent)}.home-rooms .rc-blob-pink{fill:color-mix(in srgb,var(--pink) 14%,transparent)}
.home-rooms .rc-sheen{fill:color-mix(in srgb,var(--text) 4%,transparent)}.home-rooms .rc-sheen-2{fill:color-mix(in srgb,var(--text) 5%,transparent)}
.home-rooms .rc-court{stroke-width:2}.home-rooms .rc-pink-stroke{fill:none;stroke:color-mix(in srgb,var(--pink) 60%,transparent);stroke-width:2}
.home-rooms .rc-lane-wide{stroke:color-mix(in srgb,var(--teal) 8%,transparent);stroke-width:30}.home-rooms .rc-lane{stroke:color-mix(in srgb,var(--teal) 30%,transparent);stroke-width:1.6}
.home-rooms .rc-lane-dash{stroke:color-mix(in srgb,var(--pink) 60%,transparent);stroke-width:2;stroke-dasharray:5 4}.home-rooms .rc-lane-faint{stroke:color-mix(in srgb,var(--teal) 18%,transparent);stroke-width:1.2}
.home-rooms .rc-case-frame{stroke-width:1.4}
.home-rooms .rc-bar{fill:color-mix(in srgb,var(--teal) 55%,transparent)}.home-rooms .rc-bar-tip{fill:color-mix(in srgb,var(--teal) 55%,transparent)}.home-rooms .rc-bar-hot{fill:var(--orange)}
.home-rooms .rc-mag-ring,.home-rooms .rc-mag-handle{stroke:color-mix(in srgb,var(--teal) 17%,transparent);fill:none}.home-rooms .rc-mag-ring{stroke-width:7}.home-rooms .rc-mag-handle{stroke-width:12}.home-rooms .rc-mag-glint{stroke:color-mix(in srgb,var(--text) 20%,transparent);stroke-width:4;fill:none}
.home-rooms .rc-skin .hr-chip{width:36px;height:36px;color:var(--teal)}
.home-rooms .rc-ch svg,.home-rooms .rc-globe{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.home-rooms .rc-globe{width:12px;height:12px;color:var(--teal)}
.home-rooms .rc-skin h3{margin:16px 0 8px;font-weight:700;font-size:40px;line-height:1.05;letter-spacing:.005em}
.home-rooms .rc-skin p{max-width:260px;margin:0;font-size:16px;line-height:1.35;color:color-mix(in srgb,var(--text) 82%,var(--muted))}
.home-rooms .rc-skin .hr-by{margin-top:16px;padding-bottom:12px;border-bottom:1px solid color-mix(in srgb,var(--text) 7%,transparent);font-size:15px}
.home-rooms .rc-skin-releases .hr-by{border-bottom:1px dashed color-mix(in srgb,var(--teal) 40%,transparent)}
.home-rooms .rc-skin-releases{overflow:visible}
.home-rooms .rc-skin-releases .hr-by::before,.home-rooms .rc-skin-releases .hr-by::after{content:"";position:absolute;bottom:-10px;width:18px;height:18px;border-radius:50%;background:var(--bg);border:1px solid color-mix(in srgb,var(--teal) 45%,transparent);box-sizing:border-box}
.home-rooms .rc-skin-releases .hr-by::before{left:-29px}.home-rooms .rc-skin-releases .hr-by::after{right:-29px}
.home-rooms .rc-own{flex:none;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.home-rooms .rc-drop{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:6px;border:1px solid color-mix(in srgb,var(--orange) 50%,transparent);background:color-mix(in srgb,var(--orange) 8%,transparent);color:var(--orange);font-size:11px;font-weight:700;letter-spacing:.08em;font-variant-numeric:tabular-nums;white-space:nowrap}
.home-rooms .rc-drop i{width:6px;height:6px;border-radius:50%;background:var(--orange)}.home-rooms .rc-drop em{font-style:normal;font-size:11px;letter-spacing:.14em;font-weight:800;text-transform:uppercase}
.home-rooms .rc-search-pill{margin:-6px 0 -6px auto;height:30px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid color-mix(in srgb,var(--teal) 40%,transparent);background:color-mix(in srgb,var(--text) 4%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 8%,transparent);color:var(--muted);font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;white-space:nowrap}
.home-rooms .rc-search-pill svg{width:14px;height:14px;stroke:var(--teal);fill:none;stroke-width:2;stroke-linecap:round;flex:none}
.home-rooms .rc-skin .hr-foot{margin-top:12px;padding-top:0;border-top:0}
.home-rooms .rc-skin .hr-cta{height:48px;min-height:48px;padding:0 24px}
.rc-style-field{display:grid;gap:8px;min-width:0}
.rc-style-pick{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.rc-style-opt{flex:none;width:auto;scroll-snap-align:start;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:4px;border-radius:12px;border:2px solid transparent;background:transparent}
.rc-style-opt.on{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}
.rc-style-opt.on .rc-style-name{color:var(--teal)}
/* Full card, scaled uniformly. The home-card rise animation ends at transform:none
   (fill-mode both) and would cancel this scale, so previews opt out of it.
   The tile is the scaled box (JS copies the painted size) so nothing is cropped. */
.rc-style-mini{--scale:.56;--card-w:340px;display:block;overflow:hidden;position:relative;border-radius:8px;pointer-events:none;width:calc(var(--card-w) * var(--scale));height:calc(var(--card-w) * 1.2 * var(--scale))}
.rc-style-mini .room-card-home.rc-skin{position:absolute;top:0;left:0;width:var(--card-w);min-height:0;margin:0;animation:none;transition:none;transform:scale(var(--scale));transform-origin:top left}
.rc-style-name{font-size:12px;font-weight:700;letter-spacing:.02em;text-align:center;color:var(--muted);line-height:1.2}
@media(max-width:360px){.home-rooms .rc-skin h3{font-size:32px}.home-rooms .rc-search-pill{padding:0 8px}}
@media(prefers-reduced-motion:reduce){.home-rooms .room-card-home.rc-skin{animation:none}}

/* ---- v1.6.8 Find a fit and color upgrades: thumbs, never-pair, style tags, swatch picker, "add these" cards ---- */
.fit-feedback{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 6px;padding:12px 14px;background:linear-gradient(135deg,#102321,#121818);border:1px solid #24413c;border-radius:16px}
.fit-feedback .ff-q{flex:1 1 100%;font-size:var(--fs-label-l);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.thumb{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:0 16px;border-radius:999px;border:1.5px solid #2f4a45;background:#0d1615;color:var(--text);font-weight:700;font-size:var(--fs-sm);cursor:pointer;transition:transform .15s ease,background .2s,border-color .2s,box-shadow .2s}
.thumb svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.thumb:active{transform:scale(.95)}
.thumb.up.is-on{background:var(--teal);border-color:var(--teal);color:#05211d;box-shadow:0 0 0 4px #49edda26}
.thumb.down.is-on{background:var(--pink);border-color:var(--pink);color:#2a0618;box-shadow:0 0 0 4px #ff6ab626}
.thumb.up:hover{border-color:var(--teal)}.thumb.down:hover{border-color:var(--pink)}
.ff-never{margin-left:auto;min-height:var(--tap);padding:0 6px;border:0;background:transparent;color:var(--orange);font-weight:700;font-size:var(--fs-sm);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.never-pair .np-options{display:grid;gap:10px}
.np-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 12px;text-align:left;background:#121818;border:1.5px solid #2a3734;border-radius:14px;color:var(--text);cursor:pointer}
.np-option:not(:disabled):hover,.np-option:not(:disabled):focus-visible{border-color:var(--orange)}
.np-option:disabled{opacity:.55;cursor:default}
.np-thumb{display:block;width:48px;height:48px;border-radius:10px;overflow:hidden;background:#0d1312}.np-thumb img{width:100%;height:100%;object-fit:contain}
.np-names{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}.np-names b{font-size:var(--fs-sm);overflow-wrap:anywhere}.np-names i{color:var(--orange);font-style:normal;font-weight:800}
.np-cta{font-size:var(--fs-label-l);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--orange)}
.np-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.np-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#121818;border:1px solid #2a3734;border-radius:12px}
.np-list b{overflow-wrap:anywhere}.np-list i{color:var(--pink);font-style:normal}
.np-remove{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);padding:0 12px;border-radius:999px}
.np-remove svg,.cp-x svg,.cp-up svg,.add-go svg,.tag-form svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* style tags */
.style-tags{margin:14px 0;padding:14px;border:1px solid #24413c;border-radius:16px;background:#0f1a19;display:grid;gap:10px}
.tag-chips{display:flex;flex-wrap:wrap;gap:8px}
.tag-chip{padding:5px 11px;border-radius:999px;font-size:var(--fs-cap);font-weight:700;background:#16302c;color:var(--teal);border:1px solid #2a554e}
.tag-chip.warmth{background:#34200f;color:var(--orange);border-color:#5d3a1d}.tag-chip.formality{background:#321427;color:var(--pink);border-color:#5a2646}
.tags-form .tags-lead{margin:0;font-weight:800;font-size:var(--fs-title)}
.chip-field{border:0;margin:0;padding:0;min-width:0}.chip-field legend{padding:0;margin-bottom:8px;font-size:var(--fs-label-l);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip-opt,.scale-opt{position:relative;cursor:pointer}
.chip-opt input,.scale-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip-opt span{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 15px;border-radius:999px;border:1.5px solid #2f3f3b;background:#0d1615;font-weight:600;font-size:var(--fs-sm);transition:background .15s,border-color .15s,color .15s}
.chip-opt input:checked+span{background:var(--teal);border-color:var(--teal);color:#05211d;font-weight:800}
.chip-opt input:focus-visible+span,.scale-opt input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px}
.scale-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.scale-opt span{display:flex;align-items:center;justify-content:center;min-height:var(--tap);border-radius:12px;border:1.5px solid #2f3f3b;background:#0d1615;font-size:var(--fs-base);transition:background .15s,border-color .15s}
.scale-opt input:checked+span{background:linear-gradient(135deg,var(--teal),#2bc7b6);border-color:var(--teal);color:#05211d}
.scale-ends{display:flex;justify-content:space-between;margin-top:6px;font-size:var(--fs-cap);color:var(--muted)}

/* swatch picker */
.color-picker .cp-name{margin:0;font-weight:800;font-size:var(--fs-title)}
.cp-detected,.cp-mine{display:grid;gap:8px;padding:12px;border-radius:16px;background:#0f1a19;border:1px solid #24413c}
.cp-det-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}
.cp-det{flex:0 0 auto;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:var(--tap);padding:8px 14px 8px 8px;border-radius:14px;border:1.5px solid #2f3f3b;background:#0d1615;color:var(--text);text-align:left;scroll-snap-align:start;cursor:pointer}
.cp-det i{grid-row:1/3;width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff40}
.cp-det span{font-weight:700;font-size:var(--fs-sm)}.cp-det small{color:var(--muted);font-size:var(--fs-cap)}
.cp-det.is-on{border-color:var(--teal);background:#12302c}
.cp-chosen{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cp-chosen li{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 10px;border-radius:14px;background:#121818;border:1px solid #2a3734}
.cp-chosen li.is-main{border-color:var(--teal);background:linear-gradient(135deg,#12302c,#121818)}
.cp-chosen li i{width:34px;height:34px;border-radius:50%;flex:0 0 auto;box-shadow:inset 0 0 0 2px #ffffff40}
.cp-chosen li span{flex:1;min-width:0;display:grid}.cp-chosen li small{color:var(--muted);font-size:var(--fs-cap)}.cp-chosen li.is-main small{color:var(--teal)}
.cp-up,.cp-x{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);padding:0;border-radius:50%;cursor:pointer}
.cp-up{color:var(--orange)}.cp-x{color:var(--pink)}
.cp-none{margin:0;color:var(--muted)}
.cp-groups{display:grid;gap:16px}.cp-group h3{margin:0 0 8px;font-size:var(--fs-label-l);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cp-sw{position:relative;display:grid;justify-items:center;gap:6px;min-height:var(--tap);padding:10px 4px 8px;border-radius:14px;border:1.5px solid #2a3734;background:#101716;color:var(--text);cursor:pointer;transition:transform .12s,border-color .15s,background .15s}
.cp-sw i{width:40px;height:40px;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff38,0 2px 6px #0007}
.cp-sw span{font-size:var(--fs-cap);line-height:1.15;text-align:center;overflow-wrap:break-word;word-break:normal;padding:0 1px}
.cp-sw:active{transform:scale(.95)}
.cp-sw.is-on{border-color:var(--teal);background:#12302c}
.cp-sw em{position:absolute;top:4px;right:6px;min-width:20px;height:20px;border-radius:10px;padding:0 5px;background:var(--teal);color:#05211d;font-style:normal;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center}
.cp-actions{position:sticky;bottom:0;background:linear-gradient(to top,var(--bg) 85%,transparent);padding-top:14px;z-index:2}

/* small-closet suggestions */
.small-closet h2{font-size:28px}
.fit-adds{margin-top:22px;display:grid;gap:10px}
.add-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:add}
.add-card{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:12px;border-radius:18px;background:linear-gradient(135deg,#112421,#121818);border:1px solid #24413c;animation:add-in .45s both;animation-delay:calc(var(--i,0)*70ms)}
.add-swatch{width:46px;height:46px;border-radius:14px;background:var(--sw);box-shadow:inset 0 0 0 2px #ffffff40,0 4px 12px #0008}
.add-copy{min-width:0;display:grid}.add-copy b{overflow-wrap:anywhere}.add-copy small{color:var(--muted);font-size:var(--fs-cap)}
.unlock-badge{display:grid;justify-items:center;line-height:1;padding:6px 10px;border-radius:12px;background:#3a1e0d;border:1px solid #6b3a1b;color:var(--orange)}
.unlock-badge b{font-size:var(--fs-title);font-weight:900}.unlock-badge small{font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.add-go{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);padding:0;border-radius:50%;background:var(--teal);border-color:var(--teal);color:#05211d;cursor:pointer}
@keyframes add-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:340px){.add-card{grid-template-columns:auto 1fr auto}.add-card .unlock-badge{display:none}.cp-grid{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){.add-card{animation:none}.thumb,.cp-sw{transition:none}}

/* v1.6.8 fit flow: no steps between "Find a fit" and outfits. Edit links are small and quiet; thumbs are inline icons; never-pair is in the overflow menu. */
.link-edit{min-height:32px;padding:0 6px;border:0;background:transparent;color:var(--teal);font-weight:700;font-size:var(--fs-sm);text-decoration:underline;text-underline-offset:3px;cursor:pointer;width:auto}
.section-label{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.fit-acts{align-items:center}
.fit-acts .fit-feedback{display:flex;align-items:center;gap:6px;margin:0 0 0 auto;padding:0;background:none;border:0;border-radius:0}
.fit-acts .thumb{min-height:var(--tap);width:var(--tap);padding:0;gap:0}
.ff-more{position:relative}
.ff-more summary{list-style:none;display:grid;place-items:center;width:var(--tap);min-height:var(--tap);border-radius:999px;border:1.5px solid #2f4a45;background:#0d1615;color:var(--text);cursor:pointer}
.ff-more summary::-webkit-details-marker{display:none}
.ff-more svg{width:22px;height:22px;fill:currentColor}
.ff-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:5;min-width:200px;padding:6px;background:#121818;border:1px solid #2a3734;border-radius:14px;box-shadow:0 12px 30px #0009}
.ff-menu button{width:100%;min-height:var(--tap);text-align:left;border:0;background:transparent;color:var(--orange);font-weight:700;border-radius:10px;padding:0 12px;cursor:pointer}
.ff-menu button:hover{background:#1b2422}
.style-tags .link-edit{margin-left:auto}
.fe-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fe-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#121818;border:1px solid #2a3734;border-radius:14px}
.fe-name{display:grid;min-width:0}.fe-name small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fe-acts{display:flex;gap:4px;flex-shrink:0}
.fit-acts{flex-wrap:nowrap;gap:8px}
.fit-acts>button:not(.thumb){padding-left:14px;padding-right:14px;white-space:nowrap}
.fit-acts .fit-feedback{gap:4px;flex-shrink:0}
.fit-acts .thumb,.fit-acts .ff-more summary{width:40px;min-height:40px}
.fit-acts .thumb svg{width:20px;height:20px}
.ff-menu{top:auto;bottom:calc(100% + 6px)}
/* v1.7.0 box-label colors: teal main color, small pink / orange accents */
.label-found{position:relative;display:grid;gap:12px;padding:16px 16px 14px;border:1px solid color-mix(in srgb,var(--teal) 34%,var(--line));border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--teal) 11%,var(--panel)),var(--panel) 62%);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 7%,transparent),0 10px 24px -14px color-mix(in srgb,var(--teal) 45%,transparent);animation:lf-in .38s cubic-bezier(.23,1,.32,1) both}
.label-found>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.lf-eyebrow{font-size:var(--fs-label);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.lf-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.lf-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:4px 12px 4px 6px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg) 55%,var(--panel2));font-size:var(--fs-sm);font-weight:600;text-transform:capitalize}
.lf-chip .swatch{width:22px;height:22px}
.lf-chip.main{min-height:44px;padding-right:14px;border-color:var(--teal);background:color-mix(in srgb,var(--teal) 14%,var(--panel2));box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 16%,transparent)}
.lf-chip.main .swatch{width:30px;height:30px;border-color:var(--teal)}
.lf-chip em{font-style:normal;font-size:var(--fs-label);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--pink)}
.lf-read{margin:0;font-size:var(--fs-cap);color:var(--muted)}
.lf-read q{color:var(--text);font-weight:600;letter-spacing:.02em;quotes:"“" "”"}
.lf-note{margin:0;padding:8px 10px;border-left:3px solid var(--orange);background:color-mix(in srgb,var(--orange) 9%,transparent);font-size:var(--fs-cap);color:var(--text)}
.lf-note small{display:block;color:var(--muted);text-transform:capitalize}
.lf-edited{display:none;margin:0;font-size:var(--fs-cap);color:var(--pink);font-weight:600}
.label-found[data-edited]{border-color:var(--line);background:var(--panel);box-shadow:none}
.label-found[data-edited] .lf-chips,.label-found[data-edited] .lf-read{opacity:.5}
.label-found[data-edited] .lf-edited{display:block}
.lf-source{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--teal) 16%,transparent);color:var(--teal);font-size:var(--fs-label);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lf-scan{align-items:center;gap:10px}.lf-scan small{flex:1 1 180px;color:var(--muted);font-size:var(--fs-cap)}
.lf-add{width:100%;min-height:var(--tap);margin:12px 0 4px}
.lf-hint{color:var(--muted)}
.label-colors-admin .lc-count{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--muted)}
.lc-list{display:grid;gap:10px;margin:0 0 14px;padding:0;list-style:none}
.lc-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,180px) auto auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.lc-name{min-width:0;display:grid;gap:2px}.lc-name b{text-transform:capitalize;overflow-wrap:anywhere}.lc-name small{color:var(--muted);overflow-wrap:anywhere}
.lc-mapped .lc-list li{grid-template-columns:minmax(0,1fr) auto}
.lc-empty{color:var(--muted)}
@media(max-width:700px){.lc-list li{grid-template-columns:1fr 1fr}.lc-name{grid-column:1/-1}.lc-list li select{grid-column:1/-1}}
@keyframes lf-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.label-found{animation:none}}
.lf-scan>button{flex:1 1 100%;justify-content:center;border:1px dashed color-mix(in srgb,var(--teal) 45%,var(--line));border-radius:12px;color:var(--text);min-height:var(--tap)}
.lf-scan>button:hover{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 8%,transparent)}
.lf-scan>button:active{transform:scale(.985)}
.lf-scan>button:focus-visible,.lf-add:focus-visible{outline:2px solid var(--teal);outline-offset:2px}

.fit-btn.fit-btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 20px;margin:0;border-radius:12px;border:1px solid var(--teal);background:linear-gradient(180deg,color-mix(in srgb,var(--teal) 92%,#fff),var(--teal));color:#04100e;font-family:var(--sans);font-size:var(--fs-label-l);font-weight:800;letter-spacing:.08em;line-height:1;text-transform:uppercase;white-space:nowrap;text-decoration:none;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 6px 18px color-mix(in srgb,var(--teal) 24%,transparent);transition:transform .15s var(--ease-out,ease-out),box-shadow .2s ease,filter .2s ease}
/* ===== v1.7.1 one fit button =====
   Find a fit, Match a fit and Fit Agent are the same control everywhere (sneaker and clothing profile, Fit Agent page,
   release detail, Vault and Closet heroes, how-to, home card, bottom-nav tab): same teal, shape, size and type,
   plus one soft shimmer on a 5 s cycle. The nav tab keeps its five-column width but shares the colour, radius, weight and shimmer. */
.fit-btn.fit-btn svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.fit-btn.fit-btn span{position:relative;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit}
.fit-btn.fit-btn::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;z-index:-1;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transform:translate3d(-140%,0,0) skewX(-18deg);animation:fit-sheen 5s ease-in-out infinite;will-change:transform}
@keyframes fit-sheen{0%,50%{transform:translate3d(-140%,0,0) skewX(-18deg)}100%{transform:translate3d(340%,0,0) skewX(-18deg)}}
@media(hover:hover){.fit-btn.fit-btn:hover{filter:brightness(1.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 8px 22px color-mix(in srgb,var(--teal) 34%,transparent)}}
.fit-btn.fit-btn:active{transform:scale(.98)}
.fit-btn.fit-btn:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.fit-btn.fit-btn:disabled{filter:saturate(.7) brightness(.9);cursor:progress}
.fit-btn.fit-btn:disabled::after{animation-duration:2.5s}
.detail-fit-top{margin:0 0 16px}
.detail-fit-top .fit-btn,.fit-stage .fit-go,.rc .rc-findfit{display:flex;width:100%}
.fit-card .fc-go.fit-btn{flex:1;pointer-events:none}
.match-banner.fit-card{min-height:0;padding:14px 16px}
.bottom-nav .fit-btn.fit-tab{flex-direction:column;gap:2px;min-height:56px;padding:6px 4px;border-radius:12px;letter-spacing:.04em;font-size:var(--fs-label);box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.bottom-nav .fit-btn.fit-tab svg{width:24px;height:24px}
.bottom-nav .fit-btn.fit-tab.active{box-shadow:inset 0 0 0 2px #04100e99,inset 0 1px 0 rgba(255,255,255,.45)}
@media(max-width:360px){.bottom-nav .fit-btn.fit-tab{letter-spacing:0;padding-inline:2px;font-size:11px;flex:1.35 1 0}}
@media(prefers-reduced-motion:reduce){.fit-btn.fit-btn::after{animation:none!important;display:none}.fit-btn.fit-btn{transition:none}}
/* v1.7.1: admin profiles table (masked email, risky actions kept apart) and in-flight buttons */
.admin-email-row{display:flex;align-items:center;gap:8px;margin-top:3px}
.admin-email{font-variant-numeric:tabular-nums;letter-spacing:.02em}
td button.reveal-email{border:0;background:transparent;color:var(--teal);font-size:var(--fs-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 6px;margin:0;min-height:28px}
td.admin-controls-cell{white-space:normal;min-width:260px}
.admin-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}
.admin-controls .ac-safe,.admin-controls .ac-risk{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.admin-controls .ac-risk{padding-left:22px;border-left:1px solid var(--line)}
.admin-controls button{margin:0;min-height:40px;padding:9px 13px}
button[aria-busy="true"]{opacity:.48;pointer-events:none;cursor:progress}
@media(max-width:700px){.admin-controls{gap:14px}.admin-controls .ac-risk{padding-left:0;border-left:0;padding-top:12px;border-top:1px solid var(--line);width:100%}}

/* ---- v1.7.2: Admin "Send a notification" (teal glass, small pink/orange accents; phone first) ---- */
.ap-panel{position:relative;overflow:hidden;border-radius:16px;border:1px solid color-mix(in srgb,var(--teal) 28%,var(--line));background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--teal) 14%,transparent),transparent 60%),linear-gradient(180deg,color-mix(in srgb,var(--teal) 8%,var(--panel)),var(--panel));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.05) inset,0 18px 40px -24px rgba(0,0,0,.7)}
.ap-panel::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--pink),var(--orange))}
.ap-panel h3{margin:2px 0 6px}.ap-panel>p{margin:0 0 14px;color:var(--muted)}
.ap-reach{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.ap-reach span{display:inline-flex;align-items:baseline;gap:5px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid color-mix(in srgb,var(--teal) 22%,var(--line));font-size:var(--fs-cap);color:var(--muted)}
.ap-reach b{font-size:16px;color:var(--teal);font-weight:700}
.ap-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;border-radius:12px;font-weight:700}
.ap-sub{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 10px}.ap-sub h4{margin:0;font-size:var(--fs-label-l);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.ap-tabs{display:inline-flex;padding:3px;border-radius:999px;background:rgba(0,0,0,.28);border:1px solid var(--line)}
.ap-tabs button{border:0;border-radius:999px;min-height:36px;padding:6px 14px;font-size:var(--fs-cap);color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.ap-tabs button i{font-style:normal;font-size:var(--fs-label);padding:1px 7px;border-radius:999px;background:rgba(255,255,255,.08)}
.ap-tabs button[aria-selected="true"]{background:var(--teal);color:#05110f;font-weight:700}.ap-tabs button[aria-selected="true"] i{background:rgba(0,0,0,.15)}
.ap-items,.ap-hist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ap-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.ap-item.is-done{border-color:color-mix(in srgb,var(--pink) 30%,var(--line))}
.ap-item-text{display:grid;gap:3px;min-width:0}.ap-item-text b{font-size:var(--fs-sm);line-height:1.3;overflow-wrap:anywhere}.ap-item-text small{color:var(--muted);font-size:var(--fs-cap);line-height:1.35;overflow-wrap:anywhere}.ap-item-text s{opacity:.6}
.ap-send{flex:none;min-height:44px;padding:8px 12px;border-radius:10px;font-size:var(--fs-cap);font-weight:700;white-space:nowrap}
.ap-mark{display:inline-flex;align-items:center;gap:5px;justify-self:start;margin-top:2px;padding:2px 9px 2px 6px;border-radius:999px;font-size:var(--fs-label);font-weight:700;letter-spacing:.02em}
.ap-mark svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ap-mark.is-pushed{color:var(--pink);background:color-mix(in srgb,var(--pink) 14%,transparent);border:1px solid color-mix(in srgb,var(--pink) 40%,transparent)}
.ap-mark.is-tested{color:var(--orange);background:color-mix(in srgb,var(--orange) 12%,transparent);border:1px solid color-mix(in srgb,var(--orange) 35%,transparent);padding-left:9px}
.ap-empty{margin:0;padding:14px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:var(--fs-cap)}
.ap-hist li{display:flex;justify-content:space-between;gap:10px;font-size:var(--fs-cap);padding:8px 2px;border-bottom:1px solid var(--line)}.ap-hist li:last-child{border:0}
.ap-hist span:first-child{display:grid;gap:1px;min-width:0}.ap-hist b{overflow-wrap:anywhere;font-weight:600}.ap-hist small{color:var(--muted)}
.ap-hist-n{flex:none;color:var(--teal);white-space:nowrap}.ap-hist-n.bad{color:var(--pink)}
/* compose + review screens (inside the modal sheet) */
.ap-wrap{display:grid;gap:14px;min-width:0;max-width:520px;margin:0 auto;width:100%}
.ap-steps{list-style:none;display:flex;gap:6px;margin:0;padding:0}
.ap-steps li{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border-radius:999px;font-size:var(--fs-cap);color:var(--muted);background:rgba(255,255,255,.04);border:1px solid var(--line)}
.ap-steps i{font-style:normal;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:var(--fs-label);background:rgba(255,255,255,.08)}
.ap-steps li.is-on{color:var(--text);border-color:color-mix(in srgb,var(--teal) 55%,var(--line));background:color-mix(in srgb,var(--teal) 12%,transparent)}.ap-steps li.is-on i{background:var(--teal);color:#05110f;font-weight:800}
.ap-steps li.is-done i{background:color-mix(in srgb,var(--teal) 30%,transparent);color:var(--teal)}
.ap-from{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border-radius:12px;background:color-mix(in srgb,var(--pink) 9%,transparent);border:1px solid color-mix(in srgb,var(--pink) 30%,var(--line));min-width:0}
.ap-from .eyebrow{flex:none;color:var(--pink);margin:0}.ap-from-name{flex:1;min-width:0;font-size:var(--fs-cap);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-from-x{flex:none;min-height:36px;padding:4px 10px;font-size:var(--fs-cap);border-radius:8px}
.ap-notif{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 10px 30px -14px rgba(0,0,0,.8);min-width:0;text-align:left}
.ap-app{flex:none;width:34px;height:34px;border-radius:9px;overflow:hidden;background:#071311}.ap-app img{display:block;width:34px;height:34px}
.ap-msg{display:grid;gap:2px;min-width:0;flex:1;line-height:1.3}
.ap-msg small{display:flex;justify-content:space-between;gap:10px;font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.ap-msg b{font-size:var(--fs-sm);font-weight:700;overflow-wrap:anywhere}.ap-msg>span{font-size:var(--fs-cap);color:rgba(255,255,255,.82);overflow-wrap:anywhere}
.ap-notif.is-empty .ap-msg b,.ap-notif.is-empty .ap-msg>span{opacity:.5}
.ap-form{display:grid;gap:8px}
.ap-form>label,.ap-aud legend{display:flex;justify-content:space-between;align-items:baseline;margin:6px 0 0;font-size:var(--fs-label-l);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.ap-form input:not([type=radio]):not([type=checkbox]),.ap-form select,.ap-form textarea{width:100%;min-height:48px;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid color-mix(in srgb,var(--teal) 22%,var(--line));color:var(--text);font-size:16px}
.ap-form textarea{resize:vertical;min-height:84px;line-height:1.4}
.ap-form input:focus-visible,.ap-form select:focus-visible,.ap-form textarea:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
.ap-count{font-size:var(--fs-cap);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;color:var(--muted)}.ap-count[data-state="near"]{color:var(--orange)}.ap-count[data-state="over"]{color:var(--pink);font-weight:700}
.ap-aud{border:0;margin:6px 0 0;padding:0;display:grid;gap:8px;min-width:0}.ap-aud legend{padding:0;margin:0 0 4px;width:100%}
.ap-opt{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line);cursor:pointer}
.ap-opt input{flex:none;width:20px;height:20px;min-height:0;margin:0;accent-color:var(--teal)}.ap-opt span{display:grid;gap:1px;min-width:0}.ap-opt b{font-size:var(--fs-sm)}.ap-opt small{color:var(--muted);font-size:var(--fs-cap)}
.ap-opt:has(input:checked){border-color:var(--teal);background:color-mix(in srgb,var(--teal) 11%,transparent)}
.ap-opt:has(input[value="all"]:checked){border-color:var(--orange);background:color-mix(in srgb,var(--orange) 9%,transparent)}.ap-opt:has(input[value="all"]:checked) input{accent-color:var(--orange)}
.ap-actions{display:flex;gap:10px;margin-top:6px}.ap-actions>button{flex:1;min-height:50px;border-radius:12px}.ap-actions .ap-go{flex:1.4;font-weight:700}
.ap-actions-col{flex-direction:column}
.ap-phone{position:relative;width:min(100%,280px);aspect-ratio:9/10.6;margin:0 auto;padding:18px 12px 0;border-radius:36px;border:6px solid #0b1010;outline:1px solid color-mix(in srgb,var(--teal) 30%,var(--line));overflow:hidden;display:flex;flex-direction:column;gap:12px;background:radial-gradient(90% 55% at 20% 0%,color-mix(in srgb,var(--teal) 55%,transparent),transparent 70%),radial-gradient(80% 50% at 100% 100%,color-mix(in srgb,var(--pink) 38%,transparent),transparent 70%),radial-gradient(60% 40% at 0% 100%,color-mix(in srgb,var(--orange) 30%,transparent),transparent 70%),#0a1b1a;box-shadow:0 24px 50px -22px rgba(0,0,0,.9),0 0 40px -18px var(--teal)}
.ap-phone-notch{position:absolute;top:7px;left:50%;width:70px;height:20px;transform:translateX(-50%);border-radius:999px;background:#05090a}
.ap-lock{display:grid;justify-items:center;margin-top:20px;gap:0;text-align:center}.ap-clock{font-size:54px;font-weight:300;letter-spacing:-.02em;line-height:1.05;font-variant-numeric:tabular-nums;color:#fff}.ap-date{font-size:var(--fs-cap);color:rgba(255,255,255,.8)}
.ap-phone .ap-notif{padding:10px 11px;border-radius:16px}.ap-phone .ap-app,.ap-phone .ap-app img{width:28px;height:28px}
.ap-ghost{height:42px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);margin:-4px 8px 0;opacity:.7}
.ap-facts{display:grid;gap:8px;margin:0}.ap-facts>div{display:flex;justify-content:space-between;gap:14px;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.ap-facts dt{font-size:var(--fs-label-l);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;padding-top:3px}.ap-facts dd{margin:0;text-align:right;display:block;min-width:0;overflow-wrap:anywhere}.ap-facts small{display:block;margin-top:3px;color:var(--muted);font-size:var(--fs-cap)}
.ap-big{font-size:26px;line-height:1;margin-right:6px;color:var(--teal);font-variant-numeric:tabular-nums}
.ap-warn{display:grid;gap:4px;padding:11px 14px;border-radius:12px;font-size:var(--fs-cap);line-height:1.4}.ap-warn b{font-size:var(--fs-sm)}
.ap-warn.is-pink{background:color-mix(in srgb,var(--pink) 10%,transparent);border:1px solid color-mix(in srgb,var(--pink) 45%,var(--line))}.ap-warn.is-pink b{color:var(--pink)}
.ap-warn.is-orange{background:color-mix(in srgb,var(--orange) 10%,transparent);border:1px solid color-mix(in srgb,var(--orange) 45%,var(--line))}.ap-warn.is-orange b{color:var(--orange)}
.ap-again{display:flex;align-items:center;gap:10px;min-height:44px;margin-top:2px}.ap-again input{width:20px;height:20px;accent-color:var(--pink)}
.ap-send-final{min-height:56px;border:0;border-radius:14px;font-size:17px;font-weight:800;color:#05110f;background:var(--teal);box-shadow:0 12px 28px -14px var(--teal)}
.ap-send-final.is-all{background:linear-gradient(100deg,var(--orange),var(--pink));box-shadow:0 12px 28px -12px var(--pink)}
.ap-send-final:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}
/* v1.7.2.4 Store link */
.ap-store{display:grid;gap:8px;padding:12px;border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--teal) 10%,transparent),rgba(255,255,255,.03));border:1px solid color-mix(in srgb,var(--teal) 32%,var(--line));-webkit-backdrop-filter:blur(14px) saturate(1.25);backdrop-filter:blur(14px) saturate(1.25)}.ap-store[hidden]{display:none}
.ap-form .ap-store>label{display:flex;justify-content:space-between;align-items:baseline;margin:0;font-size:var(--fs-label-l);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}.ap-store input{font-size:16px}
.ap-store-note{margin:0;font-size:var(--fs-cap);line-height:1.4;color:var(--muted);overflow-wrap:anywhere}.ap-store-note b{color:var(--teal)}.ap-store-note.is-ok{color:var(--text)}.ap-store-note.is-bad{color:var(--pink);font-weight:600}
.ap-msg>.ap-open{display:inline-flex;align-items:center;gap:5px;margin-top:5px;width:max-content;max-width:100%;padding:3px 9px 3px 7px;border-radius:999px;font-size:var(--fs-label);font-weight:700;letter-spacing:.02em;color:var(--teal);background:color-mix(in srgb,var(--teal) 14%,transparent);border:1px solid color-mix(in srgb,var(--teal) 40%,transparent);overflow-wrap:anywhere}
.ap-open svg{width:12px;height:12px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ap-facts .ap-dom{display:block;color:var(--teal);font-size:var(--fs-sm)}
/* v1.7.2.4 notification picture */
.ap-msg>.ap-pic{display:block;margin-top:8px;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);line-height:0;min-height:0}
.ap-msg>.ap-pic img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;background:#071311}
.ap-msg>.ap-pic.is-wait,.ap-msg>.ap-pic.is-miss{display:grid;place-items:center;aspect-ratio:2/1;line-height:1.3;font-size:var(--fs-cap);color:rgba(255,255,255,.6)}
.ap-msg>.ap-pic.is-miss{color:#ffb4a8}
.ap-phone .ap-msg>.ap-pic{margin-top:6px;border-radius:10px}
.ap-phone:has(.ap-pic){aspect-ratio:9/12.6}
.ap-imgf{margin-top:2px}.ap-img-x{justify-self:start;min-height:34px;padding:0 12px;font-size:var(--fs-cap);border-radius:999px}
.ap-fine{margin:0;text-align:center;font-size:var(--fs-cap);color:var(--muted)}
.ap-done{justify-items:center;text-align:center;padding-top:10px}.ap-done h3{margin:0;font-size:26px}.ap-done p{margin:0;color:var(--muted)}
.ap-big-mark{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--teal) 16%,transparent);border:2px solid var(--teal);color:var(--teal)}.ap-big-mark.bad{color:var(--pink);border-color:var(--pink);background:color-mix(in srgb,var(--pink) 14%,transparent)}
.ap-big-mark svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ap-tally{display:flex;gap:10px;width:100%}.ap-tally span{flex:1;display:grid;gap:2px;padding:10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:var(--fs-cap);color:var(--muted)}.ap-tally b{font-size:24px;color:var(--text)}.ap-tally .warn b{color:var(--orange)}
@media(max-width:380px){.ap-item{flex-direction:column;align-items:stretch}.ap-send{width:100%}}
@media(prefers-reduced-motion:reduce){.ap-panel *{transition:none!important}}

/* v1.7.2.1 new logo: the wordmark image (transparent, from the final artwork) replaces the typed "InOurSoles" in the header, on sign-in and on the legal pages. */
.wordmark img{display:block;height:24px;width:auto;max-width:none}
.login-logo{display:block;width:min(270px,76%);height:auto;max-width:100%;max-height:none;object-fit:contain;margin:2px auto 18px;animation:none;filter:drop-shadow(0 0 22px #49edda2e)}
.legal-brand{margin:0 0 18px;line-height:0}.legal-brand img{display:block;height:34px;width:auto}
@media(max-width:700px){.wordmark img{height:20px}.app-header.has-back .wordmark img{height:17px}}

/* v1.7.2.2 rooms: pin the member row + OPEN ROOM footer to the card bottom so every card in a row lines up. */
.home-rooms .room-card-home{display:flex;flex-direction:column}.home-rooms .room-card-home .hr-by{margin-bottom:12px}.home-rooms .room-card-home .hr-foot,.home-rooms .rc-skin .hr-foot{margin-top:auto}

/* v1.7.3: Admin "Add release" + raffle finder "Pending review" (phone first, 390px) */
.rfn-panel{position:relative;overflow:hidden;border-radius:16px;border:1px solid color-mix(in srgb,var(--orange) 30%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--orange) 7%,var(--panel)),var(--panel))}
.rfn-panel::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--orange),var(--teal))}
.rfn-panel h3{margin:2px 0 6px}.rfn-panel>p{margin:0 0 14px;color:var(--muted)}
.rfn-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 10px}
.rfn-head h4{margin:0;font-size:var(--fs-label-l);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;display:flex;align-items:center;gap:8px}
.rfn-panel .rf-switch{min-height:44px;min-width:88px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:var(--fs-cap);white-space:nowrap}
.rfn-panel .rf-switch.rf-on{background:var(--teal);border-color:var(--teal);color:#09231d}
.rfn-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rfn-find{display:grid;grid-template-columns:64px minmax(0,1fr);gap:6px 12px;padding:12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.rfn-pic{grid-row:1;width:64px;height:64px;border-radius:10px;background:rgba(255,255,255,.07);display:grid;place-items:center;overflow:hidden;font-weight:900;color:var(--muted)}
.rfn-pic img{width:100%;height:100%;object-fit:contain;background:#fff}
.rfn-body{display:grid;gap:3px;min-width:0}.rfn-body b{font-size:var(--fs-sm);line-height:1.3;overflow-wrap:anywhere}
.rfn-body small{color:var(--muted);font-size:var(--fs-cap);line-height:1.35;overflow-wrap:anywhere}
.rfn-body a{color:var(--teal)}
.rfn-notes{font-size:var(--fs-cap);color:var(--muted)}.rfn-notes summary{cursor:pointer;color:var(--orange);font-weight:700;min-height:28px;display:flex;align-items:center}.rfn-notes p{margin:4px 0;line-height:1.4}
.rfn-act{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px}
.rfn-act button{min-height:44px;border-radius:10px;font-size:var(--fs-cap);font-weight:700;padding:6px 8px}
.rfn-empty{margin:0;color:var(--muted);font-size:var(--fs-sm)}
.rfn-link{margin:18px 0 0;display:grid;gap:6px}.rfn-link label{font-size:var(--fs-label);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rfn-style{min-width:0;min-height:44px}.rfn-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.rfn-link-row input{min-width:0;min-height:44px}.rfn-link-row button{min-height:44px;padding:0 18px}
.rfn-scan{margin:14px 0 4px;display:grid;gap:6px}.rfn-scan button{min-height:44px;justify-self:start}.rfn-scan small{color:var(--muted);font-size:var(--fs-cap);line-height:1.4}
.rfn-panel .rf-st.rf-manual{color:var(--muted)}.rfn-panel .rf-st.rf-ok{color:var(--teal)}.rfn-panel .rf-st.rf-blocked,.rfn-panel .rf-st.rf-error{color:var(--pink)}
.rfn-form{gap:12px}.rfn-fld{display:grid;gap:5px;min-width:0}.rfn-fld label{font-size:var(--fs-label);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rfn-fld input,.rfn-fld select{min-width:0;width:100%;min-height:44px;box-sizing:border-box}
.rfn-hint{color:var(--muted);font-size:var(--fs-cap);line-height:1.35}
.rfn-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.rfn-hr{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}
.rfn-found{margin:0;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--teal) 12%,transparent);border:1px solid color-mix(in srgb,var(--teal) 35%,var(--line));font-size:var(--fs-cap)}
.rfn-dup{margin:0;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--orange) 14%,transparent);border:1px solid color-mix(in srgb,var(--orange) 45%,var(--line));font-size:var(--fs-sm);line-height:1.4}
@media(max-width:420px){.rfn-two{grid-template-columns:minmax(0,1fr)}.rfn-act{grid-template-columns:1fr 1fr}.rfn-act .primary{grid-column:1/-1}}

/* v1.8.0: Messages and ISO matches. Same dark teal glass as Rooms: frosted panels, 3px corners, teal for you-and-them, pink for you, orange for matches. */
.dm-page{--glass:color-mix(in srgb,var(--panel) 72%,transparent);--dm-line:color-mix(in srgb,var(--text) 11%,var(--line));max-width:760px;margin:0 auto;display:grid;gap:16px;position:relative}
.dm-page::before{content:"";position:absolute;inset:-60px -40px auto;height:260px;pointer-events:none;z-index:-1;background:radial-gradient(60% 80% at 20% 0%,color-mix(in srgb,var(--teal) 16%,transparent),transparent 70%),radial-gradient(40% 70% at 95% 10%,color-mix(in srgb,var(--pink) 10%,transparent),transparent 70%)}
.dm-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.dm-title h1{margin:2px 0 0}
.dm-gear{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);padding:0 14px;border-radius:3px;background:var(--glass);border:1px solid var(--dm-line);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);font-size:var(--fs-sm)}
.dm-gear svg{width:18px;height:18px;stroke:var(--teal);fill:none;stroke-width:1.8}
.dm-matches{display:grid;gap:12px}
.dm-match{position:relative;display:grid;gap:6px;padding:16px 16px 14px;border-radius:4px;border:1px solid color-mix(in srgb,var(--orange) 38%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--orange) 12%,transparent),transparent 60%),var(--glass);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 10%,transparent),0 12px 30px rgba(0,0,0,.28)}
.dm-match.is-new{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 10%,transparent),0 0 0 1px color-mix(in srgb,var(--orange) 40%,transparent),0 12px 34px color-mix(in srgb,var(--orange) 14%,transparent)}
.dm-match-top{display:flex;align-items:center;justify-content:space-between}
.dm-match .eyebrow{margin:0}
.dm-new{font:800 var(--fs-label)/1 var(--sans);letter-spacing:.12em;padding:4px 7px;border-radius:2px;background:var(--orange);color:#2b1204}
.dm-match h3{margin:2px 0 0;font-size:var(--fs-title);overflow-wrap:anywhere}
.dm-match-meta{margin:0;color:var(--muted);font-size:var(--fs-sm)}
.dm-match-who{margin:4px 0 0;font-size:var(--fs-sm)}.dm-match-who b{color:var(--teal)}
.dm-match-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.dm-match-actions .primary{flex:1 1 180px}.dm-match-actions button{min-height:var(--tap)}
.dm-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dm-row{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;padding:12px 14px;min-height:72px;border-radius:3px;background:var(--glass);border:1px solid var(--dm-line);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 8%,transparent)}
.dm-row.is-unread{border-color:color-mix(in srgb,var(--teal) 45%,var(--line))}
.dm-av{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font:700 var(--fs-body)/1 var(--display);color:var(--teal);background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--teal) 24%,transparent),color-mix(in srgb,var(--panel2) 90%,transparent));border:1px solid color-mix(in srgb,var(--teal) 40%,var(--line))}
.dm-av.lg{width:44px;height:44px}
.dm-row-body{display:grid;gap:3px;min-width:0}
.dm-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.dm-row-top b{font-size:var(--fs-body)}.dm-row-top time{font-size:var(--fs-cap);color:var(--muted);white-space:nowrap}
.dm-row-last{color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-row.is-unread .dm-row-last{color:var(--text)}
.dm-dot{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--teal);color:#07211c;font:800 var(--fs-label)/1 var(--sans);font-style:normal}
.dm-empty{display:grid;justify-items:center;text-align:center;gap:10px;padding:36px 22px;border-radius:4px;border:1px dashed var(--dm-line);background:var(--glass)}
.dm-empty h3{margin:0}.dm-empty p{margin:0;color:var(--muted);max-width:42ch}
.dm-empty-ico{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid color-mix(in srgb,var(--teal) 40%,var(--line));background:color-mix(in srgb,var(--teal) 10%,transparent)}.dm-empty-ico svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.6}
.dm-rule{margin:0;text-align:center;color:var(--muted);font-size:var(--fs-cap)}
/* thread */
.dm-thread-head{position:sticky;top:calc(69px + var(--safe-t,0px) + 6px);z-index:5;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border-radius:4px;background:var(--glass);border:1px solid var(--dm-line);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5)}
.dm-all{display:inline-flex;align-items:center;gap:2px;min-height:var(--tap);padding:0 8px;background:transparent;border-color:transparent;color:var(--teal);font-size:var(--fs-sm)}.dm-all svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}.dm-all span{display:none}
.dm-who{display:flex;align-items:center;gap:10px;min-height:var(--tap);padding:0 6px;background:transparent;border-color:transparent;text-align:left;min-width:0}.dm-who span:last-child{display:grid;min-width:0}.dm-who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-who small{color:var(--muted)}
.dm-menu-btn{min-width:var(--tap);min-height:var(--tap);padding:0;background:transparent;border-color:transparent}.dm-menu-btn svg,.dm-more svg{width:20px;height:20px;stroke:var(--text);fill:none;stroke-width:2.6;stroke-linecap:round}
.dm-stream{list-style:none;margin:0;padding:6px 0 4px;display:flex;flex-direction:column;gap:10px}
.dm-msg{display:flex;max-width:100%}.dm-msg.mine{justify-content:flex-end}
.dm-bubble{max-width:min(82%,520px);padding:10px 14px 8px;border-radius:3px;background:var(--glass);border:1px solid var(--dm-line);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 9%,transparent)}
.dm-msg.theirs .dm-bubble{border-left:3px solid var(--teal);background:linear-gradient(135deg,color-mix(in srgb,var(--teal) 11%,transparent),transparent 70%),var(--glass)}
.dm-msg.mine .dm-bubble{border-right:3px solid var(--pink);background:linear-gradient(225deg,color-mix(in srgb,var(--pink) 13%,transparent),transparent 70%),var(--glass)}
.dm-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--fs-body);line-height:1.4}
.dm-meta{display:flex;align-items:center;gap:4px;justify-content:flex-end;margin-top:3px}.dm-meta time{font-size:var(--fs-cap);color:var(--muted)}
.dm-more{min-width:28px;min-height:28px;padding:0;background:transparent;border-color:transparent}.dm-more svg{width:16px;height:16px;stroke:var(--muted)}
.dm-hello{align-self:center;padding:14px 18px;border-radius:3px;border:1px dashed var(--dm-line);background:var(--glass);color:var(--muted);text-align:center}.dm-hello p{margin:0}
.dm-older{justify-self:center}
.dm-composer{position:sticky;bottom:calc(var(--nav-h,68px) + 22px + var(--safe-b,0px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:10px;border-radius:4px;background:var(--glass);border:1px solid color-mix(in srgb,var(--teal) 30%,var(--line));backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);box-shadow:0 -10px 30px rgba(0,0,0,.35)}
.dm-composer textarea{margin:0;min-height:46px;max-height:140px;resize:none;font-size:16px}
.dm-composer .error{grid-column:1/-1;margin:0;min-height:0}.dm-composer .error:empty{display:none}
.dm-send{min-height:46px;min-width:46px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px}.dm-send svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
@media(max-width:700px){.dm-send span{display:none}}
.dm-closed{display:grid;gap:10px;justify-items:start;padding:14px;border-radius:4px;border:1px solid color-mix(in srgb,var(--pink) 35%,var(--line));background:var(--glass)}.dm-closed p{margin:0}
/* settings switches */
.dm-switch{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px;border-radius:3px;border:1px solid var(--dm-line,var(--line));background:color-mix(in srgb,var(--panel2) 70%,transparent);cursor:pointer}
.dm-switch span{display:grid;gap:4px}.dm-switch small{color:var(--muted);line-height:1.35}
.dm-switch input{position:absolute;opacity:0;width:1px;height:1px}
.dm-switch i{position:relative;width:52px;height:30px;border-radius:15px;background:color-mix(in srgb,var(--text) 14%,var(--panel));border:1px solid var(--line);transition:background .2s var(--ease-out,ease),border-color .2s}
.dm-switch i::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--text);transition:transform .2s var(--ease-out,ease)}
.dm-switch input:checked+i{background:color-mix(in srgb,var(--teal) 55%,var(--panel));border-color:var(--teal)}.dm-switch input:checked+i::after{transform:translateX(22px);background:#07211c}
.dm-switch input:focus-visible+i{outline:2px solid var(--teal);outline-offset:2px}
.dm-switch.is-off{opacity:.55;cursor:not-allowed}
.dm-warn{display:grid;gap:8px;justify-items:start;margin:0;padding:12px 14px;border-radius:3px;border:1px solid color-mix(in srgb,var(--orange) 40%,var(--line));background:color-mix(in srgb,var(--orange) 8%,transparent);font-size:var(--fs-sm)}
.alert-card.is-match{border-color:color-mix(in srgb,var(--orange) 40%,var(--line))}
.age-field small{display:block;margin-top:6px;color:var(--muted);font-weight:400;line-height:1.35}
.pf-actions .pf-message{order:-1}
@media(prefers-reduced-motion:reduce){.dm-switch i,.dm-switch i::after{transition:none}}

.dm-title h1{font-size:clamp(36px,11vw,58px);line-height:.95;overflow-wrap:normal;word-break:keep-all}
.dm-match-actions .primary{flex:1 1 200px;white-space:nowrap}
.dm-switch{color:var(--text)}.dm-switch span b{color:var(--text);font-weight:700}
.dm-switch input:checked+i{background:color-mix(in srgb,var(--teal) 88%,var(--panel))}

/* v1.8.0.1: a conversation is its own full-height screen. The app header and tab bar step aside (the thread header has its own back arrow), the message list is the only thing that scrolls,
   the note and the composer sit in normal flow below it, and the whole shell already follows the keyboard (--shell-h), so the composer rides just above it. */
body.dm-thread .app-header,body.dm-thread .bottom-nav{display:none}
body.dm-thread #app-scroll{display:flex;flex-direction:column;overflow:hidden;margin-bottom:0}
body.dm-thread #main.page{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;max-width:none;width:100%;padding:calc(var(--safe-t,0px) + 8px) max(12px,var(--safe-r,0px)) 0 max(12px,var(--safe-l,0px));animation:none}
.dm-thread-page{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:0;width:100%}
.dm-thread-page::before{inset:-80px -40px auto}
.dm-thread-page .dm-thread-head{position:relative;top:auto;flex:none;margin:0 0 8px}
.dm-thread-page .dm-older{flex:none;margin:0 0 6px}
.dm-thread-page .dm-stream{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px 2px 12px;scrollbar-width:none}
.dm-thread-page .dm-stream::-webkit-scrollbar{display:none}
.dm-thread-page .dm-stream>:first-child{margin-top:auto}
.dm-thread-page .dm-rule{flex:none;padding:8px 10px 10px;font-size:var(--fs-label);line-height:1.35;letter-spacing:.01em;text-wrap:balance}
.dm-thread-page .dm-composer{position:relative;bottom:auto;flex:none;margin:0 0 calc(8px + var(--safe-b,0px))}
.dm-thread-page .dm-closed{flex:none;margin:0 0 calc(8px + var(--safe-b,0px))}
body.kb-open .dm-thread-page .dm-composer,body.kb-open .dm-thread-page .dm-closed{margin-bottom:8px}

/* v1.8.0.1: store-link sheet (shown after a store notification is tapped, so the link is always one tap away) */
.store-sheet{position:fixed;inset:0;z-index:400;display:grid;align-items:end;justify-items:center;padding:16px 16px calc(18px + env(safe-area-inset-bottom,0px));background:rgba(4,10,9,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.store-sheet-card{width:100%;max-width:420px;display:grid;gap:10px;padding:22px;border-radius:22px;border:1px solid rgba(73,237,218,.28);background:linear-gradient(160deg,rgba(24,58,50,.82),rgba(10,18,16,.9));box-shadow:0 18px 60px #000a,inset 0 1px 0 rgba(255,255,255,.08)}
.store-sheet-card h2{margin:0;font-size:26px;overflow-wrap:anywhere}.store-sheet-card p{margin:0;font-size:var(--fs-sm)}.store-sheet-card .eyebrow{margin-bottom:2px;color:var(--teal)}
.store-open{display:flex;align-items:center;justify-content:center;min-height:50px;margin-top:6px;border-radius:14px;background:var(--teal);color:#09231d;font-weight:800;text-decoration:none;overflow-wrap:anywhere;text-align:center;padding:0 16px}.store-open:hover{text-decoration:none}
/* v1.8.0.2: push taps land on the release page; the store is one big glass "Open <store>" button the member taps. */
.rc .rc-open-store{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0 4px;padding:15px 18px;border-radius:16px;font-weight:800;font-size:var(--fs-label-l);letter-spacing:.08em;text-transform:uppercase;color:#062a24;background:linear-gradient(160deg,#7ff6e8,var(--teal) 55%,#2fc9b6);border:1px solid rgba(255,255,255,.35);box-shadow:0 12px 34px rgba(73,237,218,.28),inset 0 1px 0 rgba(255,255,255,.55);text-decoration:none;transition:transform .2s,box-shadow .2s}
.rc .rc-open-store:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 16px 40px rgba(73,237,218,.36),inset 0 1px 0 rgba(255,255,255,.6)}
.rc .rc-open-store svg{width:19px;height:19px;stroke-width:2}
.rc .rc-open-store.rc-from-push{animation:rc-push-in .5s cubic-bezier(.2,.8,.2,1)}
.rc .rc-open-note{margin:6px 0 0;text-align:center;font-size:var(--fs-cap);color:var(--muted)}
@keyframes rc-push-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rc .rc-open-store.rc-from-push{animation:none}}
.ap-open.is-app{color:var(--teal)}

/* v1.8.0.3: official logo (brand kit v2 e140). Dark wordmark is the default; the light one shows only on a light theme
   (data-theme="light", or data-theme="system" + a light OS). Heavy variants everywhere in the app: every placement is under 64px tall.
   Sizes come from the existing height rules with width:auto, so the logo is never stretched. */
:root img.logo-on-light{display:none!important}
:root[data-theme="light"] img.logo-on-dark{display:none!important}:root[data-theme="light"] img.logo-on-light{display:block!important}
@media (prefers-color-scheme: light){:root[data-theme="system"] img.logo-on-dark{display:none!important}:root[data-theme="system"] img.logo-on-light{display:block!important}}
.login-logo{filter:none}
/* v1.8.1 Alerts redesign: glass/spatial */
.al-page{position:relative;isolation:isolate;max-width:860px}
.al-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(120% 70% at 85% -10%,#0f2a27 0,transparent 60%),#080b0b}
.al-bg::after{content:'';position:absolute;inset:0;background-image:radial-gradient(#ffffff10 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000 0,transparent 55%)}
.al-bg i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;animation:al-drift 18s cubic-bezier(.45,0,.55,1) infinite alternate}
.al-bg i:nth-child(1){width:420px;height:420px;left:-140px;top:-80px;background:#1f8f83}
.al-bg i:nth-child(2){width:340px;height:340px;right:-120px;top:240px;background:#0d5d57;animation-delay:-6s}
.al-bg i:nth-child(3){width:260px;height:260px;left:30%;bottom:-120px;background:#49edda;opacity:.18;animation-delay:-11s}
@keyframes al-drift{to{transform:translate3d(40px,30px,0) scale(1.08)}}
.al-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.al-head .eyebrow{color:var(--teal);margin-bottom:8px}
.al-head h1{font-size:clamp(46px,9vw,84px);margin:0 0 8px;text-wrap:balance}
.al-sub{margin:0;font-size:var(--fs-sm);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.al-push{border:0;padding:2px 9px;border-radius:999px;background:#ffffff0d;font-size:var(--fs-cap);color:var(--muted);min-height:24px}
.al-push.on{color:var(--teal);background:#49edda1a}
.al-gear{width:46px;height:46px;padding:0;display:grid;place-items:center;border-radius:15px;background:linear-gradient(180deg,#ffffff14,#ffffff05);border:1px solid #ffffff1c;box-shadow:inset 0 1px 0 #ffffff22,0 8px 24px #0006;backdrop-filter:blur(16px);color:var(--text)}
.al-gear:hover{background:#ffffff1a;border-color:#49edda66}
.al-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin:0 -2px 8px;scrollbar-width:none}
.al-chips::-webkit-scrollbar{display:none}
.al-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 14px;border-radius:999px;background:#ffffff0a;border:1px solid #ffffff17;color:var(--muted);font-size:var(--fs-sm);font-weight:650;backdrop-filter:blur(12px);transition:background .2s,color .2s,border-color .2s,transform .15s}
.al-chip span{font-variant-numeric:tabular-nums;font-size:var(--fs-cap);opacity:.7}
.al-chip:active{transform:scale(.96)}
.al-chip.on{background:var(--teal);border-color:var(--teal);color:#06231e}
.al-group{margin:14px 0 26px}
.al-group-h{font:800 var(--fs-label)/1 var(--sans);letter-spacing:.18em;color:var(--muted);display:flex;align-items:center;gap:10px;margin:0 0 12px}
.al-group-h span{font-variant-numeric:tabular-nums;padding:3px 8px;border-radius:999px;background:#ffffff0d;letter-spacing:0}
.al-list{display:grid;gap:12px}
.al-card{position:relative;display:grid;grid-template-columns:76px 1fr;gap:14px;padding:14px;border-radius:22px;background:linear-gradient(160deg,#ffffff12,#ffffff04 60%),#0d1414b3;border:1px solid #ffffff14;box-shadow:inset 0 1px 0 #ffffff1c,0 1px 2px #0005,0 14px 40px -12px #000a;backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);animation:al-in .55s cubic-bezier(.23,1,.32,1) both;animation-delay:calc(var(--i,0)*55ms)}
.al-card.is-new{border-color:#49edda59;background:linear-gradient(160deg,#49edda1f,#ffffff05 55%),#0d1615c7;box-shadow:inset 0 1px 0 #ffffff26,0 0 0 1px #49edda14,0 18px 46px -14px #0d5d57}
.al-card.read:not(.is-new) h3{color:#c8d3cf}
.al-card.read:not(.is-new){opacity:.86}
@keyframes al-in{from{opacity:0;transform:translateY(10px) scale(.985)}}
.al-thumb{width:76px;height:76px;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 50% 70%,#1d3a35,#0c1312);border:1px solid #ffffff12;display:grid;place-items:center}
.al-thumb img{width:100%;height:100%;object-fit:contain;padding:6px}
.al-thumb-ico svg{width:30px;height:30px;color:var(--al-c,var(--teal))}
.al-t-release{--al-c:#49edda}.al-t-restock{--al-c:#7cf5a6}.al-t-raffle{--al-c:#ffb35b}.al-t-price{--al-c:#ff6ab6}.al-t-dm{--al-c:#9fd2ff}
.al-thumb-ico{background:radial-gradient(circle at 50% 40%,color-mix(in oklab,var(--al-c) 22%,transparent),#0c1312 75%)}
.al-body{min-width:0}
.al-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.al-meta time{margin-left:auto;font-size:var(--fs-cap);color:var(--muted);font-variant-numeric:tabular-nums}
.al-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--al-c);background:color-mix(in oklab,var(--al-c) 14%,transparent);border:1px solid color-mix(in oklab,var(--al-c) 32%,transparent)}
.al-badge svg{width:13px;height:13px;stroke-width:2}
.al-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 10px #49edda}
.al-card h3{margin:0 0 4px;font-size:16px;line-height:1.3;text-wrap:balance;overflow-wrap:anywhere}
.al-card p{margin:0 0 10px;font-size:var(--fs-sm);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.al-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.al-actions button{min-height:38px;padding:8px 14px;border-radius:12px;font-size:var(--fs-sm)}
.al-actions small{font-size:var(--fs-cap)}
.al-none{text-align:center;padding:30px 0}
.al-empty{text-align:center;padding:44px 22px 40px;border-radius:28px;background:linear-gradient(160deg,#ffffff10,#ffffff03),#0d1414a6;border:1px solid #ffffff14;box-shadow:inset 0 1px 0 #ffffff1c,0 20px 50px -18px #000;backdrop-filter:blur(22px);margin:10px 0 30px}
.al-empty-orb{position:relative;width:104px;height:104px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#49edda57,#0d5d5733 60%,transparent 70%);border:1px solid #49edda40;box-shadow:inset 0 1px 0 #ffffff30,0 0 60px #49edda30;color:var(--teal)}
.al-empty-orb svg{width:40px;height:40px}
.al-empty-orb span{position:absolute;inset:-10px;border-radius:50%;border:1px solid #49edda26;animation:al-pulse 3.2s cubic-bezier(.23,1,.32,1) infinite}
@keyframes al-pulse{from{transform:scale(.9);opacity:1}to{transform:scale(1.25);opacity:0}}
.al-empty h3{font-size:22px;margin:0 0 8px}
.al-empty p{max-width:340px;margin:0 auto 22px}
.al-empty-cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.al-empty-cta button{border-radius:14px;min-height:44px}
.al-page .saved-releases{padding:20px;border-radius:24px;background:#0d1414a6;border:1px solid #ffffff14;backdrop-filter:blur(18px)}
.notif-settings .rp-card{margin:0}
@media(max-width:600px){.al-card{grid-template-columns:64px 1fr;gap:12px;padding:12px;border-radius:20px}.al-thumb{width:64px;height:64px;border-radius:14px}}
@media(prefers-reduced-motion:reduce){.al-bg i,.al-empty-orb span{animation:none}.al-card{animation:al-fade .2s ease-out both;animation-delay:0s}@keyframes al-fade{from{opacity:0}}}
.al-card{grid-template-columns:104px 1fr}
.al-thumb{width:104px;height:104px;border-radius:20px;background:radial-gradient(ellipse at 50% 78%,#49edda26,transparent 62%),linear-gradient(160deg,#ffffff14,#ffffff04);border:1px solid #ffffff14;box-shadow:inset 0 1px 0 #ffffff1f}
.al-thumb img,.al-plate img{width:100%;height:100%;object-fit:contain;padding:8px;background:transparent!important;mix-blend-mode:normal;filter:drop-shadow(0 10px 12px #0009)}
.al-page .al-saved{padding:0;background:none;border:0;backdrop-filter:none;margin-top:10px}
.al-saved-note{font-size:var(--fs-sm);margin:-4px 0 12px}
.al-saved-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.al-sv{position:relative}
.al-sv-open{width:100%;display:flex;flex-direction:column;gap:10px;padding:10px 10px 14px;text-align:left;border-radius:22px;background:linear-gradient(160deg,#ffffff12,#ffffff04 60%),#0d1414b3;border:1px solid #ffffff14;box-shadow:inset 0 1px 0 #ffffff1c,0 14px 36px -14px #000;backdrop-filter:blur(20px);transition:transform .2s cubic-bezier(.23,1,.32,1),border-color .2s}
.al-sv-open:hover{border-color:#49edda59;background:linear-gradient(160deg,#49edda1a,#ffffff04 60%),#0d1414b3}
.al-sv-open:active{transform:scale(.98)}
.al-plate{display:grid;place-items:center;aspect-ratio:4/3;border-radius:16px;background:radial-gradient(ellipse at 50% 80%,#49edda2e,transparent 60%),linear-gradient(180deg,#ffffff10,#ffffff03);color:var(--teal)}
.al-plate svg{width:34px;height:34px}
.al-sv-text b{display:block;font-size:14px;line-height:1.3;color:var(--text);overflow-wrap:anywhere}
.al-sv-text small{font-size:var(--fs-cap)}
.al-sv-x{position:absolute;top:8px;right:8px;width:34px;height:34px;padding:0;display:grid;place-items:center;border-radius:50%;background:#090b0bb3;border:1px solid #ffffff1c;color:var(--muted);backdrop-filter:blur(10px)}
.al-sv-x::before{content:'';position:absolute;inset:-5px}
.al-sv-x svg{width:15px;height:15px}
.al-sv-x:hover{color:var(--pink);border-color:#ff6ab666}
@media(max-width:600px){.al-card{grid-template-columns:92px 1fr}.al-thumb{width:92px;height:92px}.al-saved-grid{grid-template-columns:1fr 1fr}}
/* soft frosted light plate: white product backgrounds melt into it (multiply), cutouts float on it */
.al-thumb:not(.al-thumb-ico),.al-plate{background:radial-gradient(ellipse at 50% 30%,#ffffff 0,#eef4f3 45%,#d5e3e0 100%);border:1px solid #ffffff3d;box-shadow:inset 0 1px 0 #fff,inset 0 -10px 24px #49edda1f,0 10px 28px -12px #000}
.al-thumb:not(.al-thumb-ico) img,.al-plate img{mix-blend-mode:multiply;filter:none;padding:6px}
.al-plate:has(svg){background:radial-gradient(ellipse at 50% 80%,#49edda2e,transparent 60%),linear-gradient(180deg,#ffffff10,#ffffff03);box-shadow:none}
.al-page .al-saved h2.al-group-h{font:800 var(--fs-label)/1 var(--sans);letter-spacing:.18em;margin:0 0 12px;text-transform:uppercase}
/* v1.8.0.4: Alerts atmosphere + Liquid Glass (clear, specular; no milky frost) */
.al-bg{background:radial-gradient(90% 55% at 80% -5%,#12403a 0,transparent 62%),radial-gradient(70% 45% at 0% 35%,#0b2f3a 0,transparent 65%),radial-gradient(120% 60% at 50% 115%,#0e3a33 0,#081311 45%,transparent 75%),conic-gradient(from 200deg at 65% 40%,#080b0b,#0a1a1d,#0b1612,#120f1a,#080b0b)}
.al-bg::before{content:'';position:absolute;left:-10%;right:-10%;bottom:-8%;height:46%;background:repeating-linear-gradient(90deg,#49edda0d 0 1px,transparent 1px 64px),repeating-linear-gradient(0deg,#49edda0b 0 1px,transparent 1px 48px);transform:perspective(520px) rotateX(62deg);transform-origin:bottom;mask-image:linear-gradient(0deg,#000,transparent 85%)}
.al-bg::after{background-image:radial-gradient(#ffffff14 1px,transparent 1px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");background-size:22px 22px,160px 160px;mask-image:linear-gradient(180deg,#000 0,#0008 60%,transparent)}
.al-bg i{opacity:.62}.al-bg i:nth-child(2){background:#16707a}.al-bg i:nth-child(3){background:#ff8a4c;opacity:.12}
.al-card,.al-sv-open,.al-empty,.al-gear,.al-chip{background:linear-gradient(155deg,#ffffff1a 0,#ffffff06 28%,#ffffff00 55%,#49edda0a 100%);border:1px solid #ffffff26;border-top-color:#ffffff59;border-left-color:#ffffff38;-webkit-backdrop-filter:blur(3px) saturate(1.8) brightness(1.08);backdrop-filter:blur(3px) saturate(1.8) brightness(1.08);box-shadow:inset 0 1px 0 #ffffff66,inset 1px 0 0 #ffffff1f,inset 0 -1px 0 #49edda24,inset 0 -18px 30px -22px #49edda40,0 18px 40px -18px #000d,0 2px 6px #0006}
.al-card,.al-sv-open,.al-empty{isolation:isolate;overflow:hidden}
.al-card::before,.al-sv-open::before,.al-empty::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(120% 60% at 15% -20%,#ffffff2e,transparent 45%),linear-gradient(115deg,transparent 40%,#ffffff12 48%,transparent 56%)}
.al-card.is-new{background:linear-gradient(155deg,#49edda26 0,#ffffff08 30%,#ffffff00 58%,#49edda12 100%);border-color:#49edda56;border-top-color:#b8fff6aa;box-shadow:inset 0 1px 0 #d9fffa99,inset 0 -18px 30px -20px #49edda56,0 0 0 1px #49edda1a,0 20px 46px -16px #0d5d57}
.al-chip.on{background:linear-gradient(180deg,#49edda40,#49edda14);border-color:#49edda88;color:#eafffc}
.al-page .saved-releases{background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.al-thumb,.al-plate{background:radial-gradient(70% 60% at 50% 70%,#49edda1f,transparent 70%),linear-gradient(180deg,#ffffff0d,#ffffff02)!important;border:1px solid #ffffff1f;box-shadow:inset 0 1px 0 #ffffff33}
/* v1.8.0.4: 90s sneaker store shelf background (original generated scene) behind Liquid Glass cards */
.al-bg{background:linear-gradient(180deg,#080b0bd9 0,#080b0b66 16%,#080b0b1f 34%,#080b0b33 70%,#080b0bcc 100%),url("/assets/alerts-90s-store.webp") center 30%/cover no-repeat,#080b0b}
.al-bg::before{content:none}
.al-bg::after{background-image:radial-gradient(130% 80% at 50% 45%,transparent 55%,#080b0bb3 100%);background-size:auto;mask-image:none}
.al-bg i{display:none}
@media(prefers-reduced-motion:no-preference){.al-bg{animation:al-shelf 40s ease-in-out infinite alternate}@keyframes al-shelf{from{background-position:0 0,center 26%,0 0}to{background-position:0 0,center 36%,0 0}}}
.al-card,.al-sv-open,.al-empty{background:linear-gradient(155deg,#ffffff1f 0,#ffffff08 26%,#ffffff00 52%,#49edda0f 100%),linear-gradient(180deg,#05090ab8,#05090ac7)}
.al-card.is-new{background:linear-gradient(155deg,#49edda2e 0,#ffffff08 30%,#ffffff00 58%,#49edda14 100%),linear-gradient(180deg,#05090ab3,#05090ac2)}
.al-chip,.al-gear,.al-push{background:linear-gradient(180deg,#ffffff1f,#ffffff05),#05090aa6}
.al-page .al-group-h,.al-page .eyebrow{text-shadow:0 1px 8px #000}
.al-page .alert-card.al-card.read{opacity:1}.al-page .al-card.read .al-body,.al-page .al-card.read p{color:#c9d4d2}
