@font-face{font-family:Montserrat;font-style:normal;font-weight:500 900;font-display:swap;src:url(/fonts/Montserrat.ttf)format("truetype")}:root{--blue:#1f4d99;--blue-ink:#163a73;--red:#d12a2b;--ink:#1a2233;--muted:#5b6678;--line:#e3e8f1;--bg:#f5f7fb;--card:#fff;--radius:16px;--font:"Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 600px at 80% -10%, #eaf0fb 0%, var(--bg) 55%);-webkit-font-smoothing:antialiased;min-height:100dvh}.page{flex-direction:column;min-height:100dvh;display:flex}.topbar{padding:18px 22px}.brand{align-items:center;text-decoration:none;display:inline-flex}.brand-logo{width:auto;height:34px;display:block}@media (max-width:860px){.brand-logo{height:28px}}.main{flex:1;grid-template-columns:minmax(320px,460px) 1fr;align-items:center;gap:44px;width:min(1040px,100%);margin:0 auto;padding:8px 22px 40px;display:grid}@media (max-width:860px){.main{grid-template-columns:1fr;gap:24px;padding-top:4px}}.stage{flex-direction:column;align-items:center;gap:18px;display:flex}.canvas-wrap{aspect-ratio:1;border-radius:50%;width:min(78vw,420px);transition:box-shadow .15s;position:relative}.canvas-wrap.over{box-shadow:0 0 0 4px #1f4d9959}.preview{touch-action:none;filter:drop-shadow(0 18px 40px #182c5638);background:0 0;border-radius:50%;width:100%;height:100%;display:block}.preview.grab{cursor:grab}.preview.grab:active{cursor:grabbing}.empty{cursor:pointer;color:var(--blue-ink);background:0 0;border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-family:inherit;display:flex;position:absolute;inset:0}.empty-plus{color:var(--blue);font-size:40px;font-weight:700;line-height:1}.empty-title{font-size:17px;font-weight:800}.empty-sub{color:var(--muted);font-size:13px}.zoom{align-items:center;gap:12px;width:min(78vw,420px);display:flex}.zoom-ico{color:var(--muted);text-align:center;width:14px;font-weight:800}.zoom input[type=range]{accent-color:var(--blue);flex:1}.headline{letter-spacing:-.4px;color:var(--blue-ink);margin:0 0 12px;font-size:clamp(26px,3.4vw,38px);line-height:1.08}.lede{color:var(--muted);margin:0 0 22px;font-size:15.5px;font-weight:500;line-height:1.5}.lede strong{color:var(--ink);font-weight:700}.field{margin-bottom:24px}.field-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px;font-size:12px;font-weight:700;display:block}.ring-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.ring-card{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:12px 8px 10px;font-family:inherit;transition:border-color .12s,transform .12s,box-shadow .12s;display:flex}.ring-card:hover{transform:translateY(-2px)}.ring-card.active{border-color:var(--blue);box-shadow:0 6px 18px #1f4d9929}.ring-thumb{border-radius:50%;width:66px;height:66px}.ring-name{color:var(--ink);font-size:13px;font-weight:700}.actions{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.btn{appearance:none;border:2px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:12px;padding:12px 18px;font-family:inherit;font-size:15px;font-weight:700;transition:transform .1s,background .12s,border-color .12s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-ink)}.btn.ghost{border-style:dashed}.tip{color:var(--muted);margin:6px 0 0;font-size:13px}.foot{text-align:center;color:var(--muted);padding:22px;font-size:13px;font-weight:500}.foot a{color:var(--blue);font-weight:700;text-decoration:none}
