html{line-height:1.15}body,button,input{margin:0}button{overflow:visible}h1,h2,p{margin-top:0}dialog{color:inherit}:root{font-family:Inter,system-ui,sans-serif;color:#111;background:#f5f5f3;font-synthesis:none;--border:#d8d8d4;--muted:#666;--panel:#fff;--accent:#111}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:2px dashed #111;outline-offset:3px}.topbar{height:68px;padding:0 clamp(18px,4vw,56px);background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}.brand{color:#111;text-decoration:none;display:flex;align-items:center;gap:11px;font-weight:500}.brand b{font-weight:800}.brandmark{width:28px;height:28px;background:#111;border-radius:7px;padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:2px;transform:rotate(-3deg)}.brandmark i{border-radius:50%;background:#ff5252}.brandmark i:nth-child(2){background:#ffd43b}.brandmark i:nth-child(3){background:#3ecf8e}.brandmark i:nth-child(4){background:#7c6df2}.header-actions{display:flex;align-items:center;gap:14px}.header-actions span{font-size:12px;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px}.workspace{padding:18px clamp(12px,2vw,30px) 40px;max-width:1600px;margin:auto}.toolbar{min-height:64px;padding:10px 12px;display:flex;align-items:center;gap:16px;justify-content:space-between;margin-bottom:12px}.project-field{display:flex;align-items:center;gap:9px}.project-field label{text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.12em;color:#777}.project-field input{border:0;border-bottom:1px solid transparent;padding:8px 4px;font-weight:700;max-width:190px}.project-field input:hover,.project-field input:focus{border-color:#aaa}.toolgroup{display:flex;align-items:center;gap:6px}.pill,.icon-button{border:1px solid var(--border);background:#fff;color:#111;min-height:40px;border-radius:999px;padding:0 15px;font-weight:650;font-size:13px}.icon-button{width:40px;padding:0;border-radius:50%;font-size:18px}.pill:hover,.icon-button:hover{border-color:#111}.pill.active,.segmented button.active,.pill.primary{background:#111;color:#fff;border-color:#111}.pill.primary:hover{background:#333}.pill.danger{color:#b42318;width:100%;margin-top:auto}.pill:disabled,.icon-button:disabled{opacity:.35;cursor:not-allowed}.editor-layout{display:grid;grid-template-columns:236px minmax(0,1fr);gap:12px}.sidebar{padding:18px;display:flex;flex-direction:column;gap:22px}.sidebar section+section{border-top:1px solid #eee;padding-top:18px}.sidebar h2,.section-heading h2{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 13px}.section-heading{display:flex;justify-content:space-between;gap:8px}.section-heading span{font-size:11px;color:var(--muted)}.palette{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.swatch{aspect-ratio:1;border:1px solid rgba(0,0,0,.15);border-radius:50%;padding:0;min-width:30px;position:relative}.swatch.active:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px solid #111;border-radius:50%}.custom-color{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:12px;font-weight:600}.custom-color input{width:32px;height:32px;border:0;padding:0;background:none}.custom-color code{margin-left:auto;font-size:10px;color:#666}.segmented{display:grid;grid-template-columns:repeat(3,1fr);background:#eee;border-radius:999px;padding:3px;margin-bottom:14px}.segmented button{border:0;background:transparent;border-radius:999px;min-height:34px;font-size:12px;font-weight:700}.switch-row{display:flex;align-items:center;justify-content:space-between;min-height:40px;font-size:12px;font-weight:550}.switch-row input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:22px;border-radius:99px;background:#ccc;position:relative;transition:.2s}.switch-row input:after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;left:3px;top:3px;transition:.2s}.switch-row input:checked{background:#111}.switch-row input:checked:after{left:19px}.canvas-column{min-width:0;display:flex;flex-direction:column;gap:12px}.canvas-wrap{padding:clamp(10px,2vw,26px);min-height:620px;display:flex;align-items:center;justify-content:center;overflow:auto;background:#ececea}.bead-grid{display:grid;width:min(72vh,100%);max-width:700px;aspect-ratio:1;background:#fff;border:1px solid #bbb;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 8px 28px #00000014}.cell{border:0;padding:0;margin:0;background:#fff;min-width:0;position:relative}.grid-lines .cell{box-shadow:inset -1px -1px #00000021}.cell:focus-visible{z-index:1;outline:2px dashed #111;outline-offset:-3px}.stats{min-height:76px;padding:12px 18px;display:flex;align-items:center;gap:28px}.stats>div:not(.usage-wrap){display:flex;flex-direction:column}.stats strong{font-size:24px}.stats span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#777;font-weight:700}.usage-wrap{min-width:0;flex:1}.usage{display:flex;gap:10px;overflow-x:auto;padding-top:8px;font-size:11px;color:#555}.usage-item{white-space:nowrap;display:flex;align-items:center;gap:5px}.usage-dot{width:9px;height:9px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.intro,.faq{max-width:1080px;margin:0 auto;padding:90px 24px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.17em;color:#777}.intro h1{font-size:clamp(38px,6vw,72px);letter-spacing:-.055em;line-height:1.03;max-width:800px;margin:16px 0 24px}.intro h1 span{text-decoration:underline;text-decoration-color:#ffcf33;text-decoration-thickness:8px;text-underline-offset:5px}.intro>p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:720px;color:#555}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:60px;border-top:1px solid #ccc;padding-top:26px}.feature-row b{font-size:11px}.feature-row h2{font-size:17px}.feature-row p{font-size:14px;line-height:1.6;color:#666}.faq{padding-top:50px}.faq>h2{font-size:36px;letter-spacing:-.04em}.faq details{border-top:1px solid #ccc;padding:20px 0}.faq details:last-child{border-bottom:1px solid #ccc}.faq summary{cursor:pointer;font-weight:700;list-style:none}.faq summary:after{content:"+";float:right;font-size:20px}.faq details[open] summary:after{content:"−"}.faq details p{color:#555;line-height:1.6;max-width:700px}footer{background:#111;color:#fff;padding:28px clamp(24px,5vw,70px);display:flex;justify-content:space-between;font-size:12px}dialog{width:min(430px,calc(100% - 32px));border:1px solid #111;border-radius:18px;padding:28px;box-shadow:0 20px 80px #00000047}dialog::backdrop{background:#00000073}dialog h2{font-size:27px;margin:8px 0 22px}.dialog-close{position:absolute;right:14px;top:14px}.dialog-note{background:#f2f2ef;border-radius:10px;padding:14px;font-size:12px;color:#555;margin-top:20px}dl{margin:0}dl div{display:flex;align-items:center;border-top:1px solid #eee;padding:10px 0}dt{width:130px}dd{margin:0;font-size:13px}kbd{border:1px solid #bbb;border-bottom-width:2px;border-radius:5px;padding:4px 7px;background:#f8f8f8;font-size:11px}.export-option{border:1px solid #ddd;border-radius:12px;padding:14px;display:flex;gap:12px;margin:8px 0}.export-option span{display:flex;flex-direction:column;gap:4px}.export-option small{color:#666}.wide{width:100%;margin-top:16px}@media(max-width:850px){.toolbar{flex-wrap:wrap}.project-field{width:100%;justify-content:space-between}.project-field input{text-align:right}.editor-layout{grid-template-columns:1fr}.sidebar{order:2}.palette{grid-template-columns:repeat(10,1fr)}.canvas-wrap{min-height:auto}.bead-grid{width:100%}.stats{flex-wrap:wrap}.usage-wrap{flex-basis:100%}.feature-row{grid-template-columns:1fr}.header-actions span{display:none}}@media(max-width:540px){.workspace{padding-inline:8px}.toolbar{gap:8px}.toolbar .toolgroup:last-child{width:100%;justify-content:stretch}.toolbar .toolgroup:last-child .pill{flex:1;padding:0 8px}.palette{grid-template-columns:repeat(7,1fr)}.sidebar{padding:16px}.stats{gap:20px}.intro,.faq{padding-inline:20px}.intro{padding-top:65px}footer{flex-direction:column;gap:10px}.canvas-wrap{padding:6px}.pill{min-height:44px}.swatch{min-width:34px}}footer a{color:inherit;text-underline-offset:3px}
