/* FP MAPS TOP - generato da src/build-css.py: NON modificare a mano, si modifica src/app.src.css */
@font-face{font-family:"FPM Lexend";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/lexend-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"FPM Lexend";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/lexend-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"FPM Atkinson";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/atkinson-hyperlegible-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"FPM Atkinson";font-weight:700;font-style:normal;font-display:swap;src:url("fonts/atkinson-hyperlegible-latin-700-normal.woff2") format("woff2")}
#fpmaps{--paper:#f4f6fb; --surface:#ffffff; --ink:#1a2530; --ink2:#46535f; --line:#c6d0dc; --grid:#e4ebf5;
  --accent:#1c4c9a; --accent-ink:#ffffff; --accent-soft:#e3ecfa;
  --good:#17623a; --good-soft:#e0f3e7; --warn:#85500a; --warn-soft:#fff0d2; --bad:#ad2620; --bad-soft:#fde7e4;
  --core-bg:#1d3a5e; --core-fg:#ffffff; --nodeink:#15202b;
  --s1:#a87c00; --s2:#2869cc; --s3:#1c8248; --s4:#be407a; --s5:#bd5f14;
  --f1:#fff0a3; --f2:#cfe2ff; --f3:#c9f0d3; --f4:#ffd7e7; --f5:#ffdcc0;
  --font-body:"FPM Lexend","FPM Atkinson",Verdana,Arial,sans-serif;
  --scale:1;--u:calc(1rem * var(--scale));}
@media (prefers-color-scheme: dark){#fpmaps{--paper:#10161d; --surface:#18202a; --ink:#e8edf3; --ink2:#a8b4c1; --line:#314050; --grid:#1f2a37;
    --accent:#8fb6ff; --accent-ink:#0d1a2e; --accent-soft:#1d2d47;
    --good:#6fd39a; --good-soft:#15301f; --warn:#f0b75a; --warn-soft:#3a2d12; --bad:#ff9a92; --bad-soft:#3d1c1a;
    --core-bg:#8fb6ff; --core-fg:#0d1a2e; --nodeink:#eef3f8;
    --s1:#e0b72f; --s2:#6aa3ff; --s3:#57c785; --s4:#f07fb0; --s5:#f0a060;
    --f1:#4a4010; --f2:#1f3a66; --f3:#1c4a2e; --f4:#5a2342; --f5:#5a3412;
    color-scheme:dark;}}
