body{display:flex;min-height:100vh;flex-direction:column}.main{flex:1;padding:58px 0 74px}.intro{max-width:880px;margin:0 auto 32px;text-align:center}.intro h1{margin:18px auto 14px;font-size:clamp(2.7rem,7vw,4.9rem)}.crumbs{margin-bottom:18px;color:var(--muted);font-size:.82rem}.crumbs a{color:var(--primary);font-weight:750}
.rhythm-studio{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);max-width:1140px;margin:auto;border:1px solid var(--border);border-radius:30px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.preview-panel{display:grid;grid-template-rows:auto 1fr auto;min-width:0;background:#eeedf6}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--border);background:#fff}.live-label{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.live-label i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(0,194,168,.12)}.preview-status{display:block;margin-top:4px;color:var(--muted);font-size:.75rem}.grid-switch{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.75rem;font-weight:800;cursor:pointer}.grid-switch input{position:absolute;opacity:0}.grid-switch i{position:relative;width:40px;height:23px;border-radius:999px;background:#d8d7e4;transition:.2s}.grid-switch i:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #27263e33;transition:.2s}.grid-switch input:checked+i{background:var(--primary)}.grid-switch input:checked+i:after{transform:translateX(17px)}
.preview-stage{position:relative;display:grid;place-items:center;min-height:610px;padding:58px 36px;background-color:#eeedf6;overflow:hidden}.preview-stage.grid-on{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--grid-step,24px) - 1px),rgba(108,92,231,.13) calc(var(--grid-step,24px) - 1px),rgba(108,92,231,.13) var(--grid-step,24px))}.preview-stage:before{content:"";position:absolute;width:260px;height:260px;top:-90px;left:-90px;border-radius:50%;background:rgba(108,92,231,.09)}.preview-stage:after{content:"";position:absolute;width:220px;height:220px;right:-80px;bottom:-90px;border-radius:50%;background:rgba(0,194,168,.1)}.measure-tag{position:absolute;top:17px;right:18px;z-index:2;padding:7px 10px;border:1px solid rgba(31,34,62,.09);border-radius:9px;color:#6a6880;background:#ffffffd9;font:750 .7rem ui-monospace,Consolas,monospace}.type-sample{position:relative;z-index:1;width:min(100%,var(--sample-width,560px));padding:clamp(25px,5vw,42px);border:1px solid rgba(31,34,62,.09);border-radius:5px;background:#fffdfa;box-shadow:0 28px 65px rgba(46,42,92,.16);transition:width .22s ease}.sample-kicker{display:block;margin-bottom:22px;color:var(--primary);font:850 .68rem/1.2 ui-monospace,Consolas,monospace;letter-spacing:.16em}.type-sample h2{margin:0 0 18px;font-family:var(--preview-font,Inter,ui-sans-serif,system-ui,sans-serif);font-size:clamp(1.55rem,4vw,2.45rem);line-height:1.12;letter-spacing:-.045em}.type-sample p{min-height:4em;margin:0;color:#4e5064;font-family:var(--preview-font,Inter,ui-sans-serif,system-ui,sans-serif);font-size:var(--preview-size,16px);line-height:var(--preview-leading,1.5);outline:0;transition:font-size .18s,line-height .18s}.type-sample p:focus{border-radius:5px;box-shadow:0 0 0 4px rgba(108,92,231,.09)}.edit-hint{display:block;margin-top:24px;padding-top:16px;border-top:1px solid #24243a12;color:#8b8c9c;font-size:.68rem}.rhythm-meter{display:flex;align-items:center;gap:12px;padding:17px 22px;border-top:1px solid var(--border);background:#fff;color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.meter-track{position:relative;flex:1;height:6px;border-radius:999px;background:linear-gradient(90deg,#ff8d8d,#ffd96a 44%,#00c2a8 62%,#9f91ff)}.meter-track i{display:block;width:var(--meter-fill,44%);height:100%;border-radius:inherit;background:#25243c;opacity:.12}.meter-track b{position:absolute;top:50%;left:var(--meter-pos,44%);width:15px;height:15px;border:3px solid #fff;border-radius:50%;background:var(--primary);box-shadow:0 2px 8px #302a734d;transform:translate(-50%,-50%);transition:left .2s}
.control-panel{min-width:0;padding:25px}.panel-heading,.results-heading,.code-head,.control-title,.range-field>span{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h2{margin:3px 0 0;font-size:1.35rem}.step-label{color:var(--primary);font-size:.66rem;font-weight:900;letter-spacing:.14em}.balance-btn{min-height:41px;padding:0 13px;border:0;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--primary),#8c7aef);font-size:.78rem;font-weight:850;box-shadow:0 9px 20px rgba(108,92,231,.2)}.balance-btn:hover{transform:translateY(-1px)}.balance-btn span{margin-left:4px;color:#9ff3e7}
.presets{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:21px 0}.presets button{min-width:0;padding:10px 4px;border:1px solid var(--border);border-radius:11px;color:var(--muted);background:#fff}.presets button:hover,.presets button.active{border-color:#9286eb;color:var(--primary);background:#f5f3ff}.presets strong,.presets span{display:block}.presets strong{font-size:.87rem}.presets span{margin-top:2px;font-size:.59rem;font-weight:750}
.primary-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.number-control{padding:14px;border:1px solid var(--border);border-radius:15px;background:#fbfbff}.number-control.featured{border-color:rgba(108,92,231,.28);background:#f8f7ff}.control-title{margin-bottom:11px}.control-title label{font-size:.78rem;font-weight:850}.control-title span{color:var(--muted);font-size:.65rem}.number-wrap{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.number-wrap input{width:100%;min-width:0;height:42px;padding:0 4px;border:0;outline:0;text-align:center;font-size:1.1rem;font-weight:900;-moz-appearance:textfield}.number-wrap input::-webkit-inner-spin-button{display:none}.step-btn{height:42px;border:0;color:var(--primary);background:transparent;font-size:1.15rem;font-weight:750}.step-btn:hover{background:#f0eeff}.number-control>input[type=range],.range-field input{width:100%;margin:13px 0 0;accent-color:var(--primary)}.secondary-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.select-field,.range-field{display:grid;gap:8px;padding:12px 13px;border:1px solid var(--border);border-radius:13px}.select-field>span,.range-field b{font-size:.72rem;font-weight:850}.select-field select{width:100%;height:36px;padding:0 9px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:#fff;font-size:.76rem;font-weight:750}.range-field output{color:var(--primary);font-size:.67rem;font-weight:850}
.results{margin-top:18px}.results-heading{margin-bottom:9px}.results-heading h3{margin:0;font-size:.82rem}.results-heading span{color:var(--muted);font-size:.65rem}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.result-card{min-width:0;padding:10px 5px;border:1px solid var(--border);border-radius:11px;color:var(--text);background:#fff;text-align:center}.result-card:hover,.result-card.selected{border-color:#8e82e8;background:#f5f3ff;box-shadow:inset 0 0 0 1px rgba(108,92,231,.1)}.result-card span,.result-card strong,.result-card small{display:block}.result-card span{color:var(--muted);font-size:.57rem;font-weight:800;text-transform:uppercase}.result-card strong{margin:5px 0 3px;color:var(--primary);font-size:.92rem}.result-card small{color:#9697a7;font-size:.55rem}
.code-card{margin-top:13px;border-radius:14px;background:#191a2a;color:#e9e8f7;overflow:hidden}.code-head{padding:10px 12px;border-bottom:1px solid #ffffff14;font-size:.7rem;font-weight:850}.code-head span{display:flex;align-items:center;gap:7px}.code-head i{width:7px;height:7px;border-radius:50%;background:var(--accent)}.code-head button{min-height:33px;padding:0 12px;border:0;border-radius:8px;color:#fff;background:var(--primary);font-size:.68rem;font-weight:850}.code-card pre{margin:0;padding:13px;overflow:auto}.code-card code{color:#cbc9eb;font:500 .73rem/1.55 ui-monospace,Consolas,monospace}
.section{padding:68px 0}.section.alt{border-block:1px solid #1f223e0f;background:#ffffff6b}.content{max-width:900px;margin:auto}.content h2{margin:0 0 13px;font-size:clamp(1.75rem,4vw,2.45rem)}.content>p,.card p,.faq p,.prose-content p{color:var(--muted);line-height:1.75}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:25px}.card{padding:22px;border:1px solid var(--border);border-radius:19px;background:#fff}.card h3{margin:11px 0 8px}.card p{margin:0;font-size:.88rem}.feature-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;color:var(--primary);background:#f0eeff;font-size:.7rem;font-weight:900}.prose-content h2:not(:first-child){margin-top:36px}.prose-content code{padding:2px 6px;border-radius:5px;color:var(--primary-dark);background:#eeecfb}.formula-box{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:13px;margin:25px 0 6px;padding:24px;border:1px solid rgba(108,92,231,.17);border-radius:18px;background:linear-gradient(135deg,#fff,#f2f0ff)}.formula-box span,.formula-box strong{padding:9px 12px;border-radius:10px;background:#fff;box-shadow:0 7px 18px #302a7314}.formula-box b{color:var(--primary);font-size:1.2rem}.formula-box strong{color:#087b6c}.tip-box{display:flex;gap:15px;margin:28px 0;padding:20px;border:1px solid rgba(0,194,168,.2);border-radius:17px;background:rgba(0,194,168,.06)}.tip-mark{display:grid;place-items:center;flex:0 0 43px;height:31px;border-radius:9px;color:#087b6c;background:#fff;font-size:.68rem;font-weight:900}.tip-box h3{margin:0 0 5px;font-size:.95rem}.tip-box p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.65}.faq{display:grid;gap:11px;margin-top:23px}.faq details{border:1px solid var(--border);border-radius:15px;background:#fff}.faq summary{padding:17px 19px;cursor:pointer;font-weight:800}.faq p{margin:0;padding:0 19px 18px}.try-card{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid var(--border);border-radius:17px;background:#fff;transition:.2s}.try-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px #35316e1a}.try-icon{display:grid;place-items:center;flex:0 0 43px;height:43px;border-radius:13px;color:var(--primary);background:#f0eeff;font-size:.67rem;font-weight:900}.try-card strong,.try-card span span{display:block}.try-card span span{margin-top:3px;color:var(--muted);font-size:.78rem}.spark{position:absolute;z-index:5;width:8px;height:8px;border-radius:50%;pointer-events:none;animation:rhythm-pop .75s ease-out forwards}@keyframes rhythm-pop{to{opacity:0;transform:translate(var(--x),var(--y)) scale(0)}}.toast{position:fixed;left:50%;bottom:28px;z-index:70;padding:12px 18px;border-radius:13px;color:#fff;background:#282640;font-size:.8rem;font-weight:800;opacity:0;transform:translate(-50%,14px);transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:930px){.rhythm-studio{grid-template-columns:1fr}.preview-stage{min-height:520px}.grid{grid-template-columns:1fr}.control-panel{padding:22px}}@media(max-width:580px){.main{padding-top:40px}.preview-toolbar{align-items:flex-start;padding:16px}.grid-switch span{display:none}.preview-stage{min-height:440px;padding:48px 15px}.type-sample{padding:25px 21px}.control-panel{padding:16px}.primary-controls,.secondary-controls{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr 1fr}.presets{gap:5px}.presets button{padding:9px 2px}.section{padding:52px 0}.formula-box{align-items:stretch;flex-direction:column;text-align:center}.formula-box b{transform:rotate(90deg)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.type-sample,.meter-track b,.try-card,.balance-btn{transition:none!important}.spark{display:none}}
