@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Nunito_c046d1;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Nunito_Fallback_c046d1;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_c046d1{font-family:__Nunito_c046d1,__Nunito_Fallback_c046d1;font-style:normal}:root{--teal:#0a7b8e;--teal-dark:#083d4c;--navy:#0b2335;--coral:#e44d4a;--beige:#f2d9b3;--mint:#77c6c9;--paper:#f5f7f8;--card:#fff;--ink:#0b2335;--muted:#5b6d75;--line:#e4eaed;--ok:#0a7b8e;--warn:#e44d4a;--shadow:0 8px 24px rgba(0,31,53,.08);--r8:8px;--r12:12px;--r16:16px;--r24:24px;--canal:var(--teal);--canal-2:var(--teal-dark);--rust:var(--coral)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:Nunito,Segoe UI,sans-serif}a{color:var(--teal)}a:hover{color:var(--teal-dark)}h1,h2,h3{font-family:Nunito,Segoe UI,sans-serif;font-weight:800;letter-spacing:-.03em;margin:0 0 .4rem}h1{font-size:1.75rem}h2{font-size:1.15rem}.shell{max-width:1100px;margin:0 auto;padding:1.25rem 1.25rem 3rem}.public-frame{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:#fff}.public-frame>.page-wrap,.public-frame>main{flex:1 1;min-height:0}.site-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:1.5rem;gap:1.5rem;padding:.85rem 2rem;background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--line)}.site-header-brand{text-decoration:none;color:inherit}.site-nav{display:flex;justify-content:flex-end;gap:1.6rem;font-weight:700}.site-nav a{color:var(--navy);text-decoration:none}.site-nav a:hover{color:var(--teal)}.site-footer{background:var(--teal-dark);color:#fff;padding:2.2rem 2rem;flex-shrink:0}.site-footer a{color:#fff}.site-footer a:hover{color:var(--mint)}.wordmark{display:inline-flex;flex-direction:column;line-height:1;color:var(--teal-dark)}.wordmark-light{color:#fff}.wordmark-row{display:inline-flex;align-items:center;gap:.45rem}.wordmark-text{font-weight:800;letter-spacing:-.05em;font-size:1.55rem}.wordmark-sm .wordmark-text{font-size:1.2rem}.wordmark-lg .wordmark-text{font-size:2rem}.wordmark-o-letter{position:relative;display:inline-block;vertical-align:baseline}.wordmark-heart{position:absolute;left:50%;top:.58em;width:.32em;height:.36em;transform:translate(-50%,-50%);color:#fff;fill:currentColor;pointer-events:none;overflow:visible}.wordmark-light .wordmark-heart{color:var(--teal-dark);fill:currentColor}.wordmark-sub{display:block;margin-top:.28rem;font-size:.72rem;font-weight:700;letter-spacing:0;opacity:.9}.hero-band{position:relative;background:var(--teal-dark);color:#fff;overflow:hidden;min-height:420px}.hero-band-art{position:absolute;top:0;right:0;bottom:0;width:66%;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000);mask-image:linear-gradient(90deg,transparent,#000 22%,#000)}.hero-band-art img{width:100%;height:100%;object-fit:cover;object-position:42% center;display:block}.hero-band:after{content:none}.hero-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,520px) 1fr;grid-gap:2rem;gap:2rem;padding:3.2rem 2rem 2.6rem;align-items:center}.hero-copy h1{font-size:clamp(2rem,4vw,3.3rem);color:#fff;max-width:12ch;line-height:1.05}.hero-copy p{font-size:1.08rem;max-width:34rem;opacity:.9}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}.hero-art{min-height:280px;border-radius:var(--r24);overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;display:block}.page-wrap{max-width:1180px;margin:0 auto;padding:2rem 1.5rem 3.5rem}.feature-grid,.grid,.quick-grid,.shop-grid{display:grid;grid-gap:1rem;gap:1rem}.feature-grid,.quick-grid{grid-template-columns:repeat(3,1fr);margin:1.5rem 0 2rem}.shop-grid{grid-template-columns:repeat(4,1fr)}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:.4rem 0 1rem}.section-head h2{margin:0}.section-head a{font-weight:800;text-decoration:none;white-space:nowrap}.studio-icon{display:block;width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.feature-card{background:var(--card);border-radius:var(--r16);padding:1.1rem 1.15rem;box-shadow:var(--shadow);text-decoration:none;color:inherit;display:grid;grid-template-columns:auto 1fr auto;grid-gap:.85rem;gap:.85rem;align-items:center}.feature-card h3{margin:0 0 .2rem}.feature-card p{margin:0}.feature-chev{color:var(--teal);font-size:1.55rem;font-weight:800;line-height:1}@media (min-width:800px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:1fr 1fr 1fr}}.card,.soft-card{background:var(--card);border-radius:var(--r16);padding:1.15rem 1.2rem;box-shadow:var(--shadow)}.soft-card{text-decoration:none;color:inherit;display:block}.soft-card h3{margin-top:.7rem}.shop-card{text-align:center;padding:1.4rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.7rem}.shop-card .circle-icon,.shop-card .studio-icon{margin:0 auto}.promo-card{display:grid;grid-template-columns:180px 1fr;overflow:hidden;padding:0;min-height:140px}.promo-card img{width:100%;height:100%;object-fit:cover;display:block}.promo-body{padding:1.2rem 1.3rem}.circle-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--teal-dark);flex-shrink:0}.circle-icon.tone-coral{background:var(--coral)}.circle-icon.tone-mint{background:var(--mint);color:var(--teal-dark)}.circle-icon.lg{width:64px;height:64px}.muted{color:var(--muted)}.stat{font-size:2.1rem;font-weight:800;color:var(--teal-dark);letter-spacing:-.04em}label{display:block;font-weight:700;margin:.7rem 0 .25rem}input,select,textarea{width:100%;padding:.65rem .8rem;border:1.5px solid #cfd8de;border-radius:12px;background:#fff;font:inherit;color:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--mint);border-color:var(--teal)}.btn,a.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;background:var(--teal-dark);color:#fff;padding:.7rem 1.2rem;border-radius:999px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none;line-height:1}.btn:hover,button:hover{filter:brightness(1.06);color:#fff}.btn-secondary,.btn.secondary,button.secondary{background:#fff;color:var(--teal);border:2px solid var(--teal)}.btn-secondary:hover,button.secondary:hover{color:var(--teal)}.btn-ghost{background:transparent;color:#fff;border:2px solid hsla(0,0%,100%,.75)}.btn-white{background:#fff;color:var(--teal-dark)}.btn-header{padding:.55rem 1.1rem}button.danger{background:var(--coral)}.nav button.link,button.link{background:none;color:inherit;padding:0;border-radius:0;font-weight:700}.legal{max-width:720px}.legal-body h2{margin:1.6rem 0 .5rem;scroll-margin-top:5rem}.legal-body h2:first-child{margin-top:0}.legal-body li,.legal-body p{line-height:1.65;color:var(--ink)}.legal-body ul{margin:.4rem 0 1rem;padding-left:1.2rem}.legal-body li{margin:.35rem 0}.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom, 0px));z-index:80;display:flex;gap:1rem;align-items:center;justify-content:space-between;max-width:720px;margin:0 auto;padding:1rem 1.1rem;background:var(--navy);color:#fff;border-radius:16px;box-shadow:0 12px 32px rgba(0,31,53,.28)}.cookie-banner p{margin:0;font-size:.92rem;line-height:1.45}.cookie-banner a{color:var(--mint)}.cookie-banner a:hover{color:#fff}.cookie-banner button{flex-shrink:0;background:#fff;color:var(--teal-dark)}.flash{padding:.75rem .9rem;border-radius:12px;margin-bottom:1rem;background:#e7f4f5}.flash.err{background:#fdecea;color:var(--coral)}.check-row{display:flex;gap:.65rem;align-items:flex-start;font-weight:600;margin:.9rem 0 .35rem}.check-row input[type=checkbox]{width:auto;margin-top:.28rem;flex-shrink:0}.btn:disabled,button:disabled{opacity:.45;cursor:not-allowed;filter:none}input.pw-ok{border-color:var(--teal)}input.pw-bad{border-color:var(--coral)}.pw-field{margin-top:.15rem}.pw-panel{margin-top:.45rem;border:1.5px solid #cfd8de;border-radius:12px;background:#fff;overflow:hidden}.pw-panel.is-ok{border-color:var(--teal)}.pw-panel.is-bad{border-color:var(--coral)}.pw-panel-toggle{width:100%;display:flex;align-items:center;gap:.5rem;background:#fff!important;border:0!important;border-radius:0;font-weight:700;font-size:.92rem;padding:.6rem .8rem;justify-content:flex-start}.pw-panel-toggle,.pw-panel-toggle:hover{color:inherit!important;filter:none!important}.pw-caret{margin-left:auto;color:var(--muted)}.pw-dot{width:.7rem;height:.7rem;border-radius:50%;flex-shrink:0;background:var(--coral)}.pw-dot.is-ok{background:var(--teal)}.pw-list{list-style:none;margin:0;padding:.15rem .85rem .7rem}.pw-list li{display:flex;align-items:center;gap:.45rem;font-weight:700;font-size:.9rem;padding:.18rem 0}.pw-list li.is-ok{color:var(--teal-dark)}.pw-list li.is-bad{color:var(--coral)}table{width:100%;border-collapse:collapse;font-size:.95rem}td,th{text-align:left;padding:.7rem .4rem;border-bottom:1px solid var(--line);vertical-align:top}.tag{display:inline-block;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--coral);font-weight:800}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0 1.25rem}.brand{text-decoration:none;color:inherit}.nav{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center}.scan-public{min-height:70vh;display:grid;place-items:center;text-align:center;padding:2rem}.signal-list{list-style:none;padding:0;margin:0}.signal-list li{display:grid;grid-template-columns:auto 1fr;grid-gap:.6rem 1rem;gap:.6rem 1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.signal-list li:last-child{border-bottom:0}.nfc-url{display:block;word-break:break-all;font-size:.85rem;background:#f3f7f8;padding:.45rem .55rem;border-radius:8px;margin:.3rem 0}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr;background:var(--paper)}.app-sidebar{background:var(--teal-dark);color:#fff;display:flex;flex-direction:column;padding:1.3rem 1rem 1rem;position:-webkit-sticky;position:sticky;top:0;height:100vh}.app-sidebar-brand{text-decoration:none;color:#fff;padding:.2rem .6rem 1.2rem}.app-side-nav{display:flex;flex-direction:column;gap:.25rem;flex:1 1}.app-side-nav a{display:flex;align-items:center;gap:.7rem;color:hsla(0,0%,100%,.82);text-decoration:none;padding:.7rem .85rem;border-radius:12px;font-weight:700}.app-side-nav a.is-active{background:var(--teal);color:#fff}.app-logout{margin-top:auto}.app-logout button{background:none;color:hsla(0,0%,100%,.8);width:100%;justify-content:flex-start;gap:.7rem;padding:.7rem .85rem}.app-main{min-width:0}.app-topbar{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.6rem .4rem}.app-topbar h1{margin:0;font-size:1.6rem}.app-user{display:flex;align-items:center;gap:.7rem;color:var(--muted);font-weight:700}.app-user strong{color:var(--navy)}.app-avatar{width:40px;height:40px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:.8rem}.app-bottom-nav .studio-icon,.app-logout .studio-icon,.app-side-nav .studio-icon{width:28px;height:28px}.app-bottom-nav{display:none}.knoal-card{aspect-ratio:85.6/54;border-radius:var(--r16);overflow:hidden;background:var(--teal-dark);box-shadow:var(--shadow)}.knoal-card-art-img{width:100%;height:100%;object-fit:cover;display:block}.knoal-card-meta{margin-top:.85rem}.knoal-card-label{font-size:.72rem;color:var(--muted);font-weight:700}.knoal-card-number{font-weight:800;letter-spacing:.06em}.knoal-card-status{font-size:.8rem;margin-top:.15rem}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2f9e5f;margin-right:.35rem}.tx-row{display:grid;grid-template-columns:auto 1fr auto;grid-gap:.8rem;gap:.8rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--line)}.tx-row:last-child{border-bottom:0}.tx-plus{color:var(--teal);font-weight:800}.tx-min{color:var(--coral);font-weight:800}.tabs{display:flex;gap:.4rem;margin-bottom:1rem}.tabs a,.tabs span{padding:.4rem .9rem;border-radius:999px;background:#eceff1;color:var(--navy);text-decoration:none;font-weight:800;font-size:.9rem}.tabs a.is-active,.tabs span.is-active{background:var(--teal-dark);color:#fff}.snel-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.8rem;gap:.8rem}.snel-grid a{background:#fff;border-radius:var(--r16);box-shadow:var(--shadow);padding:1rem;text-decoration:none;color:inherit;font-weight:800;display:flex;align-items:center;gap:.7rem}.install-steps{margin:.4rem 0 0;padding-left:1.2rem;color:var(--navy);font-weight:600;line-height:1.55}.install-steps li{margin:.35rem 0}.login-split{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem;align-items:center}@media (max-width:860px){body:has(.app-shell) .cookie-banner{bottom:calc(4.7rem + env(safe-area-inset-bottom, 0px))}.cookie-banner{flex-direction:column;align-items:stretch;left:.75rem;right:.75rem}.cookie-banner button{width:100%}body:has(.app-shell),body:has(.public-frame){overflow:hidden;overscroll-behavior:none}.public-frame{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden}.public-frame>.page-wrap,.public-frame>main{overflow-y:auto;-webkit-overflow-scrolling:touch}.site-header{flex-shrink:0}.site-footer{padding-bottom:calc(1.6rem + env(safe-area-inset-bottom, 0px))}.login-split{grid-template-columns:1fr}.login-split .hero-art{display:none}.site-header{grid-template-columns:auto auto}.site-nav{display:none}.hero-inner{grid-template-columns:1fr;padding:1.8rem 1.2rem}.hero-band{min-height:360px}.hero-band-art{width:78%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 32%,#000);mask-image:linear-gradient(90deg,transparent,#000 32%,#000)}.feature-grid,.quick-grid,.shop-grid{grid-template-columns:1fr}.shop-grid{grid-template-columns:1fr 1fr}.promo-card{grid-template-columns:1fr}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;grid-template-columns:none}.app-sidebar{display:none}.app-main{flex:1 1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:relative;flex-shrink:0;width:100%;background:var(--teal-dark);box-shadow:0 -8px 24px rgba(0,31,53,.18);z-index:30;padding-bottom:env(safe-area-inset-bottom,0)}.app-bottom-nav a,.app-bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.55rem .3rem .7rem;color:hsla(0,0%,100%,.7);text-decoration:none;font-size:.72rem;font-weight:800;background:none;border:0;width:100%;font-family:inherit}.app-bottom-nav a.is-active,.app-bottom-nav button.is-active{color:#fff}.app-more{position:relative}.app-dropup{position:absolute;right:8px;bottom:calc(100% + 10px);min-width:220px;background:#fff;border-radius:16px;box-shadow:0 12px 32px rgba(0,31,53,.22);overflow:hidden;z-index:40;padding:.35rem}.app-dropup a{flex-direction:row;justify-content:flex-start;gap:.65rem;width:100%;color:var(--navy);padding:.75rem .85rem;border-radius:12px;font-size:.95rem}.app-dropup a:hover{background:#e7f4f5;color:var(--navy)}.app-dropup-logout{margin-top:.2rem;padding-top:.2rem;border-top:1px solid var(--line)}.app-dropup-logout button{flex-direction:row;justify-content:flex-start;gap:.65rem;width:100%;color:var(--coral);padding:.75rem .85rem;border-radius:12px;font-size:.95rem;font-weight:800}.app-dropup-logout button:hover{background:#fdecea;color:var(--coral)}.app-content{padding:.6rem 1rem 1.2rem}.app-topbar{padding:1rem 1rem .2rem}}