:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#17223b;background:#f5f7ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,textarea,select{font:inherit}button,.file-btn{cursor:pointer}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px max(20px,calc((100vw - 1200px)/2));background:white;box-shadow:0 2px 15px #17223b0d;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:#253a83;text-decoration:none}.brand img{width:42px;height:42px}.topbar nav{display:flex;gap:24px}.topbar nav a{text-decoration:none;color:#47536c;font-weight:600}.hero{text-align:center;padding:64px 20px 35px;background:radial-gradient(ellipse at top,#e8e7ff 0,transparent 68%)}.hero h1{font-size:clamp(36px,6vw,60px);margin:12px 0;color:#313a98}.hero p{max-width:690px;margin:auto;color:#657089;line-height:1.8}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1px;color:#6658df}.workspace{max-width:1200px;margin:10px auto 60px;padding:0 20px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:24px}.panel{background:white;border:1px solid #e7e9f7;border-radius:22px;padding:26px;box-shadow:0 12px 36px #28346910}.panel h2{font-size:21px;margin:0 0 20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-head h2{margin:0}#countBadge{font-size:12px;background:#eff0ff;color:#6055b5;padding:8px 12px;border-radius:20px}.wheel-shell{position:relative;max-width:520px;margin:26px auto 22px;aspect-ratio:1}#wheel{display:block;width:100%;height:100%;border-radius:50%;filter:drop-shadow(0 10px 16px #28205c30)}.pointer{position:absolute;top:-9px;left:50%;transform:translateX(-50%);z-index:3;width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:38px solid #1d275a;filter:drop-shadow(0 2px 2px #0003)}.hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:white;border:7px solid #f4f2ff;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;color:#6556d8;font-size:28px;box-shadow:0 2px 12px #0003}.primary{width:100%;border:0;background:linear-gradient(110deg,#6753e6,#a14ef2);color:white;font-size:20px;font-weight:800;padding:17px;border-radius:14px;box-shadow:0 8px 22px #7258dc45}.primary:disabled{opacity:.55;cursor:wait}.result{text-align:center;min-height:54px;padding:17px 10px;color:#555d7c;font-weight:700}.row-buttons{display:flex;gap:10px;flex-wrap:wrap}.row-buttons button,.file-btn{flex:1;text-align:center;border:1px solid #e1e4f2;background:#f8f9ff;color:#455074;padding:12px 14px;border-radius:10px;font-weight:700}.controls label:not(.check):not(.file-btn){display:block;margin:20px 0 9px;font-weight:700}.controls small{color:#9096a9;font-weight:400}.controls textarea{resize:vertical;width:100%;border:1px solid #dfe3f0;border-radius:12px;padding:14px;line-height:1.65;color:#25314e}.controls input[type=range]{width:100%;accent-color:#7659e5}.controls select{width:100%;padding:12px;border:1px solid #dfe3f0;border-radius:10px;background:white}.check{display:flex;gap:10px;align-items:center;margin:22px 0}.check input{accent-color:#7659e5}.controls h3{font-size:17px}.history{padding-left:24px;color:#5a6580;line-height:2}.content{max-width:1200px;margin:0 auto 65px;padding:0 20px}.content>h2{text-align:center;font-size:30px;margin-bottom:30px}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.features article{background:white;padding:24px;border-radius:16px;border:1px solid #e8eaf4}.features article span{font-size:32px}.features article h3{font-size:17px}.features article p{color:#68728a;line-height:1.7}.faq{max-width:850px}.faq details{background:white;border:1px solid #e8eaf4;padding:18px 22px;margin-bottom:10px;border-radius:12px}.faq summary{cursor:pointer;font-weight:700}.faq p{color:#68728a}footer{text-align:center;padding:32px 16px;background:#252b57;color:#e6e8ff}@media(max-width:900px){.workspace{grid-template-columns:1fr}.features{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.topbar{padding:12px 16px}.topbar nav{gap:10px;font-size:12px}.topbar nav a:nth-child(2){display:none}.brand span{font-size:13px}.panel{padding:17px}.hero{padding:40px 16px 25px}.features{grid-template-columns:1fr}.panel-head h2{font-size:17px}#countBadge{font-size:10px}.hub{width:50px;height:50px;font-size:22px;border-width:5px}}
