.gw{background:var(--canvas, #FBF8FF);min-height:100dvh;padding:16px 14px 40px}.gw__wrap{max-width:560px;margin:0 auto}.gw__top{display:flex;align-items:center;gap:12px;margin:6px 0 26px}.gw__back{width:40px;height:40px;flex:0 0 auto;border-radius:50%;border:1.5px solid var(--line-2,#E2DAF7);background:#fff;color:var(--ink-muted);display:grid;place-items:center;cursor:pointer}.gw__back:hover{background:var(--surface,#F6F2FF);color:var(--ink-strong)}.gw__bar{flex:1;height:10px;border-radius:999px;background:var(--line,#ECE6FF);overflow:hidden}.gw__bar span{display:block;height:100%;width:100%;border-radius:999px;background:var(--coral,#FF5B6E);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,.68,.18,1)}.gw__pct{font:600 .82rem/1 var(--font-mono,"JetBrains Mono",monospace);color:var(--ink-muted);min-width:38px;text-align:right}.gw__h{font-family:var(--font-display,"Fredoka",system-ui,sans-serif);font-weight:600;font-size:clamp(1.5rem,6vw,2rem);color:var(--ink-strong,#1A0F38);letter-spacing:-.01em;margin:0 0 6px;text-wrap:balance}.gw__sub{color:var(--ink-muted,#5A4E84);font-size:.95rem;margin:0 0 20px;line-height:1.5}.gw__illo{width:84px;height:84px;margin:0 auto 14px;display:grid;place-items:center;border-radius:22px;background:var(--surface,#F6F2FF);color:var(--grape,#2C1C6B)}.gw__illo svg,.gw__illo img{width:54px;height:54px;object-fit:contain}.gw__center{text-align:center}.gw__opts{display:grid;gap:11px}.gw__opts.grid2{grid-template-columns:1fr 1fr}.gw__opt{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:14px 16px;border-radius:18px;border:2px solid var(--line-2,#E2DAF7);background:#fff;color:var(--ink-strong,#1A0F38);font:600 1.02rem/1.2 var(--font-body,"Albert Sans",system-ui,sans-serif);text-align:left;cursor:pointer;transition:border-color .15s,transform .12s,box-shadow .15s}.gw__opt:hover{border-color:var(--coral,#FF5B6E)}.gw__opt:active{transform:scale(.98)}.gw__opt.sel{border-color:var(--coral,#FF5B6E);box-shadow:0 0 0 3px var(--coral-wash,#FFE6E9)}.gw__opt .ic{width:42px;height:42px;flex:0 0 auto;border-radius:11px;background:var(--surface,#F6F2FF);display:grid;place-items:center;color:var(--grape,#2C1C6B);overflow:hidden}.gw__opt .ic svg{width:26px;height:26px}.gw__opt .ic img{width:100%;height:100%;object-fit:cover}.gw__opt .tx{flex:1;min-width:0}.gw__opt .tx small{display:block;font-weight:400;font-size:.82rem;color:var(--ink-muted,#5A4E84);margin-top:2px}.gw__opt.center{justify-content:center;text-align:center}.gw__opt.idk{border-style:dashed;color:var(--ink-muted);justify-content:center}.gw__search{width:100%;min-height:52px;padding:12px 16px;margin-bottom:14px;border-radius:16px;border:2px solid var(--line-2,#E2DAF7);font:500 1rem var(--font-body,"Albert Sans",sans-serif);background:#fff;color:var(--ink-strong)}.gw__search:focus{outline:none;border-color:var(--coral)}.gw__result{text-align:center;background:#fff;border:2px solid var(--line,#ECE6FF);border-radius:24px;padding:30px 22px;box-shadow:0 18px 40px -24px #2c1c6b57}.gw__result .device{font-family:var(--font-display,"Fredoka",sans-serif);font-weight:600;font-size:1.4rem;color:var(--grape,#2C1C6B);margin:10px 0 4px}.gw__cta{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 30px;margin-top:18px;border:none;border-radius:999px;background:var(--coral,#FF5B6E);color:var(--coral-ink,#2A0710);font:700 1.05rem var(--font-body,sans-serif);box-shadow:0 2px 0 var(--coral-deep,#F0394F),0 14px 26px -8px #ff5b6e80;cursor:pointer}.gw__result .gw__price{font:700 clamp(2.6rem,12vw,3.4rem)/1 var(--font-display,"Fredoka",sans-serif);color:var(--coral,#FF5B6E);margin:12px 0 2px}.gw__result .gw__pricehint{font-size:.82rem;color:var(--ink-muted);margin:0 0 4px}.gw__soft{margin:14px 0 0}.gw__soft button{background:none;border:none;color:var(--ink-muted);text-decoration:underline;font:500 .9rem var(--font-body,"Albert Sans",sans-serif);cursor:pointer}.gw__loading{color:var(--ink-muted);text-align:center;padding:3rem}@media(prefers-reduced-motion:reduce){.gw__bar span,.gw__opt{transition:none}}
