@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ds-background-100:#fff;--ds-background-200:#fafafa;--ds-gray-100:#f2f2f2;--ds-gray-200:#ebebeb;--ds-gray-300:#e6e6e6;--ds-gray-400:#ebebeb;--ds-gray-500:#c9c9c9;--ds-gray-600:#a8a8a8;--ds-gray-700:#8f8f8f;--ds-gray-800:#7d7d7d;--ds-gray-900:#666;--ds-gray-1000:#171717;--ds-gray-alpha-400:#00000014;--ds-green-100:#effbef;--ds-green-200:#e3f6e4;--ds-green-400:#b9e5bd;--ds-green-700:#297a3a;--ds-green-800:#20652f;--ds-green-900:#297a3a;--ds-red-100:#fff0f0;--ds-red-400:#fdd8d8;--ds-red-800:#da3036;--ds-red-900:#ca2a30;--ds-amber-700:#d4a72c;--page:var(--ds-background-200);--surface:var(--ds-background-100);--surface-soft:var(--ds-background-200);--tint:var(--ds-gray-100);--tint-hover:var(--ds-gray-200);--tint-active:var(--ds-gray-300);--line:var(--ds-gray-alpha-400);--line-strong:var(--ds-gray-500);--text:var(--ds-gray-1000);--muted:var(--ds-gray-900);--subtle:var(--ds-gray-700);--primary:var(--ds-green-700);--primary-hover:var(--ds-green-800);--on-primary:#fff;--accent:var(--ds-green-900);--accent-soft:var(--ds-green-200);--accent-line:var(--ds-green-400);--focus:var(--ds-green-700);--danger:var(--ds-red-800);--danger-text:var(--ds-red-900);--danger-soft:var(--ds-red-100);--danger-line:var(--ds-red-400);--overlay:#0006;--tabbar-bg:#ffffffd9;--pitch-bg:var(--ds-gray-100);--star:var(--ds-amber-700);--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--control-h:40px;--control-h-sm:32px;--shadow-small:0 2px 2px #0000000a;--shadow-menu:0 1px 1px #00000005, 0 4px 8px -4px #0000000a, 0 16px 24px -8px #0000000f;--shadow-modal:0 1px 1px #00000005, 0 8px 16px -4px #0000000a, 0 24px 32px -8px #0000000f;--font-sans:"Geist Variable", Geist, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Geist Mono Variable", "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:var(--font-sans);background:var(--page);color:var(--text);line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (pointer:coarse){:root{--control-h:44px;--control-h-sm:40px}}@media (prefers-color-scheme:dark){:root{--ds-background-100:#0a0a0a;--ds-background-200:#000;--ds-gray-100:#1a1a1a;--ds-gray-200:#1f1f1f;--ds-gray-300:#292929;--ds-gray-400:#2e2e2e;--ds-gray-500:#454545;--ds-gray-600:#878787;--ds-gray-700:#8f8f8f;--ds-gray-800:#7d7d7d;--ds-gray-900:#a1a1a1;--ds-gray-1000:#ededed;--ds-gray-alpha-400:#ffffff24;--ds-green-100:#0b2211;--ds-green-200:#0f2e18;--ds-green-400:#1d5a2c;--ds-green-700:#297a3a;--ds-green-800:#318a45;--ds-green-900:#62c073;--ds-red-100:#2a1314;--ds-red-400:#5c1a1d;--ds-red-900:#ff6166;--ds-amber-700:#e3b341;--focus:var(--ds-green-900);--overlay:#000000b3;--tabbar-bg:#0a0a0ad9;--shadow-small:0 2px 2px #0000004d;--shadow-menu:0 4px 8px -4px #00000080, 0 16px 24px -8px #0009;--shadow-modal:0 8px 16px -4px #00000080, 0 24px 32px -8px #000000b3}}*{box-sizing:border-box}body{background:var(--page);min-width:320px;min-height:100dvh;color:var(--text);margin:0}button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong,b{font-weight:600}h1{letter-spacing:-.04em}h2,h3{letter-spacing:-.02em}.eyebrow,.facetLabel,.sectionTitle,.detailSection h3,.sessionDate,.calendarWeekday,.pitchPhase,.pitchSection h3{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:500;line-height:1rem}.shell{width:min(100%,1120px);min-height:100dvh;padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));margin:0 auto;overflow-x:hidden}.appHeader{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.eyebrow{margin:0 0 4px}.appTitle{color:var(--text);margin:0;font-size:1.5rem;line-height:2rem}@media (width>=720px){.appTitle{font-size:2rem;line-height:2.5rem}}.content{gap:16px;display:grid}.content>*,.detail>*,.formStack>*{min-width:0}.panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:16px}.emptyState{color:var(--muted);text-align:center;justify-items:center;gap:8px;padding:40px 16px;display:grid}.emptyState p{margin:0}.formStack{gap:16px;display:grid}.field{gap:8px;display:grid}.field>span{color:var(--muted);font-size:.875rem;font-weight:500;line-height:1.25rem}.field input,.field select,.field textarea,.searchInput,.inlineAdd input,.extraSection textarea,.phaseName,.itemMinutes input,.sketchTools .chip input[type=number]{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .15s,box-shadow .15s}.field input:hover,.field select:hover,.field textarea:hover,.searchInput:hover,.inlineAdd input:hover,.extraSection textarea:hover,.phaseName:hover,.itemMinutes input:hover{border-color:var(--line-strong)}.field input:focus,.field select:focus,.field textarea:focus,.searchInput:focus,.inlineAdd input:focus,.extraSection textarea:focus,.phaseName:focus,.itemMinutes input:focus{border-color:var(--accent)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.searchInput:focus-visible,.inlineAdd input:focus-visible,.extraSection textarea:focus-visible,.phaseName:focus-visible,.itemMinutes input:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field input,.field select,.field textarea{width:100%;min-height:var(--control-h);padding:8px 12px}::placeholder{color:var(--subtle);opacity:1}.primaryButton,.secondaryButton{min-height:var(--control-h);border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.875rem;font-weight:500;line-height:1.25rem;display:inline-flex}.primaryButton{background:var(--primary);color:var(--on-primary)}.primaryButton:hover:not(:disabled),.primaryButton:active:not(:disabled){background:var(--primary-hover)}.primaryButton:disabled,.secondaryButton:disabled{opacity:.5}.secondaryButton{border-color:var(--line);background:var(--surface);color:var(--text)}.secondaryButton:hover:not(:disabled){background:var(--tint)}.secondaryButton:active:not(:disabled){background:var(--tint-active)}.loginShell{width:min(100%,420px);min-height:100dvh;padding:calc(48px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));align-content:start;gap:16px;margin:0 auto;display:grid}@media (width>=640px){.loginShell{padding-top:calc(24px + 12vh + env(safe-area-inset-top))}}.loginError{border:1px solid var(--danger-line);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger-text);margin:0;padding:8px 12px;font-size:.875rem;font-weight:500}.muted{color:var(--muted)}.searchRow{flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:relative}.searchIcon{top:calc((var(--control-h) - 18px) / 2);color:var(--muted);pointer-events:none;position:absolute;left:12px}.searchInput{min-height:var(--control-h);flex:240px;padding:8px 12px 8px 38px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:var(--control-h-sm);border:1px solid var(--line);border-radius:var(--radius-full);background:var(--surface);color:var(--text);align-items:center;gap:6px;padding:0 12px;font-size:.8125rem;font-weight:500;line-height:1rem;display:inline-flex}button.chip:hover:not(:disabled){border-color:var(--line-strong)}.chip.active,button.chip.active:hover{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.chipCount{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:500}.chip.active .chipCount{color:inherit}.chip.chipStatic{background:var(--tint);cursor:default;border-color:#0000}.chipClear{color:var(--danger-text)}button.chipClear:hover:not(:disabled){border-color:var(--danger-line);background:var(--danger-soft)}.filterBar{flex-wrap:wrap;gap:8px;display:flex}.filterMenu{min-width:0;position:relative}.filterMenu>.chip{max-width:100%}.filterMenuLabel{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.filterPopover{z-index:30;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:max-content;min-width:200px;max-width:calc(100vw - 32px);max-height:min(60vh,360px);box-shadow:var(--shadow-menu);margin:0;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.filterPopover.alignEnd{left:auto;right:0}.filterOption{min-height:var(--control-h);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:0 8px;font-size:.875rem;display:flex}.filterOption:hover,.filterOption:focus-within{background:var(--tint)}.filterOption input{opacity:0;pointer-events:none;position:absolute}.filterCheck{border:1px solid var(--line-strong);width:18px;height:18px;color:var(--on-primary);border-radius:4px;flex:none;place-items:center;display:inline-grid}.filterOption.checked .filterCheck{border-color:var(--primary);background:var(--primary)}.filterOption input:focus-visible+.filterCheck{outline:2px solid var(--focus);outline-offset:2px}.filterOptionLabel{flex:1;min-width:0}.filterReset{border:0;border-top:1px solid var(--line);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--muted);text-align:left;background:0 0;margin-top:4px;padding:10px 8px;font-size:.8125rem;font-weight:500}.filterReset:hover{color:var(--text)}.srOnly{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.resultCount{color:var(--muted);margin:0;font-size:.8125rem;font-weight:500}.cardGrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);text-align:left;grid-template-rows:auto 1fr;gap:0;padding:0;display:grid;overflow:hidden}.card:hover{border-color:var(--line-strong)}.cardThumb{aspect-ratio:4/3;background:var(--pitch-bg);place-items:center;display:grid;overflow:hidden}.cardThumb img{object-fit:contain;width:100%;height:100%}.cardThumbEmpty{color:var(--muted);font-size:.8125rem;font-weight:500}.cardBody{align-content:start;gap:4px;padding:10px 12px 12px;display:grid}.cardBody h3{letter-spacing:-.01em;margin:0;font-size:.875rem;line-height:1.25rem}.cardTags{color:var(--muted);margin:0;font-size:.75rem;line-height:1rem}.rating{color:var(--star);align-items:center;gap:2px;line-height:0;display:inline-flex}.rating .starOff{color:var(--line-strong)}.ratingButton{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ratingButton:hover{background:var(--tint)}.ratingButton:focus-visible{outline-offset:-6px}.detail{gap:14px;display:grid}.backLink{min-height:var(--control-h);border-radius:var(--radius-sm);color:var(--muted);background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:0 10px 0 6px;font-size:.875rem;font-weight:500;display:inline-flex}.backLink:hover{background:var(--tint);color:var(--text)}.detailHeader{gap:8px;display:grid}.detailHeader h2{margin:0;font-size:1.25rem;line-height:1.625rem}@media (width>=720px){.detailHeader h2{letter-spacing:-.04em;font-size:1.5rem;line-height:2rem}}.detailImage{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--pitch-bg);width:100%;max-width:600px;padding:0;display:block;overflow:hidden}@media (width>=640px){.detailImage{max-width:min(600px, var(--natural-width,600px))}}.detailImage img{width:100%;height:auto;display:block}.detailSection{gap:8px;display:grid}.detailSection h3{margin:0}.md{gap:12px;line-height:1.5;display:grid}.md p{margin:0}.mdHeading{margin:4px 0 0;font-size:1rem;line-height:1.5rem}.mdList{gap:4px;margin:0;padding-left:20px;display:grid}.mdList .mdList{margin-top:4px}.detailTopBar{justify-content:space-between;align-items:center;gap:8px;display:flex}@media (width<=420px){.exerciseDetail>.detailTopBar .backLink{padding:0 8px}.exerciseDetail>.detailTopBar .backLink span{display:none}}.sectionTitle{margin:0}.secondaryButton.compact,.primaryButton.compact{min-height:var(--control-h-sm);padding:0 12px}.secondaryButton.danger{color:var(--danger-text)}.secondaryButton.danger:hover:not(:disabled),.secondaryButton.danger.armed{border-color:var(--danger-line);background:var(--danger-soft)}.iconButton{width:var(--control-h-sm);height:var(--control-h-sm);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);place-items:center;padding:0;display:grid}.iconButton:hover:not(:disabled){background:var(--tint)}.iconButton:disabled{opacity:.5}.iconButton.danger{color:var(--danger-text)}.iconButton.danger:hover:not(:disabled){border-color:var(--danger-line);background:var(--danger-soft)}.iconButton.active{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.inlineAdd{gap:8px;display:flex}.inlineAdd input{min-width:0;min-height:var(--control-h);flex:auto;padding:6px 12px}.fileButton{cursor:pointer;position:relative;overflow:hidden}.fileButton input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.mediaList{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mediaList li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);grid-template-columns:72px 1fr auto;align-items:center;gap:12px;padding:8px;display:grid}.mediaList img{object-fit:contain;border-radius:var(--radius-sm);background:var(--pitch-bg);width:72px;height:54px}.mediaMeta{min-width:0;color:var(--muted);font-size:.8125rem;font-weight:500}.mediaActions{gap:4px;display:flex}.extraSection{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft);gap:8px;padding:12px;display:grid}.extraSection textarea,.field textarea{resize:vertical;font-family:inherit;line-height:1.5}.extraSection textarea{width:100%;padding:8px 12px}.editorActions{flex-wrap:wrap;gap:8px;display:flex}.editorActions .primaryButton{flex:160px}.secondaryButton.iconOnly,.primaryButton.iconOnly{width:var(--control-h);flex:none;padding:0}.secondaryButton.iconOnly.danger.armed{border-color:var(--danger);background:var(--danger);color:#fff}.listSection{gap:8px;display:grid}.sessionList,.itemList,.phaseItems,.pickerList{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sessionRow{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);text-align:left;gap:4px;width:100%;padding:12px 16px;display:grid}.sessionRow:hover{border-color:var(--line-strong)}.sessionTitle{letter-spacing:-.02em;font-size:1rem;font-weight:600;line-height:1.5rem}.sessionMeta{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:12px;font-size:.8125rem;display:flex}.sessionMeta span{align-items:center;gap:4px;display:inline-flex}.calendar{gap:12px;display:grid}.calendarHeader{align-items:center;gap:8px;display:flex}.calendarMonth{flex:auto;margin:0;font-size:1rem;line-height:1.5rem}.calendarGrid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendarWeekday{text-align:center;padding-bottom:4px}.calendarDay{aspect-ratio:1;border-radius:var(--radius-sm);min-height:40px;max-height:58px;color:var(--text);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;align-content:center;justify-items:center;gap:3px;padding:0;font-size:.875rem;font-weight:500;display:grid}.calendarDay:not(:disabled){border-color:var(--line);background:var(--surface)}.calendarDay:not(:disabled):hover{border-color:var(--line-strong)}.calendarDay:disabled{cursor:default}.calendarDay.outside{color:var(--subtle)}.calendarDay.today{border-color:var(--accent-line);color:var(--accent);font-weight:600}.calendarDay.selected,.calendarDay.selected:hover{border-color:var(--text);background:var(--tint)}.calendarDot{border-radius:var(--radius-full);background:var(--primary);width:6px;height:6px}.phaseHeader{align-items:center;gap:8px;display:flex}.phaseName{min-width:0;min-height:var(--control-h);flex:auto;padding:6px 12px;font-weight:600}.itemMinutes{color:var(--muted);align-items:center;gap:4px;font-size:.8125rem;font-weight:500;display:inline-flex}.itemMinutes input{width:60px;min-height:var(--control-h-sm);text-align:right;font-variant-numeric:tabular-nums;padding:4px 8px}.phaseSum{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.8125rem;font-weight:500}.itemTime{font-variant-numeric:tabular-nums}.itemList .itemTime{font-size:.8125rem;font-weight:500}.itemList li,.phaseItems li{display:block}.itemList li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);grid-template-columns:64px 1fr auto;align-items:center;gap:12px;padding:8px;display:grid}.itemNoteField{grid-column:1/-1}.itemNote{padding:4px 8px 0;font-size:.875rem}.itemNote>:first-child{margin-top:0}.itemNote>:last-child{margin-bottom:0}.itemList img,.phaseItem img,.pickerRow img{object-fit:contain;border-radius:var(--radius-sm);background:var(--pitch-bg);width:64px;height:48px}.pickerThumbEmpty{border-radius:var(--radius-sm);background:var(--tint);width:64px;height:48px;display:block}.itemText{gap:4px;min-width:0;display:grid}.itemText strong{font-size:.875rem;line-height:1.25rem}.phaseItem{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);text-align:left;grid-template-columns:64px 1fr;align-items:center;gap:12px;width:100%;padding:8px;display:grid}.phaseItem:not(.static):hover{border-color:var(--line-strong)}.phaseItem.static{cursor:default}.shareLink{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.8125rem}.sharedShell{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.buttonRow{flex-wrap:wrap;gap:8px;display:flex}.buttonRow>*{flex:150px}.topActions{gap:6px;display:flex}.modalBackdrop{z-index:40;background:var(--overlay);justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modal{width:min(100%,560px);max-height:88vh;padding:16px 16px max(16px, env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);box-shadow:var(--shadow-modal);border-bottom:0;gap:16px;display:grid;overflow-y:auto}.modalHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.modalHeader h2{margin:0;font-size:1.25rem;line-height:1.625rem}.pickerRow{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);text-align:left;grid-template-columns:64px 1fr;align-items:center;gap:12px;width:100%;padding:8px;display:grid}.pickerRow:hover{border-color:var(--line-strong)}.pickerText{gap:2px;min-width:0;font-size:.875rem;display:grid}.pickerText .muted{font-size:.75rem}.pickerEmpty{text-align:center;padding:16px}@media (width>=640px){.modalBackdrop{align-items:center;padding:16px}.modal{border-bottom:1px solid var(--line);border-radius:var(--radius-md);padding:24px}}.pitchView{z-index:60;background:var(--surface-soft);touch-action:pan-y;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.pitchBar{padding:max(8px, env(safe-area-inset-top)) 12px 8px;border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;display:flex}.pitchPhase{flex:auto}.pitchCount{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:500}.pitchBody{align-content:start;gap:16px;padding:16px;display:grid;overflow-y:auto}.pitchBody h2{letter-spacing:-.04em;margin:0;font-size:1.5rem;line-height:2rem}@media (width>=720px){.pitchBody h2{font-size:2rem;line-height:2.5rem}}.pitchMinutes{color:var(--muted);font-weight:500}.pitchBody img{border-radius:var(--radius-md);background:var(--pitch-bg);width:100%;max-width:720px}.pitchSection h3{margin:0 0 8px}.pitchSection .md{font-size:clamp(1.0625rem,3.6vw,1.375rem);line-height:1.5}.pitchNav{padding:8px 12px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);gap:8px;display:flex}.pitchNav>*{flex:1 1 0;min-height:48px;font-size:1rem}.lightbox{z-index:50;background:#000000e0;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.lightbox img{border-radius:var(--radius-sm);background:var(--surface);max-width:100%;max-height:100%}.lightboxClose{top:max(12px, env(safe-area-inset-top));border-radius:var(--radius-full);color:#fff;background:#ffffff26;border:0;place-items:center;width:44px;height:44px;display:grid;position:absolute;right:12px}.lightboxClose:hover{background:#ffffff40}.tabbar{z-index:10;border-top:1px solid var(--line);background:var(--tabbar-bg);width:min(100%,1120px);padding:8px 8px max(8px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);grid-template-columns:repeat(4,1fr);gap:4px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tabButton{border-radius:var(--radius-sm);min-height:56px;color:var(--muted);background:0 0;border:0;align-content:center;justify-items:center;gap:4px;font-size:.75rem;font-weight:500;line-height:1rem;display:grid}.tabButton span{white-space:nowrap}.tabButton:hover{color:var(--text)}.tabButton.active{background:var(--accent-soft);color:var(--accent)}@media (width>=720px){.shell{padding:calc(32px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) 32px calc(24px + env(safe-area-inset-left));grid-template-columns:200px minmax(0,1fr);align-items:start;gap:24px;display:grid}.appHeader{grid-column:1/-1}.tabbar{z-index:1;-webkit-backdrop-filter:none;background:0 0;border:0;grid-template-columns:1fr;gap:2px;width:auto;margin:0;padding:0;position:sticky;inset:24px auto auto}.tabButton{grid-auto-flow:column;justify-content:start;place-items:center start;gap:8px;min-height:36px;padding:0 8px;font-size:.875rem;line-height:1.25rem}.tabButton:hover{background:var(--tint)}.tabButton.active,.tabButton.active:hover{background:var(--accent-soft)}.sharedShell{grid-template-columns:minmax(0,1fr);width:min(100%,900px)}}@media print{.tabbar,.noPrint,.appHeader{display:none!important}body{background:#fff}.shell{width:auto;min-height:0;padding:0;display:block}.panel{box-shadow:none;break-inside:avoid;page-break-inside:avoid;border:1px solid #ccc}.detailSection h3{color:#000}.phaseItem,.itemList li{break-inside:avoid;page-break-inside:avoid;background:0 0}a[href]:after{content:""}}.sketchEditor{z-index:70;background:var(--surface-soft);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);display:grid;position:fixed;inset:0;overflow:hidden}.sketchTopBar{padding:max(8px, env(safe-area-inset-top)) 12px 8px;border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sketchTitle{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:1 1 0;min-width:0;font-weight:600;display:-webkit-box;overflow:hidden}.sketchTopBar .topActions{flex:none}@media (width<=560px){.sketchTitle{flex-basis:100%;order:1}.sketchTopBar .topActions{margin-left:auto}}@media (width<=400px){.sketchTopBar .backLink{padding:0 8px}.sketchTopBar .backLink span{display:none}}.sketchCanvasWrap{place-items:center;min-height:0;padding:10px;display:grid}.sketchCanvas{touch-action:none;border:1px solid var(--line);border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;background:#fff;width:100%;max-width:100%;height:100%;max-height:100%}.sketchTools{height:clamp(150px,34vh,300px);padding:10px 12px max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);align-content:start;gap:8px;display:grid;overflow-y:auto}.sketchTools .chip{font-size:.8125rem}.sketchTools .chip input[type=number]{text-align:right;font-variant-numeric:tabular-nums;width:56px;min-height:24px;padding:2px 6px}.selectionBar{border-radius:var(--radius-md);background:var(--tint);padding:8px}.colorChip{width:var(--control-h-sm);height:var(--control-h-sm);border:2px solid var(--surface);border-radius:var(--radius-full);box-shadow:0 0 0 1px var(--line-strong)}.colorChip.active{border-color:var(--surface);box-shadow:0 0 0 2px var(--text)}code{background:var(--tint);font-family:var(--font-mono);border-radius:4px;padding:1px 4px;font-size:.875em}
