/* FP MAPS TOP - Studio libero (generato da studio/studio.css) */
html.fpst-on,body.fpst-on{overflow:hidden!important}
#fpst.fpst{--ui:#1e1b33;--ui2:#5d5a73;--acc:#5b6ee1;--acc2:#7c5ce6;--pane:rgba(255,255,255,.92);--line:rgba(30,27,51,.1);--sh:0 10px 30px -8px rgba(40,30,90,.25),0 2px 6px rgba(40,30,90,.08);
  position:fixed;inset:0;z-index:2147483000;background:#f4efe6 !important;color:var(--ui) !important;font-family:"FPM Lexend","FPS Lexend",system-ui,sans-serif;font-size:15px;line-height:1.35;-webkit-tap-highlight-color:transparent;touch-action:none}
#fpst.fpst[hidden],#fpst.fpst [hidden]{display:none!important}
#fpst.fpst :where(*),#fpst.fpst :where(*)::before,#fpst.fpst :where(*)::after{box-sizing:border-box}
#fpst.fpst :where(button){font:inherit;color:inherit !important;cursor:pointer;border:0;background:none !important;margin:0;padding:0}
#fpst.fpst :where(svg){display:block}
#fpst.fpst :where(h1,#fpst h2,#fpst h3,#fpst h4,#fpst p,#fpst ul,#fpst ol,#fpst li,#fpst input,#fpst textarea,#fpst select,#fpst label,#fpst span,#fpst b,#fpst small,#fpst button){letter-spacing:normal;text-transform:none;text-shadow:none;color:inherit !important;font-style:normal}
#fpst.fpst :where(h2,#fpst h3,#fpst p){margin:0;padding:0}
#fpst.fpst :where(button,#fpst input,#fpst textarea){box-shadow:none;outline-color:#5b6ee1;min-height:0;line-height:1.3}
#fpst.fpst :where(input,#fpst textarea){border-radius:0}
#fpst .fpst-gal{position:absolute;inset:0;overflow:auto;touch-action:pan-y;background:radial-gradient(1200px 500px at 85% -10%,#e8defc 0,transparent 60%),radial-gradient(900px 500px at -10% 10%,#ffe6d5 0,transparent 55%),#f7f3ec !important}
#fpst .fpst-gwrap{max-width:1180px;margin:0 auto;padding:22px 18px 80px}
#fpst .fpst-ghead{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px 30px;padding:26px 0 18px}
#fpst .fpst-gback{flex:0 0 auto;margin-right:100%;width:max-content;padding:8px 14px;border-radius:99px;background:#fff !important;box-shadow:var(--sh);font-weight:600;color:var(--ui2) !important}
#fpst .fpst-gtitle{flex:1 1 420px}
#fpst .fpst-kick{margin:0 0 6px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2) !important}
#fpst .fpst-gtitle h2{margin:0;font:700 clamp(2.1rem,5vw,3.4rem)/1.02 "FPS Caveat","FPM Lexend",cursive;letter-spacing:.01em;color:#231d45 !important}
#fpst .fpst-gtitle p{margin:10px 0 0;max-width:58ch;color:var(--ui2) !important;font-size:1.02rem}
#fpst .fpst-big{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:18px;background:linear-gradient(135deg,var(--acc),var(--acc2)) !important;color:#fff!important;font-weight:700;font-size:1.08rem;box-shadow:0 12px 26px -10px rgba(91,110,225,.8),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .15s}
#fpst .fpst-big:hover{transform:translateY(-2px)}
#fpst .fpst-big svg{width:22px;height:22px}
#fpst .fpst-gsec{margin-top:30px}
#fpst .fpst-gsec h3{margin:0;font-size:1.25rem;font-weight:700}
#fpst .fpst-gsub{margin:4px 0 0;color:var(--ui2) !important;font-size:.92rem}
#fpst .fpst-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-top:14px}
#fpst .fpst-big-cards{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
#fpst .fpst-card{display:flex;flex-direction:column;text-align:left;border-radius:20px;background:#fff !important;box-shadow:var(--sh);overflow:hidden;transition:transform .18s,box-shadow .18s;outline-offset:3px}
#fpst .fpst-card:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 18px 40px -12px rgba(40,30,90,.35)}
#fpst .fpst-prev{display:block;aspect-ratio:16/10;border-bottom:1px solid var(--line);overflow:hidden}
#fpst .fpst-prev svg{width:100%;height:100%}
#fpst .fpst-cl{display:flex;flex-direction:column;gap:3px;padding:12px 14px 14px}
#fpst .fpst-cl b{font-size:1rem}
#fpst .fpst-cl small{color:var(--ui2) !important;font-size:.83rem}
#fpst .fpst-tips .fpst-tipg{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:12px}
#fpst .fpst-tipg div{background:rgba(255,255,255,.7) !important;border:1px solid var(--line);border-radius:16px;padding:14px}
#fpst .fpst-tipg b{display:block;margin-bottom:4px}
#fpst .fpst-tipg span{color:var(--ui2) !important;font-size:.9rem}
#fpst .fpst-imp{margin-top:26px;padding:12px 18px;border-radius:14px;background:#fff !important;box-shadow:var(--sh);font-weight:600}
#fpst .fpst-ed{position:absolute;inset:0}
#fpst .fpst-stage{position:absolute;inset:0;overflow:hidden;touch-action:none}
#fpst .fpst-svg{position:absolute;inset:0;width:100%;height:100%;user-select:none;-webkit-user-select:none;cursor:default}
#fpst.fpst[data-tool=mano] .fpst-svg{cursor:grab}
#fpst.fpst[data-tool=penna] .fpst-svg,#fpst.fpst[data-tool=evid] .fpst-svg{cursor:crosshair}
#fpst.fpst[data-tool=box] .fpst-svg,#fpst.fpst[data-tool=testo] .fpst-svg,#fpst.fpst[data-tool=sez] .fpst-svg,#fpst.fpst[data-tool=freccia] .fpst-svg{cursor:copy}
#fpst.fpst[data-tool=gomma] .fpst-svg{cursor:cell}
#fpst .fpst-it{cursor:move}
#fpst.fpst[data-tool=penna] .fpst-it,#fpst.fpst[data-tool=evid] .fpst-it{cursor:crosshair}
#fpst.fpst.fpst-quiz .fpst-box,#fpst.fpst.fpst-quiz .fpst-text{cursor:pointer}
#fpst .fps-hd{cursor:nwse-resize}
#fpst .fps-plus{cursor:pointer}
#fpst .fps-plus circle{transition:r .12s}
#fpst .fps-plus:hover circle{r:15}
#fpst .fpst-top{position:absolute;z-index:3;top:10px;left:10px;right:10px;display:flex;align-items:center;gap:6px;padding:6px;border-radius:18px;background:var(--pane) !important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--sh)}
#fpst .fpst-ib{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:42px;height:42px;padding:0 10px;border-radius:12px;color:var(--ui)!important;font-weight:600;font-size:.9rem;white-space:nowrap}
#fpst .fpst-ib:hover{background:rgba(91,110,225,.1) !important}
#fpst .fpst-ib svg{width:21px;height:21px;flex:none}
#fpst .fpst-ib[aria-pressed=true]{background:var(--ui) !important;color:#fff!important}
#fpst .fpst-exb{background:linear-gradient(135deg,var(--acc),var(--acc2)) !important;color:#fff!important}
#fpst .fpst-exb:hover{background:linear-gradient(135deg,var(--acc),var(--acc2)) !important;filter:brightness(1.07)}
#fpst .fpst-title{flex:0 1 340px;min-width:60px;height:42px;padding:0 12px;border:1px solid transparent;border-radius:12px;background:transparent !important;font:700 1.05rem "FPM Lexend","FPS Lexend",sans-serif;color:var(--ui) !important;text-overflow:ellipsis}
#fpst .fpst-title:hover{border-color:var(--line)}
#fpst .fpst-title:focus{outline:none;border-color:var(--acc);background:#fff !important}
#fpst .fpst-saved{font-size:.78rem;color:var(--ui2) !important;white-space:nowrap}
#fpst .fpst-sp{flex:1}
#fpst .fpst-tools{position:absolute;z-index:3;left:10px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:3px;padding:7px;border-radius:20px;background:var(--pane) !important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--sh)}
#fpst .fpst-tool{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:52px;border-radius:14px;color:var(--ui2)!important;transition:background .12s,color .12s}
#fpst .fpst-tool svg{width:23px;height:23px}
#fpst .fpst-tool span{font-size:.6rem;font-weight:600;margin-top:2px;letter-spacing:.01em}
#fpst .fpst-tool:hover{background:rgba(91,110,225,.1) !important;color:var(--ui)!important}
#fpst .fpst-tool.on{background:linear-gradient(135deg,var(--acc),var(--acc2)) !important;color:#fff!important;box-shadow:0 6px 14px -6px rgba(91,110,225,.9)}
#fpst .fpst-zoom{position:absolute;z-index:3;right:10px;top:74px;display:flex;gap:2px;padding:5px;border-radius:14px;background:var(--pane) !important;box-shadow:var(--sh)}
#fpst .fpst-zoom button{min-width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:600}
#fpst .fpst-zoom button:hover{background:rgba(91,110,225,.1) !important}
#fpst .fpst-zoom svg{width:18px;height:18px}
#fpst .fpst-hint{position:absolute;z-index:2;left:50%;bottom:18px;transform:translateX(-50%) translateY(10px);max-width:min(560px,80vw);padding:9px 16px;border-radius:99px;background:rgba(30,27,51,.86) !important;color:#fff !important;font-size:.86rem;text-align:center;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
#fpst .fpst-hint.on{opacity:1;transform:translateX(-50%) translateY(0)}
#fpst .fpst-props{position:absolute;z-index:4;left:50%;bottom:14px;transform:translateX(-50%);max-width:calc(100vw - 200px);display:flex;align-items:stretch;gap:4px;padding:7px;border-radius:20px;background:var(--pane) !important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--sh);overflow-x:auto;scrollbar-width:thin;touch-action:pan-x}
#fpst .fpst-grp{display:flex;flex-direction:column;gap:3px;padding:0 8px;border-left:1px solid var(--line)}
#fpst .fpst-grp:first-child{border-left:0}
#fpst .fpst-gl{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ui2) !important;white-space:nowrap}
#fpst .fpst-gi{display:flex;align-items:center;gap:3px;flex-wrap:nowrap}
#fpst .fpst-act{flex-direction:row;align-items:center}
#fpst .fpst-sw{flex:none;width:24px;height:24px;border-radius:50%;background:var(--c,#fff) !important;box-shadow:inset 0 0 0 2px rgba(0,0,0,.08);transition:transform .1s}
#fpst .fpst-sw[style*="--c:;"],#fpst .fpst-sw[data-v=""]{background:conic-gradient(#222 0 25%,#fff 0 50%,#222 0 75%,#fff 0) !important}
#fpst .fpst-sw:hover{transform:scale(1.15)}
#fpst .fpst-sw.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ui)}
#fpst .fpst-chip{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:34px;height:34px;padding:0 9px;border-radius:10px;background:rgba(30,27,51,.05) !important;font-size:.82rem;font-weight:600;white-space:nowrap}
#fpst .fpst-chip:hover{background:rgba(91,110,225,.14) !important}
#fpst .fpst-chip.on{background:var(--ui) !important;color:#fff!important}
#fpst .fpst-chip svg{width:19px;height:19px}
#fpst .fpst-chip svg[viewBox="-2 -2 34 24"]{width:30px;height:22px}
#fpst .fpst-wr{background:linear-gradient(135deg,var(--acc),var(--acc2)) !important;color:#fff!important;padding:0 14px}
#fpst .fpst-del:hover{background:#fde2e2 !important;color:#c0262d!important}
#fpst .fpst-dot i{display:block;border-radius:50%}
#fpst .fpst-ta{position:absolute;z-index:5;margin:0;border:0;outline:2px dashed rgba(59,130,246,.55);outline-offset:2px;border-radius:10px;background:transparent !important;resize:none;overflow:hidden;white-space:pre-wrap;transform-origin:center;caret-color:#3b82f6;touch-action:manipulation}
#fpst .fpst-ta-box{background:#fff !important;outline:2px solid #3b82f6;box-shadow:var(--sh)}
#fpst .fpst-toast{position:absolute;z-index:9;left:50%;top:76px;transform:translate(-50%,-10px);padding:10px 18px;border-radius:99px;background:#1e1b33 !important;color:#fff !important;font-size:.9rem;font-weight:600;opacity:0;pointer-events:none;transition:all .25s;max-width:90vw;text-align:center}
#fpst .fpst-toast.on{opacity:1;transform:translate(-50%,0)}
#fpst .fpst-pop{position:absolute;z-index:6;top:70px;right:10px;bottom:62px;width:min(380px,calc(100vw - 20px));display:flex;flex-direction:column;border-radius:22px;background:#fff !important;box-shadow:0 24px 60px -14px rgba(40,30,90,.45);overflow:hidden;touch-action:pan-y;animation:fpst-in .18s ease-out}
@keyframes fpst-in{from{opacity:0;transform:translateY(8px) scale(.98)}}
#fpst .fpst-pophead{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 6px 18px}
#fpst .fpst-pophead b{font-size:1.02rem}
#fpst .fpst-popbody{flex:1;overflow:auto;padding:4px 14px 16px}
#fpst .fpst-tabs{display:flex;gap:4px;padding:4px;border-radius:14px;background:#f1eef8 !important;margin-bottom:10px}
#fpst .fpst-tab{flex:1;height:36px;border-radius:10px;font-weight:600;font-size:.88rem;color:var(--ui2)!important}
#fpst .fpst-tab.on{background:#fff !important;color:var(--ui)!important;box-shadow:0 2px 6px rgba(40,30,90,.12)}
#fpst .fpst-q{width:100%;height:42px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line);font:inherit;margin-bottom:10px;background:#faf9fd !important}
#fpst .fpst-q:focus{outline:none;border-color:var(--acc);background:#fff !important}
#fpst .fpst-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}
#fpst .fpst-gt{grid-column:1/-1;margin:8px 0 0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ui2) !important}
#fpst .fpst-pk{aspect-ratio:1;border-radius:12px;background:#f6f4fb !important;display:flex;align-items:center;justify-content:center;color:var(--ui)!important;transition:transform .1s,background .1s}
#fpst .fpst-pk:hover{background:#e9e4fb !important;transform:scale(1.08)}
#fpst .fpst-pk svg{width:60%;height:60%}
#fpst .fpst-pke{font-size:1.65rem;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
#fpst .fpst-pka svg{width:82%;height:82%}
#fpst .fpst-bgs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#fpst .fpst-bgc{display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:14px;border:2px solid transparent;text-align:left;font-weight:600;font-size:.85rem}
#fpst .fpst-bgc svg{width:100%;height:auto;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line)}
#fpst .fpst-bgc.on{border-color:var(--acc);background:#f3f1fd !important}
#fpst .fpst-bgc:hover{background:#f6f4fb !important}
#fpst .fpst-exl{display:flex;flex-direction:column;gap:8px}
#fpst .fpst-exi{display:flex;flex-direction:column;gap:2px;text-align:left;padding:12px 14px;border-radius:14px;background:#f7f5fc !important}
#fpst .fpst-exi:hover{background:#ece8fb !important}
#fpst .fpst-exi span{color:var(--ui2) !important;font-size:.84rem}
#fpst .fpst-exdel b{color:#b42318 !important}
#fpst .fpst-small{color:var(--ui2) !important;font-size:.82rem;margin:12px 2px 0}
#fpst.fpst.fpst-dark .fpst-hint{background:rgba(255,255,255,.9) !important;color:#1e1b33 !important}
@media (max-width:760px){#fpst .fpst-top{top:6px;left:6px;right:6px;padding:4px;gap:2px;border-radius:16px}
#fpst .fpst-ib{min-width:38px;height:40px;padding:0 7px}
#fpst .fpst-ib span{display:none}
#fpst .fpst-title{font-size:.95rem;padding:0 6px;flex:1 1 auto}
#fpst .fpst-saved{display:none}
#fpst .fpst-tools{top:auto;transform:none;left:6px;right:6px;bottom:6px;flex-direction:row;overflow-x:auto;padding:5px;border-radius:18px;scrollbar-width:none;touch-action:pan-x}
#fpst .fpst-tools::-webkit-scrollbar{display:none}
#fpst .fpst-tool{flex:none;width:58px;height:54px}
#fpst .fpst-zoom{right:6px;bottom:auto;top:58px;padding:3px;border-radius:12px;flex-direction:column}
#fpst .fpst-zoom button{min-width:34px;height:32px}
#fpst .fpst-zoom .fpst-zv{font-size:.68rem}
#fpst .fpst-props{left:6px;right:6px;transform:none;max-width:none;bottom:72px;border-radius:16px}
#fpst .fpst-hint{bottom:76px;font-size:.8rem;border-radius:14px}
#fpst .fpst-pop{top:auto;left:0;right:0;bottom:0;width:auto;height:72vh;border-radius:22px 22px 0 0}
#fpst .fpst-gwrap{padding:12px 14px 60px}
#fpst .fpst-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
#fpst .fpst-big-cards{grid-template-columns:1fr}
#fpst .fpst-big{width:100%;justify-content:center}
#fpst .fpst-gcta{flex:1 1 100%}}
@media (max-width:380px){#fpst .fpst-tool{width:52px}
#fpst .fpst-tool span{font-size:.55rem}}
@media print{#fpst.fpst{display:none!important}}
@media (prefers-reduced-motion:reduce){#fpst.fpst *{transition:none!important;animation:none!important}}
@font-face{font-family:"FPS Caveat";font-weight:700;src:url(fonts/caveat-latin-700-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"FPS Patrick";src:url(fonts/patrick-hand-latin-400-normal.woff2) format("woff2");font-display:swap}