:root{color:#273832;font-synthesis:none;background:#f5f3ed;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,input,select,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}:focus-visible{outline-offset:3px;outline:3px solid #2f7760}.workspace{max-width:1080px;margin:auto;padding:28px 48px 48px}.app-header,.notebook-tools,.tool-group,.page-footer,.fixture-heading,.fixture-actions{align-items:center;display:flex}.app-header,.page-footer,.fixture-heading{justify-content:space-between;gap:16px}.wordmark{letter-spacing:-1.2px;color:inherit;font-family:Georgia,serif;font-size:31px;font-weight:700;text-decoration:none}.wordmark>span:first-child{font-style:italic;font-weight:400}.brand-dot{color:#43886e}.model-badge{background:#eef0e8;border:1px solid #d9dfd7;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:12px;display:flex}.status-dot{background:#8b958b;border-radius:50%;width:6px;height:6px}.ready .status-dot{background:#43886e}.error .status-dot{background:#aa583e}.intro{margin:42px 0 24px}.eyebrow{letter-spacing:2px;color:#626f64;margin:0 0 10px;font-size:10px;font-weight:650}h1{letter-spacing:-.7px;margin:0;font-family:Georgia,serif;font-size:clamp(26px,3.5vw,40px);font-weight:400}.intro>p:last-child{color:#626f64;margin:10px 0 0;font-size:14px}.mock-notice{color:#715c2f;background:#eee8d8;border:1px solid #e2d7be;border-radius:7px;padding:10px 14px;font-size:12px}.notebook-tools{background:#eeeee6;border:1px solid #dfdfd3;border-radius:10px 10px 0 0;flex-wrap:wrap;gap:18px;padding:11px 12px}.tool-group{gap:4px}.tool{color:#49554b;background:0 0;border:0;border-radius:6px;min-width:44px;min-height:44px;padding:0 12px;font-size:12px}.tool.active{color:#fff;background:#2f5b48}.tool.clear{color:#a34332}.pen-width{color:#626f64;align-items:center;gap:8px;font-size:12px;display:flex}.pen-width input{accent-color:#2f5b48;width:78px;min-height:44px}.pen-width output{text-align:right;font-variant-numeric:tabular-nums;width:16px}.history-tools{margin-left:auto}.notebook{position:relative}.paper{aspect-ratio:2;background:#fffcf5;border:1px solid #e2dfd2;border-top:none;width:100%;position:relative;overflow:hidden;box-shadow:0 8px 22px #373d2510}.margin-line{border-left:1px solid #d8b6a060;position:absolute;top:0;bottom:0;left:3.3333%}.row-guide{position:absolute;left:0;right:0}.row-number{color:#aaa897;font:10px Georgia,serif;position:absolute;top:12%;left:1%}.baseline{border-top:1px solid #dedfd060;position:absolute;top:65%;left:4.5%;right:3%}.canvas-layer{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.input-layer{pointer-events:auto;touch-action:none;cursor:crosshair}.row-feedbacks{pointer-events:none;grid-template-rows:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid;position:absolute;inset:0}.row-feedback{color:#626f64;align-self:end;align-items:center;gap:10px;height:15%;padding:0 4.5%;font-size:11px;display:flex;overflow:hidden}.feedback-row{display:none}.row-feedback.ready{color:#2f7760}.row-feedback.error{color:#a34332}.row-feedback>span:last-child{white-space:nowrap;gap:10px;min-width:0;display:flex}.row-state{flex-shrink:0}.row-transcript{text-overflow:ellipsis;overflow:hidden}.page-footer{color:#626f64;align-items:start;padding:12px 1px;font-size:10px}.model-message{color:#626f64;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0;font-size:12px;display:flex}progress{accent-color:#2f5b48;width:120px}.input-error{color:#a34332;font-size:13px}.fixture-panel{background:#eeeee5;border:1px dashed #cbd0bf;border-radius:9px;margin-top:26px;padding:20px}.fixture-heading{flex-wrap:wrap}.fixture-actions{flex-wrap:wrap;gap:8px}.fixture-heading .eyebrow{margin-bottom:3px}h2{margin:0;font-size:17px;font-weight:550}.fixture-help,.fixture-status{color:#78806e;font-size:12px}.fixture-fields{grid-template-columns:1fr 1fr 2fr 1fr 1.2fr;gap:10px;margin:14px 0;display:grid}.fixture-fields label{color:#66715f;gap:5px;font-size:11px;display:grid}.contract-fields{grid-template-columns:1fr 1fr 2fr 1fr}.fixture-fields input,.fixture-fields select{color:#273832;background:#faf9f3;border:1px solid #cfd3c5;border-radius:5px;width:100%;min-width:0;min-height:44px;padding:8px;font-size:12px}.button{color:#405d49;background:#faf9f3;border:1px solid #c8d0be;border-radius:6px;min-height:44px;padding:9px 13px;font-size:12px}.button.primary{color:#fff;background:#2f5b48;border-color:#2f5b48}.fixture-status{min-height:18px;margin-bottom:0}.capture-panel{border-top:1px solid #cbd0bf;margin-top:24px;padding-top:20px}.capture-writing-prompt{background:#eef0e8;border:1px solid #d9dfd7;margin:0;padding:10px 14px;font-size:13px}.capture-link{color:#405d49;min-height:44px;padding:10px 0;font-size:12px;display:inline-block}.button.capture-link{margin-right:8px;padding:9px 13px}.capture-setup{border:0;min-width:0;margin:0;padding:0}.capture-device,.capture-prompt{gap:5px;margin:12px 0;font-size:12px;display:grid}.capture-device input,.capture-prompt select{min-width:0;min-height:44px;color:inherit;background:#faf9f3;border:1px solid #cfd3c5;border-radius:5px;padding:8px}.capture-instruction,.capture-counts,.capture-confirm{font-size:12px}.capture-confirm{align-items:center;gap:8px;margin:12px 0;display:flex}.capture-confirm input{accent-color:#2f5b48;min-width:24px;min-height:44px}@media (width<=760px){.workspace{padding:22px 20px 32px}.intro{margin-top:30px}.notebook-tools{gap:8px}.history-tools{margin-left:0}.fixture-fields{grid-template-columns:1fr 1fr}}@media (width<=600px){.page-footer{flex-direction:column;gap:4px}.row-feedbacks{gap:5px;margin-top:10px;position:static}.row-feedback{height:auto;min-height:22px;padding:0;font-size:12px}.feedback-row{color:#626f64;display:inline}.tool{padding:0 8px}.fixture-panel{padding:14px}}fieldset.tool-group{border:0;margin:0;padding:0}.input-layer:focus-visible{outline-offset:-3px}.offline-panel{color:#2f5b48;background:#f2f5ec;border:1px solid #d7ddce;border-radius:10px;margin-top:16px;padding:14px 16px;font-size:13px}.model-attribution{color:#626f64;font-size:12px}.offline-panel .button{margin-top:10px}.offline-update{margin-top:12px}.offline-update span{display:block}
