:root{font-family:Arial,Helvetica,sans-serif;color:#243047;background:#f6f8fb;font-synthesis:none;--accent:#9261ff}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #6945c3;outline-offset:4px}[hidden]{display:none!important}.app{max-width:1160px;margin:auto;padding:22px}.nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.back{font-size:14px;color:#60728a;text-decoration:none}.help{width:34px;height:34px;border:1px solid #d6dfeb;border-radius:50%;background:white;color:#60728a;font-weight:700}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #e5ebf1;border-radius:12px;padding:18px 22px;box-shadow:0 3px 5px #1c2b3d12}.topbar h1{font:700 27px Georgia,serif;margin:0 0 5px}.topbar p{font-size:14px;color:#60728a;margin:0}.round{text-align:right;flex-shrink:0}.round strong{display:block;font-size:20px;color:#53637b}.round span{display:block;color:#75869b;font-size:14px;margin-top:5px}.time-track{height:6px;background:#e1e7f0;border-radius:5px;overflow:hidden;margin:20px 0}.time-fill{height:100%;background:var(--accent);width:100%;transition:width .15s linear}.time-fill.urgent{background:#d74363}.frames-panel{background:white;border:1px solid #e5ebf1;border-radius:24px;padding:24px;box-shadow:0 8px 12px #1e2c3818}.frames{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.frame{min-width:0;margin:0}.frame svg{display:block;width:100%;height:auto;border:2px solid #dce6ef;border-radius:13px;padding:4px;background:#fff}.frame.build svg{border-color:var(--accent);box-shadow:0 0 0 1px #9261ff30}.frame figcaption{text-align:center;font-size:14px;color:#62748b;font-weight:700;line-height:1.4;margin-top:8px}.builder{margin-top:22px;background:white;border:1px solid #e5ebf1;border-radius:21px;padding:23px}.builder-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.builder-heading h2{font:700 16px Georgia,serif;color:#65758b;margin:0}.keyboard-hint{font-size:14px;color:#66778c;margin:0;line-height:1.5}.groups{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0}.group-button{background:#f7f9fc;border:1px solid #d6e0ed;border-radius:9px;padding:8px 13px;color:#53637b;font-size:14px}.group-button.selected{border-color:var(--accent);color:#6542ad;background:#f5f0ff}.group-button .dot{width:10px;height:10px;display:inline-block;border-radius:50%;margin-right:6px}.controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.control{border:2px solid #dce6ef;border-radius:13px;padding:16px;min-width:0}.control.active{border-color:var(--accent);background:#faf7ff}.control-label{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.control-label h3{font-size:14px;margin:0;color:#536880;letter-spacing:.6px}.control-value{font-size:14px;color:#65758b;text-align:right}.options{display:flex;gap:8px;flex-wrap:wrap}.option{display:flex;align-items:center;justify-content:center;min-width:40px;height:42px;border:1px solid #cfdbe8;border-radius:8px;background:white;color:#53637b;font-size:14px;font-weight:700}.option svg{width:32px;height:32px}.option.selected{border-color:#8758e9;background:#ede5ff;box-shadow:0 0 0 1px #8758e9}.swatch{width:22px;height:22px;border-radius:50%;border:1px solid #0001}.position-options{display:grid;grid-template-columns:repeat(3,38px);gap:6px}.position-options .option{height:34px;min-width:34px}.position-dot{width:8px;height:8px;background:#c7d3df;border-radius:50%}.option.selected .position-dot{background:#7d52d4}.size-icon{background:#62748b;border-radius:2px;margin-right:5px}.builder-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;flex-wrap:wrap}.group-info{font-size:14px;color:#66788f;line-height:1.5;flex:1;min-width:200px}.primary{border:0;border-radius:10px;padding:13px 23px;background:#8050e2;color:white;font-weight:700;min-height:46px}.primary:hover{background:#6f40ce}.secondary{border:1px solid #cfdbe8;border-radius:10px;padding:12px 18px;background:white;color:#53637b;min-height:46px}.status{min-height:25px;color:#5d6e84;font-size:16px;line-height:1.5;text-align:center;margin:17px 0 6px}.between{background:white;border:1px solid #e2e8f1;padding:24px;margin:22px 0;border-radius:17px;text-align:center}.between h2{font:700 23px Georgia,serif;margin:0 0 12px}.between p{font-size:16px;line-height:1.5;color:#62748b;margin:0 0 17px}footer{text-align:center;color:#75859a;font-size:14px;margin:25px 0;line-height:1.5}.results{margin-top:22px;padding:28px;background:#fff;border:1px solid #e2e8f1;border-radius:20px}.results h2{font:700 30px Georgia,serif;margin:10px 0}.eyebrow{font-size:14px;color:#66788f;font-weight:700;letter-spacing:1px}.results p{font-size:16px;line-height:1.6;color:#62748b}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:24px 0}.stat{background:#f4f0fb;padding:20px;border-radius:12px}.stat strong{display:block;font-size:28px;color:#3e2d61}.stat span{font-size:14px;color:#66788f}.table-wrap{overflow-x:auto;margin:25px 0}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}caption{text-align:left;font-weight:700;font-size:18px;margin-bottom:12px}th,td{padding:13px 10px;border-bottom:1px solid #e2e8ef;white-space:nowrap}th{color:#64768d}.review{border:1px solid #e0e7ef;border-radius:13px;margin:12px 0;padding:17px}.review summary{font-size:16px;cursor:pointer;font-weight:700;line-height:1.5}.review-frames{display:grid;grid-template-columns:repeat(2,minmax(0,210px));gap:20px;margin:20px 0}.review ul{color:#53637b;font-size:16px;line-height:1.6;padding-left:22px}.review li{margin:10px 0}.result-actions{display:flex;gap:20px;align-items:center;margin-top:25px}.result-actions a{color:#62748b;font-size:16px}.practice-note{font-size:14px!important;line-height:1.6;background:#f5f2fc;padding:14px;border-radius:10px}dialog{border:0;border-radius:20px;color:#243047;width:calc(100% - 32px);max-width:560px;padding:32px;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#202b4770}dialog h2{font:700 27px Georgia,serif;margin:15px 0}dialog p,dialog li{font-size:16px;line-height:1.6;color:#5d6e84}dialog ol{padding-left:22px}dialog li{margin:8px 0}.close-help{position:absolute;top:12px;right:14px;background:none;border:0;color:#62748b;font-size:28px}.pause-banner{text-align:center;background:#f1eaff;padding:20px;border-radius:12px;margin-top:20px}.pause-banner p{font-size:16px;margin:0 0 15px;color:#53637b}
@media(max-width:800px){.app{padding:16px}.frames-panel{padding:16px}.frames{gap:12px}.controls{grid-template-columns:repeat(2,minmax(0,1fr))}.builder{padding:18px}.keyboard-hint{display:none}.control{padding:13px}.builder-heading h2{font-size:16px}}
@media(max-width:520px){.frames{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.topbar{padding:16px}.topbar h1{font-size:24px}.controls{grid-template-columns:1fr}.control{padding:15px}.stats{grid-template-columns:1fr}.results{padding:20px}.result-actions{flex-wrap:wrap}.review-frames{gap:12px}.builder-footer{gap:12px}.group-info{min-width:0;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.start-actions{text-align:center;margin:20px 0}