#fpmaps[data-font="atkinson"]{--font-body:"FPM Atkinson",Verdana,Arial,sans-serif}
#fpmaps[data-font="verdana"]{--font-body:Verdana,Geneva,sans-serif}
#fpmaps[data-font="arial"]{--font-body:Arial,Helvetica,sans-serif}
#fpmaps{background:var(--paper);color:var(--ink);font:400 calc(1 * var(--u))/1.6 var(--font-body);letter-spacing:.015em;text-align:left;padding:14px 16px 40px;border-radius:14px;margin-block:calc(1 * var(--u));overflow-wrap:break-word}
#fpmaps *,#fpmaps *::before,#fpmaps *::after{box-sizing:border-box}
#fpmaps button,#fpmaps input,#fpmaps textarea,#fpmaps select{letter-spacing:inherit;text-transform:none;text-shadow:none;margin:0}
#fpmaps .app{max-width:860px;margin-inline:auto;display:flex;flex-direction:column;gap:calc(1.1 * var(--u))}
#fpmaps h1{font-size:calc(1.7 * var(--u));line-height:1.2;margin:0;padding:0;text-wrap:balance;color:inherit;font-weight:600}
#fpmaps h2{font-size:calc(1.2 * var(--u));line-height:1.3;margin:0 0 calc(.5 * var(--u));padding:0;text-wrap:balance;color:inherit;font-weight:600}
#fpmaps h3{font-size:calc(1.05 * var(--u));line-height:1.3;margin:0;padding:0;color:inherit;font-weight:600}
#fpmaps p{margin:0}
#fpmaps .lead{color:var(--ink2);max-width:62ch}
#fpmaps .meta{color:var(--ink2);font-size:calc(.88 * var(--u))}
#fpmaps .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#fpmaps .row{display:flex;gap:calc(.6 * var(--u));flex-wrap:wrap;align-items:center}
#fpmaps .stack{display:flex;flex-direction:column;gap:calc(.8 * var(--u))}
#fpmaps .btn{text-transform:none !important;letter-spacing:normal !important;font:inherit;font-weight:600;min-height:calc(2.75 * var(--u));padding:calc(.5 * var(--u)) calc(1 * var(--u));border-radius:10px;border:2px solid var(--accent);background:transparent !important;color:var(--accent) !important;cursor:pointer;box-shadow:none;text-decoration:none;line-height:1.3}
#fpmaps .btn:hover{background:var(--accent-soft) !important;color:var(--accent) !important;border-color:var(--accent)}
#fpmaps .btn.primary,#fpmaps .btn.primary:hover{background:var(--accent) !important;color:var(--accent-ink) !important}
#fpmaps .btn.danger,#fpmaps .btn.danger:hover{border-color:var(--bad);color:var(--bad) !important}
#fpmaps .btn.ghost,#fpmaps .btn.ghost:hover{border-color:transparent;background:transparent !important;text-decoration:underline;text-underline-offset:3px;padding-inline:calc(.4 * var(--u))}
#fpmaps .btn.big{min-height:calc(3.25 * var(--u));font-size:calc(1.05 * var(--u));padding-inline:calc(1.4 * var(--u))}
#fpmaps .btn:disabled{opacity:.45;cursor:not-allowed}
#fpmaps .btn:focus-visible,#fpmaps .chip:focus-within,#fpmaps .stepper button:focus-visible,#fpmaps summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
#fpmaps input[type=text],#fpmaps textarea,#fpmaps select{font:inherit;width:100%;min-height:calc(2.75 * var(--u));padding:calc(.5 * var(--u)) calc(.7 * var(--u));border:2px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);box-shadow:none;line-height:1.4}
#fpmaps input[type=text]:focus,#fpmaps textarea:focus,#fpmaps select:focus{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--accent);background:var(--surface);color:var(--ink)}
#fpmaps textarea{resize:vertical;min-height:calc(5 * var(--u))}
#fpmaps label{font-weight:600;display:inline;margin:0;color:inherit}
#fpmaps .fld{display:flex;flex-direction:column;gap:calc(.35 * var(--u))}
#fpmaps .err{color:var(--bad);font-weight:600;font-size:calc(.95 * var(--u))}
#fpmaps .soft{color:var(--warn);font-size:calc(.92 * var(--u))}
#fpmaps .note{color:var(--ink2);font-size:calc(.92 * var(--u))}
#fpmaps .ok{color:var(--good)}
#fpmaps ol,#fpmaps ul{margin-block:0}
#fpmaps .card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:calc(1 * var(--u))}
#fpmaps details.card>summary{cursor:pointer;font-weight:600;min-height:calc(2.5 * var(--u));display:flex;align-items:center}
#fpmaps details.card[open]>summary{margin-bottom:calc(.7 * var(--u))}
#fpmaps .due{border:2px solid var(--accent);background:var(--accent-soft)}
#fpmaps .line{display:flex;justify-content:space-between;align-items:center;gap:calc(.8 * var(--u));flex-wrap:wrap;padding-block:calc(.3 * var(--u))}
#fpmaps .empty{color:var(--ink2);padding-block:calc(.4 * var(--u))}
#fpmaps .warnbar{background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:calc(.7 * var(--u)) calc(.9 * var(--u));font-weight:600}
#fpmaps .mapcard{display:flex;justify-content:space-between;gap:calc(.8 * var(--u));flex-wrap:wrap;align-items:center;margin-bottom:calc(.7 * var(--u))}
#fpmaps .mc-main{min-width:0;flex:1 1 calc(14 * var(--u));display:flex;flex-direction:column;gap:calc(.15 * var(--u))}
#fpmaps .mc-main h3{overflow-wrap:anywhere}
#fpmaps .mc-acts{display:flex;gap:calc(.5 * var(--u));flex-wrap:wrap}
#fpmaps .status{font-weight:600;font-size:calc(.92 * var(--u))}
#fpmaps .status.due{color:var(--accent);background:none;border:0;padding:0}
#fpmaps .status.na{color:var(--ink2)}
#fpmaps .tag{display:inline-block;font-weight:600;font-size:calc(.82 * var(--u));padding:calc(.12 * var(--u)) calc(.6 * var(--u));border-radius:99px;vertical-align:middle}
#fpmaps .tag.open{background:var(--good-soft);color:var(--good)}
#fpmaps .tag.closed{background:var(--warn-soft);color:var(--warn)}
#fpmaps .tag.ex{background:var(--accent-soft);color:var(--accent)}
#fpmaps .top{display:flex;align-items:center}
#fpmaps .stepper{display:flex;gap:calc(.4 * var(--u));list-style:none;padding:0;margin:0;flex-wrap:wrap}
#fpmaps .stepper li{margin:0;padding:0}
#fpmaps .stepper button{display:flex;align-items:center;gap:calc(.4 * var(--u));min-height:calc(2.5 * var(--u));border:2px solid var(--line);background:var(--surface) !important;color:var(--ink2) !important;text-transform:none !important;border-radius:99px;padding:calc(.15 * var(--u)) calc(.75 * var(--u)) calc(.15 * var(--u)) calc(.3 * var(--u));font:inherit;font-size:calc(.85 * var(--u));cursor:pointer;box-shadow:none}
#fpmaps .stepper .n{display:grid;place-items:center;width:calc(1.75 * var(--u));height:calc(1.75 * var(--u));border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700}
#fpmaps .stepper .on{border-color:var(--accent);color:var(--ink) !important;font-weight:600}
#fpmaps .stepper .on .n{background:var(--accent);color:var(--accent-ink)}
#fpmaps .stepper button:disabled{opacity:.5;cursor:not-allowed}
@media (max-width:559px){#fpmaps .stepper .lab{display:none}
#fpmaps .stepper .on .lab{display:inline}
#fpmaps .stepper button{padding:calc(.15 * var(--u));gap:0}
#fpmaps .stepper .on{padding-right:calc(.75 * var(--u));gap:calc(.35 * var(--u))}}
#fpmaps .chips{display:flex;flex-wrap:wrap;gap:calc(.45 * var(--u))}
#fpmaps .chip{display:inline-flex;align-items:center;min-height:calc(2.5 * var(--u));padding:calc(.2 * var(--u)) calc(.85 * var(--u));border-radius:99px;border:2px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:calc(.9 * var(--u));font-weight:400;cursor:pointer;text-align:left;box-shadow:none}
#fpmaps .chip.on{border-color:var(--accent);background:var(--accent-soft);font-weight:600}
#fpmaps .opt{display:flex;gap:calc(.7 * var(--u));align-items:flex-start;padding:calc(.6 * var(--u)) calc(.8 * var(--u));border:2px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;font-weight:400}
#fpmaps .opt.on{border-color:var(--accent);background:var(--accent-soft)}
#fpmaps .opt:focus-within{outline:3px solid var(--accent);outline-offset:2px}
#fpmaps .opts{display:grid;gap:calc(.5 * var(--u));grid-template-columns:repeat(auto-fit,minmax(min(calc(14 * var(--u)),100%),1fr))}
#fpmaps .closedbox{border:2px dashed var(--warn);border-radius:12px;padding:calc(.8 * var(--u)) calc(1 * var(--u));background:var(--warn-soft)}
#fpmaps .openbox{border:2px solid var(--good);border-radius:12px;padding:calc(.8 * var(--u)) calc(1 * var(--u));background:var(--good-soft)}
#fpmaps .todo{margin:calc(.4 * var(--u)) 0 calc(.8 * var(--u));padding-left:calc(1.3 * var(--u))}
#fpmaps .todo li{margin-block:calc(.25 * var(--u))}
#fpmaps .cues{margin-top:calc(.2 * var(--u))}
#fpmaps .cues summary{cursor:pointer;font-weight:600}
#fpmaps .cues ul{margin:calc(.4 * var(--u)) 0 0;padding-left:calc(1.2 * var(--u))}
#fpmaps .kwrow{display:flex;gap:calc(.5 * var(--u));align-items:center;flex-wrap:wrap}
#fpmaps .kwrow input{flex:1 1 calc(7 * var(--u));min-width:0}
#fpmaps .btn.icon{min-width:calc(2.75 * var(--u));padding-inline:calc(.5 * var(--u))}
#fpmaps .openbox .tag,#fpmaps .closedbox .tag{background:var(--surface);align-self:flex-start}
#fpmaps .kwhint{flex-basis:100%;color:var(--bad);font-size:calc(.88 * var(--u));font-weight:600}
#fpmaps .st{flex:none;font-size:calc(.8 * var(--u));font-weight:700;padding:calc(.15 * var(--u)) calc(.55 * var(--u));border-radius:99px;border:2px solid currentColor}
#fpmaps .st-ok{color:var(--good)}
#fpmaps .st-fix{color:var(--warn)}
#fpmaps .st-miss{color:var(--bad);border-style:dashed}
#fpmaps .sentence{background:var(--accent-soft);border-radius:10px;padding:calc(.6 * var(--u)) calc(.8 * var(--u))}
#fpmaps .need{font-size:calc(.92 * var(--u));color:var(--ink2)}
#fpmaps .need.ok{color:var(--good);font-weight:600}
#fpmaps .big-q{font-size:calc(1.25 * var(--u));font-weight:600;line-height:1.35}
#fpmaps .rate{display:grid;gap:calc(.5 * var(--u));grid-template-columns:repeat(auto-fit,minmax(min(calc(9 * var(--u)),100%),1fr))}
#fpmaps .prog{height:calc(.5 * var(--u));border-radius:99px;background:var(--line);overflow:hidden}
#fpmaps .prog>span{display:block;height:100%;background:var(--accent)}
#fpmaps .kwlist{display:flex;flex-wrap:wrap;gap:calc(.45 * var(--u));margin:calc(.4 * var(--u)) 0 0;padding:0;list-style:none}
#fpmaps .kwlist li{border:2px solid var(--line);border-radius:10px;padding:calc(.2 * var(--u)) calc(.7 * var(--u));background:var(--surface)}
#fpmaps .kwlist li.miss{border-style:dashed}
#fpmaps .mapsec{display:flex;flex-direction:column;gap:calc(.5 * var(--u))}
#fpmaps .mapwrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;background-color:var(--surface);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:22px 22px}
#fpmaps .mapwrap svg{display:block;max-width:100%;height:auto}
#fpmaps .pad{padding:calc(1.2 * var(--u))}
#fpmaps .legend{display:flex;flex-wrap:wrap;gap:calc(.3 * var(--u)) calc(1.1 * var(--u));color:var(--ink2);font-size:calc(.85 * var(--u))}
#fpmaps .legend b{display:inline-grid;place-items:center;width:calc(1.35 * var(--u));height:calc(1.35 * var(--u));border-radius:50%;border:2px solid currentColor;font-size:calc(.8 * var(--u));margin-right:calc(.3 * var(--u))}
#fpmaps .legend .lfix b{color:var(--warn)}
#fpmaps .legend .lmiss b{color:var(--bad);border-style:dashed}
#fpmaps .legend .lno b{color:var(--bad)}
#fpmaps .legend .lmid b{color:var(--warn)}
#fpmaps .map .nd rect{fill:var(--fil,var(--surface));stroke:var(--stk,var(--line));stroke-width:2.5}
#fpmaps .map .nd.kid rect{fill:var(--surface);stroke-width:2}
#fpmaps .map .nd text{fill:var(--nodeink);font-family:var(--font-body)}
#fpmaps .map .nd.core rect{fill:var(--core-bg);stroke:var(--core-bg)}
#fpmaps .map .nd.core text{fill:var(--core-fg)}
#fpmaps .map .nd.miss rect{stroke-dasharray:6 4}
#fpmaps .map .nd.hid rect{fill:var(--surface);stroke-dasharray:3 4}
#fpmaps .map .nd.hid text{fill:var(--ink2)}
#fpmaps .map .nd[tabindex]{cursor:pointer}
#fpmaps .map .nd:focus{outline:none}
#fpmaps .map .nd:focus-visible rect{stroke:var(--accent);stroke-width:4}
#fpmaps .map .lk{fill:none;stroke:var(--stk,var(--line));stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
#fpmaps .map .lk.k{stroke-width:2}
#fpmaps .map .lv{fill:var(--ink2);font-family:var(--font-body);paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round}
#fpmaps .map .bdg circle{fill:var(--surface);stroke-width:2}
#fpmaps .map .bdg text{font-family:var(--font-body);font-weight:700}
#fpmaps .map .bdg.fix circle{stroke:var(--warn)}
#fpmaps .map .bdg.fix text{fill:var(--warn)}
#fpmaps .map .bdg.miss circle{stroke:var(--bad);stroke-dasharray:3 2}
#fpmaps .map .bdg.miss text{fill:var(--bad)}
#fpmaps .map .bdg.no circle{stroke:var(--bad)}
#fpmaps .map .bdg.no text{fill:var(--bad)}
#fpmaps .map .bdg.mid circle{stroke:var(--warn)}
#fpmaps .map .bdg.mid text{fill:var(--warn)}
#fpmaps .b1{--stk:var(--s1);--fil:var(--f1)}
#fpmaps .b2{--stk:var(--s2);--fil:var(--f2)}
#fpmaps .b3{--stk:var(--s3);--fil:var(--f3)}
#fpmaps .b4{--stk:var(--s4);--fil:var(--f4)}
#fpmaps .b5{--stk:var(--s5);--fil:var(--f5)}
#fpmaps .toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 32px);background:var(--ink);color:var(--paper);padding:calc(.65 * var(--u)) calc(1 * var(--u));border-radius:10px;z-index:99990;font-weight:600}
#fpmaps .sheet{position:fixed;inset:0;background:rgba(0,0,0,.5);display:grid;place-items:end center;z-index:99991}
#fpmaps .sheet .box{width:min(680px,100%);background:var(--surface);color:var(--ink);border-radius:14px 14px 0 0;padding:calc(1 * var(--u)) 16px calc(calc(1 * var(--u)) + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:calc(.7 * var(--u))}
#fpmaps .toast[hidden],#fpmaps .sheet[hidden]{display:none}
@media print{#fpmaps .noprint{display:none!important}
#fpmaps{background:#fff;padding:0}
#fpmaps .mapwrap{border:0;background:none}}
#fpmaps h1,#fpmaps h2,#fpmaps h3,#fpmaps h4,#fpmaps label,#fpmaps legend,#fpmaps summary,#fpmaps button,#fpmaps input,#fpmaps select,#fpmaps textarea,#fpmaps p,#fpmaps li,#fpmaps span,#fpmaps b{text-transform:none;letter-spacing:normal;font-style:normal}
#fpmaps h1,#fpmaps h2,#fpmaps h3{font-family:inherit;text-shadow:none}
#fpmaps label{display:inline}
#fpmaps .fld>label{display:block}
#fpmaps input,#fpmaps select,#fpmaps textarea,#fpmaps button{font-size:inherit}
#fpmaps .aiuto{padding:calc(.35 * var(--u)) 0;border-top:1px solid var(--line)}
#fpmaps .aiuto .aw{flex:1 1 100%}
#fpmaps .aiuto input{flex:1 1 calc(8 * var(--u))}
#fpmaps .symbtn{min-width:calc(3.2 * var(--u));padding:calc(.2 * var(--u)) calc(.5 * var(--u));display:inline-flex;align-items:center;justify-content:center;gap:calc(.3 * var(--u))}
#fpmaps .symbtn svg{width:calc(1.6 * var(--u));height:calc(1.6 * var(--u));display:block}
#fpmaps .symbtn .se{font-size:calc(1.4 * var(--u));line-height:1}
#fpmaps .chk{display:flex;gap:calc(.6 * var(--u));align-items:flex-start;font-weight:400;cursor:pointer}
#fpmaps .chk input{width:calc(1.4 * var(--u));height:calc(1.4 * var(--u));flex:none;margin-top:calc(.15 * var(--u))}
#fpmaps .pick{max-height:90vh;overflow:auto}
#fpmaps .pkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(4.2 * var(--u)),1fr));gap:calc(.4 * var(--u));max-height:34vh;overflow:auto}
#fpmaps .pkgrid button{display:flex;flex-direction:column;align-items:center;gap:calc(.15 * var(--u));padding:calc(.35 * var(--u)) calc(.2 * var(--u));border:2px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:calc(.7 * var(--u));cursor:pointer;min-height:calc(3.4 * var(--u));box-shadow:none}
#fpmaps .pkgrid button.on{border-color:var(--accent);background:var(--accent-soft)}
#fpmaps .pkgrid svg{width:calc(1.8 * var(--u));height:calc(1.8 * var(--u))}
#fpmaps .pkemo{display:flex;flex-wrap:wrap;gap:calc(.3 * var(--u))}
#fpmaps .pkemo button{font-size:calc(1.5 * var(--u));line-height:1;padding:calc(.25 * var(--u)) calc(.4 * var(--u));border:2px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;min-height:calc(2.6 * var(--u));box-shadow:none}
#fpmaps #pkcv,#fpmaps .pkcv{touch-action:none;border:2px solid var(--line);border-radius:12px;background:#fff;width:min(calc(14 * var(--u)),100%);aspect-ratio:1;display:block;cursor:crosshair}
#fpmaps .kwlist li.mask{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.03em}
#fpmaps .kwlist li svg{width:calc(1.5 * var(--u));height:calc(1.5 * var(--u));vertical-align:middle}
#fpmaps .supnote{border-left:4px solid var(--accent);padding:calc(.2 * var(--u)) calc(.7 * var(--u))}
#fpmaps .supbar{position:sticky;top:calc(.4 * var(--u));z-index:4;display:flex;gap:calc(.4 * var(--u));overflow-x:auto;padding:calc(.4 * var(--u));background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 12px rgba(0,0,0,.14);margin:calc(.5 * var(--u)) 0}
#fpmaps .supbar .chip{flex:none;white-space:nowrap}
#fpmaps{--paper:#f7f3ec;--surface:#ffffff;--line:#e6dfd2;--accent:#5146d1;--accent-soft:#ece9fd;--accent2:#7c4ddb;--grid:#efe8db;
  --sh1:0 1px 2px rgba(60,40,20,.06),0 8px 24px -10px rgba(60,40,120,.22);--sh2:0 2px 4px rgba(60,40,20,.06),0 18px 40px -14px rgba(60,40,120,.35);
  background:radial-gradient(900px 420px at 100% 0,rgba(155,93,229,.10),transparent 60%),radial-gradient(800px 420px at 0 10%,rgba(245,158,59,.10),transparent 60%),var(--paper)}
@media (prefers-color-scheme: dark){#fpmaps{--paper:#141320;--surface:#1d1c2c;--line:#2e2c45;--accent:#a99cff;--accent-soft:#2a2650;--accent2:#c3a6ff;--grid:#232238;
    background:radial-gradient(900px 420px at 100% 0,rgba(155,93,229,.16),transparent 60%),radial-gradient(800px 420px at 0 10%,rgba(245,158,59,.08),transparent 60%),var(--paper)}}
