@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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/pjs-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --navy:#081a52; --blue:#12358f; --sky1:#0a1f5c; --sky2:#3b3fb0; --sky3:#a63a6c;
  --gold:#ffcb05; --red:#c8102e; --ink:#0d1330; --paper:#ffffff; --muted:#5b6286;
  --good:#1fa86b;--display:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --bad:#d9433b; --radius:20px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0}
body{font:16px/1.5 var(--body);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color:var(--paper);min-height:100dvh;
  background:linear-gradient(180deg,var(--sky1) 0%,var(--sky2) 55%,var(--sky3) 100%) fixed;
  padding:max(env(safe-area-inset-top),0px) 0 0;display:flex;flex-direction:column;overflow-x:hidden}
/* ---- sky + mountains (scene.js builds the markup) ---- */
.sky{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.stars i{position:absolute;border-radius:50%;background:#fff;opacity:var(--o);animation:twinkle var(--d) ease-in-out infinite}
@keyframes twinkle{50%{opacity:.12}}
.rays{position:absolute;left:50%;bottom:23%;width:150vmax;height:150vmax;transform:translate(-50%,50%);border-radius:50%;
  background:repeating-conic-gradient(from 0deg,rgba(255,214,120,.16) 0 4deg,rgba(255,214,120,0) 4deg 11deg);
  -webkit-mask:radial-gradient(circle,#000 0,rgba(0,0,0,.55) 22%,transparent 52%);mask:radial-gradient(circle,#000 0,rgba(0,0,0,.55) 22%,transparent 52%);animation:spin 160s linear infinite}
@keyframes spin{to{transform:translate(-50%,50%) rotate(360deg)}}
.sun{position:absolute;left:50%;bottom:30%;width:min(50vw,280px);aspect-ratio:1;border-radius:50%;transform:translateX(-50%);
  background:radial-gradient(circle,#fffbe0 0 34%,#ffe27a 48%,rgba(255,196,80,.55) 62%,rgba(255,150,90,0) 74%);box-shadow:0 0 90px 40px rgba(255,190,90,.35);animation:rise 10s ease-in-out infinite alternate}
@keyframes rise{from{transform:translate(-50%,5%) scale(.97)}to{transform:translate(-50%,-3%) scale(1.03)}}
.cloud{position:absolute;height:34px;border-radius:50%;background:radial-gradient(ellipse at 50% 60%,rgba(255,232,230,.55),rgba(255,232,230,0) 70%);filter:blur(5px);animation:float 70s linear infinite}
.cloud.c1{top:20%;width:46vw;left:-50vw}.cloud.c2{top:31%;width:36vw;left:-40vw;animation-duration:95s;animation-delay:-30s;opacity:.7}.cloud.c3{top:12%;width:30vw;left:-30vw;animation-duration:120s;animation-delay:-70s;opacity:.55}
@keyframes float{to{transform:translateX(190vw)}}
.scene{position:absolute;left:0;bottom:0;width:100%;height:62%}
.lay{transition:transform .2s}
.lay.far{animation:drift 60s ease-in-out infinite alternate}.lay.mid{animation:drift 44s ease-in-out infinite alternate-reverse}.lay.near{animation:drift 34s ease-in-out infinite alternate}
@keyframes drift{from{transform:translateX(-1.2%)}to{transform:translateX(1.2%)}}
/* ---- chrome ---- */
.top{position:relative;z-index:2;display:flex;align-items:center;gap:8px;padding:12px 12px 6px 16px;min-height:62px}
.brand{display:flex;align-items:center;gap:8px;white-space:nowrap;min-width:0;font-weight:700;letter-spacing:.2px;font-size:18px;line-height:1.05}.brand .bt small{display:block;color:var(--gold);font-size:13px;font-weight:800;letter-spacing:2.4px;margin-top:2px}.eye{color:var(--gold);font-size:24px}
.icon{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:rgba(6,14,58,.78);color:#fff;font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.steps{position:relative;z-index:2;display:flex;gap:6px;padding:0 16px;max-width:560px;margin:2px auto 10px;width:100%}
.steps i{flex:1;height:5px;border-radius:3px;background:rgba(255,255,255,.28);transition:.3s}
.steps i.on{background:var(--gold)}
main{position:relative;z-index:2;flex:1;width:100%;max-width:560px;margin:0 auto;padding:6px 16px 120px;outline:0}
.foot{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 12px max(12px,env(safe-area-inset-bottom));padding:10px 14px;border-radius:16px;background:rgba(6,14,58,.82);font-size:13px;line-height:1.4;color:#fff;text-align:center}
.proto{font-weight:600;color:#ffe27a}
/* ---- cards & type ---- */
h1{font-size:clamp(28px,8vw,40px);line-height:1.08;margin:14px 0 8px;letter-spacing:-.5px}
h1 em{font-style:normal;background:linear-gradient(90deg,var(--gold),#ff8a5c);-webkit-background-clip:text;background-clip:text;color:transparent}
h2{font-size:22px;margin:10px 0 4px}
.lead{font-size:17px;color:#fff;margin:0 0 18px;text-shadow:0 1px 8px rgba(5,10,50,.5)}
.card{background:rgba(255,255,255,.96);color:var(--ink);border-radius:var(--radius);padding:16px;margin:12px 0;box-shadow:0 14px 40px rgba(5,10,50,.35)}
.card h3{margin:0 0 6px;font-size:17px}.muted{color:var(--muted);font-size:14px}
.fade{animation:in .35s ease both}@keyframes in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* ---- big tap choices ---- */
.choice{display:flex;align-items:center;gap:14px;width:100%;min-height:68px;text-align:left;border:0;border-radius:var(--radius);padding:14px 16px;margin:10px 0;
  background:rgba(255,255,255,.96);color:var(--ink);font:inherit;font-size:18px;font-weight:600;cursor:pointer;box-shadow:0 8px 24px rgba(5,10,50,.3);transition:transform .12s}
.choice:active{transform:scale(.98)}.choice small{display:block;font-weight:400;font-size:14px;color:var(--muted)}
.choice .ico{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:linear-gradient(135deg,var(--gold),#ff9a5c)}
.choice .go{margin-left:auto;font-size:26px;color:var(--blue)}
.btn{display:block;width:100%;min-height:58px;border:0;border-radius:99px;font:inherit;font-weight:700;font-size:18px;cursor:pointer;color:#241a00;
  background:linear-gradient(135deg,var(--gold),#ff9a3d);box-shadow:0 10px 26px rgba(255,160,40,.45);transition:transform .12s,opacity .2s}
.btn:active{transform:scale(.98)}.btn[disabled]{background:#cfd3ec;color:#363d6e;box-shadow:none;cursor:not-allowed}
.btn.ghost{background:rgba(6,14,58,.78);color:#fff;box-shadow:none;font-weight:600}
.row{display:flex;gap:10px}.row>*{flex:1}
input[type=search],input[type=text],textarea{width:100%;font:inherit;font-size:17px;border:2px solid #d8dcf0;border-radius:14px;padding:12px 14px;color:var(--ink);background:#fff}
input:focus,textarea:focus{outline:0;border-color:var(--blue)}
textarea{min-height:96px;resize:vertical}
.tabs{display:flex;gap:8px;margin:12px 0 4px;overflow-x:auto;padding-bottom:4px}
.tab{flex:none;min-height:44px;border:0;border-radius:99px;padding:10px 16px;font:inherit;font-weight:600;background:rgba(6,14,58,.78);color:#fff;cursor:pointer}
.tab.on{background:#fff;color:var(--navy)}
.pill{display:inline-block;border-radius:99px;padding:3px 10px;font-size:13px;font-weight:700;background:#eef0ff;color:var(--blue)}
.pill.ok{background:#e0f7ec;color:#0c7a49}.pill.warn{background:#fff2d6;color:#8a5a00}
/* ---- rating ---- */
.q{margin:16px 0 4px;font-weight:600;font-size:17px}
.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:8px 0}
.scale button{aspect-ratio:1;min-height:52px;border:2px solid var(--c);border-radius:16px;font:inherit;font-size:20px;font-weight:800;cursor:pointer;transition:.15s;
  color:var(--ink);background:color-mix(in srgb,var(--c) 22%,#fff)}
.scale button[aria-pressed=true]{background:var(--c);color:var(--t);transform:scale(1.08);box-shadow:0 8px 20px rgba(0,0,0,.25),0 0 0 3px #fff}
.scale button:nth-child(1){--c:#c0302a;--t:#fff}.scale button:nth-child(2){--c:#f5a04a;--t:#1a1200}.scale button:nth-child(3){--c:#f2cf3a;--t:#1a1200}.scale button:nth-child(4){--c:#8fcf55;--t:#0d1f00}.scale button:nth-child(5){--c:#14794d;--t:#fff}
.ends{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.stars{display:flex;justify-content:center;gap:6px;margin:10px 0}
.stars button{border:0;background:none;font-size:46px;line-height:1;color:#6c74ab;cursor:pointer;transition:.12s}
.stars button.on{color:var(--gold);text-shadow:0 4px 14px rgba(255,170,0,.6);transform:scale(1.08)}
/* ---- results ---- */
.ring{--p:0;width:150px;height:150px;border-radius:50%;margin:6px auto;display:grid;place-items:center;
  background:conic-gradient(var(--gold) calc(var(--p)*1%),#e6e8f7 0)}
.ring>div{width:118px;height:118px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center}
.ring b{font-size:38px;line-height:1;color:var(--navy)}.ring span{font-size:13px;color:var(--muted)}
.bar{margin:10px 0}.bar .l{display:flex;justify-content:space-between;font-size:14px;font-weight:600}
.bar .t{height:12px;border-radius:99px;background:#e6e8f7;overflow:hidden;margin-top:4px}
.bar .t i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--blue),#5a7bff);transition:width .9s cubic-bezier(.2,.8,.2,1)}
.roles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.roles div{background:#f2f4ff;border-radius:14px;padding:10px;text-align:center}.roles b{display:block;font-size:22px;color:var(--navy)}.roles span{font-size:13px;color:var(--muted)}
.cmt{border-top:1px solid #e6e8f7;padding:12px 0}.cmt p{margin:4px 0}
.vote{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.vote[hidden]{display:none}.vote button{min-height:44px;white-space:nowrap;border:0;border-radius:99px;padding:8px 14px;font:inherit;font-weight:600;background:#eef0ff;color:var(--blue);cursor:pointer}
.err{background:#fff0ee;color:#9b1c13;border-radius:14px;padding:10px 14px;margin:10px 0;font-weight:600}
.nearby{font-size:15px;color:#fff;margin:10px 0}
/* ---- loader: mountains + scales of justice ---- */
.loader{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  background:linear-gradient(180deg,#081a52,#3b3fb0 58%,#a63a6c);color:#fff;font-weight:600}
.loader[hidden]{display:none}
.beam{transform-origin:110px 39px;animation:tilt 1.6s ease-in-out infinite alternate}
.beam .pan{transform-box:fill-box;transform-origin:50% 0;animation:pan 1.6s ease-in-out infinite alternate}
.beam .pan.r{animation-direction:alternate-reverse}
.lmtn{animation:glow 3.2s ease-in-out infinite alternate}
@keyframes tilt{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
@keyframes pan{from{transform:rotate(7deg)}to{transform:rotate(-7deg)}}
@keyframes glow{from{opacity:.25}to{opacity:.6}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.mic{margin:10px 0 8px;background:#eef0ff;color:var(--blue)}
.mic.rec{background:linear-gradient(135deg,#ff5a5a,#c8102e);color:#fff;animation:pulse 1s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 10px rgba(200,16,46,.25)}}
.foot a{color:#fff;text-decoration:underline}
.log .card{padding:14px}.log table{width:100%;border-collapse:collapse;font-size:14px}.log td{padding:8px 4px;border-top:1px solid #e6e8f7;vertical-align:top}
.chip{display:inline-block;border-radius:99px;padding:3px 10px;font-size:13px;font-weight:700}
.chip.published{background:#e0f7ec;color:#0c7a49}.chip.rejected{background:#ffe3e0;color:#9b1c13}.chip.pending,.chip.flagged{background:#fff2d6;color:#8a5a00}
.tally{font-variant-numeric:tabular-nums;font-weight:700}
.modrow{border-top:1px solid #e6e8f7;padding:12px 0}.modrow textarea{min-height:60px;margin-top:6px}

.avatar{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:17px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.avatar.big{width:72px;height:72px;border-radius:22px;font-size:26px}
.profile{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.profile .btn{grid-column:1/-1}

.comap{width:100%;height:auto;display:block}
.cty{stroke:#fff;stroke-width:.8;cursor:pointer;transition:filter .15s,transform .15s}
.cty:hover,.cty:focus{filter:brightness(1.12);outline:0}
.cty.on{stroke:var(--navy);stroke-width:1.8}
.mapcard{padding:10px 10px 14px}
.legend{display:flex;align-items:center;gap:8px;justify-content:center;font-size:13px;color:var(--muted)}
.legend i{width:140px;height:8px;border-radius:99px;background:linear-gradient(90deg,hsl(0 62% 46%),hsl(60 62% 46%),hsl(125 62% 40%))}

.loader .lt{margin:2px 0 0;font-size:22px;font-weight:800;letter-spacing:.2px}
.loader .tip{max-width:300px;margin:6px 16px 0;text-align:center;font-size:16px;line-height:1.4;font-weight:500;color:#fff;text-shadow:0 1px 6px rgba(5,10,50,.6)}

.lsun{animation:glow 3s ease-in-out infinite alternate}

.logo{display:block;flex:none;filter:drop-shadow(0 2px 6px rgba(5,10,50,.5))}

.spark{width:100%;height:auto;display:block;margin-top:6px}
.linkbtn{min-height:44px;border:0;background:none;color:#12358f;font:inherit;font-size:15px;font-weight:600;padding:8px 0;cursor:pointer;text-decoration:underline}
.rules{background:#f2f4ff;border-radius:14px;padding:8px 14px;margin:6px 0 10px;color:var(--ink);font-size:14px}
.rules summary{cursor:pointer;font-weight:700;color:#12358f;min-height:44px;display:flex;align-items:center}.rules ul{margin:4px 0 6px 18px;padding:0}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;background:#081a52;color:#fff;border-radius:99px;padding:12px 20px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.4)}


.langbtn{flex:none;margin-left:auto;min-width:48px;height:44px;border:0;border-radius:99px;padding:0 14px;background:rgba(6,14,58,.78);color:#fff;font:inherit;font-size:14px;font-weight:800;letter-spacing:.5px;cursor:pointer}

/* typography: Plus Jakarta Sans for voice (headings, buttons, titles), Inter for reading */
h1,h2,h3,.brand,.btn,.choice,.tab,.langbtn,.q,.ring b,.roles b,.stars,.scale button,.pill,.chip,.avatar,.loader .lt{font-family:var(--display)}
h1{font-weight:800;letter-spacing:-.018em;word-spacing:.06em;line-height:1.08}
h2{font-weight:700;letter-spacing:-.008em;word-spacing:.05em}
h3{font-weight:700;letter-spacing:-.01em}
.choice{font-weight:700;letter-spacing:-.003em;word-spacing:.05em}.choice small{font-family:var(--body);font-weight:450;letter-spacing:0;line-height:1.4}
.lead{font-weight:450;line-height:1.5}.muted{line-height:1.45}
.q{font-weight:700;letter-spacing:-.01em}
.btn{font-weight:800;letter-spacing:-.005em}
input[type=search],input[type=text],textarea{font-family:var(--body)}
.bar .l{font-family:var(--display);font-weight:600}
.cmt p{font-size:16px;line-height:1.55}

/* ---- mobile polish ---- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overscroll-behavior-y:none;min-height:100vh;min-height:100dvh}
button,a,summary,input,textarea,.choice,.cty{touch-action:manipulation}
:focus-visible{outline:3px solid #ffcb05;outline-offset:2px;border-radius:8px}
.card :focus-visible,.cmt :focus-visible{outline-color:#12358f}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;color:#081a52;padding:10px 14px;border-radius:10px;font-weight:700}.skip:focus{left:8px}
.foot a{display:inline-block;padding:10px 6px;min-height:44px;line-height:24px}
.foot{padding:6px 14px}
.cta{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:5;margin-top:12px}
.cta .btn{box-shadow:0 10px 26px rgba(255,160,40,.45),0 0 0 6px rgba(6,14,58,.55)}
.cta .btn[disabled]{box-shadow:0 0 0 6px rgba(6,14,58,.55)}
@media (max-width:360px){.brand{font-size:16px}.brand .bt small{letter-spacing:1.6px}.logo{width:32px;height:32px}h1{font-size:27px}.choice{padding:12px;gap:10px}.choice .ico{width:40px;height:40px;font-size:21px}main{padding-left:12px;padding-right:12px}}
@media (orientation:landscape) and (max-height:480px){.sun,.rays{display:none}.scene{height:42%}main{padding-bottom:60px}}
/* cheaper animation on phones: no blur filters, softer glow, paused when the tab is hidden */
.cloud{filter:none}
.sun{box-shadow:none}
.rays,.cloud,.lay{will-change:transform}
.paused *{animation-play-state:paused!important}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}
.chipbtn{min-height:44px;border:2px solid #c9cde6;border-radius:99px;padding:0 16px;background:#fff;color:var(--ink);font:inherit;font-family:var(--display);font-weight:700;font-size:15px;cursor:pointer}
.chipbtn[aria-pressed=true]{background:#12358f;border-color:#12358f;color:#fff}
.ocstat{background:#f2f4ff;border-radius:14px;padding:8px 14px;margin-top:10px;font-size:14px;color:var(--ink)}.ocstat p{margin:4px 0}
main:focus,main:focus-visible,#app:focus,#app:focus-visible{outline:none}   /* main is focused programmatically after each step; it must not draw a frame */

.nabtn{min-height:44px;margin-top:2px;border:0;background:none;color:#12358f;font:inherit;font-size:14px;font-weight:600;text-decoration:underline;cursor:pointer;padding:6px 2px}
.nabtn[aria-pressed=true]{background:#eef0ff;border-radius:99px;padding:6px 14px;text-decoration:none}
.nabtn[aria-pressed=true]::before{content:"✓ "}

.xbox{background:#f2f4ff;border-radius:16px;padding:6px 12px 10px;margin:8px 0}
.xbox h3{font-size:15px;margin:8px 0 0;color:#12358f}
.xres{background:#f2f4ff;border-radius:14px;padding:12px 14px;margin-top:12px}

.inlink{display:inline-flex;align-items:center;min-height:44px;color:#12358f;font-weight:700;text-decoration:underline}

.fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 4px}
.fnav a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px}
.doc h2{margin:0 0 8px;font-size:20px}.doc p,.doc li{font-size:16px;line-height:1.55;font-family:var(--body)}
.doc ul{margin:6px 0 4px 20px;padding:0}.doc li{margin:6px 0}
.docrows{display:grid;gap:10px;margin-top:4px}.docrow{background:#f2f4ff;border-radius:14px;padding:10px 14px}
.docrow b{display:block;font-family:var(--display);font-size:16px;letter-spacing:-.005em}.docrow p{margin:4px 0 0;font-size:15px;color:#2b3258}
.srcs{list-style:none;margin:6px 0 0;padding:0}.srcs li{margin:0}.srcs a{display:flex;align-items:center;min-height:44px;color:#12358f;font-weight:600;text-decoration:underline;overflow-wrap:anywhere}
.doc-note{background:#fff6dc;border-radius:12px;padding:10px 14px;color:#4a3600}

/* ---- pilot feedback banner + sheet ---- */
.pilotbar{position:relative;z-index:30;display:flex;align-items:stretch;background:linear-gradient(90deg,#ffcb05,#ff9a3d);color:#241a00}
.pilotbar[hidden]{display:none}
.pb-main{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:6px 12px;border:0;background:none;color:inherit;font:inherit;font-size:14px;font-weight:600;line-height:1.25;text-align:left;cursor:pointer}
.pb-main b{flex:none;background:#241a00;color:#ffe27a;border-radius:99px;padding:8px 14px;font-family:var(--display);font-size:13px}
.pb-x{flex:none;width:44px;border:0;background:none;color:#241a00;font-size:26px;line-height:1;cursor:pointer}
.fbsheet{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center}.fbsheet[hidden]{display:none}
.fbback{position:absolute;inset:0;background:rgba(3,8,40,.62)}
.fbpanel{position:relative;width:100%;max-width:560px;max-height:92dvh;overflow:auto;background:#fff;color:var(--ink);border-radius:22px 22px 0 0;padding:14px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px rgba(0,0,0,.4)}
.fbhead{display:flex;align-items:center;justify-content:space-between}.fbhead h2{margin:0}.fbhead .icon{background:#eef0ff;color:#12358f}
.fbthanks{font-size:18px;font-weight:700;margin:10px 0}
.fbpanel textarea{min-height:76px}
body.noscroll{overflow:hidden}

/* readability over the sun: softer glow, plate behind intro paragraphs, shadow on sky headings */
.sun{opacity:.7}.rays{opacity:.5}
.lead{background:rgba(6,14,58,.5);border-radius:14px;padding:10px 14px;text-shadow:none}
main > div > h1,main > div > h2{filter:drop-shadow(0 2px 8px rgba(5,10,50,.65))}
.skip{clip-path:inset(50%)}.skip:focus{clip-path:none}

.addcard{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;margin:10px 0;padding:10px 14px;border:2px dashed rgba(255,255,255,.7);border-radius:var(--radius);background:rgba(6,14,58,.55);color:#fff;font:inherit;font-family:var(--display);font-weight:700;font-size:16px;text-align:left;cursor:pointer}
.addcard .plus{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#241a00;font-size:24px;line-height:1}
.fbpanel input[type=text]{width:100%;font:inherit;font-size:17px;border:2px solid #d8dcf0;border-radius:14px;padding:12px 14px;color:var(--ink);background:#fff}
.fbpanel input[type=text]:focus{outline:0;border-color:var(--blue)}
.modrow input[type=text]{width:100%;font:inherit;font-size:16px;border:2px solid #d8dcf0;border-radius:12px;padding:10px 12px;margin-top:6px;color:var(--ink);background:#fff}

.foot span[data-i18n='foot.indep']{font-size:13px;opacity:1;color:#e6e9ff}
main{min-height:100svh}   /* footer starts below the fold, so content arriving never pushes it (layout shift) */
.cty:focus-visible{stroke:#081a52;stroke-width:3;filter:brightness(1.15)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.chipbtn{min-width:44px}
/* the scenery is sized to the LARGEST viewport, so it no longer jumps when the phone's address bar or toolbar hides and shows */
.sky{inset:auto;top:0;left:0;width:100%;height:100vh;height:100lvh}
.idea{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;font-size:14px}.idea a{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 4px}.idea .tt{flex:none}
