
:root{--ink:#202d28;--green:#315c4d;--lime:#ddf097;--paper:#f6f5f1;--line:#e4e6df;--muted:#798079;--white:#fff;--radius:16px}*{box-sizing:border-box}body{margin:0;font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:14px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #9cab78;outline-offset:4px}a{color:inherit}button{border:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-1.2px}h1{font-size:44px;line-height:1.15;font-weight:550;margin-bottom:12px}h2{font-size:30px;font-weight:550}h3{font-size:18px;letter-spacing:-.4px}p{line-height:1.65}small{font-size:11px;color:var(--muted)}[hidden]{display:none!important}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.1px;margin-bottom:20px}.wordmark{display:flex;align-items:center;gap:9px;font-size:28px;letter-spacing:-1.5px;text-decoration:none;font-weight:700}.dot{color:#8ea352}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{padding:46px 65px;background:var(--green);color:var(--lime);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;min-height:780px}.login-story>div{padding-top:60px;position:relative}.login-story h1{font-size:88px;letter-spacing:-5px;line-height:1.02;color:#f3f5df}.login-story p:not(.eyebrow){color:#c5d4c3;font-size:18px}.login-story small{color:#a7bca9;letter-spacing:2px}.orbit{width:210px;height:210px;border:1px solid #93ab76;border-radius:100%;position:absolute;right:-25px;top:210px;transform:rotate(-18deg);display:grid;place-items:center}.orbit-inner{width:140px;height:140px;border-radius:100%;background:var(--lime);display:grid;place-items:center;font-size:45px;color:var(--green)}.orbit span{position:absolute;bottom:17px;font-size:7px;letter-spacing:1.5px}.login-side{display:grid;place-items:center;padding:50px}.login-side form{width:100%;max-width:365px}.login-side h2{font-size:38px;margin-bottom:10px}.login-side form>p:not(.eyebrow){color:var(--muted);margin-bottom:30px}.login-side small{display:block;text-align:center;margin-top:26px;line-height:1.6}label{display:block;font-weight:600;font-size:12px;margin-bottom:18px}input,textarea,select{display:block;width:100%;background:white;border:1px solid #d9ded5;border-radius:9px;padding:13px 14px;color:var(--ink);outline:none;margin-top:8px}input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #315c4d12}textarea{resize:vertical;min-height:80px}input[type=color]{padding:4px;height:46px}input[type=checkbox]{width:18px;height:18px;display:inline;margin:0 10px 0 0;accent-color:var(--green)}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:13px 20px;border-radius:8px;font-size:12px;font-weight:600;min-height:42px}.primary{background:var(--green);color:white}.primary:hover{background:#264738}.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.login-side .primary{width:100%;justify-content:space-between}.studio{display:flex;min-height:100vh}.sidebar{width:246px;background:#fff;border-right:1px solid var(--line);padding:28px 22px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:2}.sidebar .wordmark{font-size:27px;margin:4px 10px 34px}.workspace-chip{display:flex;align-items:center;gap:11px;border:1px solid var(--line);padding:12px;border-radius:10px;font-size:12px;font-weight:600}.workspace-chip small{display:block;font-size:8px;letter-spacing:1.1px;margin-top:5px}.avatar{width:31px;height:31px;background:#edf1e5;border-radius:8px;display:grid;place-items:center;color:#657742}.nav-label{font-size:9px;letter-spacing:1.8px;color:#999f98;margin:32px 12px 12px}nav button{width:100%;background:none;border-radius:8px;text-align:left;padding:14px 12px;display:flex;gap:13px;color:#757c73;margin-bottom:5px;font-size:17px}nav span{font-size:12px;align-self:center;font-weight:550}nav .active{background:#edf2e7;color:var(--green)}nav button:hover{background:#f5f6f2}.sidebar-bottom{margin-top:auto;padding-top:25px}.tip{background:#f7f7f1;border:1px solid #e9eadc;border-radius:11px;padding:15px}.tip>span{font-size:26px;display:block;color:#6c815b;margin-bottom:14px}.tip strong{font-size:12px;line-height:1.6;display:block}.tip p{font-size:11px;color:var(--muted);margin:9px 0}.text-button{background:none;color:var(--green);padding:5px 0;font-size:11px;font-weight:700}.logout{padding:20px 10px 15px;background:none;color:var(--muted);font-size:12px}.sidebar-bottom>small{display:block;padding:6px 10px;font-size:8px;letter-spacing:1.6px}.main{margin-left:246px;min-width:0;width:calc(100% - 246px)}.topbar{height:86px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 42px;font-size:11px;color:var(--muted)}.topbar b{font-weight:550;color:#4b554d}.slash{padding:0 14px;color:#afb5a9}.top-actions{display:flex;align-items:center;gap:17px}.top-actions select{margin:0;width:185px;background:transparent;padding:9px 10px;font-size:11px}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9e2ca;border-radius:20px;background:#f1f5e8;padding:6px 10px;font-size:9px;color:#61754c;white-space:nowrap}.badge:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.badge.demo{background:#f2eee1;border-color:#e7dfc6;color:#99834b}.badge.failed,.badge.unknown,.badge.needs_configuration{color:#a8654f;background:#f9ede6;border-color:#f1dacc}#content{padding:37px 42px;max-width:1500px;margin:auto;min-height:calc(100vh - 156px)}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.heading h1{font-size:34px;margin:0 0 8px}.heading p{font-size:12px;color:var(--muted);margin:0}.hero{display:grid;grid-template-columns:1.5fr 1fr;background:var(--green);border-radius:var(--radius);padding:32px 36px;color:#f7f9ea;position:relative;overflow:hidden;min-height:245px}.hero .eyebrow{color:#b5ca9d;margin-bottom:15px;font-size:9px}.hero h2{font-size:33px;line-height:1.16;margin-bottom:14px}.hero p{font-size:12px;color:#c0d0bd;max-width:360px}.hero .primary{color:var(--ink);background:var(--lime);margin-top:5px;padding:11px 16px;font-size:11px;min-height:38px}.hero-art{display:flex;align-items:center;justify-content:center;position:relative}.tile{position:absolute;width:122px;height:163px;border:6px solid #f2f0df;border-bottom-width:29px;border-radius:7px;transform:rotate(-16deg);background:#c9d3a1;box-shadow:0 12px 18px #102f291f;display:grid;place-items:center;left:20%;top:15px}.tile:after{content:'GOOD VIBES';position:absolute;bottom:-20px;font-size:7px;letter-spacing:1.5px;color:#53613e}.tile.front{transform:rotate(14deg);background:#ded49f;left:47%;top:36px;color:#71844b}.tile span{font-size:60px;font-family:Georgia}.tile.front span{font-size:45px}.spark{position:absolute;right:3%;top:8px;font-size:55px;color:var(--lime)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:23px 0 30px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.stat>div{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.stat strong{display:block;font-weight:550;font-size:33px;letter-spacing:-1px;margin:16px 0 5px}.stat small{font-size:10px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 17px}.section-title h3{margin:0}.section-title p{font-size:11px;color:var(--muted);margin:8px 0 0}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px}th{font-size:9px;letter-spacing:.8px;color:#979e94;font-weight:600;padding:15px 20px;background:#fbfcf8;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 20px;border-bottom:1px solid #edf0e8}tbody tr:last-child td{border-bottom:0}.guest{display:flex;align-items:center;gap:10px}.guest .avatar{width:30px;height:30px;font-size:10px}.guest small{display:block;margin-top:4px;font-size:9px}.row-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.row-actions button,.row-actions a{background:none;padding:0;color:var(--green);text-decoration:none;font-size:11px}.row-actions .delete{color:#9a7367}.empty{padding:50px 20px;text-align:center}.empty .empty-icon{font-size:30px;color:#8e9c6f;display:block;margin-bottom:15px}.empty h3{margin-bottom:7px;font-size:16px}.empty p{color:var(--muted);font-size:12px;margin:0}.page-footer{display:flex;justify-content:space-between;padding:24px 42px;border-top:1px solid var(--line);font-size:10px;color:#a0a699}.brand-layout{display:grid;grid-template-columns:minmax(300px,1fr) 315px;gap:28px;align-items:start}.form-panel{padding:26px;margin-bottom:20px}.form-panel h3{margin-bottom:6px}.form-panel>p{font-size:11px;color:var(--muted);margin-bottom:23px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.field-grid .wide{grid-column:1/-1}.check-label{display:flex;align-items:center;margin-top:12px;font-weight:400}.help{font-size:10px;color:var(--muted);font-weight:400;display:block;line-height:1.6;margin-top:7px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}.preview-wrap{position:sticky;top:26px}.preview-label{text-align:center;font-size:9px;color:var(--muted);letter-spacing:1.4px;margin:5px 0 16px}.phone{border:7px solid #252f29;border-radius:39px;box-shadow:0 20px 35px #20372914;background:#f6f4ef;min-height:573px;overflow:hidden;padding:15px 20px 20px;position:relative}.phone-notch{height:16px;width:70px;border-radius:30px;background:#253028;margin:-9px auto 25px}.phone-brand{font-size:14px;font-weight:750;text-align:center}.phone-logo{max-height:38px;max-width:130px;display:block;margin:auto}.phone-event{font-size:7px;letter-spacing:1.5px;text-align:center;color:#8b937e;text-transform:uppercase;margin-top:12px}.phone-art{height:104px;display:grid;place-items:center;color:var(--preview-primary,var(--green));font-size:66px}.phone h2{white-space:pre-line;font-size:29px;line-height:1.08;margin-bottom:12px}.phone p{font-size:9px;color:#8a9182;line-height:1.6}.mock-input{font-size:8px;color:#a2a797;padding:12px;border:1px solid #dfe2d5;border-radius:6px;margin:10px 0;background:#fff}.phone .mock-consent{font-size:7px;color:#8d9588;margin:12px 0}.mock-button{background:var(--preview-primary,var(--green));color:white;border-radius:7px;font-size:9px;padding:13px;text-align:center;font-weight:600}.phone-footer{font-size:7px;text-align:center;margin-top:15px;color:#959d8d}.preview-note{text-align:center;color:#939a8a;font-size:10px;margin-top:19px;line-height:1.7}.logo-tools{display:flex;gap:10px;align-items:center}.logo-tools input{font-size:10px}.logo-thumb{width:46px;height:46px;object-fit:contain;border:1px solid var(--line);border-radius:8px;padding:5px}.callout{border:1px solid #e4e8d6;background:#f6f8ec;border-radius:10px;padding:17px 20px;color:#788465;font-size:11px;line-height:1.8}.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.delivery-card{padding:25px}.delivery-card h3{margin:18px 0 9px}.delivery-card p{font-size:12px;color:var(--muted)}.delivery-card .icon{font-size:25px;color:#6e865b}code{background:#edf0e8;padding:3px 5px;border-radius:3px;font-size:11px;overflow-wrap:anywhere}.instructions{margin-top:24px;padding:27px}.instructions li{font-size:12px;line-height:2.2;margin:10px 0;color:#697360}.muted{color:var(--muted)}.error{color:#ad5141!important;font-size:12px}.toast{position:fixed;right:25px;bottom:25px;border-radius:10px;padding:15px 22px;background:#243f32;color:#fff;box-shadow:0 8px 25px #0002;z-index:10;font-size:12px;max-width:450px}.toast.error{background:#843e31;color:white!important}dialog{border:1px solid var(--line);border-radius:20px;padding:36px;max-width:500px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 30px 80px #0002}dialog::backdrop{background:#1a312555;backdrop-filter:blur(3px)}dialog p{font-size:12px}dialog .eyebrow{font-size:9px}.dialog-close{position:absolute;right:20px;top:16px;background:none;font-size:25px;color:#809175}.pair-code{background:#edf3e2;text-align:center;letter-spacing:10px;font-size:42px;padding:25px 15px;border-radius:12px;color:var(--green);font-weight:600;margin:24px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1500px){#content{padding-top:45px}.hero{min-height:265px}}@media(max-width:1100px){.sidebar{width:207px;padding:23px 16px}.main{margin-left:207px;width:calc(100% - 207px)}#content{padding:28px}.topbar{padding:0 28px}.brand-layout{grid-template-columns:1fr}.preview-wrap{position:static;max-width:300px;margin:auto}.delivery-grid{grid-template-columns:1fr}.hero-art{transform:scale(.8);transform-origin:center}.stats{gap:10px}.stat{padding:14px}.hero{padding:27px}.login-story{padding:35px}.login-story h1{font-size:70px}.orbit{display:none}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-story{display:none}.login-side{min-height:100vh;padding:25px}.sidebar{position:static;width:100%;padding:18px}.sidebar .wordmark{margin:0}.workspace-chip,.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow:auto;margin-top:20px}nav button{width:auto;white-space:nowrap;padding:10px}nav span{font-size:10px}.studio{display:block}.main{width:100%;margin:0}.topbar{height:auto;min-height:70px;padding:15px 20px;gap:15px}.topbar>span{display:none}.top-actions{width:100%;justify-content:space-between}.top-actions select{width:200px}#content{padding:25px 18px}.heading{align-items:start}.heading h1{font-size:28px}.heading .primary{padding:10px;font-size:10px;white-space:nowrap}.hero{grid-template-columns:1fr;padding:25px}.hero-art{display:none}.stats{grid-template-columns:1fr 1fr}.page-footer{padding:20px;font-size:8px}.field-grid{grid-template-columns:1fr}.form-panel{padding:20px}.hero h2{font-size:29px}.phone{min-height:560px}.brand-layout{display:block}.form-actions{margin-bottom:25px}}

/* ── PhotoOpp 1.5 · designer controls, live phone preview, app updates ── */

/* Presets */
.preset-bar{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin-bottom:22px}
.preset-title{display:block;font-size:9px;letter-spacing:1.8px;color:#979e94;font-weight:700;margin-bottom:14px}
.preset-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.preset{display:flex;align-items:center;gap:9px;background:#fbfcf8;border:1px solid var(--line);border-radius:30px;padding:8px 16px 8px 9px;font-size:11px;font-weight:600;color:#4b554d;transition:border-color .15s,background .15s}
.preset:hover{border-color:var(--green);background:#f2f6ec}
.preset-dots{display:flex}
.preset-dots i{width:15px;height:15px;border-radius:50%;display:block;border:2px solid #fff;margin-right:-6px}
.preset-bar .help{margin-top:0}

/* Range inputs */
input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;padding:0;border:0;height:26px;margin-top:6px}
input[type=range]:focus{box-shadow:none}
input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:#e2e6dc}
input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:#e2e6dc}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:17px;height:17px;border-radius:50%;background:var(--green);margin-top:-6.5px;border:3px solid #fff;box-shadow:0 1px 4px #2b463713}
input[type=range]::-moz-range-thumb{width:17px;height:17px;border-radius:50%;background:var(--green);border:3px solid #fff}
.range-value{float:right;color:var(--green);font-size:10px;font-weight:700}
.wide-thumb{width:64px;height:46px;object-fit:cover}

/* App updates */
.update-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.update-layout .form-panel{margin-bottom:0}
.release-card{border:1px solid var(--line);border-radius:12px;padding:20px;background:#fbfcf8}
.release-version{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.release-version strong{font-size:26px;font-weight:550;letter-spacing:-1px}
.release-notes{font-size:12px;color:#697360;margin-bottom:16px;line-height:1.7}
.release-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 18px}
.release-meta div{min-width:0}
.release-meta dt{font-size:8px;letter-spacing:1.3px;color:#9aa196;font-weight:700;margin-bottom:5px}
.release-meta dd{margin:0;font-size:11px;color:#4b554d}
.release-meta .sha{font-family:ui-monospace,Consolas,monospace;font-size:9px;overflow-wrap:anywhere;color:#77806f}
#release-form .field-grid{gap:0 18px}
#apk-file{font-size:11px}

/* ── Live Android preview ── */
.phone{
  --pv-primary:#315c4d;--pv-accent:#ddf097;--pv-bg:#f6f4ef;--pv-grad:#ddf097;--pv-surface:#fff;
  --pv-text:#202d28;--pv-muted:#717b73;--pv-radius:10px;--pv-pad:17px;--pv-h1:26px;--pv-angle:150deg;
  --pv-dim:.45;--pv-blur:0px;--pv-logo:75px;--pv-logospace:11px;--pv-image:none;
  position:relative;overflow:hidden;padding:0;
  border:7px solid #252f29;border-radius:39px;box-shadow:0 20px 35px #20372914;
  background:#f6f4ef;min-height:600px;color:var(--pv-text);
  font-family:'Segoe UI',system-ui,sans-serif;
}
.phone-bg{position:absolute;inset:0;z-index:0;background:var(--pv-bg)}
.phone.bg-soft .phone-bg{background:linear-gradient(var(--pv-angle),var(--pv-bg) 38%,color-mix(in srgb,var(--pv-accent) 30%,var(--pv-bg)) 100%)}
.phone.bg-gradient .phone-bg{background:linear-gradient(var(--pv-angle),var(--pv-bg),var(--pv-grad))}
.phone.bg-night .phone-bg{background:linear-gradient(155deg,#0d1411,color-mix(in srgb,var(--pv-primary) 42%,#000))}
.phone.bg-image .phone-bg{background-image:var(--pv-image);background-size:cover;background-position:center;filter:blur(var(--pv-blur));transform:scale(1.14)}
.phone-scrim{position:absolute;inset:0;z-index:1;pointer-events:none}
.phone.bg-image .phone-scrim{background:color-mix(in srgb,var(--pv-bg) 88%,#000);opacity:var(--pv-dim)}
.phone-notch{position:absolute;left:50%;transform:translateX(-50%);top:6px;margin:0;height:16px;width:70px;border-radius:30px;background:#253028;z-index:4}
.phone-screen{position:relative;z-index:3;display:flex;flex-direction:column;min-height:586px;padding:var(--pv-pad);padding-top:34px}
.phone-flow{display:flex;flex-direction:column;flex:1}
.phone.pos-top .phone-flow{justify-content:flex-start}
.phone.pos-center .phone-flow{justify-content:center}
.phone.pos-bottom .phone-flow{justify-content:flex-end}

/* Typography */
.phone.font-editorial{font-family:Georgia,'Times New Roman',serif}
.phone.font-condensed{font-family:'Arial Narrow','Roboto Condensed','Segoe UI',sans-serif}
.phone.font-mono{font-family:ui-monospace,'Cascadia Code',Consolas,monospace}
.phone.font-light{font-weight:300}
.phone h2{white-space:pre-line;font-size:var(--pv-h1);line-height:1.08;letter-spacing:-1.1px;margin:0 0 11px;color:var(--pv-text);font-weight:600}
.phone.font-light h2{font-weight:300}
.phone.font-editorial h2{letter-spacing:-.5px;font-weight:normal}
.phone.case-upper h2{text-transform:uppercase;letter-spacing:.5px;font-size:calc(var(--pv-h1) * .78)}
.phone .phone-sub{font-size:10px;color:var(--pv-muted);line-height:1.65;margin:0 0 16px}

/* Header, logo, event label */
.phone-header{display:flex;align-items:center;gap:10px;min-height:28px;margin-bottom:var(--pv-logospace)}
.phone-brand{font-size:15px;font-weight:750;color:var(--pv-primary);letter-spacing:-.5px;text-align:inherit}
.phone-logo{width:var(--pv-logo);max-width:none;max-height:56px;margin:0;object-fit:contain;display:block}
.phone.logo-rounded .phone-logo{border-radius:var(--pv-radius);background:color-mix(in srgb,var(--pv-surface) 80%,transparent);padding:5px;object-fit:contain}
.phone.logo-circle .phone-logo{border-radius:50%;height:var(--pv-logo);object-fit:cover;background:color-mix(in srgb,var(--pv-surface) 80%,transparent)}
.phone.align-center .phone-header{justify-content:center}
.phone.align-right .phone-header{justify-content:flex-end}
.phone-header .phone-event{margin:0}
.phone-event{font-size:7px;letter-spacing:1.6px;color:var(--pv-muted);text-transform:uppercase;font-weight:700;margin:0 0 9px;text-align:inherit}
.phone.align-center{text-align:center}
.phone.align-right{text-align:right}
.phone.align-center .mock-form,.phone.align-right .mock-form{text-align:left}

/* Illustration */
.phone-art{height:74px;display:flex;align-items:center;color:var(--pv-primary);margin-bottom:8px}
.phone.align-center .phone-art{justify-content:center}
.phone.align-right .phone-art{justify-content:flex-end}
.phone-art.art-camera{font-size:52px;text-shadow:10px 9px 0 var(--pv-accent)}
.phone-art.art-sparkles{font-size:22px;letter-spacing:7px}
.phone-art.art-minimal{font:600 48px Georgia,serif}
.phone-art.art-ring{font-size:56px;color:var(--pv-accent);text-shadow:0 0 0 var(--pv-primary)}
.phone-watermark{position:absolute;z-index:2;left:50%;top:47%;transform:translate(-50%,-50%);font-size:210px;color:var(--pv-primary);opacity:.09;pointer-events:none;line-height:1}

/* Form */
.mock-form{padding:0;margin-bottom:12px}
.phone.form-card .mock-form{background:color-mix(in srgb,var(--pv-surface) 92%,transparent);border:1px solid color-mix(in srgb,var(--pv-muted) 16%,transparent);border-radius:var(--pv-radius);padding:13px}
.phone.form-glass .mock-form{background:color-mix(in srgb,var(--pv-surface) 22%,transparent);border:1px solid color-mix(in srgb,var(--pv-surface) 42%,transparent);border-radius:var(--pv-radius);padding:13px;backdrop-filter:blur(7px)}
.phone.form-outline .mock-form{background:transparent;border:1px solid color-mix(in srgb,var(--pv-muted) 40%,transparent);border-radius:var(--pv-radius);padding:13px}
.phone.shadow-soft.form-card .mock-form,.phone.shadow-soft.form-glass .mock-form{box-shadow:0 9px 22px #17291f18}
.phone.shadow-deep.form-card .mock-form,.phone.shadow-deep.form-glass .mock-form{box-shadow:0 18px 38px #17291f33}
.mock-label{font-size:6px;letter-spacing:1px;color:var(--pv-muted);font-weight:700;margin-top:7px}
.mock-input{font-size:8px;padding:10px;border:1px solid color-mix(in srgb,var(--pv-muted) 22%,transparent);border-radius:calc(var(--pv-radius) * .7);margin:6px 0 0;background:var(--pv-surface);color:color-mix(in srgb,var(--pv-muted) 85%,transparent)}
.phone .mock-consent{font-size:7px;color:var(--pv-muted);margin:11px 0;line-height:1.6}
.mock-button{background:var(--pv-primary);color:#fff;border-radius:calc(var(--pv-radius) * .7);font-size:9px;padding:12px;text-align:center;font-weight:600}
.phone.button-pill .mock-button{border-radius:30px}
.phone.button-square .mock-button{border-radius:1px}
.phone.fill-outline .mock-button{background:transparent;color:var(--pv-primary);border:1px solid var(--pv-primary)}
.phone.fill-gradient .mock-button{background:linear-gradient(120deg,var(--pv-primary),var(--pv-accent))}
.phone.shadow-deep .mock-button{box-shadow:0 10px 20px color-mix(in srgb,var(--pv-primary) 32%,transparent)}
.phone-footer{font-size:7px;color:var(--pv-muted);margin-top:8px;text-align:inherit}

/* Operator button */
.phone-gear{position:absolute;z-index:5;font-size:15px;color:var(--pv-muted);opacity:.75}
.phone.gear-top-right .phone-gear{right:14px;top:30px}
.phone.gear-top-left .phone-gear{left:14px;top:30px}
.phone.gear-bottom-right .phone-gear{right:14px;bottom:14px}
.phone.gear-bottom-left .phone-gear{left:14px;bottom:14px}

/* Decorative accents */
.decor{position:absolute;font-style:normal;color:var(--pv-primary);opacity:.18;z-index:2;line-height:1}
.phone.decor-none .decor{display:none}
.phone.decor-corners .d1{font-size:30px;right:16px;top:96px}
.phone.decor-corners .d2{font-size:86px;right:-40px;bottom:150px;color:var(--pv-accent);opacity:.3}
.phone.decor-corners .d3{font-size:24px;left:14px;bottom:120px}
.phone.decor-corners .d4{display:none}
.phone.decor-scatter .d1{font-size:20px;right:30px;top:120px}
.phone.decor-scatter .d2{font-size:44px;left:18px;top:220px;color:var(--pv-accent);opacity:.3}
.phone.decor-scatter .d3{font-size:26px;right:44px;bottom:170px}
.phone.decor-scatter .d4{font-size:34px;left:60px;bottom:70px;color:var(--pv-accent);opacity:.28}
.phone.decor-top .d1{font-size:30px;left:24px;top:88px}
.phone.decor-top .d2{font-size:70px;right:-18px;top:70px;color:var(--pv-accent);opacity:.28}
.phone.decor-top .d3{font-size:20px;right:76px;top:130px}
.phone.decor-top .d4{display:none}
.phone.decor-bottom .d1{font-size:28px;left:22px;bottom:96px}
.phone.decor-bottom .d2{font-size:74px;right:-22px;bottom:60px;color:var(--pv-accent);opacity:.28}
.phone.decor-bottom .d3{font-size:20px;right:84px;bottom:130px}
.phone.decor-bottom .d4{display:none}

/* Dark backgrounds keep their own contrast */
.phone.bg-night{color:#fff}
.phone.bg-night .phone-brand{color:var(--pv-primary)}

@media(max-width:1100px){.update-layout{grid-template-columns:1fr}}
@media(max-width:760px){.release-meta{grid-template-columns:1fr}.preset-row{flex-direction:column;align-items:stretch}}
