:root{color-scheme:dark;--bg:#101114;--panel:#1c1e23;--panel2:#16181c;--line:#373b41;--text:#f3f4f5;--muted:#a6aab3;--green:#66df91;--violet:#c8a0fc;--gold:#f2cc80;--red:#ffc1c8;--accent:#1db954;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}#app{max-width:940px;padding:16px 12px 72px;margin:auto}.header,.row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:11px}.logo{border-radius:13px;background:#224c33;color:#a8f4b8;display:grid;place-items:center;font-size:26px;width:47px;height:47px}.brand h1{font-size:23px;letter-spacing:-.04em;margin:0}.brand p{font-size:10px;color:#adb0b6;letter-spacing:.12em;margin:2px 0}.identity{padding:8px 11px;border:1px solid #53575e;border-radius:40px;font-size:12px;color:#c3c7ce;max-width:100%;overflow-wrap:anywhere}.nav{display:flex;overflow:auto;gap:7px;padding:18px 0 14px;scrollbar-width:thin;position:sticky;top:0;background:var(--bg);z-index:4}.btn,.nav button{background:#292b30;color:#f5f6f7;border:1px solid #484b52;border-radius:999px;padding:9px 13px;min-height:42px;font-weight:700;font-size:13px}.nav button{white-space:nowrap;flex-shrink:0}.btn.primary,.nav .active{background:var(--accent);border-color:var(--accent);color:#061b0b}.btn.danger{background:#4d2a30;color:#ffb4c0;border-color:#7b424a}.btn.ghost{background:transparent}.btn.small{font-size:12px;padding:7px 10px;min-height:35px}.btn:disabled{opacity:.42;cursor:not-allowed}.panel,.item{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:13px;margin:10px 0}.item{background:var(--panel2);border-radius:12px}.group{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.title{font-size:19px;margin:2px 0}.sub,.muted{font-size:12px;color:var(--muted);line-height:1.5}.fine{font-size:11px;color:#9298a3}.badge{display:inline-flex;font-size:11px;align-items:center;gap:3px;padding:6px 9px;border-radius:99px;background:#303239;color:#cbd0d9}.badge.ing{background:#193d2a;color:#99f4b6}.badge.pot{background:#48282f;color:#ffc2cb}.badge.market{background:#322741;color:var(--violet)}.badge.mine{background:#163c2a;color:var(--green)}.badge.time{background:#262a33;color:#cdd5e2}.green{color:var(--green)}.violet{color:var(--violet)}.gold{color:var(--gold)}.red{color:var(--red)}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.toolbar>*{min-width:0}input,select,textarea{color:#f4f4f6;background:#121417;border:1px solid #4b5059;padding:10px;border-radius:10px;min-height:42px;max-width:100%;font-size:16px}input[type=number]{width:95px}input[type=search]{width:100%;flex:1 1 180px}input[type=password]{width:100%}textarea{width:100%;min-height:96px;resize:vertical}.field{display:grid;gap:5px;margin:8px 0}.field label{font-size:11px;color:#acb2bc}.field>input,.field>select{width:100%}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:8px}.controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:9px 0}.controls .btn{padding:7px 9px;min-width:37px;min-height:39px}.controls input{text-align:center;width:80px;min-height:39px}.statrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.stat{background:#1d2126;border:1px solid #343a42;padding:11px 9px;border-radius:11px}.stat strong{display:block;margin-top:4px;font-size:17px}.stat small{color:#a4abb6;font-size:10px}.details{background:#22242a;border:1px solid #42454d;padding:12px;border-radius:12px;margin-top:12px}.line{border:1px solid #3d414a;border-radius:10px;padding:10px;margin:8px 0}.linegrid{display:grid;grid-template-columns:1fr minmax(85px,2fr) minmax(70px,.7fr) auto;gap:6px;align-items:center}.linegrid input,.linegrid select{width:100%}.notice{padding:12px;border-radius:11px;background:#302737;border:1px solid #64517b;color:#e5d6f5;font-size:12px;line-height:1.5;margin:10px 0}.warning{background:#322728;border-color:#8b565b;color:#f9d1d4}.blank{color:#a6a9b2;text-align:center;padding:27px 10px;border:1px dashed #454951;border-radius:12px}.comments{border-top:1px solid #444750;margin-top:12px;padding-top:10px}.comment{padding:9px;border:1px solid #3f4149;border-radius:9px;margin:7px 0;font-size:12px}.comment b{color:var(--violet)}.splitaction{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-top:13px;padding-top:11px;border-top:1px solid #44454c}.bigfloat{position:sticky;top:70px;z-index:3;background:#1d2024;border:1px solid #4a4e56;border-radius:12px;padding:10px;margin:10px 0}.pillnum{font-variant-numeric:tabular-nums}hr{border:0;border-top:1px solid #42454d;margin:13px 0}footer{text-align:center;color:#848b94;font-size:10px;margin-top:36px}.keycode{text-transform:uppercase;letter-spacing:.12em;font-weight:800}#flash:not(:empty){position:relative;z-index:5;padding:12px;border:1px solid #507455;border-radius:12px;background:#1f3929;margin-bottom:9px;font-size:13px;overflow-wrap:anywhere}.hide{display:none!important}h2,h3,p{margin-top:0}h2{font-size:19px}h3{font-size:15px}.tiny{font-size:10px;color:#9298a3}.price{font-weight:800;font-variant-numeric:tabular-nums}.right{text-align:right}.check{display:flex;gap:6px;align-items:center}.tagrow{display:flex;gap:5px;flex-wrap:wrap}.caps{text-transform:uppercase}label{cursor:pointer}.invalid{border-color:#d07a7a!important}@media(max-width:530px){.linegrid{grid-template-columns:1fr 1fr}.linegrid .btn{grid-column:2;justify-self:end}.stat strong{font-size:14px}.header h1{font-size:20px}.brand p{font-size:9px}.btn{padding:8px 11px}#app{padding:12px 10px 70px}.nav{padding-top:12px}}

/* v2: calm, shared seasonal presentation, accessibility and queue clarity */
:root{--leaf-scroll:0px;--season-border:var(--line);--season-outline:transparent}
body[data-season="autumn"]{--season-border:#655040;--season-outline:rgba(212,120,61,.09);--accent:#d39b5c}
body[data-season="winter"]{--season-border:#536270;--season-outline:rgba(139,195,244,.08);--accent:#8ac8ca}
body[data-season="spring"]{--season-border:#526d58;--season-outline:rgba(124,203,128,.09);--accent:#8acf91}
body[data-season="summer"]{--season-border:#71624a;--season-outline:rgba(250,196,92,.10);--accent:#deb665}
body[data-season]:not([data-season="default"]){background:radial-gradient(ellipse at 50% -20%,var(--season-outline),transparent 54%),var(--bg)}
body[data-season]:not([data-season="default"]) .panel,body[data-season]:not([data-season="default"]) .item{border-color:var(--season-border)}
body[data-season]:not([data-season="default"]) .header{border-bottom:1px solid var(--season-border);padding-bottom:11px}
body[data-season="autumn"] .logo{background:#4d3320;color:#ffd59c}
body[data-season="winter"] .logo{background:#2d4250;color:#b0e8f9}
body[data-season="spring"] .logo{background:#254431;color:#b9f5c1}
body[data-season="summer"] .logo{background:#514321;color:#ffe1a3}
body[data-season]:not([data-season="default"]) .btn.primary,body[data-season]:not([data-season="default"]) .nav .active{color:#101417}
body[data-season]:not([data-season="default"]) .bigfloat{border-color:var(--season-border)}
.favorite-btn{font:inherit;font-size:24px;line-height:1;min-width:38px;height:38px;border:1px solid #4e515c;border-radius:10px;background:#24272b;color:#999fa7;cursor:pointer}
.favorite-btn.is-fav{color:#ffcf75;border-color:#92754a;background:#342d22}
.favorite-btn:focus-visible,.btn:focus-visible,input:focus-visible{outline:2px solid #d5b4ff;outline-offset:2px}
.badge.unavailable{color:#b7b3bd;background:#2b2c32}
.badge.ingredient-demand{border:1px solid transparent;font-variant-numeric:tabular-nums}
.badge.ingredient-demand.enough{border-color:#356848;color:#a3eaba}
.badge.ingredient-demand.short{border-color:#71424a;color:#ffc4c8}
.queue-needs{margin-top:10px;border-top:1px solid #424850;padding-top:10px}
.queue-needs summary{cursor:pointer;font-size:12px;font-weight:700;color:#cbd2db}
.needs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px;margin-top:9px}
.need-item{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid #373c43;border-radius:9px;background:#161a1d;font-size:11px}
.need-item span{font-variant-numeric:tabular-nums}
.season-picker{display:flex;gap:7px;flex-wrap:wrap}
.season-decor{position:fixed;inset:0;z-index:5;pointer-events:none;overflow:hidden;contain:layout style}
.winter-lights,.autumn-leaves,.spring-petals{display:none}
body[data-season="winter"] .winter-lights{display:flex;position:absolute;top:1px;left:0;right:0;justify-content:space-around;border-top:1px solid #8e9c9c;height:21px}
.winter-lights .bulb{position:relative;width:7px;height:11px;border-radius:45% 45% 55% 55%;top:4px;opacity:.65;animation:winter-twinkle 4s ease-in-out infinite;animation-delay:calc(var(--i) * -0.37s);background:#ffcd78;box-shadow:0 0 7px #ffcd78}
.winter-lights .bulb::before{content:'';position:absolute;top:-4px;left:2px;width:3px;height:4px;background:#7b9294}
.winter-lights .bulb-1{background:#8dd3ff;box-shadow:0 0 8px #8dd3ff}.winter-lights .bulb-2{background:#ffa1b7;box-shadow:0 0 8px #ffa1b7}.winter-lights .bulb-3{background:#a1e7a9;box-shadow:0 0 8px #a1e7a9}
@keyframes winter-twinkle{0%,100%{opacity:.35;filter:brightness(.8)}50%{opacity:.9;filter:brightness(1.18)}}
body[data-season="autumn"] .autumn-leaves,body[data-season="spring"] .spring-petals{display:block}
.autumn-leaves span,.spring-petals span{position:absolute;left:var(--x);top:var(--y);font-size:var(--size);opacity:.34;filter:saturate(.75);transform:translateX(calc(var(--leaf-scroll) * var(--factor))) rotate(var(--angle));transition:transform .7s ease-out;will-change:transform}
.autumn-leaves span:nth-child(1){--x:2%;--y:8%;--size:28px;--factor:1;--angle:-20deg}
.autumn-leaves span:nth-child(2){--x:92%;--y:14%;--size:22px;--factor:-.8;--angle:18deg}
.autumn-leaves span:nth-child(3){--x:5%;--y:69%;--size:18px;--factor:.65;--angle:22deg}
.autumn-leaves span:nth-child(4){--x:93%;--y:76%;--size:27px;--factor:-1.15;--angle:-12deg}
.autumn-leaves span:nth-child(5){--x:2%;--y:38%;--size:14px;--factor:.6;--angle:20deg}
.spring-petals span{color:#dba5c4;opacity:.35;font-size:30px}
.spring-petals span:nth-child(1){--x:2%;--y:15%;--size:25px;--factor:1;--angle:12deg}
.spring-petals span:nth-child(2){--x:93%;--y:27%;--size:29px;--factor:-1;--angle:-15deg}
.spring-petals span:nth-child(3){--x:3%;--y:79%;--size:20px;--factor:.5;--angle:18deg}
.spring-petals span:nth-child(4){--x:96%;--y:82%;--size:18px;--factor:-.7;--angle:10deg}
body[data-season="summer"] #app:before{content:'';pointer-events:none;position:absolute;top:0;left:0;right:0;height:120px;background:radial-gradient(ellipse at 95% -20%,rgba(246,190,75,.14),transparent 66%)}
body[data-season="summer"] #app{position:relative}
@media(max-width:530px){.needs-grid{grid-template-columns:1fr}.autumn-leaves span,.spring-petals span{opacity:.17}.season-picker .btn{flex:1 0 auto}}
@media(prefers-reduced-motion:reduce){.winter-lights .bulb{animation:none;opacity:.7}.autumn-leaves span,.spring-petals span{transition:none;transform:none}}


/* v1.2 — quietly animated six-season skins, fixed gentle wallpaper (never scroll-linked). */
body{isolation:isolate;}
body::before{content:"";position:fixed;inset:-16%;z-index:-2;pointer-events:none;
 background:radial-gradient(ellipse at 20% 28%,var(--season-a,rgba(79,72,110,.10)),transparent 45%),radial-gradient(ellipse at 76% 68%,var(--season-b,rgba(45,85,71,.09)),transparent 48%);
 animation:ambient-drift 35s ease-in-out infinite alternate;transform-origin:center;}
@keyframes ambient-drift{0%{transform:translate3d(-1%,1%,0) scale(1)}100%{transform:translate3d(2%,-2%,0) scale(1.06)}}
body[data-season="fall"],body[data-season="autumn"]{--season-border:#806048;--season-outline:rgba(203,128,74,.09);--accent:#d4a271;--season-a:rgba(145,66,31,.15);--season-b:rgba(166,110,45,.12)}
body[data-season="christmas"],body[data-season="winter"]{--season-border:#597066;--season-outline:rgba(89,152,139,.08);--accent:#bcddc5;--season-a:rgba(44,119,90,.16);--season-b:rgba(155,50,51,.11)}
body[data-season="newyear"]{--season-border:#6b638d;--season-outline:rgba(119,116,185,.09);--accent:#d5c7fa;--season-a:rgba(67,60,133,.17);--season-b:rgba(190,157,73,.10)}
body[data-season="halloween"]{--season-border:#76503d;--season-outline:rgba(172,85,39,.10);--accent:#edab6a;--season-a:rgba(128,57,31,.17);--season-b:rgba(91,61,117,.16)}
body[data-season="spring"]{--season-border:#5d8066;--season-outline:rgba(119,190,142,.08);--accent:#b2dda5;--season-a:rgba(60,123,83,.14);--season-b:rgba(180,108,142,.09)}
body[data-season="summer"]{--season-border:#827052;--season-outline:rgba(216,167,71,.10);--accent:#efca86;--season-a:rgba(197,142,50,.15);--season-b:rgba(58,112,110,.10)}
body[data-season]:not([data-season="default"]){background:var(--bg)}
body[data-season]:not([data-season="default"]) .panel,body[data-season]:not([data-season="default"]) .item{border-color:var(--season-border)}
body[data-season]:not([data-season="default"]) .header{border-bottom:1px solid var(--season-border);padding-bottom:11px}
body[data-season="fall"] .logo{background:#513724;color:#ffe0ab}
body[data-season="christmas"] .logo{background:#254235;color:#c2f2ca}
body[data-season="newyear"] .logo{background:#362e57;color:#eedaff}
body[data-season="halloween"] .logo{background:#4c2b23;color:#ffc48c}
body[data-season="spring"] .logo{background:#254431;color:#c2f3c7}
body[data-season="summer"] .logo{background:#514321;color:#ffe1a3}
body[data-season]:not([data-season="default"]) .btn.primary,body[data-season]:not([data-season="default"]) .nav .active{color:#101417}
.season-decor{z-index:4}
.winter-lights,.autumn-leaves,.spring-petals,.newyear-stars,.halloween-bats,.summer-glints{display:none}
body[data-season="christmas"] .winter-lights{display:flex;position:absolute;top:1px;left:0;right:0;justify-content:space-around;border-top:1px solid #849d8f;height:20px}
body[data-season="fall"] .autumn-leaves,body[data-season="spring"] .spring-petals,
body[data-season="newyear"] .newyear-stars,body[data-season="halloween"] .halloween-bats,
body[data-season="summer"] .summer-glints{display:block}
.autumn-leaves span,.spring-petals span,.newyear-stars span,.halloween-bats span,.summer-glints span{
 position:absolute;left:var(--x);top:var(--y);font-size:var(--size);opacity:.23;filter:saturate(.75);
 transform:translate3d(0,0,0) rotate(var(--angle));transition:none;
 animation:quiet-floating var(--duration,24s) ease-in-out infinite alternate;
 animation-delay:var(--delay,0s);text-shadow:0 0 10px rgba(255,255,255,.07);
}
@keyframes quiet-floating{0%{transform:translate3d(-5px,8px,0) rotate(-10deg)}100%{transform:translate3d(9px,-16px,0) rotate(17deg)}}
.newyear-stars span{color:#f3d991;opacity:.25;text-shadow:0 0 12px #e3c67b;animation:quiet-floating 28s ease-in-out infinite alternate,soft-glint 6s ease-in-out infinite alternate}
.halloween-bats span{color:#ca89b1;opacity:.22;animation-duration:29s}
.summer-glints span{color:#ffdf87;opacity:.23;animation-duration:24s}
@keyframes soft-glint{0%,100%{opacity:.11}50%{opacity:.30}}
.newyear-stars span:nth-child(1),.halloween-bats span:nth-child(1),.summer-glints span:nth-child(1){--x:3%;--y:14%;--size:22px;--duration:26s}
.newyear-stars span:nth-child(2),.halloween-bats span:nth-child(2),.summer-glints span:nth-child(2){--x:91%;--y:22%;--size:24px;--duration:33s;--delay:-7s}
.newyear-stars span:nth-child(3),.halloween-bats span:nth-child(3),.summer-glints span:nth-child(3){--x:5%;--y:78%;--size:17px;--duration:30s;--delay:-11s}
.newyear-stars span:nth-child(4),.halloween-bats span:nth-child(4),.summer-glints span:nth-child(4){--x:94%;--y:81%;--size:20px;--duration:32s;--delay:-15s}
body[data-season="halloween"] .panel{box-shadow:inset 0 0 18px rgba(132,60,47,.05)}
body[data-season="newyear"] .panel{box-shadow:inset 0 0 20px rgba(162,137,219,.035)}
.badge.drink{background:#413021;color:#ffd6a6}.badge.gem{background:#3d294e;color:#e6b9ff}.badge.needs-edit{background:#493725;color:#ffce94;border:1px solid #87623e}
@media(max-width:530px){.autumn-leaves span,.spring-petals span,.newyear-stars span,.halloween-bats span,.summer-glints span{opacity:.15}}
@media(prefers-reduced-motion:reduce){body::before,.winter-lights .bulb,.autumn-leaves span,.spring-petals span,.newyear-stars span,.halloween-bats span,.summer-glints span{animation:none!important;transition:none!important}}
/* Let alerts and input borders inherit the selected season instead of staying violet. */
body[data-season]:not([data-season="default"]) .notice:not(.warning){background:color-mix(in srgb,var(--season-border) 14%,#24232b);border-color:var(--season-border);color:#e8e2df}
body[data-season]:not([data-season="default"]) .bigfloat,body[data-season]:not([data-season="default"]) .details{border-color:var(--season-border)}
body[data-season]:not([data-season="default"]) input:focus-visible,body[data-season]:not([data-season="default"]) select:focus-visible{outline-color:var(--accent)}

/* v1.3: visible, compositor-animated seasonal wallpaper, independent of scrolling. */
body::before{display:none!important}
body{isolation:isolate}
#app{position:relative;z-index:1}
.season-wallpaper{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:layout style;opacity:.95}
.season-wallpaper::before{content:"";position:absolute;inset:0;opacity:.35;background-image:radial-gradient(circle at 50% 50%,rgba(255,255,255,.12) .75px,transparent 1.5px);background-size:48px 48px;mask-image:linear-gradient(110deg,transparent,black 40%,transparent)}
.wall-mist{position:absolute;display:block;border-radius:50%;width:95vmax;height:95vmax;will-change:transform;opacity:.75;/* radial-gradient already provides a soft edge: avoid large animated GPU blur surfaces */}
.mist-one{left:-55vmax;top:-47vmax;background:radial-gradient(circle,var(--wall-a,rgba(55,119,87,.12)) 0%,transparent 65%);animation:wall-flow-one 23s ease-in-out infinite alternate}
.mist-two{right:-60vmax;top:4vh;background:radial-gradient(circle,var(--wall-b,rgba(83,66,132,.12)) 0%,transparent 64%);animation:wall-flow-two 28s ease-in-out infinite alternate}
.mist-three{left:-25vmax;bottom:-70vmax;background:radial-gradient(circle,var(--wall-c,rgba(51,122,118,.10)) 0%,transparent 62%);animation:wall-flow-three 33s ease-in-out infinite alternate}
@keyframes wall-flow-one{from{transform:translate3d(-3vw,1vh,0) scale(1)}to{transform:translate3d(32vw,13vh,0) scale(1.15)}}
@keyframes wall-flow-two{from{transform:translate3d(3vw,-10vh,0) scale(1.1)}to{transform:translate3d(-30vw,19vh,0) scale(.96)}}
@keyframes wall-flow-three{from{transform:translate3d(-8vw,-7vh,0) scale(.9)}to{transform:translate3d(20vw,-31vh,0) scale(1.15)}}
body[data-season="fall"]{--wall-a:rgba(226,119,44,.27);--wall-b:rgba(144,78,40,.19);--wall-c:rgba(193,145,63,.16)}
body[data-season="christmas"]{--wall-a:rgba(27,150,119,.23);--wall-b:rgba(182,47,73,.15);--wall-c:rgba(83,152,165,.19)}
body[data-season="newyear"]{--wall-a:rgba(100,81,200,.24);--wall-b:rgba(212,170,72,.19);--wall-c:rgba(87,107,198,.16)}
body[data-season="halloween"]{--wall-a:rgba(224,101,25,.24);--wall-b:rgba(103,56,168,.25);--wall-c:rgba(184,69,47,.16)}
body[data-season="spring"]{--wall-a:rgba(91,185,117,.23);--wall-b:rgba(231,116,165,.16);--wall-c:rgba(87,184,146,.15)}
body[data-season="summer"]{--wall-a:rgba(238,174,65,.23);--wall-b:rgba(73,171,161,.16);--wall-c:rgba(216,135,55,.19)}
/* Even on a narrow phone, the moving colors subtly pass through the translucent cards. */
body[data-season]:not([data-season="default"]) .panel{background:rgba(28,30,35,.89);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--season-border) 17%,transparent),0 8px 30px rgba(0,0,0,.10)}
body[data-season]:not([data-season="default"]) .item{background:rgba(22,24,28,.89)}
body[data-season]:not([data-season="default"]) .nav{background:rgba(16,17,20,.93);backdrop-filter:blur(8px)}
body[data-season]:not([data-season="default"]) .header{border-bottom-color:var(--season-border)}
body[data-season]:not([data-season="default"]) .identity{border-color:var(--season-border)}
body[data-season]:not([data-season="default"]) .nav button.active{box-shadow:0 0 14px color-mix(in srgb,var(--season-border) 32%,transparent)}
.wall-flair{position:absolute;inset:0;overflow:hidden}
.flair{display:none;position:absolute;top:var(--py);left:var(--px);font-size:var(--fs,21px);color:var(--season-border);opacity:0;filter:saturate(.6);text-shadow:0 0 12px color-mix(in srgb,var(--season-border) 65%,transparent);animation:flair-motion var(--dur,19s) ease-in-out infinite alternate;animation-delay:var(--delay,0s)}
body[data-season="fall"] .flair-fall,body[data-season="christmas"] .flair-christmas,body[data-season="newyear"] .flair-newyear,body[data-season="halloween"] .flair-halloween,body[data-season="spring"] .flair-spring,body[data-season="summer"] .flair-summer{display:block}
@keyframes flair-motion{0%{opacity:.12;transform:translate3d(-10px,12px,0) rotate(-11deg)}45%{opacity:.26}100%{opacity:.11;transform:translate3d(20px,-42px,0) rotate(18deg)}}
.flair.drift-1{--px:4%;--py:12%;--fs:25px;--dur:18s}
.flair.drift-2{--px:89%;--py:21%;--fs:19px;--dur:21s;--delay:-7s}
.flair.drift-3{--px:7%;--py:39%;--fs:16px;--dur:24s;--delay:-10s}
.flair.drift-4{--px:94%;--py:49%;--fs:24px;--dur:20s;--delay:-5s}
.flair.drift-5{--px:5%;--py:73%;--fs:21px;--dur:29s;--delay:-12s}
.flair.drift-6{--px:82%;--py:88%;--fs:20px;--dur:20s;--delay:-2s}
.flair.drift-7{--px:33%;--py:93%;--fs:16px;--dur:26s;--delay:-14s}
.flair.drift-8{--px:68%;--py:8%;--fs:14px;--dur:23s;--delay:-9s}
body[data-season="christmas"] .flair,body[data-season="newyear"] .flair{filter:drop-shadow(0 0 5px rgba(230,222,180,.30))}
@media(max-width:530px){.wall-mist{width:110vmax;height:110vmax}.flair{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){.wall-mist,.flair{animation:none!important;will-change:auto}.flair{opacity:.15}}
/* v1.3: custom type-to-filter combo pickers, touch targets and responsive line items. */
.smart-picker{position:relative;min-width:0;flex:1 1 180px}
.smart-picker input{width:100%;padding-right:42px;text-overflow:ellipsis}
.smart-picker input:focus{outline:2px solid var(--accent);outline-offset:1px}
.picker-chevron{position:absolute;right:3px;top:3px;bottom:3px;width:36px;border:0;border-left:1px solid #414651;border-radius:0 8px 8px 0;color:#c8cdd4;background:rgba(255,255,255,.045);font-size:19px}
.picker-options{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:25;max-height:245px;overflow-y:auto;overscroll-behavior:contain;background:#252831;border:1px solid #626872;border-radius:12px;padding:4px;box-shadow:0 15px 32px rgba(0,0,0,.6)}
.picker-options[hidden]{display:none!important}
.picker-option{display:block;text-align:left;width:100%;min-height:43px;border:0;border-bottom:1px solid #373b46;padding:9px 11px;color:#e9eaf0;background:transparent;font-size:14px;border-radius:6px}
.picker-option:hover,.picker-option:focus,.picker-option.highlighted{background:#39423e;color:#fff;outline:1px solid #668e76}
.picker-hint{color:#b1b7c2;font-size:11px;padding:10px}
.pick-row{align-items:flex-start}.pick-row>.btn{min-height:42px}
.linegrid>.smart-picker{width:100%;min-width:0}
.linegrid>.smart-picker input{min-width:0}
@media(max-width:530px){.linegrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.linegrid>.smart-picker{grid-column:1/-1}.linegrid>.smart-picker input{width:100%}.linegrid>input[type=number]{grid-column:1}.linegrid>.btn{grid-column:2}}

/* v1.4: positive estimate quantities float to the top of Rates; the
   original catalog order stays intact within quoted and unquoted groups. */
.quoted-item{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 70%,transparent)}

/* v1.6: No colored/nav overlay, no backdrop compositing, no blue tint.
   Keep horizontal overflow and the native scroll indicator exactly as before. */
.nav,
body[data-season]:not([data-season="default"]) .nav {
 background:none;
 background-color:transparent;
 background-image:none;
 backdrop-filter:none;
 -webkit-backdrop-filter:none;
 box-shadow:none;
}


/* v1.7: Rates price values use a vertical column. Guild (green) is always
   above market (purple); the item label can wrap without displacing badges. */
.rate-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.rate-item-name{flex:1 1 0;min-width:0;overflow-wrap:break-word;line-height:1.4}
.rate-price-stack{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:5px;max-width:55%}
.rate-price-stack .badge{white-space:nowrap;max-width:100%;justify-content:flex-end}
