:root{font-family:system-ui,-apple-system,"PingFang SC",sans-serif;color:#193047;background:#f1f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1000px;margin:auto;padding:50px 28px;min-width:0}h1{font-size:clamp(28px,4.7vw,42px);line-height:1.35;letter-spacing:-1px}h2{font-size:22px;line-height:1.5;overflow-wrap:anywhere}p{line-height:1.8}.eyebrow{color:#2b6b9c;font:700 12px ui-monospace,monospace;letter-spacing:2px}.intro{color:#526b81;max-width:850px}.controls,.result{background:white;border:1px solid #d7e4ee;border-radius:14px;padding:24px;margin:28px 0}label{display:block;font-weight:650;margin:0 0 12px}input,button{font:inherit;padding:12px 16px;border:1px solid #b9cddd;border-radius:7px;max-width:100%;min-height:44px}input{width:100%;color:#193047;background:#fff}.actions{margin-top:16px}button{cursor:pointer;background:#1e618c;color:white;border-color:#1e618c;margin:0 10px 12px 0}button:disabled{cursor:default;opacity:.45}.secondary{background:#fff;color:#1e618c}.hint{font-size:13px;color:#657f94;margin:0 0 26px}.presets{display:flex;flex-wrap:wrap;gap:8px}.presets button{font-size:13px;margin:0}.explanation{font-size:14px;color:#526b81;border-left:3px solid #a2c9e2;padding-left:14px}.meta{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font:13px ui-monospace,monospace;color:#52748f}.message{background:#e5f1fa;padding:16px;border-left:3px solid #2b7ea7;overflow-wrap:anywhere}.error{color:#9e2f27;background:#fff2ed;border-color:#b1594c}.products{list-style:none;padding:0;margin:20px 0 0}.products li{border:1px solid #cce1d7;background:#edf7f0;border-radius:10px;padding:20px;display:flex;gap:10px;flex-direction:column}.products span{font-size:14px;color:#3b6550}footer{font-size:12px;color:#657f94;line-height:1.8}button:focus-visible,input:focus-visible{outline:3px solid #77b8e8;outline-offset:3px}@media(max-width:560px){main{padding:28px 18px}.controls,.result{padding:18px}.actions button{width:100%;margin-right:0}.presets{display:grid;grid-template-columns:1fr}.presets button{width:100%}}
