:root{color-scheme:dark;--graphite: #14171a;--graphite-2: #20252a;--off-white: #f5f3ee;--line: rgba(245, 243, 238, .16);--line-strong: rgba(245, 243, 238, .32);--muted: rgba(245, 243, 238, .62);--paper-muted: rgba(20, 23, 26, .58);--cobalt: #2450ff;--teal: #12958f;--mustard: #a67c1e;--violet: #6b4eff;--focus: #f5f3ee;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--graphite);color:var(--off-white)}*{box-sizing:border-box}body{margin:0;width:100%;min-width:320px;min-height:100vh;background:linear-gradient(90deg,rgba(245,243,238,.05) 1px,transparent 1px) 0 0 / 96px 96px,linear-gradient(180deg,rgba(245,243,238,.035) 1px,transparent 1px) 0 0 / 96px 96px,var(--graphite)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.app-shell{min-height:100vh;padding:28px}.workspace{display:grid;grid-template-columns:minmax(320px,455px) minmax(0,1fr);gap:24px;max-width:1480px;margin:0 auto;align-items:start}.workout-form{display:grid;gap:14px;min-width:0}.panel,.preview-shell{border:1px solid var(--line);background:#14171ab8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel{padding:18px}.panel--identity{display:grid;gap:22px}.panel__header,.panel__title,.preview-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.panel__header p{margin:0;font-family:Big Shoulders Display,Impact,sans-serif;font-size:68px;font-weight:900;line-height:.82}.panel__header span,.panel__title span,.preview-toolbar span{color:var(--muted);font-size:.78rem;text-align:right}.panel__title{margin-bottom:18px}.panel__title h2{margin:0;font-family:Big Shoulders Display,Impact,sans-serif;font-size:34px;line-height:1}fieldset{margin:0;padding:0;border:0}legend,.field>span,.segmented legend{margin-bottom:7px;color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.2}.activity-picker__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.activity-button,.segmented__item,.button{border:1px solid var(--line);border-radius:6px;color:var(--off-white);background:#f5f3ee0a;transition:border-color .16s ease,background .16s ease,transform .16s ease}.activity-button:hover,.segmented__item:hover,.button:hover{transform:translateY(-1px);border-color:var(--line-strong)}.activity-button{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 11px;text-align:left}.activity-button__mark{width:12px;height:12px;border:2px solid var(--activity-color);border-radius:50%}.activity-button.is-active{border-color:var(--activity-color);background:color-mix(in srgb,var(--activity-color) 18%,transparent)}.activity-button.is-active .activity-button__mark{background:var(--activity-color)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;min-width:0}.field input{width:100%;min-height:43px;border:1px solid var(--line);border-radius:4px;padding:0 10px;color:var(--off-white);background:#f5f3ee0e}.field input:disabled{cursor:not-allowed;opacity:.45}.field--time{grid-column:span 1}.time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.time-grid input{padding:0 6px;text-align:center}.pace-row{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;align-items:end;margin-top:14px}.segmented{min-width:0}.segmented__items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(108px,100%),1fr));gap:1px;min-height:43px;border:1px solid var(--line);border-radius:6px;background:var(--line);overflow:hidden}.segmented__item{min-width:0;min-height:41px;border:0;border-radius:0;padding:0 9px;color:var(--muted);overflow-wrap:anywhere}.segmented__item+.segmented__item{border-left:0}.segmented__item.is-active{color:var(--graphite);background:var(--off-white)}.panel .segmented+.segmented{margin-top:14px}.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.toggle{display:grid;grid-template-columns:44px 1fr;gap:8px;align-items:center;min-width:0;color:var(--muted);font-size:.83rem}.toggle input{position:absolute;inline-size:1px;block-size:1px;opacity:0}.toggle__track{position:relative;width:42px;height:24px;border:1px solid var(--line-strong);border-radius:999px;background:#f5f3ee0f}.toggle__thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .16s ease,background .16s ease}.toggle input:checked+.toggle__track .toggle__thumb{transform:translate(18px);background:var(--off-white)}.validation-list{display:grid;gap:4px;margin-top:14px;padding-left:12px;border-left:3px solid var(--mustard);color:#f5f3eec2;font-size:.82rem}.validation-list p{margin:0}.import-panel{display:grid;gap:12px}.import-dropzone{display:grid;grid-template-columns:32px 1fr;column-gap:12px;row-gap:2px;align-items:center;min-height:76px;border:1px dashed var(--line-strong);border-radius:6px;padding:14px;background:linear-gradient(90deg,rgba(245,243,238,.08) 1px,transparent 1px) 0 0 / 18px 18px,#f5f3ee09;cursor:pointer}.import-dropzone input{position:absolute;inline-size:1px;block-size:1px;opacity:0}.import-dropzone__signal{grid-row:span 2;width:28px;height:28px;border:2px solid var(--off-white);border-radius:50%;box-shadow:inset 0 0 0 7px var(--graphite);background:var(--cobalt)}.import-dropzone strong{font-family:Big Shoulders Display,Impact,sans-serif;font-size:31px;line-height:.9}.import-dropzone em{color:var(--muted);font-size:.82rem;font-style:normal}.import-dropzone.is-busy .import-dropzone__signal{animation:import-pulse .9s ease-in-out infinite alternate}.import-preview{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center;min-width:0}.import-preview img{width:54px;height:54px;border:1px solid var(--line);object-fit:cover}.import-preview p,.import-preview span,.import-error{margin:0;font-size:.84rem}.import-preview p{font-weight:800}.import-preview span,.import-error{color:var(--muted)}.import-matches{display:flex;flex-wrap:wrap;gap:6px}.import-matches span{border:1px solid var(--line);border-radius:4px;padding:6px 8px;color:var(--muted);font-size:.76rem}.import-matches strong{color:var(--off-white)}.import-error{border-left:3px solid var(--mustard);padding-left:10px}.preview-shell{position:sticky;top:28px;display:grid;gap:16px;min-width:0;padding:18px}.preview-toolbar{align-items:end}.preview-toolbar p{margin:0;font-family:Big Shoulders Display,Impact,sans-serif;font-size:42px;font-weight:800;line-height:.9}.preview-toolbar .segmented{width:min(260px,48%)}.canvas-stage{display:grid;place-items:center;min-height:0;height:clamp(300px,calc(100dvh - 238px),820px);padding:22px;border:1px solid var(--line);overflow:hidden}.canvas-stage--checker{background:linear-gradient(45deg,rgba(245,243,238,.16) 25%,transparent 25%),linear-gradient(-45deg,rgba(245,243,238,.16) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(245,243,238,.16) 75%),linear-gradient(-45deg,transparent 75%,rgba(245,243,238,.16) 75%),#252a30;background-position:0 0,0 16px,16px -16px,-16px 0;background-size:32px 32px}.canvas-stage--photo{background:var(--preview-image, none),linear-gradient(135deg,rgba(36,80,255,.38),transparent 34%),linear-gradient(25deg,transparent 42%,rgba(18,149,143,.24)),linear-gradient(180deg,#101215,#25201a 54%,#090a0d);background-size:cover;background-position:center}.canvas-stage canvas{display:block;max-width:100%;max-height:100%;filter:drop-shadow(0 26px 46px rgba(0,0,0,.28))}.export-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.button{min-height:46px;padding:0 16px;font-weight:800}.button--primary{color:var(--graphite);background:var(--off-white)}.button--secondary{color:var(--off-white)}.export-message{min-height:20px;margin:0;color:var(--muted);font-size:.86rem}@keyframes import-pulse{0%{opacity:.55;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media(max-width:1080px){.workspace{grid-template-columns:1fr}.preview-shell{position:static}.canvas-stage{height:min(74dvh,760px)}}@media(max-width:640px){.app-shell{padding:12px}.field-grid,.pace-row,.export-bar{grid-template-columns:1fr}.toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-toolbar{display:grid}.preview-toolbar .segmented{width:100%}.canvas-stage{height:min(66dvh,620px);padding:12px}}@media(max-width:460px){.panel__header p{font-size:56px}.activity-picker__grid,.toggle-grid{grid-template-columns:1fr}.panel,.preview-shell{padding:14px}.canvas-stage{height:min(62dvh,540px)}}
