:root{--ground:#FAF4EB;--surface:#FFFFFF;--surface-2:#F3EADC;--surface-3:#E9DDCA;--line:#E4D8C5;--line-2:#CDBDA4;--ink:#231A16;--ink-2:#5A4C44;--ink-3:#8A7A6E;--accent:#752724;--accent-2:#420400;--accent-soft:#F4E4E0;--accent-line:#DCBCB5;--on-accent:#FAF4EB;--spring-g:#4C6B4C;--spring-g-soft:#E7EDE3;--spring-b:#3F5E85;--spring-b-soft:#E3E9F1;--g-core:#BC5157;--g-core-soft:#F8E2E2;--g-legs:#3F618F;--g-legs-soft:#E2E9F2;--g-obliques:#6A5795;--g-obliques-soft:#E9E4F1;--g-arms:#97691E;--g-arms-soft:#F6EBD3;--good:#4C6B4C;--warn:#97691E;--bad:#B5392C;--shadow:0 1px 2px rgba(35,26,22,.06), 0 6px 18px -8px rgba(35,26,22,.16);--shadow-lift:0 2px 6px rgba(35,26,22,.08), 0 18px 40px -14px rgba(35,26,22,.28);--r:9px;--r-lg:14px;--disp:"League Spartan", "Raleway", ui-sans-serif, system-ui, sans-serif;--sans:"Raleway", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--data:"Space Grotesk", ui-monospace, SFMono-Regular, Menlo, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#15100E;--surface:#1E1816;--surface-2:#28201D;--surface-3:#332A25;--line:#362B26;--line-2:#4A3B35;--ink:#F6EEE3;--ink-2:#BDAFA3;--ink-3:#8D7E72;--accent:#E2918A;--accent-2:#F0B2AB;--accent-soft:#33201E;--accent-line:#5C3832;--on-accent:#1E1816;--spring-g:#93C093;--spring-g-soft:#1F2B1F;--spring-b:#93B6DC;--spring-b-soft:#1A2430;--g-core:#E99198;--g-core-soft:#352223;--g-legs:#90B0DB;--g-legs-soft:#1D2531;--g-obliques:#B2A0DC;--g-obliques-soft:#262036;--g-arms:#DCAD5E;--g-arms-soft:#302718;--good:#93C093;--warn:#DCAD5E;--bad:#F0948A;--shadow:0 1px 2px rgba(0,0,0,.34), 0 6px 18px -8px rgba(0,0,0,.54);--shadow-lift:0 2px 6px rgba(0,0,0,.4), 0 18px 40px -14px rgba(0,0,0,.68)}}:root[data-theme=dark]{--ground:#15100E;--surface:#1E1816;--surface-2:#28201D;--surface-3:#332A25;--line:#362B26;--line-2:#4A3B35;--ink:#F6EEE3;--ink-2:#BDAFA3;--ink-3:#8D7E72;--accent:#E2918A;--accent-2:#F0B2AB;--accent-soft:#33201E;--accent-line:#5C3832;--on-accent:#1E1816;--spring-g:#93C093;--spring-g-soft:#1F2B1F;--spring-b:#93B6DC;--spring-b-soft:#1A2430;--g-core:#E99198;--g-core-soft:#352223;--g-legs:#90B0DB;--g-legs-soft:#1D2531;--g-obliques:#B2A0DC;--g-obliques-soft:#262036;--g-arms:#DCAD5E;--g-arms-soft:#302718;--good:#93C093;--warn:#DCAD5E;--bad:#F0948A;--shadow:0 1px 2px rgba(0,0,0,.34), 0 6px 18px -8px rgba(0,0,0,.54);--shadow-lift:0 2px 6px rgba(0,0,0,.4), 0 18px 40px -14px rgba(0,0,0,.68)}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.num,.tnum{font-variant-numeric:tabular-nums}h1,h2,h3{text-wrap:balance;margin:0}.wordmark{font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:1}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:20px;padding:0 18px;height:54px;background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:8px;min-width:0;text-decoration:none;color:inherit}.brand-mark{width:26px;height:26px;color:var(--accent);flex:none;align-self:center}.brand-name{font-family:var(--disp);font-weight:800;font-size:17.5px;text-transform:uppercase;letter-spacing:-.035em;line-height:1}.brand-sub{font-size:11.5px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}@media(max-width:820px){.brand-sub{display:none}}.tabs{display:flex;gap:2px;margin-left:auto;background:var(--surface-2);padding:3px;border-radius:var(--r)}.tab{border:0;background:transparent;color:var(--ink-2);cursor:pointer;padding:6px 13px;border-radius:6px;font-family:var(--data);font-size:12.5px;font-weight:500;text-decoration:none;transition:background .14s,color .14s}.tab:hover{color:var(--ink)}.tab.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #00000012}.topbar-right{display:flex;align-items:center;gap:10px;margin-left:auto}.tabs+.topbar-right{margin-left:0}.who{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3);white-space:nowrap}.who i{width:6px;height:6px;border-radius:50%;background:var(--good);flex:none}@media(max-width:940px){.who{display:none}}.btn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border-radius:var(--r);padding:7px 13px;font-family:var(--data);font-size:12.5px;font-weight:500;letter-spacing:.005em;border:1px solid transparent;background:transparent;white-space:nowrap;text-decoration:none;color:var(--ink-2);transition:background .14s,border-color .14s,color .14s}.btn.solid{background:var(--accent);color:var(--on-accent);font-weight:600}.btn.solid:hover{background:var(--accent-2)}.btn.ghost{border-color:var(--line-2);background:var(--surface)}.btn.ghost:hover{color:var(--ink);border-color:var(--ink-3);background:var(--surface-2)}.btn.danger{color:var(--bad);border-color:var(--line-2);background:var(--surface)}.btn.danger:hover{background:color-mix(in srgb,var(--bad) 10%,var(--surface));border-color:var(--bad)}.btn.sm{padding:4px 9px;font-size:12px}.btn.icon{padding:7px 9px}.btn:disabled{opacity:.45;cursor:not-allowed}.iconbtn{border:0;background:transparent;cursor:pointer;color:var(--ink-3);border-radius:5px;width:24px;height:24px;display:grid;place-content:center;flex:none;transition:background .12s,color .12s}.iconbtn:hover{background:color-mix(in srgb,var(--ink) 9%,transparent);color:var(--ink)}.iconbtn.danger:hover{color:var(--bad)}.chip{cursor:pointer;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);padding:4px 11px;border-radius:99px;font-size:12.5px;font-weight:500;transition:background .14s,color .14s,border-color .14s}.chip:hover{color:var(--ink);border-color:var(--ink-3)}.chip.on{background:var(--ink);color:var(--ground);border-color:var(--ink)}.chiprow{display:flex;gap:6px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2.5px 8px;border-radius:99px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);flex:none}.pill.live{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.pill.live:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent)}.spring{font-family:var(--data);font-size:11px;font-weight:500;padding:1.5px 6px;border-radius:5px;white-space:nowrap;letter-spacing:-.02em;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.spring.g{background:var(--spring-g-soft);color:var(--spring-g);border-color:color-mix(in srgb,var(--spring-g) 32%,transparent)}.spring.b{background:var(--spring-b-soft);color:var(--spring-b);border-color:color-mix(in srgb,var(--spring-b) 32%,transparent)}.page{width:100%;max-width:1120px;margin:0 auto;padding:30px 20px 70px}.page-head{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:20px}.page-title{font-family:var(--disp);font-size:27px;font-weight:700;letter-spacing:-.02em}.page-sub{margin:3px 0 0;color:var(--ink-3);font-size:13px}.page-actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}.empty{text-align:center;max-width:48ch;margin:50px auto;display:grid;gap:12px;justify-items:center}.empty h2{font-family:var(--disp);font-size:21px;font-weight:600}.empty p{color:var(--ink-2);margin:0;line-height:1.6}.center{min-height:60vh;display:grid;place-items:center;padding:24px}.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--line-2);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--ground)}.login-card{width:100%;max-width:384px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lift);padding:30px 28px;display:flex;flex-direction:column;gap:18px}.login-brand{display:flex;align-items:center;gap:9px}.login-brand svg{width:30px;height:30px;color:var(--accent)}.login-brand b{font-family:var(--disp);font-size:25px;font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:1}.login-card h1{font-family:var(--disp);font-size:22px;font-weight:600;letter-spacing:-.02em}.login-card p{margin:5px 0 0;color:var(--ink-3);font-size:13px;line-height:1.55}.login-tag{font-family:var(--data);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0}.login-switch{display:flex;justify-content:center;gap:5px;font-size:12.5px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:14px;margin:0}.linkbtn{border:0;background:none;padding:0;cursor:pointer;color:var(--accent);font-size:12.5px;font-weight:600;text-decoration:underline;text-underline-offset:2px}.login-card form{display:flex;flex-direction:column;gap:13px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field.wide{grid-column:1 / -1}.field label{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.field input,.field select,.field textarea{border:1px solid var(--line-2);background:var(--surface-2);border-radius:7px;padding:7px 10px;font-size:13px;outline:none;width:100%;color:var(--ink);transition:border-color .14s,background .14s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);background:var(--surface)}.field textarea{resize:vertical;min-height:66px;line-height:1.55;font-size:12.5px}.field .tnum{font-family:var(--data);font-variant-numeric:tabular-nums}.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.help{font-size:11.5px;color:var(--ink-3);line-height:1.5;margin:0}.banner{font-size:12.5px;line-height:1.55;border-radius:var(--r);padding:10px 13px}.banner.bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--bad) 28%,transparent)}.banner.info{color:var(--ink-2);background:var(--accent-soft);border:1px solid var(--accent-line)}.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px}.rcard{position:relative;text-align:left;cursor:pointer;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 16px 13px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:11px;color:inherit;text-decoration:none;transition:box-shadow .16s,transform .16s,border-color .16s}.rcard:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px);border-color:var(--line-2)}.rcard-top{display:flex;align-items:flex-start;gap:10px}.rcard-day{font-family:var(--disp);font-size:17px;font-weight:600;letter-spacing:-.015em;line-height:1.25}.rcard-date{font-size:12px;color:var(--ink-3);margin-top:1px}.rcard-top .pill{margin-left:auto}.rcard-bar{display:flex;height:5px;border-radius:99px;overflow:hidden;background:var(--surface-3);gap:1px}.rcard-bar i{display:block}.rcard-foot{display:flex;align-items:baseline;gap:10px;font-size:12px;color:var(--ink-3)}.rcard-time{font-family:var(--data);font-size:13px;color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}.rcard-acts{position:absolute;top:9px;right:9px;display:flex;gap:2px;opacity:0;transition:opacity .14s}.rcard:hover .rcard-acts,.rcard:focus-within .rcard-acts{opacity:1}.rcard-acts .iconbtn{background:var(--surface-2);width:22px;height:22px}.bstrip{position:sticky;top:54px;z-index:30;display:flex;align-items:center;gap:22px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}.bstrip-id{min-width:170px;flex:1 1 210px}.title-in{width:100%;border:1px solid transparent;background:transparent;border-radius:7px;font-family:var(--disp);font-size:20px;font-weight:600;letter-spacing:-.018em;padding:3px 7px;margin-left:-7px;color:var(--ink);transition:background .14s,border-color .14s}.title-in:hover{background:var(--surface-2)}.title-in:focus{background:var(--surface-2);border-color:var(--line-2);outline:none}.bstrip-meta{display:flex;align-items:center;gap:9px;margin-top:3px;flex-wrap:wrap}.date-in{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;padding:3px 7px;font-size:12px;color:var(--ink-2);font-family:var(--data)}.saved{font-size:11.5px;color:var(--ink-3);min-width:52px}.saved.bad{color:var(--bad)}.bstrip-actions{display:flex;gap:8px;align-items:center}.meter{flex:1 1 300px;min-width:240px;max-width:460px}.meter-head{display:flex;align-items:baseline;gap:8px;margin-bottom:5px}.meter-time{font-family:var(--data);font-size:19px;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.meter-time.short{color:var(--warn)}.meter-time.over{color:var(--bad)}.meter-time.good{color:var(--good)}.meter-target{font-size:11.5px;color:var(--ink-3);margin-left:auto;font-variant-numeric:tabular-nums}.meter-track{position:relative;display:flex;gap:1.5px;height:11px;border-radius:4px;background:var(--surface-3);overflow:hidden}.meter-track i{display:block;min-width:2px;transition:flex-grow .25s ease}.meter-track:after{content:"";position:absolute;inset-block:0;left:var(--tgt,100%);width:2px;background:var(--ink);opacity:.5}.meter-legend{display:flex;gap:11px;margin-top:6px;flex-wrap:wrap;font-size:11px;color:var(--ink-3)}.meter-legend span{display:flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.meter-legend i{width:7px;height:7px;border-radius:2px;flex:none}@media(max-width:900px){.meter{order:3;flex-basis:100%;max-width:none}}.bwrap{display:flex;flex:1;min-height:0;align-items:flex-start}.canvas{flex:1;min-width:0;padding:22px 20px 100px}.canvas-inner{max-width:780px;margin:0 auto;width:100%}.addblock{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;padding:8px 0 0}.block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;margin-bottom:11px;--gc:var(--ink-3);--gcs:var(--surface-2)}.block[data-g=Core]{--gc:var(--g-core);--gcs:var(--g-core-soft)}.block[data-g=Legs]{--gc:var(--g-legs);--gcs:var(--g-legs-soft)}.block[data-g=Obliques]{--gc:var(--g-obliques);--gcs:var(--g-obliques-soft)}.block[data-g=Arms]{--gc:var(--g-arms);--gcs:var(--g-arms-soft)}.block.dragging{opacity:.45}.block.over{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),var(--shadow)}.bhead{display:flex;align-items:center;gap:9px;padding:9px 13px 9px 0;background:var(--gcs);border-bottom:1px solid var(--line);border-left:4px solid var(--gc)}.grip{color:var(--gc);opacity:.5;padding:0 2px 0 9px;flex:none;display:flex;cursor:grab;background:none;border:0}.grip:active{cursor:grabbing}.bhead-name{font-weight:600;font-size:14px;color:var(--gc);letter-spacing:-.01em}.bhead-side{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gc);background:color-mix(in srgb,var(--gc) 15%,transparent);padding:2px 6px;border-radius:4px;flex:none}.bhead-focus{font-size:12px;color:var(--ink-2);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bhead-total{margin-left:auto;font-family:var(--data);font-size:13px;font-weight:500;color:var(--gc);font-variant-numeric:tabular-nums;flex:none}.bhead-acts{display:flex;gap:2px;flex:none}.rows{padding:3px 0 5px;min-height:14px}.rows.empty-rows{padding:16px 13px;color:var(--ink-3);font-size:12.5px;font-style:italic}.row{display:flex;align-items:center;gap:9px;padding:5px 11px 5px 13px;border-left:4px solid transparent;cursor:pointer;background:var(--surface);transition:background .1s}.row:hover{background:var(--surface-2)}.row.sel{background:var(--accent-soft);border-left-color:var(--accent)}.row.dragging{opacity:.4}.row .grip{color:var(--ink-3);opacity:0;padding:0;margin-left:-4px}.row:hover .grip,.row.sel .grip{opacity:.55}.row-spring{flex:none;width:58px}.row-name{flex:1;min-width:0;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.row-cue{color:var(--ink-3);font-size:11.5px;flex:none;max-width:28%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic}.row-time{font-family:var(--data);font-size:12.5px;color:var(--ink-2);flex:none;font-variant-numeric:tabular-nums;min-width:38px;text-align:right}.row-acts{display:flex;gap:1px;flex:none;opacity:0;transition:opacity .12s}.row:hover .row-acts,.row.sel .row-acts{opacity:1}.vrow{display:flex;align-items:center;gap:9px;padding:2px 11px 2px 13px;border-left:4px solid transparent;font-size:12px;color:var(--ink-2)}.vrow-tick{width:58px;flex:none;display:flex;justify-content:flex-end;padding-right:6px}.vrow-tick:before{content:"";width:9px;border-top:1px solid var(--line-2);margin-top:9px}.vrow-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vrow-time{font-family:var(--data);font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;min-width:38px;text-align:right}.mirror-note{display:flex;align-items:center;gap:7px;padding:0 0 5px 15px;margin-top:-6px;font-size:11px;color:var(--ink-3)}.mirror-note svg{color:var(--line-2);flex:none}.drag-ghost{display:flex;align-items:center;gap:9px;padding:6px 12px;background:var(--surface);border:1px solid var(--accent);border-radius:var(--r);box-shadow:var(--shadow-lift);font-size:13px;font-weight:500;cursor:grabbing;max-width:360px}.panel{position:sticky;top:124px;flex:none;width:318px;align-self:flex-start;max-height:calc(100vh - 136px);display:flex;flex-direction:column;border-left:1px solid var(--line);background:var(--surface)}@media(max-width:1080px){.bwrap{flex-direction:column}.panel{position:static;width:100%;max-height:none;border-left:0;border-top:1px solid var(--line)}.canvas{padding-bottom:24px}}.panel-tabs{display:flex;border-bottom:1px solid var(--line);flex:none}.ptab{flex:1;border:0;background:transparent;cursor:pointer;padding:11px 8px;font-size:12.5px;font-weight:500;color:var(--ink-3);border-bottom:2px solid transparent;transition:color .14s,border-color .14s}.ptab:hover{color:var(--ink-2)}.ptab.on{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}.pane{overflow-y:auto;flex:1;min-height:0}.search{display:flex;align-items:center;gap:7px;margin:11px 13px 9px;border:1px solid var(--line-2);background:var(--surface-2);border-radius:var(--r);padding:6px 10px;color:var(--ink-3)}.search:focus-within{border-color:var(--accent);color:var(--accent)}.search input{border:0;background:transparent;outline:none;flex:1;min-width:0;font-size:13px;color:var(--ink)}.search.wide{max-width:380px;margin:0 0 16px}.hint{color:var(--ink-3);font-size:11.5px;padding:0 13px;margin:0 0 9px;line-height:1.5}.hint.pad{padding:18px 15px}.liblist{padding:0 9px 24px}.lib-g{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:11px 4px 5px;position:sticky;top:0;background:var(--surface);z-index:1}.libitem{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;cursor:grab;border:1px solid transparent;transition:background .12s,border-color .12s}.libitem:hover{background:var(--surface-2);border-color:var(--line)}.libitem.dragging{opacity:.4}.libitem-name{flex:1;min-width:0;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.libitem-time{font-family:var(--data);font-size:11px;color:var(--ink-3);flex:none;font-variant-numeric:tabular-nums}.libitem .iconbtn{width:20px;height:20px;opacity:0;background:var(--accent-soft);color:var(--accent)}.libitem:hover .iconbtn{opacity:1}.insp{padding:15px 15px 40px;display:flex;flex-direction:column;gap:15px}.insp-head{display:flex;flex-direction:column;gap:3px}.insp-name{font-family:var(--disp);font-size:16px;font-weight:600;letter-spacing:-.015em;line-height:1.3}.insp-where{font-size:11.5px;color:var(--ink-3)}.insp-sec{border-top:1px solid var(--line);padding-top:13px;display:flex;flex-direction:column;gap:9px}.insp-sec-head{display:flex;align-items:center;gap:8px}.insp-sec-head h4{margin:0;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.insp-sec-head .btn{margin-left:auto}.vedit{display:flex;gap:6px;align-items:center}.vedit input:first-child{flex:1;min-width:0}.vedit .tnum{width:66px;flex:none}.detail{font-size:12.5px;line-height:1.65;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:11px 12px;white-space:pre-wrap}.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow)}table.mtable{border-collapse:collapse;width:100%;min-width:800px;font-size:13px}.mtable th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:10px 13px;border-bottom:1px solid var(--line);background:var(--surface-2);position:sticky;top:0;z-index:1;white-space:nowrap}.mtable th.n,.mtable td.n{text-align:right;font-variant-numeric:tabular-nums}.mtable td{padding:8px 13px;border-bottom:1px solid var(--line);vertical-align:top}.mtable tbody tr:last-child td{border-bottom:0}.mtable tbody tr{cursor:pointer}.mtable tbody tr:hover{background:var(--surface-2)}.mt-name{font-weight:500;white-space:nowrap}.mt-cue{color:var(--ink-3);font-size:12px;max-width:300px;line-height:1.45}.mt-var{color:var(--ink-3);font-size:11.5px;font-family:var(--data);white-space:nowrap}.gdot{display:inline-flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}.gdot:before{content:"";width:7px;height:7px;border-radius:2px;background:var(--gc,var(--ink-3));flex:none}.gdot[data-g=Core]{--gc:var(--g-core)}.gdot[data-g=Legs]{--gc:var(--g-legs)}.gdot[data-g=Obliques]{--gc:var(--g-obliques)}.gdot[data-g=Arms]{--gc:var(--g-arms)}.plan{max-width:860px;margin:0 auto;width:100%}.plan-head{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:5px}.plan-title{font-family:var(--disp);font-size:26px;font-weight:700;letter-spacing:-.02em}.plan-meta{font-size:13px;color:var(--ink-3);margin:0 0 22px}.plan-block{margin-bottom:16px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface);--gc:var(--ink-3);--gcs:var(--surface-2)}.plan-block[data-g=Core]{--gc:var(--g-core);--gcs:var(--g-core-soft)}.plan-block[data-g=Legs]{--gc:var(--g-legs);--gcs:var(--g-legs-soft)}.plan-block[data-g=Obliques]{--gc:var(--g-obliques);--gcs:var(--g-obliques-soft)}.plan-block[data-g=Arms]{--gc:var(--g-arms);--gcs:var(--g-arms-soft)}.plan-bhead{display:flex;align-items:center;gap:9px;padding:9px 14px;background:var(--gcs);border-left:4px solid var(--gc);font-weight:600;color:var(--gc)}.plan-bhead .t{margin-left:auto;font-family:var(--data);font-weight:500;font-variant-numeric:tabular-nums}.plan-bhead .f{font-weight:400;font-style:italic;font-size:12.5px;color:var(--ink-2)}table.plan-table{width:100%;border-collapse:collapse;font-size:13px}.plan-table td{padding:6px 14px;border-bottom:1px solid var(--line);vertical-align:top}.plan-table tr:last-child td{border-bottom:0}.plan-table .c-spring{width:76px}.plan-table .c-time{width:62px;text-align:right;font-family:var(--data);font-variant-numeric:tabular-nums;color:var(--ink-2)}.plan-table .c-note{color:var(--ink-3);font-size:12px;font-style:italic}.plan-table .var td{color:var(--ink-3);font-size:12px}.plan-table .var .c-name{padding-left:32px}.backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:#10161380;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lift);width:100%;max-width:580px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;animation:pop .18s cubic-bezier(.2,.9,.3,1)}.modal.lg{max-width:760px}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.985)}}@media(prefers-reduced-motion:reduce){.modal{animation:none}}.modal-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 13px;border-bottom:1px solid var(--line)}.modal-head h2{font-family:var(--disp);font-size:19px;font-weight:600;letter-spacing:-.018em}.modal-head p{margin:4px 0 0;font-size:12.5px;color:var(--ink-3);line-height:1.5;max-width:60ch}.modal-head .iconbtn{margin-left:auto}.modal-body{padding:18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal-foot{display:flex;gap:9px;align-items:center;padding:13px 20px;border-top:1px solid var(--line);background:var(--surface-2)}.modal-foot .right{margin-left:auto;display:flex;gap:9px}.modal-body textarea.outline{border:1px solid var(--line-2);background:var(--surface-2);border-radius:var(--r);padding:11px 12px;line-height:1.6;outline:none;resize:vertical;min-height:200px;width:100%;font-family:var(--data);font-size:12.5px;color:var(--ink)}.modal-body textarea.outline:focus{border-color:var(--accent);background:var(--surface)}.think{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--ink-2);line-height:1.5}.think .spinner{flex:none;margin-top:1px}.think-clock{font-family:var(--data);font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.preview{display:flex;flex-direction:column;gap:7px;max-height:340px;overflow-y:auto}.pv{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;--gc:var(--ink-3);--gcs:var(--surface-2)}.pv[data-g=Core]{--gc:var(--g-core);--gcs:var(--g-core-soft)}.pv[data-g=Legs]{--gc:var(--g-legs);--gcs:var(--g-legs-soft)}.pv[data-g=Obliques]{--gc:var(--g-obliques);--gcs:var(--g-obliques-soft)}.pv[data-g=Arms]{--gc:var(--g-arms);--gcs:var(--g-arms-soft)}.pv-head{display:flex;gap:8px;align-items:center;padding:6px 11px;background:var(--gcs);font-size:12.5px;font-weight:600;color:var(--gc);border-left:3px solid var(--gc)}.pv-head span:last-child{margin-left:auto;font-family:var(--data);font-weight:500;font-variant-numeric:tabular-nums}.pv-moves{padding:5px 11px 7px;font-size:12px;color:var(--ink-2);line-height:1.7}.sharelink{display:flex;gap:7px;align-items:center;font-family:var(--data);font-size:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:8px 11px}.sharelink span{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;color:var(--ink-2)}.toaster{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:7px;align-items:center;pointer-events:none}.toast{background:var(--ink);color:var(--ground);border-radius:99px;padding:8px 17px;font-size:13px;font-weight:500;box-shadow:var(--shadow-lift);animation:rise .2s cubic-bezier(.2,.9,.3,1);max-width:90vw}.toast.bad{background:var(--bad);color:#fff}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.nm{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface-2);padding:14px 15px;display:flex;flex-direction:column;gap:12px}.nm-head h4{margin:0;font-size:13px;font-weight:600;font-family:var(--disp);letter-spacing:-.01em;color:var(--ink)}.nm-head p{margin:4px 0 0;font-size:12px;color:var(--ink-3);line-height:1.5}.nm-row{display:flex;flex-direction:column;gap:7px;padding-top:11px;border-top:1px solid var(--line)}.nm-name{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.nm-name strong{font-size:13.5px;font-weight:600}.nm-where{font-size:11.5px;color:var(--ink-3);display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}.nm-opts{display:flex;gap:6px;flex-wrap:wrap}.nm-opt{display:flex;flex-direction:column;gap:1px;align-items:flex-start;cursor:pointer;border:1px solid var(--line-2);background:var(--surface);border-radius:var(--r);padding:6px 10px;font-size:12.5px;font-weight:500;color:var(--ink-2);text-align:left;transition:border-color .14s,background .14s,color .14s}.nm-opt:hover{border-color:var(--ink-3);color:var(--ink)}.nm-opt.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600;box-shadow:inset 0 0 0 1px var(--accent)}.nm-opt em{font-style:normal;font-size:10.5px;opacity:.72;font-weight:400}.pv-new{color:var(--warn);border-bottom:1px dashed currentColor;padding-bottom:1px}.nm-flag{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--warn);background:color-mix(in srgb,var(--warn) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 28%,transparent);border-radius:var(--r);padding:7px 10px}.nm-flag span{flex:1;min-width:0}.who-btn{border:1px solid transparent;background:transparent;cursor:pointer;border-radius:99px;padding:4px 10px 4px 8px;transition:background .14s,border-color .14s}.who-btn:hover{background:var(--surface-2);border-color:var(--line);color:var(--ink-2)}