#fpmaps .app{max-width:1040px}
#fpmaps .btn{border-radius:14px;transition:transform .12s,box-shadow .12s,background .12s}
#fpmaps .btn:hover{transform:translateY(-1px)}
#fpmaps .btn.primary,#fpmaps .btn.primary:hover{background:linear-gradient(135deg,var(--accent),var(--accent2)) !important;border-color:transparent;box-shadow:0 10px 22px -12px var(--accent)}
#fpmaps .card{border:1px solid transparent;border-radius:20px;box-shadow:var(--sh1)}
#fpmaps details.card>summary{list-style:none;justify-content:space-between}
#fpmaps details.card>summary::-webkit-details-marker{display:none}
#fpmaps details.card>summary::after{content:"";width:calc(.6 * var(--u));height:calc(.6 * var(--u));border-right:2.5px solid var(--ink2);border-bottom:2.5px solid var(--ink2);transform:rotate(45deg);margin:0 calc(.4 * var(--u)) 0 calc(1 * var(--u));transition:transform .2s}
#fpmaps details.card[open]>summary::after{transform:rotate(-135deg)}
#fpmaps .due{border:2px solid var(--accent);background:var(--accent-soft)}
#fpmaps .hero{padding:calc(1.2 * var(--u)) 0 calc(.2 * var(--u))}
#fpmaps .hero-k{margin:0;font-size:calc(.78 * var(--u));font-weight:700;letter-spacing:.16em;color:var(--accent2)}
#fpmaps .hero h1{font-family:"FPS Caveat","Segoe Print",cursive;font-weight:700;font-size:clamp(calc(2.4 * var(--u)),6vw,calc(3.6 * var(--u)));line-height:1;margin:calc(.3 * var(--u)) 0 calc(.6 * var(--u));letter-spacing:.01em}
#fpmaps .hero h1 span{background:linear-gradient(transparent 58%,rgba(239,191,36,.55) 58%,rgba(239,191,36,.55) 88%,transparent 88%);padding:0 .15em}
#fpmaps .hero .lead{font-size:calc(1.05 * var(--u))}
#fpmaps .modes{display:grid;grid-template-columns:1fr 1fr;gap:calc(1.2 * var(--u))}
#fpmaps .mode{position:relative;display:flex;flex-direction:column;gap:calc(.55 * var(--u));background:var(--surface);border-radius:26px;padding:calc(1 * var(--u)) calc(1.3 * var(--u)) calc(1.3 * var(--u));box-shadow:var(--sh2);overflow:hidden}
#fpmaps .mode h2{font-size:calc(1.45 * var(--u));margin:0}
#fpmaps .mode p{margin:0;color:var(--ink2)}
#fpmaps .mode .row{margin-top:auto;padding-top:calc(.6 * var(--u))}
#fpmaps .mode-k{font-size:calc(.74 * var(--u)) !important;font-weight:700;letter-spacing:.14em;text-transform:uppercase !important;color:var(--accent2) !important}
#fpmaps .mode-art{position:relative;height:calc(11.5 * var(--u));margin:calc(-1 * var(--u)) calc(-1.3 * var(--u)) calc(.5 * var(--u));border-bottom:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
#fpmaps .mode-g .mode-art{background:radial-gradient(circle at 20% 30%,#ffe3c9 0,transparent 45%),radial-gradient(circle at 85% 75%,#d9f2ea 0,transparent 45%),#fbf6ee;color:#c9b9a2}
#fpmaps .mode-g .mode-art svg{position:absolute;inset:auto 0 calc(1.2 * var(--u));width:100%;height:calc(5 * var(--u))}
#fpmaps .mode-steps{position:relative;z-index:1;display:flex;gap:calc(.55 * var(--u));list-style:none;margin:0;padding:0}
#fpmaps .mode-steps li{display:grid;place-items:center;width:calc(2.7 * var(--u));height:calc(2.7 * var(--u));border-radius:50%;font-weight:700;color:#fff;box-shadow:0 6px 14px -6px rgba(0,0,0,.4);transform:translateY(calc(var(--d,0) * 1px))}
#fpmaps .mode-steps li:nth-child(1){background:#f26b5b;--d:-10}
#fpmaps .mode-steps li:nth-child(2){background:#f59e3b;--d:6}
#fpmaps .mode-steps li:nth-child(3){background:#efbf24;--d:-6}
#fpmaps .mode-steps li:nth-child(4){background:#22b39c;--d:10}
#fpmaps .mode-steps li:nth-child(5){background:#3a9fe8;--d:-8}
#fpmaps .mode-steps li:nth-child(6){background:#9b5de5;--d:4}
#fpmaps .mode-prev{background:#f3eefe;padding:calc(.6 * var(--u))}
#fpmaps .mode-prev svg{width:100%;height:100%}
#fpmaps .mode-l::before{content:"";position:absolute;inset:0;border-radius:26px;padding:2px;background:linear-gradient(135deg,#f26b5b,#efbf24,#22b39c,#5b6ee1,#9b5de5);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
@media (prefers-color-scheme: dark){#fpmaps .mode-g .mode-art{background:#24223a;color:#4a4670}
#fpmaps .mode-prev{background:#2a2645}}
@media (max-width:760px){#fpmaps .modes{grid-template-columns:1fr}
#fpmaps .mode-art{height:calc(9.5 * var(--u))}
#fpmaps .mode-steps li{width:calc(2.2 * var(--u));height:calc(2.2 * var(--u))}}
#fpmaps .mapcard{border-left:6px solid var(--accent)}
#fpmaps .mapcard:nth-of-type(5n+2){border-left-color:#f26b5b}
#fpmaps .mapcard:nth-of-type(5n+3){border-left-color:#22b39c}
#fpmaps .mapcard:nth-of-type(5n+4){border-left-color:#f59e3b}
#fpmaps .mapcard:nth-of-type(5n+5){border-left-color:#3a9fe8}
#fpmaps .stepper button{border:0;box-shadow:var(--sh1)}
#fpmaps .stepper .on{background:linear-gradient(135deg,var(--accent),var(--accent2)) !important;color:#fff !important}
#fpmaps .stepper .on .n{background:#fff;color:var(--accent)}
#fpmaps .bridge{display:flex;gap:calc(1 * var(--u));align-items:center;justify-content:space-between;flex-wrap:wrap;background:linear-gradient(135deg,var(--accent-soft),var(--surface))}
#fpmaps .bridge h3{margin:0 0 calc(.2 * var(--u))}
#fpmaps .studio-b::before{content:"✎ "}
