.app{--teal:#1d6b58;--teal-deep:#14463a;--teal-soft:#d8ebe3;--paper:#f6f4ee;--card:#fff;--ink:#15302a;--muted:#5f6c62;--line:#e7e2d6;--danger:#b4531d;font-family:var(--font-inter),system-ui,sans-serif;color:var(--ink);background:var(--paper);min-height:100vh;-webkit-font-smoothing:antialiased}.app *{box-sizing:border-box}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;background:var(--teal);color:#fff;font-size:19px;font-weight:800;line-height:1}.brand-name{font-family:var(--font-fraunces);font-weight:600;font-size:21px;color:var(--teal-deep);letter-spacing:-.01em}.bar-right{display:flex;align-items:center;gap:14px}.btn-ghost{padding:7px 13px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.btn-ghost:hover{border-color:var(--teal);color:var(--teal-deep)}.studio{display:grid;grid-template-columns:372px 1fr;min-height:calc(100vh - 61px)}.rail{padding:22px 22px 40px;border-right:1px solid var(--line);overflow-y:auto;height:calc(100vh - 61px)}.rail h1{font-family:var(--font-fraunces);font-size:26px;font-weight:600;color:var(--teal-deep);margin:2px 0;letter-spacing:-.01em}.rail .sub{color:var(--muted);font-size:14px;margin:0 0 18px}.group{margin-bottom:20px}.acct-col>.group:last-child{margin-bottom:0}@media (min-width:900px){.acct-page>.app-legal{grid-column:1/-1;justify-content:center;margin-top:28px}}.group-label{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:700;margin:0 0 9px;display:flex;align-items:center;gap:7px}.group-label:after{content:"";flex:1 1;height:1px;background:var(--line)}.field{margin-bottom:12px}.field>label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px}.field .hint{font-size:12px;color:var(--muted);margin-top:5px}.input,.select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:14px}.input:focus,.select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{flex:1 1 auto;min-width:-moz-fit-content;min-width:fit-content;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;justify-content:center}.seg button:hover{border-color:var(--teal)}.seg button[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}.seg button:disabled{opacity:.55;cursor:not-allowed}.seg button:disabled:hover{border-color:var(--line)}.colour-pick{display:flex;align-items:center;gap:10px}.colour-pick .select{flex:1 1}.colour-dot{flex:0 0 auto;width:22px;height:22px;border-radius:7px;border:1px solid rgba(0,0,0,.12)}.toggle{justify-content:space-between;padding:9px 0}.toggle,.toggle .tl{display:flex;align-items:center}.toggle .tl{gap:8px;font-size:14px}.switch{position:relative;width:40px;height:23px;flex:0 0 auto}.switch input{opacity:0;width:0;height:0}.switch .track{position:absolute;inset:0;background:#d9d4c8;border-radius:999px;transition:.15s}.switch .track:before{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}.switch input:checked+.track{background:var(--teal)}.switch input:checked+.track:before{transform:translateX(17px)}.switch input:disabled+.track{opacity:.5}.btn-primary{flex:1 1;padding:12px 16px;border:0;border-radius:11px;background:var(--teal);color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:.12s}.btn-primary:hover{background:var(--teal-deep)}.btn-primary:disabled{opacity:.6;cursor:progress}.note{font-size:13px;margin-top:12px;padding:10px 12px;border-radius:9px;line-height:1.4;overflow-wrap:break-word}.legal{padding-bottom:80px}.legal>*{max-width:760px;margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px}@media (min-width:1040px){.legal.faq>.legal-body{max-width:1064px}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.price-fine{margin:12px 0 0;font-size:11.5px;text-align:center}.app-legal,.price-fine,.price-fine a{color:var(--muted)}.app-legal{display:inline-flex;gap:8px;align-items:center;font-size:12px}.app-legal a{color:var(--muted);text-decoration:none}.app-legal a:hover{color:var(--teal);text-decoration:underline}footer.app-legal{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.canvas,footer.app-legal{display:flex;justify-content:center}.canvas{position:relative;overflow:auto;padding:30px;align-items:flex-start;background:radial-gradient(circle at 50% 0,#fbfaf6,var(--paper) 60%)}.canvas:before{content:"＋  −  ×  ÷";position:absolute;top:14px;right:22px;font-family:var(--font-fraunces);font-size:22px;letter-spacing:.35em;color:var(--teal);opacity:.12}.paper{--preview-scale:0.72;width:calc(816px * var(--preview-scale));height:calc(1056px * var(--preview-scale));background:#fff;box-shadow:0 12px 40px rgba(20,48,42,.14),0 2px 8px rgba(20,48,42,.06);border-radius:3px;overflow:hidden}.paper>*{transform:scale(var(--preview-scale));transform-origin:top left}.paper iframe{width:816px;height:1056px;border:0;display:block}.paper{position:relative}.paper>.preview-failed{position:absolute;inset:0;transform:none;background:#fff;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:var(--muted);font-size:13px}.carousel-actions .btn-primary{flex:0 0 auto}.carousel .btn-ghost:disabled{opacity:.45;cursor:not-allowed}.carousel .btn-ghost:disabled:hover{border-color:var(--line);color:var(--ink)}.auth-card .brand{justify-content:center;margin-bottom:4px}.auth-card .field{margin-bottom:11px}.auth-row{display:flex;gap:8px}.auth-row .btn-primary{font-size:14px;padding:11px}.link-muted{background:none;border:0;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;padding:0;margin-top:14px}.link-muted:hover{color:var(--teal-deep)}.lp .bar-right{gap:10px}.lp .btn-ghost,.lp .btn-primary{text-decoration:none;display:inline-flex;align-items:center}.lp-prose a:not(.btn-primary):not(.btn-ghost){color:var(--teal);font-weight:600}.lp-price-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:22px;gap:22px;margin-top:30px}.acct-pricing .lp-price-grid{grid-template-columns:1fr}.price-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;text-align:left}.price-pro{border-color:var(--teal);box-shadow:0 12px 36px rgba(29,107,88,.14)}.price-name{font-weight:700;color:var(--ink);margin:0 0 6px;display:flex;align-items:center;gap:8px}.price-amt{font-family:var(--font-fraunces);font-size:40px;color:var(--teal-deep);margin:0 0 4px}.price-amt span{font-family:var(--font-inter);font-size:16px;color:var(--muted)}.price-save{margin:0 0 16px;font-size:12px;font-weight:700;color:var(--teal)}.price-card ul{list-style:none;padding:0;margin:0 0 22px}.price-card li{padding:7px 0 7px 24px;position:relative;font-size:14px;color:var(--ink);border-bottom:1px solid var(--line)}.price-card li:before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800}.price-card .btn-ghost,.price-card .btn-primary{width:100%;justify-content:center;text-decoration:none}.lp-foot-motif{letter-spacing:.5em;color:var(--teal);opacity:.4;font-size:16px}@media (max-width:860px){.lp-price-grid,.studio{grid-template-columns:1fr}.studio{min-height:0}.rail{border-right:none;border-bottom:1px solid var(--line);height:auto}.canvas{flex-direction:column;align-items:center;padding:20px 12px 32px}.canvas-foot .app-legal{flex-wrap:wrap;justify-content:center}.canvas:before{display:none}.paper{--preview-scale:0.58}}@media (max-width:560px){.paper{--preview-scale:0.4}.app .bar-right,.lp .bar-right{flex-wrap:wrap;justify-content:flex-end}.app .bar-right{row-gap:8px}.app .usage-pill{padding:5px 9px;font-size:12px;gap:5px}.app .usage-pill .pill-unit{display:none}}.de-included{color:var(--muted);font-size:13px;margin:8px 0 0}.de-sizes button.de-locked{opacity:.55}.de .hint{font-size:12px;color:var(--muted);margin-top:5px}.de-modal-scrim{position:fixed;inset:0;background:rgba(12,28,24,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:70}.de-modal{position:relative;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;width:100%;max-width:420px;box-shadow:0 24px 60px rgba(20,48,42,.28)}.de-modal h2{font-family:var(--font-fraunces);font-weight:600;font-size:24px;color:var(--teal-deep);margin:0 0 8px}.de-modal-lede{color:var(--muted);font-size:14px;line-height:1.55;margin:0 0 20px}.de-modal-go{width:100%;margin-top:6px}.de-modal-close{position:absolute;top:12px;right:14px;background:none;border:0;font-size:22px;line-height:1;color:var(--muted);cursor:pointer}.guide-diffs,.printables{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.printables{list-style:none;margin:16px 0 0;padding:0}.printable a{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:12px;transition:border-color .15s,transform .15s}.printable a:focus-visible,.printable a:hover{border-color:var(--teal);transform:translateY(-2px)}.printable img{width:100%;aspect-ratio:17/22;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px;display:block}@media (max-width:700px){.printables{grid-template-columns:1fr}}@media (max-width:720px){.guide-diffs{grid-template-columns:1fr}}.adm-add .input{width:auto;flex:1 1 240px;max-width:320px}.adm-add-msg.ok{color:var(--teal-deep)}.adm-add-msg.err{color:var(--danger)}.rv-stars,.stars{--star:#e0a316;letter-spacing:1px;white-space:nowrap;font-size:15px}.rv-stars-on,.stars-on{color:var(--star)}.rv-stars-off,.stars-off{color:#d9d3c4}.star-btn.on,.star-btn:hover{color:#e0a316}.stars{font-size:18px}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236c7a72' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}.rv-summary .rv-stars{font-size:20px}.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:720px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid #e7e2d6;border-radius:14px;padding:14px 18px;box-shadow:0 10px 40px rgba(20,48,42,.16);font-family:var(--font-inter),system-ui,sans-serif}html[data-cookie-banner-dismissed="1"] .cookie-banner{display:none}.cookie-text{flex:1 1 300px;font-size:13px;color:#15302a;line-height:1.5;margin:0}.cookie-text a{color:#14463a;text-decoration:underline}.cookie-actions{display:flex;gap:10px;flex:0 0 auto}.cookie-btn{padding:9px 18px;border-radius:9px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.cookie-reject{background:#fff;border:1px solid #e7e2d6;color:#15302a}.cookie-reject:hover{border-color:#1d6b58}.cookie-accept{background:#1d6b58;border:1px solid #1d6b58;color:#fff}.cookie-accept:hover,.store-banner{background:#14463a}.store-banner{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:10px 20px;color:#fff}html[data-store-banner-dismissed="1"] .store-banner{display:none}.store-banner-text{margin:0;font-size:13px;line-height:1.4}.store-banner-text b{font-weight:700}.store-banner-badge{display:inline-block;padding:2px 8px;margin-right:8px;border-radius:999px;background:#1d6b58;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.store-banner-link{padding:5px 14px;border-radius:8px;border:1px solid #fff;color:#fff;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}.store-banner-link:hover{background:#fff;color:#14463a}.store-banner-close{background:none;border:0;color:#fff;opacity:.7;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}.store-banner-close:hover{opacity:1}@media (max-width:560px){.store-banner{padding:8px 14px}.store-banner-text{flex:1 1 100%;text-align:center}}