:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:16px/1.4 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{color:#222;background:#fafafa;margin:0}h1,h2{font-weight:600}a{color:#2f6f9f}.court-stage{width:100%;line-height:0}.panel{background:#f4f4f4;border-radius:8px;padding:.75rem 1rem 1rem}.panel__title{color:#333;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-size:.95rem;font-weight:600}.rotation-graph,.phase-graph{background:#4596bf}.phase-graph{position:relative}.rotation-graph .panel__title,.phase-graph .panel__title{color:#eef7fc}.phase-graph__connector{pointer-events:none;height:1.7rem;position:absolute;top:-.9rem;left:0;right:0}.phase-graph__connector svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.phase-graph__connector-line{stroke:#eef7fc;stroke-width:2px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.rotation-graph__headers{height:1.4rem;position:relative}.rotation-graph__headers span{color:#eef7fc;white-space:nowrap;font-size:.8rem;position:absolute;top:0;transform:translate(-50%)}.rotation-graph__body{height:26rem;position:relative}.phase-graph__body{height:5.5rem;position:relative}.rotation-graph__lines,.phase-graph__lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.rotation-graph__line,.phase-graph__line{stroke:#eef7fc;stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.rotation-graph__col{pointer-events:none;position:absolute;inset:0}.rotation-graph__dot{pointer-events:auto;color:#eef7fc;cursor:pointer;border:2px solid #eef7fc;border-radius:50%;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-size:.85rem;font-weight:600;display:flex;position:absolute;transform:translate(-50%,-50%)}.rotation-graph__dot--a{background:#65b6df}.rotation-graph__dot--b{background:#4596bf}.rotation-graph__dot.is-active{color:#245;background:#eef7fc}.phase-graph__dot{white-space:nowrap;color:#eef7fc;cursor:pointer;border:2px solid #eef7fc;border-radius:999px;padding:.45rem .8rem;font-size:.85rem;font-weight:600;position:absolute;transform:translate(-50%,-50%)}.phase-graph__dot--a{background:#65b6df}.phase-graph__dot--b{background:#4596bf}.phase-graph__dot.is-active{color:#234;background:#eef7fc}.schema-switcher{position:relative}.schema-switcher__trigger{color:#555;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.35rem;padding:0;font-size:1rem;font-weight:500;display:inline-flex}.schema-switcher__trigger:hover{color:#222}.schema-switcher__caret{font-size:.7rem}.schema-switcher__menu{z-index:20;background:#fff;border:1px solid #ddd;border-radius:8px;flex-direction:column;gap:.15rem;min-width:260px;margin-top:.4rem;padding:.4rem;display:flex;position:absolute;top:100%;left:0;box-shadow:0 6px 20px #00000026}.schema-switcher__row{align-items:center;gap:.25rem;display:flex}.schema-switcher__option{text-align:left;color:#333;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:.4rem .5rem}.schema-switcher__option:hover{background:#f0f0f0}.schema-switcher__option.is-active{color:#fff;background:#4596bf}.schema-switcher__edit{cursor:pointer;color:#666;background:0 0;border:none;border-radius:6px;padding:.4rem .5rem}.schema-switcher__edit:hover{color:#222;background:#f0f0f0}.schema-switcher__add{color:#333;cursor:pointer;text-align:center;background:0 0;border:1px dashed #aaa;border-radius:6px;margin-top:.2rem;padding:.5rem;font-weight:600}.schema-switcher__add:hover{background:#f0f0f0}.header-dropdown{position:relative}.header-dropdown__trigger{color:#fff;cursor:pointer;background:#0f7d8c;border:none;border-radius:6px;align-items:center;gap:.3rem;padding:.4rem .9rem;font-size:.8rem;font-weight:600;display:inline-flex}.header-dropdown__caret{font-size:.65rem}.header-dropdown__menu{z-index:20;background:#fff;border:1px solid #ddd;border-radius:8px;min-width:280px;margin-top:.4rem;padding:.75rem;position:absolute;top:100%;right:0;box-shadow:0 6px 20px #00000026}.tutorial-overlay{z-index:1000;position:fixed;inset:0}.tutorial-overlay__spotlight{pointer-events:none;border:3px solid #0f7d8c;border-radius:8px;transition:all .2s;position:fixed;box-shadow:0 0 0 9999px #3c3c3ccc}.tutorial-overlay__callout{color:#fff;background:#0f7d8c;border-radius:8px;max-width:min(90vw,420px);padding:1rem 1.25rem;font-size:.95rem;line-height:1.4;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.tutorial-overlay__actions{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.tutorial-overlay__actions button{color:#0f7d8c;cursor:pointer;background:#fff;border:none;border-radius:6px;padding:.45rem 1rem;font-weight:600}.export-menu__group{border:none;flex-direction:column;gap:.3rem;margin:0 0 .6rem;padding:0;display:flex}.export-menu__group legend{color:#666;margin-bottom:.2rem;padding:0;font-size:.8rem}.export-menu__group label{align-items:center;gap:.4rem;font-size:.9rem;display:flex}.export-menu__submit{color:#fff;cursor:pointer;background:#4596bf;border:none;border-radius:6px;padding:.55rem 1.2rem;font-weight:600}.export-menu__submit:disabled{opacity:.6;cursor:wait}.export-menu__disabled{opacity:.55}.export-menu__error{color:#b3261e;margin-top:.5rem;font-size:.85rem}.config-editor{background:#fafafa;max-width:1100px;min-height:100svh;margin:0 auto;padding:0 1rem 2rem}.config-editor__header{align-items:center;gap:1rem;padding:1rem 0;display:flex}.config-editor__header h2{margin:0;font-size:1.3rem}.config-editor__back{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:.5rem 1rem;font-weight:600}.config-editor__start{flex-direction:column;gap:.75rem;max-width:420px;display:flex}.config-editor__start label,.config-editor__import{flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.config-editor__or{text-align:center;color:#888;margin:0}.config-editor__workspace{flex-direction:column;gap:1.25rem;display:flex}.config-editor__court{flex-direction:column;gap:.6rem;display:flex}.config-editor__canvas{border-radius:8px;overflow:hidden}.config-editor__side{flex-direction:column;gap:.75rem;display:flex}.config-editor__name,.config-editor__description{color:#444;flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.config-editor__name input{font-size:1.1rem;font-weight:600}.config-editor__name input,.config-editor__description textarea{border:1px solid #ccc;border-radius:6px;padding:.4rem .5rem;font-family:inherit}.config-editor__description textarea{font-size:.85rem}.config-editor__libero-note{padding:.25rem .25rem 0}.config-editor__libero-note h3{color:#777;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .15rem;font-size:.7rem}.config-editor__libero-note .config-editor__hint{font-size:.75rem}.config-editor__hint{color:#555;margin:0;font-size:.85rem}.config-editor__actions{flex-wrap:wrap;gap:.5rem;display:flex}.config-editor__actions button{color:#fff;cursor:pointer;background:#4596bf;border:none;border-radius:6px;padding:.5rem .9rem;font-weight:600}.config-editor__error{color:#b3261e;margin:0;padding-left:1.1rem;font-size:.85rem}@media (width>=860px){.config-editor__workspace{flex-direction:row;align-items:flex-start}.config-editor__court{flex:55%;min-width:0}.config-editor__side{flex:320px;max-width:360px}}.config-editor__second-setter{align-items:flex-start;gap:.6rem;display:flex}.config-editor__badge{color:#4596bf;cursor:pointer;background:#fff;border:2px solid #4596bf;border-radius:50%;flex:none;width:2.2rem;height:2.2rem;font-weight:700}.config-editor__badge.is-on{color:#fff;background:#4596bf}.config-editor__actions .config-editor__delete{background:#c0392b}.comment-panel{margin-top:1rem}.comment-panel__textarea{width:100%;min-height:4.5rem;font:inherit;resize:vertical;box-sizing:border-box;border:1px solid #ccc;border-radius:6px;padding:.6rem .75rem}.info-overlay{z-index:1000;background:#141e2880;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.info-overlay__box{background:#fff;border-radius:10px;width:100%;max-width:480px;max-height:85vh;padding:1.5rem;overflow-y:auto}.info-overlay__header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.info-overlay__header h2{margin:0;font-size:1.2rem}.info-overlay__header button{cursor:pointer;color:#666;background:0 0;border:none;padding:.25rem;font-size:1.1rem;line-height:1}.info-overlay__box section{margin-top:1rem}.info-overlay__box h3{text-transform:uppercase;letter-spacing:.03em;color:#666;margin:0 0 .25rem;font-size:.9rem}.info-overlay__box p{margin:0;line-height:1.5}.info-overlay__box p+p{margin-top:.6rem}.info-overlay__note{color:#666;font-size:.85rem}.language-switcher{color:#333;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:.35rem .6rem;font-size:.8rem;font-weight:600}.app{flex-direction:column;max-width:1100px;min-height:100svh;margin:0 auto;padding:0 1rem 2rem;display:flex}.app__header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;padding:1rem 0;display:flex}.app__header-titles{flex-direction:column;gap:.15rem;display:flex}.app__header h1{margin:0;font-size:1.4rem}.app__header-actions{align-items:center;gap:.75rem;display:flex}.app__layout{flex-direction:column;flex:1;gap:1.25rem;display:flex}.app__court{width:100%}.app__controls{flex-direction:column;gap:.75rem;display:flex}.app__header-btn{color:#fff;cursor:pointer;background:#6b7280;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.8rem;font-weight:600}@media (width>=860px){.app__layout{flex-direction:row;align-items:flex-start}.app__court{flex:60%;min-width:0}.app__controls{flex:320px;max-width:340px}}
