.account-panel{margin-bottom:24px}.account-panel>h2{margin:0}.account-panel .section-header p{margin:6px 0 0}.account-panel .field{max-width:520px}.account-tabs{align-self:flex-start;flex-wrap:wrap}.account-details{margin-top:18px;max-width:520px}@media(max-width:600px){.account-tabs{width:100%}.account-tabs button{padding:9px 10px;flex:1;white-space:nowrap}}@media(max-width:380px){.app-header .brand{font-size:21px}.app-header .icon-button{width:30px}.app-header{gap:4px}}.admin-users h3,.admin-user-list p{margin:0}.admin-users form{max-width:520px}.admin-user-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.admin-user-list li{padding:14px;border:1px solid var(--line);overflow-wrap:anywhere}.admin-user-list li.is-inactive{opacity:.72}.admin-user-list li>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-user-list .badge-muted{opacity:.8}.admin-user-list p{margin:6px 0}.admin-user-list .toolbar{margin-top:10px}.protocol-selection{min-width:0}.protocol-selection-list{list-style:none;margin:12px 0 0;padding:0}.protocol-selection-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);background:var(--surface-alt);margin-top:8px}.protocol-selection-list li>div:first-child{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.protocol-selection-list small{color:var(--muted)}.protocol-order-actions{display:flex;gap:4px;flex-shrink:0}.protocol-order-actions .button{padding:7px 9px;font-size:12px}.protocol-origin{display:block;color:var(--accent);font-size:12px;margin:0 0 10px}.experiment-protocol-order{margin:0 0 24px}.experiment-protocol-order ol{padding-left:22px;margin:0}.experiment-protocol-order li{margin:6px 0;overflow-wrap:anywhere}@media(max-width:600px){.protocol-selection-list li{align-items:flex-start;flex-direction:column}.protocol-order-actions{align-self:flex-end}}.step-alarm-setup{padding:14px;border:1px solid var(--line-strong);background:var(--surface-alt);min-width:0}.step-alarm-setup summary{font-size:16px;font-weight:600}.step-alarm-row{padding:14px 0;border-top:1px solid var(--line);margin-top:12px}.step-alarm-toggle{display:flex;align-items:flex-start;gap:10px}.step-alarm-toggle>span{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.step-alarm-toggle input{margin-top:5px}.step-alarm-toggle>span>span{font-size:12px;color:var(--muted)}.step-alarm-duration{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:12px}.step-alarm-duration .input{width:120px}.step-alarm-suggestions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.step-alarm-suggestions .button{font-size:12px;padding:6px 8px}.step-alarm-countdown{display:inline-flex;gap:8px;align-items:center;font-size:11px;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.step-alarm-countdown button{border:0;background:none;padding:0;color:var(--accent);text-decoration:underline}.step-alarm-countdown.is-ringing{font-weight:700}@media(max-width:600px){.step-alarm-countdown{font-size:9px}.step-alarm-suggestions{gap:0}}.project-card{text-align:left;width:100%;color:var(--ink)}.project-card h2{margin-top:0}.project-plan-section{margin-bottom:32px}.project-plan-section h2,.project-experiment-history h2{font-size:24px}.project-map-scroll{width:100%;max-height:65dvh;overflow:auto;border:1px solid var(--line-strong);background:var(--surface-alt);box-shadow:var(--field-shadow);overscroll-behavior:contain}.project-map-canvas{position:relative;min-height:260px}.project-map-canvas svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.project-map-canvas path{stroke:var(--accent);stroke-width:2;fill:none;opacity:.55}.project-map-root{position:absolute;width:200px;min-height:84px;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;padding:18px;border:1px solid var(--frame);box-shadow:var(--raised-shadow);overflow-wrap:anywhere;font-weight:600}.project-map-node{position:absolute;width:240px;min-height:84px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--raised-shadow)}.project-map-node.is-active{border:2px solid #1685ff}.project-node-start{display:block;width:100%;padding:14px 30px 10px 14px;text-align:left;background:none;color:var(--ink);border:0}.project-node-start strong{display:block;font-size:17px;overflow-wrap:anywhere}.project-node-start small{display:block;margin-top:7px;color:var(--muted);font-size:10px}.project-node-start:hover strong{color:var(--accent)}.project-node-drag{position:absolute;right:3px;top:3px;width:26px;height:28px;cursor:grab;touch-action:none;color:var(--muted);background:none;border:0}.project-node-drag:active{cursor:grabbing}.project-node-actions{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:5px 10px}.project-node-actions button{border:0;background:none;color:var(--accent);font-size:11px;padding:5px}.project-history-list{display:grid;gap:10px;margin:16px 0 28px}.project-history-entry{display:flex;justify-content:space-between;gap:16px;align-items:center;text-align:left;color:var(--ink);margin:0;width:100%}.project-history-entry>span:first-child{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.project-history-entry small{color:var(--muted)}.experiment-project-assignment{margin-bottom:22px}.experiment-project-assignment .field{max-width:360px}.experiment-project-assignment .toolbar{align-items:flex-end}@media(max-width:600px){.project-plan-section>.section-header{flex-wrap:wrap;gap:12px}.project-plan-section>.section-header .toolbar{flex-wrap:wrap}.project-history-entry{padding:16px}.project-map-scroll{max-height:55dvh}}.protocol-page{min-width:0}.protocol-library-banner{background:var(--line);border:1px solid var(--line);border-radius:2px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;margin:26px 0;color:var(--accent)}.protocol-library-banner h2{font-size:25px;letter-spacing:-.6px;margin:10px 0}.protocol-library-banner p{font-size:13px;margin:0;color:var(--muted)}.protocol-library-banner>svg{color:var(--muted);margin-right:18px}.protocol-library-toolbar{justify-content:space-between;margin-bottom:20px}.protocol-search-field{display:flex;align-items:center;gap:10px;border:1px solid var(--border,var(--line));border-radius:2px;padding:10px 13px;background:var(--surface-alt);min-width:0;color:var(--muted)}.protocol-search-field input{border:0;outline:0;background:transparent;width:100%;font:inherit;font-size:13px;color:inherit}.protocol-library-toolbar .protocol-search-field{width:380px}.protocol-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.protocol-library-card{text-align:left;display:flex;flex-direction:column;cursor:pointer;padding:24px;border:1px solid var(--border,var(--line));transition:transform .16s,border-color .16s;background:var(--surface-alt);font:inherit;color:inherit;min-height:210px}.protocol-library-card:hover{border-color:var(--muted);transform:translateY(-2px)}.protocol-card-top,.protocol-card-bottom{display:flex;justify-content:space-between;align-items:center}.protocol-book-icon{display:flex;align-items:center;justify-content:center;background:var(--surface-alt);color:var(--accent);width:42px;height:42px;border-radius:2px}.protocol-library-card h3{font-size:17px;line-height:1.5;margin:20px 0 7px}.protocol-library-card p{font-size:12px;color:var(--muted);margin:0 0 22px}.protocol-card-bottom{font-size:11px;color:var(--muted);padding-top:13px;border-top:1px solid var(--line);margin-top:auto}.protocol-tag-published{background:var(--line)!important;color:var(--accent)!important}.protocol-template-link{margin:22px 0;text-align:center}.protocol-feedback{display:flex;gap:10px;align-items:center;background:var(--surface-alt);border:1px solid var(--line);border-radius:2px;padding:11px 14px;font-size:13px;color:var(--accent);margin:12px 0}.protocol-feedback>span{flex:1}.protocol-feedback.is-error{background:var(--warning-bg);border-color:var(--warning-bg);color:var(--warning-text)}.protocol-back{margin:0 0 16px -9px}.protocol-running{display:flex;gap:10px;align-items:center;color:var(--accent);background:var(--surface-alt);border-radius:2px;padding:8px 14px;font-size:12px;margin:15px 0}.protocol-running>span{flex:1}.protocol-warnings{background:var(--warning-bg);border:1px solid var(--warning-bg);color:var(--warning-text);border-radius:2px;padding:12px 16px;font-size:12px;margin-bottom:15px}.protocol-warnings summary{cursor:pointer}.protocol-warnings li{margin:8px 0}.protocol-editor-top{padding:20px;display:flex;align-items:flex-end;gap:30px;margin-top:24px}.protocol-editor-top .field{flex:1}.protocol-save-state{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);padding-bottom:13px;white-space:nowrap}.protocol-state-dot{width:6px;height:6px;border-radius:50%;background:var(--muted)}.protocol-state-dot.pending{background:var(--warning-text)}.protocol-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px 0 14px}.protocol-tabs{display:flex;background:var(--line);padding:4px;border-radius:2px;gap:2px}.protocol-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;padding:9px 15px;border-radius:2px;font:inherit;font-size:12px;color:var(--muted);cursor:pointer}.protocol-tabs button.active{background:var(--surface-alt);color:var(--accent);box-shadow:0 1px 4px var(--shadow)}.protocol-document-search{margin-bottom:16px}.protocol-search-results{padding:16px;margin-bottom:18px}.protocol-search-results>button{display:flex;width:100%;align-items:center;gap:12px;text-align:left;border:0;border-top:1px solid var(--line);background:transparent;padding:11px 0;color:var(--accent);font:inherit;cursor:pointer}.protocol-search-results>button:first-of-type{margin-top:8px}.protocol-search-results span{font-size:11px;white-space:nowrap;color:var(--muted)}.protocol-search-results p{font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.protocol-section-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;align-items:start}.protocol-section-nav{padding:9px;position:sticky;top:20px;max-height:75vh;overflow:auto}.protocol-section-nav button{display:flex;flex-direction:column;gap:3px;width:100%;border:0;border-radius:2px;padding:10px 11px;text-align:left;background:transparent;font:inherit;cursor:pointer;color:var(--accent)}.protocol-section-nav button.active{color:var(--accent);background:var(--line)}.protocol-section-nav button.nested{padding-left:24px}.protocol-section-nav span{font-size:12px}.protocol-section-nav small{font-size:9px;color:var(--muted)}.protocol-section-empty{padding:15px;font-size:12px}.protocol-section-content{min-width:0}.protocol-section-content .section-header{margin:4px 0 14px}.protocol-section-content h2{font-size:19px;margin:7px 0}.protocol-section-input{min-height:260px;width:100%;font-family:GenRyuTW,Georgia,serif;font-size:13px!important;line-height:1.9!important;-moz-tab-size:2;tab-size:2}.protocol-preview-label{font-size:11px;color:var(--muted);margin:22px 0 10px}.protocol-section-preview{padding:25px;min-height:100px;overflow:auto}.protocol-source-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.protocol-source-pane,.protocol-source-preview{padding:0!important;overflow:hidden}.protocol-pane-header{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.protocol-pane-header small{margin-left:auto;color:var(--muted)}.protocol-source-input{border:0;outline:0;resize:vertical;background:var(--surface-alt);width:100%;height:640px;min-height:400px;padding:20px;font:12px/23px GenRyuTW,Georgia,serif;color:var(--accent);box-sizing:border-box;-moz-tab-size:2;tab-size:2}.protocol-preview-body{padding:22px;max-height:640px;overflow:auto;font-size:13px}.protocol-flow-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}.protocol-quickcard{padding:23px;background:var(--line)!important;position:sticky;top:20px}.protocol-quickcard h3{font-size:17px;margin:12px 0 20px}.protocol-quickcard .markdown{font-size:12px;line-height:1.9}.protocol-quickcard-rule{height:1px;background:var(--line);margin:24px 0}.protocol-flow-list{display:flex;flex-direction:column;gap:14px;min-width:0}.protocol-flow-node{padding:20px}.protocol-node-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.protocol-node-kind{display:flex;align-items:center;gap:9px;color:var(--accent);min-width:0}.protocol-node-kind strong{font-size:12px}.protocol-node-kind small{font-size:10px;color:var(--muted)}.protocol-node-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--line);border-radius:2px;font-size:12px;font-weight:600}.protocol-node-actions{display:flex;gap:1px}.protocol-flow-node.type-checkpoint{background:var(--warning-bg)!important;border-left:3px solid var(--warning-text)}.protocol-flow-node.type-pause{background:var(--surface-alt)!important;border-left:3px solid var(--muted)}.protocol-flow-node.type-section{background:var(--line)!important}.protocol-flow-node .markdown{font-size:13px}.protocol-node-card{background:var(--surface-alt);border:1px solid var(--line);border-radius:2px;padding:12px 15px;margin-top:16px;font-size:12px}.protocol-node-card>strong{font-size:10px;letter-spacing:.5px;color:var(--muted)}.protocol-node-timing{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:var(--muted);margin-top:15px}.protocol-document-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 6px;padding-top:16px;border-top:1px solid var(--line)}.protocol-line-context{display:flex;flex-direction:column;gap:8px;background:var(--surface-alt);border-radius:2px;padding:13px;font-size:11px;max-height:170px;overflow:auto}.protocol-line-context code{white-space:pre-wrap;color:var(--muted);font-size:10px;word-break:break-word}.protocol-line-context>span{color:var(--accent);font-weight:600;border-top:1px dashed var(--line-strong);border-bottom:1px dashed var(--line-strong);padding:6px 0}.protocol-checkbox{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:var(--accent);line-height:1.7}.protocol-checkbox input{margin-top:4px;accent-color:var(--accent)}.protocol-feedback .icon-button{flex-shrink:0}@media(max-width:1100px){.protocol-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.protocol-flow-layout{grid-template-columns:220px minmax(0,1fr))}.protocol-section-layout{grid-template-columns:180px minmax(0,1fr)}.protocol-node-kind small{display:none}.protocol-editor-top{gap:18px}.protocol-save-state{white-space:normal;font-size:10px}}@media(max-width:760px){.protocol-library-banner{padding:24px 21px;margin:20px 0}.protocol-library-banner h2{font-size:21px}.protocol-library-banner>svg{display:none}.protocol-library-grid{grid-template-columns:1fr}.protocol-library-toolbar .protocol-search-field{width:auto;flex:1}.protocol-library-toolbar{flex-wrap:nowrap!important}.protocol-editor-top{display:block;padding:16px}.protocol-save-state{padding:10px 0 0}.protocol-editor-toolbar{flex-direction:column;align-items:stretch}.protocol-tabs{justify-content:space-between}.protocol-tabs button{flex:1;padding:9px 7px;font-size:11px}.protocol-editor-toolbar>.button{justify-content:center}.protocol-section-layout,.protocol-source-layout,.protocol-flow-layout{grid-template-columns:1fr}.protocol-section-nav{position:static;max-height:none;display:flex;overflow-x:auto;white-space:nowrap;padding:6px;gap:3px}.protocol-section-nav button,.protocol-section-nav button.nested{width:auto;flex-shrink:0;padding:10px 12px}.protocol-section-nav small{display:none}.protocol-section-input{min-height:280px;font-size:12px!important}.protocol-source-input{height:460px;min-height:300px}.protocol-source-preview{max-height:500px}.protocol-preview-body{max-height:450px}.protocol-quickcard{position:static;padding:20px}.protocol-quickcard h3{margin:8px 0 12px}.protocol-quickcard-rule{margin:16px 0}.protocol-flow-node{padding:16px}.protocol-node-header{align-items:flex-start}.protocol-node-kind{flex-wrap:wrap;gap:6px}.protocol-node-actions .icon-button{padding:5px}.protocol-document-footer{align-items:flex-start;flex-direction:column}.protocol-running{align-items:flex-start;flex-wrap:wrap}.protocol-running>.button{margin-left:auto}.protocol-section-preview{padding:18px}}.protocol-import-jobs{margin:1rem 0;border:1px solid var(--line);padding:1rem}.protocol-import-jobs article{padding:1rem 0;border-bottom:1px solid var(--line)}.protocol-import-jobs article:last-child{border:0}.protocol-import-jobs progress{width:100%;accent-color:var(--accent)}.protocol-audit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin:1rem 0}.protocol-audit-grid section{min-width:0}.protocol-audit-grid iframe{width:100%;height:450px;border:1px solid var(--line)}.protocol-audit-grid textarea{min-height:480px}.protocol-audit-source,.protocol-ai-payload{white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;max-height:480px;padding:1rem;background:var(--surface-alt);color:var(--ink);font:inherit}@media(max-width:700px){.protocol-audit-grid{grid-template-columns:1fr}}.home-active-experiments{display:grid;gap:16px;margin:0 0 24px}.home-active-experiment{margin:0;min-width:0;border-left:4px solid #1685ff}.home-active-experiment h2{font-size:22px;margin:0 0 8px;overflow-wrap:anywhere}.home-current-step{margin:16px 0;overflow-wrap:anywhere}.home-current-step .markdown>:first-child{margin-top:0}.home-current-step .markdown>:last-child{margin-bottom:0}.home-current-step blockquote{margin:12px 0;padding-left:16px;border-left:2px solid var(--accent)}.experiment-controls .toolbar{flex-wrap:wrap}.home-navigation .entry-experiments.is-running{background-color:#087bff;background-image:linear-gradient(180deg,#268fff26,#0065e326);color:#fff}.home-navigation .entry-experiments.is-running:hover{background-color:#0066ed}@media(max-width:600px){.home-active-experiment h2{font-size:20px}.home-active-experiment .section-header{align-items:flex-start;gap:8px}.experiment-controls.is-compact .button{padding:10px 12px}}.run-timeline{margin-bottom:22px}.run-timeline .section-header{flex-wrap:wrap}.run-track{display:flex;overflow-x:auto;padding:8px 0 18px}.run-stop{border:0;background:none;text-align:left;min-width:190px;max-width:240px;display:flex;gap:9px;position:relative;font:inherit;cursor:pointer;padding:12px 12px 0 0;flex-shrink:0;color:var(--muted)}.run-stop:before{content:"";height:2px;background:var(--line);position:absolute;left:14px;right:0;top:25px}.run-dot{width:28px;height:28px;flex-shrink:0;background:var(--surface-alt);border:1px solid var(--line);z-index:1;border-radius:50%;display:grid;place-items:center;font-size:11px}.run-stop>span:last-child{position:relative;padding-top:33px;margin-left:-37px;max-width:200px}.run-stop small{font-size:10px;display:block}.run-stop strong{display:block;font-size:12px;margin-top:5px;font-weight:500;line-height:1.7;overflow-wrap:anywhere}.run-stop.done{color:var(--accent)}.run-stop.done .run-dot{background:var(--line);border-color:var(--line-strong)}.run-stop.current .run-dot{background:var(--ink);color:var(--on-accent);border-color:var(--ink);box-shadow:0 0 0 4px var(--line)}.run-clock-label{display:flex;gap:12px;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:5px}.run-time-bar{height:14px;border-radius:2px;background:var(--line);display:flex;overflow:hidden;margin:10px 0}.run-time-bar .active{background:var(--accent)}.run-time-bar .paused{background:var(--warning-text)}.run-time-bar .waiting{background:var(--line)}.run-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin:10px 0 18px}.run-legend span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:2px;background:var(--line)}.run-legend .active:before{background:var(--accent)}.run-legend .paused:before{background:var(--warning-text)}.run-event-list{list-style:none;padding:10px 0 0;margin:0;max-height:340px;overflow-y:auto}.run-event-list li{display:flex;gap:18px;font-size:12px;position:relative;padding:0 0 20px 18px;border-left:1px solid var(--line);margin-left:5px}.run-event-list li:before{content:"";position:absolute;left:-4px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--muted)}.run-event-list time{min-width:115px;color:var(--muted);font-size:11px}.run-event-list strong{font-weight:500;color:var(--accent)}.run-event-list p{margin:5px 0;white-space:pre-wrap}.lab-columns-editor{display:grid;gap:10px}.lab-column-config{display:flex;gap:7px;align-items:center}.lab-cell input,.lab-cell select{border:0;padding:9px;background:transparent;min-width:90px;width:100%}.lab-cell-error{background:var(--warning-bg)}.lab-cell-error-text{font-size:10px;color:var(--warning-text)}.lab-cell-match{background:var(--warning-bg)}.lab-table input:focus{outline:2px solid var(--muted)}.lab-table{border-collapse:collapse;width:100%}.lab-table td,.lab-table th{border:1px solid var(--line);padding:6px}.lab-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:16px}.lab-tabs button{border:1px solid var(--line);padding:10px;border-radius:2px;background:var(--surface-alt)}.lab-row-form{display:grid;gap:12px}.lab-column-config .input{min-width:0}.event-color-picker{margin:0;padding:12px 14px;border:1px solid var(--line-strong);min-width:0}.event-color-picker legend{padding:0 6px;font-size:12px;color:var(--muted)}.event-color-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.event-color-custom{display:flex;align-items:center;gap:10px;font-size:12px}.event-color-custom input{width:44px;height:34px;padding:2px;background:var(--surface);border:1px solid var(--frame,var(--line-strong));cursor:pointer}.event-color-presets{display:flex;gap:8px;flex-wrap:wrap}.event-color-presets button{width:25px;height:25px;border:1px solid var(--line-strong);border-radius:2px;box-shadow:var(--raised-shadow)}.event-color-presets button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px}.event-color-picker p{margin:10px 0 0}.app-header.has-experiment-status{gap:20px;flex-wrap:wrap}.experiment-header-status{margin-left:auto;min-width:0;font-size:12px;color:var(--muted)}.experiment-header-metrics{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.experiment-header-metrics strong{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}.experiment-header-extra{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;margin-top:5px}.has-experiment-status .header-actions{margin-left:0}.execution-layout.experiment-execution{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:24px}.experiment-execution>.execution-sidebar{position:sticky;top:18px;max-height:calc(100dvh - 36px);overflow:auto;min-width:0;scrollbar-gutter:stable}.execution-sidebar .run-timeline{padding:18px;margin:0}.run-timeline-vertical .section-header{gap:6px}.run-timeline-vertical h2{font-size:17px}.run-timeline-vertical .section-header .button{padding:5px 0;font-size:11px}.run-timeline-vertical .run-reading-hint{margin:10px 0 2px}.run-timeline-vertical .run-track{display:flex;flex-direction:column;overflow:visible;padding:8px 0 14px}.run-timeline-vertical .run-stop{min-width:0;max-width:none;width:100%;min-height:76px;padding:12px 8px 12px 0;gap:10px;flex-shrink:0}.run-timeline-vertical .run-stop:before{width:1px;height:auto;left:14px;right:auto;top:27px;bottom:-14px}.run-timeline-vertical .run-stop:last-child:before{display:none}.run-timeline-vertical .run-stop>span:last-child{padding-top:0;margin-left:0;max-width:none;flex:1;min-width:0}.run-timeline-vertical .run-stop.is-reading{background:var(--selection)}.run-timeline-vertical .run-stop strong{font-size:12px;line-height:1.7}.run-timeline-vertical .run-clock-label{flex-direction:column;gap:5px;margin-top:16px}.run-timeline-vertical .run-legend{gap:8px}.run-timeline-vertical .run-event-list li{flex-direction:column;gap:5px}.run-source-search{margin:6px 0 20px;font-size:12px;overflow-wrap:anywhere}.run-source-search .input{margin-bottom:12px}.execution-content{min-width:0}.execution-content .card{margin-bottom:0}.execution-quick-reference>summary{font-size:17px}.execution-quick-reference h3{font-size:15px;margin:0 0 10px}.execution-global-card{border-left:3px solid var(--accent);padding-left:16px}.execution-step-card{margin-top:18px}.execution-step-card .markdown>:last-child,.execution-global-card .markdown>:last-child{margin-bottom:0}@media(max-width:1150px){.has-experiment-status .header-actions{margin-left:auto}.has-experiment-status .experiment-header-status{order:4;flex-basis:100%;margin-left:0}}@media(max-width:900px){.execution-layout.experiment-execution{grid-template-columns:230px minmax(0,1fr);gap:18px}}@media(max-width:700px){.app-header.has-experiment-status{gap:8px}.experiment-execution.has-quick-reference>.execution-content{display:contents}.experiment-execution.has-quick-reference .execution-quick-reference{grid-row:1}.experiment-execution.has-quick-reference>.execution-sidebar{grid-row:2}.execution-layout.experiment-execution{grid-template-columns:minmax(0,1fr)}.experiment-execution>.execution-sidebar{position:static;max-height:330px}.experiment-header-metrics{gap:8px 12px;font-size:11px}.execution-global-card{padding-left:12px}}:root{--experiment-progress-row-height:70px;--experiment-progress-height:0px}.experiment-progress-stack{position:sticky;top:0;z-index:70;max-height:40dvh;overflow-y:auto;overscroll-behavior:contain}.experiment-page-progress{width:100%;min-height:64px;padding:10px 40px 12px;background:var(--surface);border-bottom:1px solid var(--frame,var(--line-strong));box-shadow:0 2px 8px var(--shadow)}.experiment-progress-caption{display:flex;min-width:0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px}.experiment-progress-times{display:flex;align-items:center;min-width:0;gap:14px;white-space:nowrap;color:var(--muted);font-size:11px}.experiment-page-progress .run-legend{margin:0;gap:14px}.experiment-page-progress .run-time-bar{height:10px;margin:0;border:1px solid var(--line-strong);border-radius:6px;box-shadow:var(--field-shadow)}.experiment-execution>.execution-sidebar{top:calc(var(--experiment-progress-height) + 18px);max-height:calc(100dvh - var(--experiment-progress-height) - 36px)}.execution-source-reader{--source-width:min(640px, calc(100vw - 48px) );position:fixed;right:0;top:var(--experiment-progress-height);bottom:0;width:0;z-index:60}.execution-source-tab{position:fixed;right:0;top:calc(var(--experiment-progress-height) + 28vh);writing-mode:vertical-rl;letter-spacing:.18em;padding:16px 9px;background:var(--surface);color:var(--ink);border:1px solid var(--frame,var(--line-strong));border-right:0;border-radius:4px 0 0 4px;box-shadow:var(--raised-shadow);transition:right .24s ease}.execution-source-panel{position:absolute;right:0;top:0;bottom:0;width:var(--source-width);display:flex;flex-direction:column;min-width:0;background:var(--surface);border-left:1px solid var(--frame,var(--line-strong));box-shadow:-6px 0 24px var(--shadow);transform:translate(100%);visibility:hidden;transition:transform .24s ease,visibility 0s linear .24s}.execution-source-reader.is-open .execution-source-panel{transform:translate(0);visibility:visible;transition-delay:0s}.execution-source-reader.is-open .execution-source-tab{right:var(--source-width)}.execution-source-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;border-bottom:1px solid var(--line);background:var(--surface-alt)}.execution-source-heading>div{min-width:0;overflow-wrap:anywhere}.execution-source-heading h2{font-size:18px;margin:0 0 8px}.execution-source-search{padding:16px 20px;border-bottom:1px solid var(--line)}.execution-source-search .button{margin-top:8px}.execution-source-body{flex:1;min-height:0;overflow:auto;padding:20px 24px;overscroll-behavior:contain}.execution-source-results>p{display:flex;align-items:flex-start;gap:12px;overflow-wrap:anywhere}.execution-source-results small{flex-shrink:0;color:var(--muted)}.execution-source-results span{min-width:0}@media(max-width:700px){.experiment-execution>.execution-sidebar{max-height:330px}}@media(max-width:600px){.experiment-page-progress{padding:10px 16px}.experiment-progress-caption{align-items:flex-start;gap:6px;flex-direction:column;margin-bottom:7px}.experiment-progress-times{gap:12px;font-size:10px}.experiment-page-progress .run-legend{font-size:9px;gap:10px}.execution-source-heading{padding:16px}.execution-source-search{padding:12px 16px}.execution-source-body{padding:16px}}@media(prefers-reduced-motion:reduce){.execution-source-panel,.execution-source-tab{transition:none}}.execution-source-reader{left:0;width:auto;overflow:clip;pointer-events:none}.execution-source-tab,.execution-source-panel{pointer-events:auto}.progress-run-name{border:0;background:none;color:var(--accent);padding:0;text-align:left;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-run-name:hover{text-decoration:underline}@media(max-width:900px){.experiment-progress-times{gap:8px}.progress-run-name{max-width:160px}}@media(max-width:600px){.experiment-progress-times{width:100%;font-size:9px}.progress-run-name{max-width:90px;flex-shrink:1}.experiment-progress-times>span{flex-shrink:0}}.experiment-progress-caption>.step-alarm-countdown{flex-shrink:0}@media(min-width:601px)and (max-width:1050px){.experiment-progress-caption{gap:8px}.experiment-progress-times{gap:6px;font-size:10px}.progress-run-name{max-width:120px}.experiment-page-progress .run-legend{font-size:9px;gap:6px}}.secondary-tabs{display:flex;gap:6px;padding:4px;background:var(--line);border-radius:2px;width:fit-content;margin:22px 0}.secondary-tabs button{border:0;padding:9px 17px;background:transparent;border-radius:2px;color:var(--accent);font:inherit;font-size:13px;cursor:pointer}.secondary-tabs button.active{background:var(--surface-alt);color:var(--ink);box-shadow:0 1px 5px var(--shadow);font-weight:650}.secondary-summary{display:flex;gap:20px;flex-wrap:wrap;margin:20px 0;color:var(--muted);font-size:13px}.secondary-summary strong{font-size:23px;color:var(--ink);margin-right:6px}.secondary-list{display:grid;gap:12px}.secondary-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px}.secondary-item-title{font-weight:650;color:var(--ink);margin:0 0 6px}.secondary-item-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted)}.secondary-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.secondary-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.secondary-form-grid .full{grid-column:1/-1}.secondary-error{background:var(--warning-bg);border:1px solid var(--warning-bg);color:var(--warning-text);padding:12px 14px;border-radius:2px;font-size:13px;margin:12px 0}.secondary-success{background:var(--surface-alt);border:1px solid var(--line);color:var(--accent);padding:12px 14px;border-radius:2px;font-size:13px;margin:12px 0}.secondary-warning{background:var(--warning-bg);color:var(--warning-text);border-radius:2px;padding:4px 8px;font-size:11px;display:inline-flex;align-items:center;gap:4px}.secondary-quiet{background:var(--surface-alt);color:var(--muted);border-radius:2px;padding:4px 8px;font-size:11px}.secondary-status{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.secondary-culture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.secondary-culture{padding:22px}.secondary-culture h3{margin:0 0 6px;font-size:17px}.secondary-culture-clock{font-size:25px;font-weight:650;color:var(--accent);letter-spacing:-.6px;margin:20px 0 4px}.secondary-culture footer{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.secondary-culture-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;font-size:12px}.secondary-culture-details span{display:block;color:var(--muted);margin-bottom:5px}.secondary-history{list-style:none;padding:0;margin:16px 0;max-height:220px;overflow:auto;font-size:12px}.secondary-history li{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--line)}.secondary-checkline{display:flex;align-items:center;gap:8px;font-size:13px}.secondary-checkline input{accent-color:var(--accent)}.week-nav{display:flex;align-items:center;gap:12px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:2px;overflow:hidden;min-width:840px}.week-day{background:var(--surface-alt);min-height:340px;padding:12px 10px}.week-day.is-today{background:var(--surface-alt)}.week-day-header{font-size:11px;color:var(--muted);text-align:center;padding:6px 0 16px}.week-day-header strong{display:block;font-size:23px;font-weight:550;color:var(--accent);margin-top:6px}.week-day.is-today .week-day-header strong{color:var(--surface-alt);background:var(--accent);border-radius:50%;width:36px;height:36px;line-height:36px;margin:3px auto 0}.week-event{display:block;width:100%;text-align:left;border:0;border-left:3px solid var(--muted);background:var(--line);color:var(--accent);border-radius:2px;margin:0 0 9px;padding:9px 8px;cursor:pointer;font-family:inherit}.week-event.course{background:var(--line);border-left-color:var(--muted);color:var(--accent)}.week-event.life{background:var(--warning-bg);border-left-color:var(--warning-text);color:var(--warning-text)}.week-event small{font-size:10px;display:block;margin-bottom:5px;opacity:.8}.week-event strong{font-size:12px;line-height:1.6;display:block;font-weight:600;overflow-wrap:anywhere}.week-empty{font-size:11px;color:var(--line-strong);text-align:center;padding-top:25px}.week-scroll{overflow-x:auto}.calendar-legend{display:flex;gap:15px;font-size:12px;color:var(--muted);margin:16px 0}.calendar-legend span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--muted);margin-right:6px}.calendar-legend span:first-child:before{background:var(--muted)}.calendar-legend span:last-child:before{background:var(--warning-text)}.weekday-select{display:flex;flex-wrap:wrap;gap:7px}.weekday-select button{width:34px;height:34px;border:1px solid var(--line);background:var(--surface-alt);border-radius:2px;color:var(--muted);cursor:pointer}.weekday-select button.selected{background:var(--accent);border-color:var(--accent);color:var(--surface-alt)}.schedule-job{border:1px solid var(--line);border-radius:2px;padding:16px;margin:14px 0}.schedule-job-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.schedule-step{display:grid;grid-template-columns:minmax(0,1fr) 100px 100px;gap:10px;align-items:center;margin-bottom:9px;font-size:12px}.schedule-step>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-draft{border-left:3px solid var(--muted);padding:8px 12px;background:var(--surface-alt);margin:8px 0;font-size:12px;border-radius:2px}.meal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.meal-card{padding:22px}.meal-card h3{font-size:15px;font-weight:650;margin:0 0 12px}.meal-card textarea{min-height:95px;resize:vertical}.meal-label{display:flex;align-items:center;gap:8px;color:var(--accent);margin-bottom:15px}.life-task{display:flex;gap:12px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line)}.life-task:last-child{border-bottom:0}.life-task input[type=checkbox]{margin-top:4px;width:17px;height:17px;accent-color:var(--accent);cursor:pointer}.life-task-main{flex:1;min-width:0}.life-task-title{font-size:14px;color:var(--ink)}.life-task.done .life-task-title{text-decoration:line-through;color:var(--muted)}.life-task-meta{font-size:11px;color:var(--muted);margin-top:5px;display:flex;gap:10px}.life-goal{padding:20px}.life-goal h3{font-size:16px;margin:0 0 10px}.life-goal-progress{height:5px;background:var(--line);border-radius:2px;overflow:hidden;margin:14px 0}.life-goal-progress span{display:block;background:var(--muted);height:100%;border-radius:2px}.body-chart{width:100%;height:190px}.body-chart-wrap{padding:20px 10px 0}.body-chart-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding:0 16px}.secondary-mobile-label{display:none}.secondary-inline-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.secondary-inline-form>label{flex:1;min-width:125px}.secondary-inline-form button{margin-bottom:2px}.secondary-muted-help{font-size:12px;color:var(--muted);line-height:1.7;margin-top:10px}.secondary-list .card{box-shadow:none}.secondary-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.secondary-toolbar .input{max-width:290px}.secondary-empty-small{padding:26px 14px;text-align:center;color:var(--muted);font-size:13px}.secondary-delete-summary{background:var(--surface-alt);border-radius:2px;padding:15px;margin:14px 0;color:var(--accent);font-size:13px}.secondary-count{font-size:11px;color:var(--muted);margin-left:7px}.secondary-pill{padding:3px 8px;border-radius:2px;background:var(--surface-alt);color:var(--muted);font-size:11px}.secondary-caption{font-size:12px;color:var(--muted);line-height:1.7}.schedule-preview-list{max-height:260px;overflow:auto}.secondary-color-muted{color:var(--muted)}.secondary-col-title{font-size:11px;color:var(--muted)}.secondary-sticky-footer{position:sticky;bottom:0;background:var(--surface-alt);padding-top:14px;border-top:1px solid var(--line);margin-top:18px;display:flex;justify-content:flex-end;gap:8px}@media(max-width:760px){.secondary-form-grid,.meal-grid{grid-template-columns:1fr}.secondary-item{align-items:flex-start;flex-wrap:wrap;padding:16px}.secondary-item-actions{width:100%;justify-content:flex-end}.secondary-summary{gap:15px}.secondary-summary strong{font-size:20px}.schedule-step{grid-template-columns:minmax(0,1fr) 80px 80px}.secondary-culture-grid{grid-template-columns:1fr}.secondary-toolbar .input{max-width:none;flex:1}.week-nav{width:100%;justify-content:space-between}.secondary-tabs{max-width:100%;overflow-x:auto}.secondary-tabs button{white-space:nowrap;padding:8px 13px}.secondary-inline-form{align-items:stretch;flex-direction:column}.secondary-inline-form>label{min-width:0}.secondary-inline-form button{align-self:flex-start}}.lab-stock{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-top:14px;font-size:13px}.lab-stock strong{font-size:23px;color:var(--ink)}.secondary-item-meta svg{vertical-align:middle}.secondary-culture-clock{font-size:23px}.secondary-history time{flex-shrink:0;color:var(--muted)}.parallel-timelines{margin:0 0 30px;min-width:0}.axis-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.axis-toolbar h2{font-size:16px;margin:0}.axis-key{display:flex;align-items:center;gap:14px;font-size:10px;color:var(--muted)}.axis-key>span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;background:var(--accent)}.axis-key>.paused:before{background:var(--muted)}.axis-key>.waiting:before{background:var(--line-strong)}.parallel-scroll{overflow-x:auto;max-width:100%;padding-bottom:8px;scrollbar-color:var(--line-strong) var(--surface-alt);scrollbar-width:thin}.parallel-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.parallel-canvas{position:relative;width:1582px;padding-right:2px}.axis-row,.axis-ruler{display:grid;grid-template-columns:140px 1440px;min-height:72px}.axis-ruler{height:34px;min-height:0}.axis-label{position:sticky;left:0;z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;border:0;border-right:1px solid var(--line);border-radius:0;background:var(--bg);color:var(--ink);padding:8px 12px 8px 0;font-size:12px;min-width:0;text-align:left}.axis-label strong{font-size:12px;font-weight:600;width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.axis-label small{font-size:10px;color:var(--muted)}button.axis-label:hover{color:var(--accent)}.axis-ruler>.axis-label{font-size:10px;color:var(--muted)}.axis-hours{position:relative;font-family:Righteous,sans-serif;color:var(--muted);font-size:10px}.axis-hours time{position:absolute;bottom:9px;transform:translate(-50%)}.axis-hours time:first-child{transform:none}.axis-hours time:last-child{transform:translate(-100%)}.axis-track{position:relative;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to right,var(--line) 0,var(--line) 1px,transparent 1px,transparent 60px)}.axis-event,.axis-segment{position:absolute;min-width:1px;height:30px;border-radius:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;border:1px solid var(--accent);padding:5px 7px;background:var(--selection);color:var(--ink)}.axis-event{padding:0}.axis-event strong{display:block;overflow:hidden;text-overflow:ellipsis;padding:6px;font-weight:400}.axis-event.course{background:var(--surface);border-color:var(--line-strong)}.axis-event.life{background:var(--surface-alt);border-color:var(--muted)}.axis-event.completed strong{text-decoration:line-through}.axis-event:hover,.axis-segment:hover{filter:brightness(.93)}.axis-experiment{height:62px}.axis-segment{top:18px;height:24px;padding:0;border:0}.axis-segment span{display:block;padding:4px 7px;overflow:hidden;text-overflow:ellipsis}.axis-segment.active{background:var(--accent);color:var(--on-accent)}.axis-segment.paused{background:var(--muted);color:var(--surface)}.axis-segment.waiting{background:var(--line);color:var(--ink)}.axis-now{position:absolute;top:26px;bottom:0;border-left:1px solid var(--accent);z-index:2;pointer-events:none}.axis-now>span{position:absolute;top:-24px;left:0;transform:translate(-50%);background:var(--bg);padding:3px 6px;color:var(--accent);font:12px Righteous,sans-serif}.axis-current{position:absolute;top:22px;width:15px;height:15px;transform:translate(-50%) rotate(45deg);border:2px solid var(--bg);background:var(--accent);z-index:3;padding:0;border-radius:0}@media(max-width:600px){.axis-key{gap:9px;flex-wrap:wrap}.axis-toolbar .button{padding:5px 8px}.axis-toolbar{gap:5px}.parallel-timelines{margin-bottom:24px}}.axis-run{position:absolute;top:0;height:68px}.axis-run-name{position:sticky;left:146px;display:block;top:3px;max-width:100%;padding:0;border:0;background:var(--bg);color:var(--ink);font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:17px}.axis-run .axis-segment{top:25px;height:20px}.axis-run .axis-current{top:28px}.axis-key button[aria-pressed=true]{background:var(--selection)}.scheduling-projects{display:grid;gap:8px}.scheduling-project{display:flex;justify-content:space-between;gap:16px;text-align:left;padding:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit}.scheduling-project span,.scheduling-steps small{color:var(--muted);font-size:.85rem}.scheduling-steps{display:grid;gap:8px;padding-left:20px}.scheduling-steps li span,.scheduling-steps small{display:block}.scheduling-step-editor{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end}.scheduling-step-editor .field{min-width:0}.scheduling-step-editor .input{width:100%}@media(max-width:600px){.scheduling-step-editor{grid-template-columns:1fr 1fr}.scheduling-project{flex-direction:column}}.calendar-controls,.calendar-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:20px 0}.calendar-controls .toolbar{flex-wrap:wrap}.calendar-controls strong{font-size:15px}.calendar-switch{display:flex;padding:4px;background:var(--line);border-radius:2px}.calendar-switch button{border:0;background:transparent;padding:9px 18px;border-radius:2px;color:var(--accent);font:inherit;cursor:pointer}.calendar-switch [aria-pressed=true]{background:var(--surface);box-shadow:0 2px 5px var(--shadow);font-weight:650}.calendar-tools{font-size:12px;color:var(--muted)}.calendar-tools input{border:1px solid var(--line);padding:7px;border-radius:2px;color:var(--accent);background:var(--surface)}.calendar-legend{margin:0}.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:2px;overflow:hidden;background:var(--surface-alt)}.month-weekday{text-align:center;padding:12px;font-size:12px;color:var(--muted);background:var(--surface-alt)}.month-cell{min-height:140px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:8px;position:relative}.month-date{border:0;background:none;border-radius:50%;height:29px;width:29px;font:inherit;cursor:pointer;font-size:13px;margin-bottom:5px}.month-event{display:block;width:100%;border:0;border-left:3px solid var(--accent);border-radius:2px;background:var(--line);color:var(--accent);padding:5px;margin:3px 0;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;font:inherit;font-size:11px}.month-event.course,.time-event.course{background:var(--surface-alt);border-color:var(--muted);color:var(--accent)}.month-event.life,.time-event.life{background:var(--warning-bg);border-color:var(--warning-text);color:var(--warning-text)}.month-add{position:absolute;right:7px;top:9px;border:0;background:none;color:var(--muted);cursor:pointer;font-size:17px}.month-more{border:0;background:none;font-size:11px;color:var(--accent);cursor:pointer}.calendar-scroll{max-height:690px;overflow:auto;border:1px solid var(--line);border-radius:2px;background:var(--surface-alt);position:relative;scrollbar-gutter:stable}.time-calendar{display:grid;position:relative}.time-calendar.week{min-width:840px}.time-heading{position:sticky;top:0;z-index:4;background:var(--surface-alt);border-bottom:1px solid var(--line);padding:12px 4px;text-align:center;font-size:12px;color:var(--muted);display:flex;justify-content:center;gap:3px;align-items:center;min-height:48px}.time-heading button{border:0;background:none;color:inherit;font:inherit;cursor:pointer;padding:2px}.time-heading.today{background:var(--line);color:var(--ink)}.time-heading strong{display:block}.time-labels{height:1440px;position:relative;background:var(--surface-alt)}.time-labels span{position:absolute;right:6px;font-size:10px;color:var(--muted);transform:translateY(-50%)}.time-labels span:first-child{transform:none}.time-labels span:last-child{transform:translateY(-100%)}.time-column{height:1440px;position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,var(--surface-alt) 29px,var(--surface-alt) 30px)}.hour-line{height:1px;background:var(--line);position:absolute;left:0;right:0}.time-event{position:absolute;border:0;border-left:3px solid var(--accent);border-radius:2px;background:var(--line);color:var(--accent);padding:3px 5px;text-align:left;overflow:hidden;cursor:pointer;z-index:1;box-shadow:0 1px 2px var(--shadow);font:inherit}.time-event small{display:block;font-size:10px;line-height:1.5}.time-event strong{display:block;font-size:12px;overflow-wrap:anywhere;line-height:1.5}.time-event:focus-visible{z-index:3;outline:2px solid var(--accent)}.now-line{position:absolute;left:0;right:0;height:2px;background:var(--warning-text);pointer-events:none;z-index:2}.now-line span{position:absolute;left:0;top:-14px;font-size:9px;color:var(--warning-text)}.calendar-import{margin-top:18px}.calendar-import summary{cursor:pointer}@media(max-width:600px){.calendar-controls{gap:10px}.calendar-switch{width:100%}.calendar-switch button{flex:1}.month-cell{min-height:112px;padding:3px}.month-weekday{padding:10px 0}.month-event{font-size:10px;padding:3px}.month-event span{display:none}.month-add{right:1px;font-size:14px}.month-date{font-size:11px;width:24px;height:24px}.calendar-scroll{max-height:65vh}.calendar-tools{gap:9px}.calendar-import input{max-width:100%}}.life-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:26px}.life-controls>label{display:flex;align-items:center;gap:12px;font-size:13px}.life-controls input{width:auto}.life-meals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.life-meals .card{min-height:190px}.life-meals h2{font-size:18px}.life-meal-text{white-space:pre-wrap;overflow-wrap:anywhere}.life-task{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.life-task>label{display:flex;align-items:center;gap:12px;flex:1;min-width:120px}.life-task input{accent-color:var(--accent)}.life-task>p,.life-task>details{flex-basis:100%;margin:0}.life-task strong{overflow-wrap:anywhere}.life-task details{font-size:12px}.life-trend-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.life-trend svg{width:100%;height:auto;display:block;max-height:220px}.life-axis{stroke:var(--line-strong)}.life-trend-line{fill:none;stroke:var(--accent);stroke-width:2}.life-trend-point{fill:var(--accent);stroke:var(--surface);stroke-width:1.5}.life-trend-labels{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:11px}.life-table-caption{text-align:left;padding:0 0 10px;color:var(--muted);font-size:12px}@media(max-width:700px){.life-meals{grid-template-columns:1fr}.life-meals .card{min-height:0}.life-trend-controls{grid-template-columns:1fr}.life-controls{align-items:flex-start}.life-task{gap:12px}.life-task>span{font-size:11px}}.life-goals{margin-top:32px}.life-subtasks{flex-basis:100%;display:grid;gap:12px}.life-subtasks label{display:flex;gap:12px;align-items:center}.life-subtask-editor{display:grid;gap:12px}.life-subtask-edit-row{display:flex;align-items:center;gap:10px}.life-subtask-edit-row .input{min-width:0;flex:1}.life-subtask-edit-row .button{flex-shrink:0}.life-subtasks .done{text-decoration:line-through;color:var(--muted)}:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:var(--ink);background:var(--surface-alt);font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-.8px;font-weight:650;margin-bottom:10px}h2{font-size:19px;font-weight:650}h3{font-size:16px}p{line-height:1.8}svg{flex-shrink:0}.app{display:flex;min-height:100vh}.sidebar{width:226px;position:fixed;inset:0 auto 0 0;background:var(--surface-alt);border-right:1px solid var(--line);padding:35px 21px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:700;letter-spacing:3px;margin-bottom:50px}.brand>span{width:45px;height:45px;background:var(--ink);border-radius:2px;color:var(--on-accent);display:grid;place-items:center}.brand small{display:block;font-size:9px;letter-spacing:2.8px;font-weight:500;color:var(--muted);margin-top:3px}.nav-label{font-size:11px;color:var(--muted);padding-left:15px;letter-spacing:1px}nav{display:grid;gap:7px}nav button{display:flex;gap:12px;align-items:center;border:0;background:transparent;padding:13px 15px;border-radius:2px;text-align:left;color:var(--muted)}nav button.selected{background:var(--line);color:var(--ink);font-weight:650}.nav-dot{width:5px;height:5px;border-radius:50%;background:var(--muted);margin-left:auto}.sidebar-footer{margin-top:auto;font-size:12px;color:var(--muted);padding:18px 10px}.sidebar-footer small{display:block;color:var(--muted);font-size:10px;margin-top:10px}.online-dot{display:inline-block;width:6px;height:6px;background:var(--muted);border-radius:50%;margin-right:8px}.workspace{margin-left:226px;flex:1;min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);padding:0 43px;display:flex;align-items:center;justify-content:space-between;background:var(--surface-alt);font-size:12px}.sync-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:2px;padding:8px 13px;color:var(--muted)}main{max-width:1400px;margin:0 auto;padding:38px 43px 60px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:30px}.page-heading p{color:var(--muted);margin-bottom:0}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;color:var(--muted);margin-bottom:12px}.hero{border-radius:2px;background:var(--ink);color:var(--on-accent);padding:38px 40px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;margin-bottom:25px;min-height:240px}.hero h2{font-size:30px;letter-spacing:1px;margin-bottom:12px}.hero p{color:var(--line-strong);font-size:13px}.hero .eyebrow{color:var(--muted)}.hero-art{display:flex;align-items:center;flex-direction:column;gap:22px;color:var(--muted);padding-right:20px}.hero-art>span{font-size:9px;letter-spacing:2px}.orb{width:150px;height:150px;border:1px solid var(--muted);border-radius:50%;display:grid;place-items:center;outline:1px solid var(--accent);outline-offset:17px;background:radial-gradient(circle,var(--accent),transparent)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat-card{background:var(--surface);border:1px solid var(--line);padding:22px 25px;border-radius:2px}.stat-card>span{font-size:12px;color:var(--muted)}.stat-card strong{display:block;font-size:31px;font-weight:500;margin-top:14px}.stat-card small{font-size:11px;color:var(--muted);margin-left:9px;font-weight:400}.card{background:var(--surface-alt);border:1px solid var(--line);border-radius:2px;padding:24px;margin-bottom:18px;text-align:left;min-width:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.section-header,.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.section-header{justify-content:space-between;margin-bottom:18px}.section-header h2{margin:0}.section-header .eyebrow{margin:0;font-size:8px}.toolbar .input{flex:1;min-width:100px}.stack{display:flex;flex-direction:column;gap:16px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:10px 16px;border:1px solid transparent;border-radius:2px;font-weight:550;font-size:12px;white-space:nowrap}.button-primary:hover{background:var(--ink)}.button-secondary{background:var(--surface-alt);border-color:var(--line);color:var(--accent)}.button-ghost{background:transparent;color:var(--accent)}.button-danger{background:var(--warning-bg);color:var(--warning-text)}.input,.textarea,.select{border:1px solid var(--line);background:var(--surface-alt);padding:11px 13px;border-radius:2px;width:100%;color:var(--ink);outline:none}.input:focus,.textarea:focus,.select:focus{border-color:var(--muted);box-shadow:0 0 0 3px var(--shadow)}.textarea{resize:vertical;min-height:110px;line-height:1.8}.note-input{background:var(--surface-alt);border:0;min-height:140px;margin-bottom:15px}.field{display:flex;flex-direction:column;gap:8px}.field-label{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:11px}.note{padding:20px 0 5px;border-top:1px solid var(--line);margin-top:20px;position:relative}.note p{white-space:pre-wrap}.note .icon-button{float:right}.task{display:flex;gap:13px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}.task input{accent-color:var(--accent);width:17px;height:17px}.done{text-decoration:line-through;color:var(--muted)}.empty-state{text-align:center;padding:42px 18px;color:var(--muted)}.empty-state h3{color:var(--accent);margin-top:14px}.empty-state p{font-size:12px}.empty-icon{color:var(--muted)}.badge,.tag{display:inline-flex;font-size:11px;padding:5px 9px;background:var(--line);color:var(--accent);border-radius:2px}.icon-button{border:0;background:transparent;color:var(--muted);padding:6px;display:inline-flex;align-items:center;justify-content:center}.notice,.error{padding:13px 17px;border-radius:2px;background:var(--warning-bg);color:var(--warning-text);margin-bottom:14px;font-size:12px}.error{background:var(--warning-bg);color:var(--warning-text)}.page-footer{padding:20px 43px;color:var(--muted);font-size:10px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--shadow);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--surface);border-radius:2px;padding:28px;width:500px;max-width:100%;max-height:90vh;overflow:auto;outline:0}.modal-wide{width:850px}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.modal-heading h2{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.markdown{line-height:1.9;overflow-wrap:anywhere}.markdown table{border-collapse:collapse;width:100%;font-size:12px}.markdown td,.markdown th{border:1px solid var(--line);padding:8px}.markdown blockquote,blockquote{border-left:3px solid var(--line-strong);background:var(--surface-alt);padding:10px 18px;margin:12px 0}.markdown img{max-width:100%}.markdown pre,pre{overflow:auto;max-height:300px;font-size:12px;white-space:pre-wrap}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table td,.data-table th{border:1px solid var(--line);padding:10px}.execution-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px}.execution-layout>aside{align-self:start;max-height:75vh;overflow:auto;position:sticky;top:10px}.node-link{display:flex;flex-direction:column;gap:8px;width:100%;border:0;background:transparent;text-align:left;padding:13px 10px;border-radius:2px;margin-top:8px;color:var(--muted)}.node-link.active{background:var(--line);color:var(--accent)}.node-link small{font-size:10px}.node-link span{line-height:1.6;font-size:12px}.search-input{margin-bottom:20px}.search-result{display:block;width:100%;overflow:hidden}.experiment-card{cursor:pointer}details summary{cursor:pointer;font-weight:600}details[open] summary{margin-bottom:15px}@media(max-width:1000px){.sidebar{width:190px}.workspace{margin-left:190px}main{padding:28px 24px}.topbar{padding:0 24px}.hero-art{display:none}.execution-layout{grid-template-columns:200px minmax(0,1fr)}}@media(max-width:700px){.sidebar{position:sticky;top:0;width:100%;height:auto;padding:12px;background:var(--surface-alt);z-index:20;border-bottom:1px solid var(--line)}.brand{font-size:19px;margin:0 0 10px}.brand>span{width:32px;height:32px}.brand small,.nav-label,.sidebar-footer{display:none}.app{display:block}nav{display:flex;overflow:auto;gap:3px}nav button{font-size:11px;padding:9px;white-space:nowrap;gap:5px}nav svg{width:16px}.nav-dot{display:none}.workspace{margin:0}.topbar{height:48px;padding:0 18px}main{padding:25px 16px}.page-heading{align-items:flex-start;flex-direction:column}h1{font-size:24px}.hero{padding:28px;min-height:220px}.hero h2{font-size:24px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:17px}.grid-2,.grid-3{grid-template-columns:1fr;gap:10px}.execution-layout{grid-template-columns:1fr}.execution-layout>aside{position:static;max-height:220px}.card{padding:18px}.page-footer{padding:20px;gap:10px}.page-footer span{display:none}.modal{padding:20px}}@font-face{font-family:GenRyuTW;src:url(/fonts/GenRyuMin2TW-H.woff2) format("woff2");font-weight:900;font-display:swap}@font-face{font-family:GenRyuTW;src:url(/fonts/GenRyuMin2TW-R.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:GenRyuTW;src:url(/fonts/GenRyuMin2TW-SB.woff2) format("woff2");font-weight:600 800;font-display:swap}:root{--bg:#f3f5f9;--surface:#fff;--surface-alt:#f8faff;--ink:#17263b;--muted:#566a83;--accent:#2458bd;--on-accent:#fff;--line:#d5deeb;--line-strong:#98abc4;--selection:#e7efff;--warning-bg:#fff2dc;--warning-text:#805321;--shadow:#16305b18;color-scheme:light;font-family:GenRyuTW,Georgia,Times New Roman,serif;font-synthesis:none;font-size:14px;color:var(--ink);background:var(--bg)}:root[data-theme=dark]{--bg:#0c1422;--surface:#111e30;--surface-alt:#16253a;--ink:#e2eaf7;--muted:#a4b4cc;--accent:#92b7ff;--on-accent:#0c1422;--line:#2c405c;--line-strong:#667f9f;--selection:#213958;--warning-bg:#352b1d;--warning-text:#f7cb78;--shadow:#00000040;color-scheme:dark}body{background:var(--bg);color:var(--ink)}h1,h2,h3{font-weight:600;letter-spacing:0}a{color:var(--accent)}button,input,textarea,select{font-family:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.button-primary{background:var(--accent);color:var(--on-accent)}.button-primary:hover{background:var(--accent);filter:brightness(.92)}.button-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.button-ghost{color:var(--accent)}.input,.textarea,.select{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.card,.modal{background:var(--surface);border-color:var(--line);border-radius:2px}.badge,.tag{background:var(--selection);color:var(--accent)}.muted,.field-label{color:var(--muted)}.notice,.error,.button-danger{background:var(--warning-bg);color:var(--warning-text)}.modal-backdrop{background:color-mix(in srgb,var(--bg) 60%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{border:1px solid var(--line-strong)}@font-face{font-family:Righteous;src:url(/fonts/Righteous-Regular.woff2) format("woff2");font-weight:400;font-display:swap}.app{display:block}.workspace{margin:0;padding:0;min-width:0}.app-header{display:flex;align-items:center;gap:28px;min-height:84px;padding:18px 40px;border-bottom:2px solid var(--ink);background:var(--surface)}.brand{font-family:Righteous,Arial Rounded MT Bold,sans-serif;display:block;font-size:30px;font-weight:400;letter-spacing:-.7px;margin:0;padding:5px 0;white-space:nowrap;color:var(--ink);line-height:1.3;border:0;background:transparent;text-align:left}.brand:hover{color:var(--accent)}.header-location,.header-actions{display:flex;align-items:center;gap:12px}.header-location{color:var(--muted);font-size:13px}.header-actions{margin-left:auto;gap:4px}.app-header .icon-button{width:40px;height:40px;border:1px solid transparent;border-radius:0;color:var(--ink)}.app-header .icon-button:hover{background:var(--selection);border-color:var(--line-strong)}.connection-state{display:flex;align-items:center;justify-content:center;width:32px;color:var(--muted);margin-right:10px}main{max-width:1280px;padding:32px 40px 60px}.page-heading .eyebrow{display:none}.page-heading h1{font-size:26px}.page-heading p{color:var(--muted)}.home-navigation{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:96px 96px 76px;gap:5px;padding:5px;margin:0 0 32px;background:var(--ink);overflow:visible}.home-navigation .entry-tile{position:relative;display:flex;align-items:flex-end;padding:22px;border:0;border-radius:0;white-space:normal;min-width:0;background:var(--surface);color:var(--ink);transition:background-color .18s,color .18s}.entry-number{position:absolute;top:15px;left:20px;font:11px Righteous,sans-serif;opacity:.7}.entry-label{font-size:22px;font-weight:600;line-height:1.4}.entry-arrow{position:absolute;right:18px;top:15px;transition:transform .18s}.entry-tile:hover .entry-arrow{transform:translate(3px,-3px)}.home-navigation .entry-tile:hover{background:var(--selection);color:var(--ink)}.entry-tile:focus-visible{outline:3px solid var(--accent);outline-offset:7px;z-index:1}.entry-projects{grid-area:1/1/3/4}.home-navigation .entry-projects{background:var(--selection)}.entry-protocols{grid-area:1/4/2/9}.entry-inventory{grid-area:2/4/3/9}.home-navigation .entry-inventory{background:var(--surface-alt)}.entry-experiments{grid-area:1/9/3/13}.home-navigation .entry-experiments{background:#2359c4;color:#fff}.entry-experiments .entry-label{font-size:27px}.entry-schedule{grid-area:3/1/4/7}.home-navigation .entry-schedule{background:#193965;color:#fff}.entry-tasks{grid-area:3/7/4/13}.home-navigation .entry-tasks{background:var(--selection)}.entry-schedule .entry-number,.entry-tasks .entry-number{display:none}.entry-schedule .entry-label,.entry-tasks .entry-label{font-size:18px}.search-dialog{position:fixed;inset:auto;margin:0;width:min(420px,calc(100% - 24px));max-height:min(480px,60dvh);padding:0;border:1px solid var(--line-strong);border-top:4px solid var(--accent);border-radius:0;background:var(--surface);color:var(--ink);box-shadow:0 12px 30px var(--shadow);overflow:auto;z-index:80}.search-dialog[open]{animation:search-expand .24s cubic-bezier(.2,.8,.2,1) both;transform-origin:top left}.search-dialog-bar{display:flex;align-items:center;gap:8px;padding:10px;position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--line);z-index:1}.search-dialog-bar .input{border:0;box-shadow:none;min-width:0;font-size:14px;background:transparent}.search-dialog-bar .input:focus-visible{outline:1px solid var(--accent)}.search-dialog-bar .icon-button{min-width:40px;min-height:40px}.search-count{margin:0;padding:14px 22px;font-size:12px;color:var(--muted)}.search-dialog .search-result{border:0;border-top:1px solid var(--line);padding:18px 22px;background:var(--surface);color:var(--ink);text-align:left;overflow-wrap:anywhere}.search-dialog .search-result:hover{background:var(--selection)}.search-result .eyebrow{display:block;font-size:10px;margin-bottom:6px}.search-result h3{margin-bottom:8px}.search-result p{font-size:12px;margin:0;color:var(--muted)}@keyframes search-expand{0%{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes search-veil{0%{opacity:0}to{opacity:1}}.today-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:20px;margin-bottom:28px;flex-wrap:wrap}.today-heading h1{font-size:22px;margin:0;line-height:1.5}.today-heading>div{display:flex;gap:20px;font-size:12px;color:var(--muted)}.today-heading strong{font-size:22px;color:var(--accent);font-weight:600;margin-left:7px}.today-shortcuts{display:flex;gap:12px;padding:20px 0 32px}.today-shortcuts .button{min-width:160px}.today-agenda{border-top:4px solid var(--accent);margin-bottom:30px;background:var(--surface);border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.today-agenda>.section-header{padding:14px 18px;margin:0;border-bottom:1px solid var(--line)}.today-agenda h2{font-size:17px}.today-time-scroll{height:350px;overflow:auto;scrollbar-gutter:stable}.today-time-grid{display:grid;grid-template-columns:60px minmax(0,1fr)}.today-run{margin-bottom:28px}.today-run>.section-header h2{font-size:18px}.today-run .run-timeline{padding:18px;margin-bottom:0}.capture-panel{border-top:2px solid var(--ink);padding-top:20px;margin-top:24px}.capture-panel h2{font-size:19px}.capture-switch{display:flex;border:1px solid var(--line-strong)}.capture-switch button{border:0;border-radius:0;color:var(--muted);background:var(--surface);padding:8px 20px;font-size:12px}.capture-switch [aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.capture-panel .textarea{min-height:110px}.capture-actions{display:flex;gap:12px;justify-content:flex-end;margin:12px 0}.capture-task,.assigned-task{display:flex;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.capture-task label,.assigned-task label{display:flex;align-items:center;gap:12px;flex:1;min-width:0;overflow-wrap:anywhere}.capture-task input,.assigned-task input{accent-color:var(--accent)}.assigned-task p{flex-basis:100%;font-size:12px;margin:0;color:var(--muted)}.task-create{margin-bottom:24px}.task-inbox-row{display:flex;justify-content:space-between;gap:20px;align-items:center}.task-inbox-row h3{margin-bottom:7px;overflow-wrap:anywhere}.task-inbox-row>div{min-width:0}.note{border-color:var(--line)}.done,.completed strong{text-decoration:line-through;opacity:.7}.calendar-switch,.secondary-tabs{background:var(--line);border-radius:2px}.calendar-switch [aria-pressed=true],.secondary-tabs button.active{background:var(--surface);color:var(--accent);box-shadow:none}.calendar-switch button{color:var(--muted)}.calendar-month,.calendar-scroll{background:var(--surface);border-color:var(--line);border-radius:2px}.month-weekday,.time-heading,.time-labels{background:var(--surface-alt);color:var(--muted)}.time-heading.today{background:var(--selection);color:var(--accent)}.month-cell{border-color:var(--line)}.month-cell.outside{background:var(--surface-alt);color:var(--muted)}.month-date{color:var(--ink)}.today .month-date{background:var(--accent);color:var(--on-accent)}.month-event,.time-event{background:var(--selection);border-color:var(--accent);color:var(--ink);border-radius:0}.month-event.course,.time-event.course{background:var(--surface-alt);border-color:var(--line-strong);color:var(--ink)}.month-event.life,.time-event.life{background:var(--selection);border-color:var(--muted);color:var(--ink)}.calendar-tools input{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.time-column{border-color:var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,var(--surface-alt) 29px,var(--surface-alt) 30px)}.hour-line{background:var(--line)}.now-line{background:var(--accent)}.now-line span{color:var(--accent)}.calendar-legend span:before{background:var(--accent)}.calendar-legend span:first-child:before{background:var(--line-strong)}.calendar-legend span:last-child:before{background:var(--muted)}.weekday-select button{background:var(--surface);color:var(--ink);border-color:var(--line)}.weekday-select button.selected{background:var(--accent);color:var(--on-accent)}.run-dot{background:var(--surface-alt);border-color:var(--line-strong)}.run-stop.done{color:var(--accent);text-decoration:none}.run-stop.done .run-dot{background:var(--selection);border-color:var(--accent)}.run-stop.current{color:var(--ink)}.run-stop.current .run-dot{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:0 0 0 3px var(--selection)}.run-stop:before{background:var(--line)}.run-time-bar .active,.run-legend .active:before{background:var(--accent)}.run-time-bar .paused,.run-legend .paused:before{background:var(--muted)}.run-time-bar .waiting,.run-legend .waiting:before{background:var(--line)}.run-stop.current strong{font-weight:600}.node-link.active{background:var(--selection);color:var(--ink)}@media(max-width:900px){.app-header{padding:16px 24px;gap:18px}main{padding:28px 24px 50px}.today-heading h1{font-size:21px}.entry-label{font-size:20px}.entry-experiments .entry-label{font-size:24px}}@media(max-width:600px){.app-header{min-height:70px;padding:12px 16px;gap:6px}.brand{font-size:23px;letter-spacing:-.7px}.header-location{margin-left:auto}.header-location>span,.connection-state{display:none}.header-actions{margin-left:0;gap:0}.app-header .icon-button{width:36px;height:40px}main{padding:24px 16px 40px}.today-heading{gap:10px;margin-bottom:22px}.today-heading h1{font-size:20px}.today-heading>div{gap:20px}.today-heading strong{font-size:20px}.home-navigation{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,76px);margin-bottom:24px;gap:4px;padding:4px}.home-navigation .entry-tile{padding:14px}.entry-projects{grid-area:1/1/3/4}.entry-protocols{grid-area:1/4/2/7}.entry-inventory{grid-area:2/4/3/7}.entry-experiments{grid-area:3/1/5/5}.entry-schedule{grid-area:3/5/4/7}.entry-tasks{grid-area:4/5/5/7}.entry-label{font-size:18px}.entry-experiments .entry-label{font-size:23px}.entry-schedule .entry-label,.entry-tasks .entry-label{font-size:15px}.entry-number{top:12px;left:14px}.entry-arrow{top:10px;right:12px;width:16px;height:16px}.entry-protocols .entry-number,.entry-inventory .entry-number{display:none}.today-shortcuts{flex-wrap:wrap;padding:0 0 14px}.today-shortcuts .button{min-width:0;flex:1}.today-time-scroll{height:320px}.capture-panel{margin-top:18px}.task-inbox-row{flex-wrap:wrap}.calendar-controls strong{font-size:12px}.search-dialog-bar{padding:10px;gap:6px}.search-dialog-bar .input{padding:10px 5px;font-size:14px}}@media(prefers-reduced-motion:reduce){.search-dialog[open],.search-dialog::backdrop{animation:none}.entry-arrow,.home-navigation .entry-tile{transition:none}}.time-event{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.time-event strong,.time-event small{flex-shrink:0}.today-heading{align-items:center;border-bottom:0;padding-bottom:0;gap:20px;margin-bottom:26px}.today-heading h1{margin:0}.date-composition{display:flex;align-items:center;gap:18px}.date-day{display:flex;align-items:baseline;gap:5px;padding:9px 15px 8px;background:var(--accent);color:var(--on-accent)}.date-day b{font:48px/1 Righteous,sans-serif}.date-day small{font-size:12px}.date-meta{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:400;letter-spacing:1px}.date-meta b{font:22px Righteous,sans-serif;letter-spacing:0}.date-meta>span:last-child{color:var(--muted);font-size:12px;letter-spacing:3px}.today-heading .today-counts{display:flex;gap:28px;align-items:center}.today-counts>span{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.today-heading .today-counts strong{font:34px/1 Righteous,sans-serif;margin:0;color:var(--accent)}.today-counts>span>span{font-size:11px;letter-spacing:1px}.capture-panel{border-top:0;padding-top:0;margin-top:24px}@media(max-width:600px){.today-heading{gap:14px;margin-bottom:22px}.date-composition{gap:12px}.date-day{padding:8px 12px}.date-day b{font-size:38px}.date-meta{font-size:11px;gap:4px}.date-meta b{font-size:18px}.date-meta>span:last-child{font-size:11px}.today-heading .today-counts{gap:20px;margin-left:auto}.today-heading .today-counts strong{font-size:27px}.today-counts>span>span{font-size:10px;letter-spacing:0}}input[type=file],input[type=file]::file-selector-button{font-family:GenRyuTW,Georgia,serif;font-size:inherit}input[type=file]::file-selector-button{border:1px solid var(--line-strong);border-radius:0;padding:7px 12px;background:var(--surface);color:var(--ink);cursor:pointer}.execution-layout.timer-execution{grid-template-columns:minmax(0,1fr)}.long-term-panel{margin:26px 0;padding:18px 20px;background:var(--surface);border-left:4px solid var(--accent)}.long-term-panel h2{font-size:18px}.long-term-panel details{margin-top:14px}.capture-switch button{padding:8px 14px}.entry-schedule{grid-area:3/1/4/5}.entry-tasks{grid-area:3/5/4/9}.entry-life{grid-area:3/9/4/13}.home-navigation .entry-life{background:var(--surface)}.entry-life .entry-number{display:none}.entry-life .entry-label{font-size:18px}@media(max-width:600px){.home-navigation{grid-template-rows:repeat(4,76px) 60px}.entry-schedule{grid-area:3/5/4/7}.entry-tasks{grid-area:4/5/5/7}.entry-life{grid-area:5/1/6/7}.entry-life .entry-label{font-size:16px}}.search-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 12px}.search-filters .input{min-width:0;width:100%}.search-highlight{outline:2px solid var(--primary);outline-offset:3px}.note-archive{margin-top:20px}.attachment-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;overflow-wrap:anywhere}.attachment-panel{margin-top:16px}:root{--bg:#edf1f5;--surface:#f8fbff;--surface-alt:#e2e9f0;--ink:#162f48;--muted:#50667c;--accent:#245784;--on-accent:#fff;--line:#c1ccd7;--line-strong:#8196aa;--selection:#dce9f6;--shadow:#17334d26;--frame:#8c9dad;--edge-light:#ffffff;--edge-dark:#29496745;--panel-shadow:inset 1px 1px 0 #ffffffd9,inset -1px -1px 0 #29496715,0 2px 0 #1a334c12,0 5px 14px #17334d0a;--raised-shadow:inset 1px 1px 0 #ffffffee,inset -1px -1px 0 #29496755,0 2px 2px #17334d30;--pressed-shadow:inset 1px 2px 3px #17334d30,inset -1px -1px 0 #ffffff90;--field-shadow:inset 1px 2px 3px #17334d12,inset -1px -1px 0 #ffffff;--blue-edge:#ffffff5c;--grid-frame:#17334d}:root[data-theme=dark]{--bg:#101a26;--surface:#1c2c3e;--surface-alt:#162333;--ink:#e6edf7;--muted:#acbed2;--accent:#9ebfe8;--on-accent:#10253d;--line:#3c526a;--line-strong:#6f89a5;--selection:#294564;--shadow:#00000059;--frame:#536c86;--edge-light:#ffffff20;--edge-dark:#0000007a;--panel-shadow:inset 1px 1px 0 #ffffff14,inset -1px -1px 0 #0000004d,0 2px 0 #00000033,0 5px 16px #00000020;--raised-shadow:inset 1px 1px 0 #ffffff2e,inset -1px -1px 0 #00000099,0 2px 3px #0000004d;--pressed-shadow:inset 1px 2px 4px #00000070,inset -1px -1px 0 #ffffff14;--field-shadow:inset 1px 2px 4px #0000003d,inset -1px -1px 0 #ffffff0d;--blue-edge:#ffffff3b;--grid-frame:#55718e}.app-header{background:linear-gradient(to bottom,var(--surface),var(--surface-alt));box-shadow:inset 0 1px 0 var(--edge-light),0 2px 0 var(--edge-light),0 4px 10px var(--shadow)}.card,.modal,.calendar-month,.calendar-scroll,.long-term-panel,.today-agenda{border-color:var(--frame);box-shadow:var(--panel-shadow);border-radius:2px}.card .card{box-shadow:inset 1px 1px 0 var(--edge-light)}.button{transition:box-shadow .12s,filter .12s,transform .12s}.button-primary,.button-secondary,.button-danger{border:1px solid var(--frame);box-shadow:var(--raised-shadow);background-image:linear-gradient(to bottom,#ffffff12,#00000004)}.button-primary{border-color:color-mix(in srgb,var(--accent) 75%,var(--ink));box-shadow:inset 1px 1px 0 var(--blue-edge),inset -1px -1px #00000040,0 2px 2px var(--shadow)}.button-primary:hover,.button-secondary:hover,.button-danger:hover{filter:brightness(1.04)}.button-primary:active,.button-secondary:active,.button-danger:active{box-shadow:var(--pressed-shadow);transform:translateY(1px)}.button:disabled{box-shadow:none;transform:none}.button-ghost{background:transparent;box-shadow:none}.app-header .icon-button:hover{box-shadow:var(--raised-shadow);background:var(--surface)}.app-header .icon-button:active{box-shadow:var(--pressed-shadow)}.input,.textarea,.select,.protocol-search-field,.protocol-source-input,.calendar-tools input{background:var(--surface);border-color:var(--frame);box-shadow:var(--field-shadow)}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:var(--field-shadow),0 0 0 2px var(--selection)}.protocol-search-field input,.search-dialog-bar .input{box-shadow:none;background:transparent}.home-navigation{gap:5px;padding:5px;border:1px solid var(--grid-frame);background:var(--grid-frame);box-shadow:inset 1px 1px 0 var(--edge-light),0 3px 0 var(--shadow),0 8px 18px #17334d14}.home-navigation .entry-tile{box-shadow:var(--raised-shadow);border:1px solid transparent;background-image:linear-gradient(to bottom,#ffffff0e,#00000003);transition:background-color .15s,box-shadow .15s}.home-navigation .entry-experiments{background-color:#245784;color:#fff;box-shadow:inset 1px 1px #ffffff61,inset -1px -1px #0000005c,0 2px 2px #00000040}.home-navigation .entry-schedule{background-color:#193d60;color:#fff;box-shadow:inset 1px 1px #ffffff4a,inset -1px -1px #00000061,0 2px 2px #00000040}.home-navigation .entry-tile:hover{border-color:var(--accent)}.home-navigation .entry-tile:active{box-shadow:var(--pressed-shadow)}.calendar-switch,.secondary-tabs,.protocol-tabs,.capture-switch{border:1px solid var(--frame);background:var(--surface-alt);box-shadow:var(--field-shadow);border-radius:1px}.calendar-switch [aria-pressed=true],.secondary-tabs button.active,.protocol-tabs button.active,.capture-switch [aria-pressed=true]{background:var(--accent);color:var(--on-accent);box-shadow:inset 1px 1px 0 var(--blue-edge),inset -1px -1px #0000003d,0 1px 2px var(--shadow);border-radius:1px}.protocol-section-nav button.active,.run-stop.is-reading{box-shadow:inset 2px 0 0 var(--accent),inset 0 1px 0 var(--edge-light)}.protocol-pane-header,.data-table th{background:var(--surface-alt);box-shadow:inset 0 1px 0 var(--edge-light)}.search-dialog,.modal{border-color:var(--ink);box-shadow:inset 1px 1px 0 var(--edge-light),0 4px 0 var(--shadow),0 16px 40px var(--shadow)}.search-dialog .search-dialog-bar{background:linear-gradient(to bottom,var(--surface),var(--surface-alt))}.search-dialog .search-dialog-bar .input{border:0;box-shadow:none}.run-dot,.axis-event,.time-event{box-shadow:inset 0 1px 0 var(--edge-light),0 1px 2px var(--shadow)}input[type=file]::file-selector-button{box-shadow:var(--raised-shadow);border-color:var(--frame);background:var(--surface)}@media(prefers-reduced-motion:reduce){.button,.home-navigation .entry-tile{transition:none}.button:active{transform:none}}.home-navigation{grid-template-rows:112px 112px 84px}.home-navigation .entry-tile{padding:24px}@media(max-width:900px){.home-navigation{grid-template-rows:104px 104px 80px}.home-navigation .entry-tile{padding:20px}}@media(max-width:600px){.home-navigation{grid-template-rows:repeat(4,84px) 64px}.home-navigation .entry-tile{padding:14px}}.capture-panel h2{font-size:28px}.capture-title-link{font:inherit;line-height:1.3;color:var(--ink);padding:0;border:0;background:transparent;text-align:left;box-shadow:none}.capture-title-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:5px}.home-navigation .entry-label{font-size:34px;font-weight:900;font-style:normal;line-height:1.25}.home-navigation .entry-projects .entry-label{font-size:48px}.home-navigation .entry-experiments .entry-label{font-size:42px}.home-navigation .entry-schedule .entry-label,.home-navigation .entry-tasks .entry-label,.home-navigation .entry-life .entry-label{font-size:30px}@media(max-width:900px){.home-navigation .entry-label{font-size:28px}.home-navigation .entry-projects .entry-label{font-size:40px}.home-navigation .entry-experiments .entry-label{font-size:34px}.home-navigation .entry-schedule .entry-label,.home-navigation .entry-tasks .entry-label,.home-navigation .entry-life .entry-label{font-size:26px}}@media(max-width:600px){.home-navigation .entry-label{font-size:22px}.home-navigation .entry-projects .entry-label{font-size:34px}.home-navigation .entry-protocols .entry-label{font-size:20px}.home-navigation .entry-experiments .entry-label{font-size:28px}.home-navigation .entry-schedule .entry-label,.home-navigation .entry-tasks .entry-label{font-size:20px}.home-navigation .entry-life .entry-label{font-size:24px}}
