:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Hiragino Sans",sans-serif;color:#252c29;background:#f5f4ef;font-synthesis:none;--green:#245c4a;--muted:#747970;--line:#e7e8e1;--white:#fffefa}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.36}button,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #6b9c86}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green)}[hidden]{display:none!important}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.symbol-bank{position:absolute;width:0;height:0;overflow:hidden}.app-shell{max-width:1120px;margin:auto;padding:0 40px}.topbar{display:flex;justify-content:flex-end;align-items:center;min-height:66px;border-bottom:1px solid #dddfd7;gap:16px}.header-right{display:flex;align-items:center;gap:22px}.local-badge{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#628778}.header-right select{background:transparent;border:1px solid #d7dad2;border-radius:7px;padding:8px 22px 8px 11px;color:#505a53;font-size:12px;max-width:120px;min-height:38px}.intro{padding:46px 0 35px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--muted);font-weight:600;margin:0 0 14px}h1{font-weight:550;letter-spacing:-1px;font-size:34px;line-height:1.35;margin:0}p{margin:0}.intro-copy{font-size:13px;color:var(--muted);line-height:1.75;margin-top:12px}.wall-clock{display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:var(--muted);font-size:10px;letter-spacing:.5px;white-space:nowrap}.wall-clock time{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:400;letter-spacing:-1px;font-size:30px;color:#414d43;font-variant-numeric:tabular-nums}.workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}.card{background:var(--white);border:1px solid #e0e3d9;border-radius:16px;box-shadow:0 3px 6px #202e2210;overflow:hidden}.recorder{padding:24px 28px 18px}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px}.card-top h2{font-size:14px;margin:0;font-weight:600;display:flex;align-items:center;gap:9px}.status{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap}.status.recording{color:var(--green)}.status.recording .dot{box-shadow:0 0 0 4px #245c4a12;animation:pulse 2s infinite}.setup-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}.field{display:flex;flex-direction:column;gap:9px;min-width:0;border:0;padding:0;margin:0;font-size:12px;color:#606c60}.field label,.field legend{padding:0;margin:0 0 9px}.field>label{margin:0}.field input[type=text],.field input:not([type]),.field select{border:1px solid #dedfd7;background:var(--white);border-radius:7px;width:100%;min-height:44px;padding:10px 12px;color:#303b32;font-size:14px}.segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dedfd7;padding:3px;border-radius:7px;background:#f3f4ed;min-height:44px;gap:3px}.segmented label{position:relative;margin:0;cursor:pointer}.segmented input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.segmented span{display:grid;place-items:center;height:100%;font-size:12px;color:#7b8178;border-radius:4px;white-space:nowrap}.segmented input:checked+span{color:var(--green);background:white;box-shadow:0 1px 4px #00000012;font-weight:600}.segmented input:focus-visible+span{outline:2px solid var(--green)}.field-hint{font-size:10px;color:#8c9187;line-height:1.5;margin-top:9px}.subject{text-align:center;padding:32px 4px 30px}.subject .eyebrow{font-size:10px;letter-spacing:1.2px;margin-bottom:12px}.subject-prefix{font-size:20px;font-weight:500;overflow-wrap:anywhere;line-height:1.4}.subject-number{font-size:100px;line-height:1.25;font-weight:450;letter-spacing:-5px;color:var(--green);font-family:"Helvetica Neue",Arial,sans-serif;margin:2px 0 13px;overflow-wrap:anywhere}.subject-tag{display:inline-block;border:1px solid #e3e7dc;border-radius:5px;font-size:11px;padding:5px 11px;color:#6a786a;background:#f7f8f1;max-width:100%;overflow-wrap:anywhere}.timing{display:grid;grid-template-columns:1fr 1fr;background:#f6f7f1;border:1px solid #e8eadf;border-radius:9px;margin:0 0 20px;padding:15px 16px}.timing>div+div{border-left:1px solid #dddfd3;padding-left:24px}.timing span{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.timing strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:500;font-size:19px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.button{border:1px solid transparent;min-height:52px;padding:13px 18px;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:500;font-size:14px;line-height:1.5;touch-action:manipulation;transition:background .16s,transform .1s}.button:active:not(:disabled){transform:translateY(1px)}.primary{background:var(--green);color:white}.primary:hover:not(:disabled){background:#194735}.secondary{background:transparent;border-color:#d8ded3;color:#4f6053}.secondary:hover:not(:disabled){background:#f0f3e9}.full{width:100%}#start svg{margin-left:auto}#start .record-icon{margin-right:auto}#start{gap:8px}.record-icon{height:10px;width:10px;border:2px solid currentColor;border-radius:50%;flex-shrink:0}.navigation{display:grid;grid-template-columns:.9fr 1.2fr;gap:12px}.reverse{transform:rotate(180deg)}.text-button{border:0;background:transparent;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--green);font-size:12px;padding:10px 0;min-height:42px}.text-button svg{width:15px;height:15px}.stop-button,.new-button{margin:8px auto 0;color:var(--muted)}.control-note{font-size:10px;color:#8a9184;text-align:center;line-height:1.8;padding-top:14px}.ledger{display:flex;flex-direction:column;min-height:538px}.ledger>.card-top{padding:22px 24px 15px}.count{border-radius:5px;font-size:10px;background:#f0f2e8;color:#72806d;min-width:22px;min-height:20px;display:grid;place-items:center;font-weight:500}.icon-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #e0e4d9;background:transparent;border-radius:8px;color:#53654f}.icon-button svg{width:16px;height:16px}.ledger-filter{padding:0 24px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;color:#7e8578}.ledger-filter select{font-size:12px;min-width:0;max-width:65%;border:0;background:transparent;color:#697563;padding:7px 20px 7px 0;min-height:34px;text-overflow:ellipsis}.ledger-filter select:disabled{opacity:1}.empty{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;min-height:322px;text-align:center;padding:25px}.empty-art{display:flex;align-items:center;gap:14px;margin-bottom:22px;color:#a4b39a}.empty-art svg{width:45px;height:45px;stroke-width:1}.empty-art span{width:36px;height:1px;background:#e0e6d9}.empty h3{font-weight:500;font-size:13px;color:#66745e;margin:0 0 10px}.empty p{color:#92998a;font-size:11px;line-height:1.8;max-width:220px}.record-list{list-style:none;padding:0 24px;margin:0;max-height:433px;overflow:auto;flex:1;overscroll-behavior:contain;scrollbar-width:thin}.record-row{display:grid;grid-template-columns:32px 1fr auto;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}.record-row:last-child{border:0}.record-index{width:32px;height:32px;display:grid;place-items:center;align-self:start;background:#f1f3ea;color:#78866b;border-radius:7px;font-size:13px;font-weight:600;overflow-wrap:anywhere}.record-row.live .record-index{background:#e6eee2;color:var(--green)}.record-main{min-width:0}.record-name{font-size:13px;font-weight:550;overflow-wrap:anywhere}.record-time{display:block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:10px;color:#8b9383;line-height:1.8;margin-top:5px;overflow-wrap:anywhere}.record-duration{font-size:10px;color:#8a9380;white-space:nowrap;font-variant-numeric:tabular-nums}.record-live{color:var(--green);font-size:10px;display:flex;align-items:center;gap:6px;white-space:nowrap}.ledger-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 24px;border-top:1px solid var(--line);margin-top:auto}.saved-label{display:flex;align-items:center;gap:5px;color:#8b9582;font-size:10px}.saved-label svg{width:13px;height:13px}.how-it-works{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0 26px;padding:0 10px}.how-it-works>div{display:flex;align-items:flex-start;gap:14px}.step-number{font-size:12px;font-family:ui-monospace,SFMono-Regular,monospace;color:#91a186;padding-top:2px}.how-it-works strong{display:block;font-size:12px;color:#596651;font-weight:500;margin-bottom:7px}.how-it-works p>span{display:block;color:#939a8a;font-size:10px;line-height:1.5}.storage-help{border-top:1px solid #e0e3d8;padding:20px 0;color:#8a9380;font-size:11px;line-height:1.8}.storage-help summary{cursor:pointer;width:fit-content;min-height:30px}.storage-help p{margin:10px 0 0;max-width:800px}footer{display:flex;justify-content:space-between;gap:16px;font-size:9px;color:#969c8e;border-top:1px solid #e0e3d8;padding:20px 0 25px;line-height:1.7;letter-spacing:.5px}.footer-separator{margin:0 10px;color:#b5bdac}.error-banner{margin-top:16px;padding:14px 16px;background:#fff0de;color:#80562d;border:1px solid #e3c9a7;border-radius:8px;font-size:12px;line-height:1.6;display:flex;align-items:center;justify-content:space-between;gap:15px}.error-banner button{background:transparent;color:inherit;border:1px solid currentColor;border-radius:5px;padding:7px;white-space:nowrap}dialog{border:1px solid #dbe0d3;padding:26px;border-radius:16px;max-width:560px;width:calc(100% - 32px);max-height:90dvh;background:var(--white);color:inherit;box-shadow:0 20px 100px #162b2540}dialog::backdrop{background:#23352955;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:24px}.dialog-top .eyebrow{margin-bottom:8px}.dialog-top h2{margin:0;font-size:22px;font-weight:500}.close-button{border:0;background:transparent;color:var(--muted);font-size:26px;width:40px;height:40px}.export-note{font-size:11px;line-height:1.8;color:var(--muted);margin:14px 0}#export-preview{resize:vertical;min-height:180px;max-height:36dvh;overflow:auto;width:100%;background:#f5f6ef;border:1px solid #e0e4d8;border-radius:8px;padding:14px;color:#58694e;font-size:11px;font-family:ui-monospace,SFMono-Regular,monospace;line-height:1.8}.export-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;margin-top:16px}.toast{position:fixed;bottom:max(28px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:#283e32;color:white;font-size:12px;padding:12px 20px;border-radius:8px;box-shadow:0 4px 20px #0002;z-index:10;text-align:center}.error-banner+main .intro{padding-top:32px}.app-shell>.error-banner[hidden]+main .intro{padding-top:46px}@keyframes pulse{50%{box-shadow:0 0 0 6px #245c4a05}}
@media(min-width:761px){.recorder.is-recording .subject,.recorder.is-finished .subject{padding-top:36px;padding-bottom:30px}.recorder.is-recording .subject-number,.recorder.is-finished .subject-number{font-size:120px;margin-bottom:18px}}
@media(max-width:760px){.app-shell{padding:0 20px}.topbar{min-height:60px}.header-right{gap:0}.local-badge{display:none}.header-right select{max-width:106px;font-size:11px}.intro,.app-shell>.error-banner[hidden]+main .intro{padding:28px 0 24px;gap:12px}.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:10px}h1{font-size:24px;letter-spacing:-.6px}.intro-copy{font-size:11px;margin-top:8px;max-width:270px}.wall-clock{font-size:8px;gap:3px}.wall-clock time{font-size:20px;letter-spacing:-.5px}.wall-clock #today{display:none}.workspace{grid-template-columns:1fr;gap:20px}.recorder{padding:20px 22px 17px}.setup-fields{margin-top:22px;gap:12px}.subject{padding:22px 4px}.subject-prefix{font-size:18px}.subject-number{font-size:82px;margin-bottom:8px}.subject .eyebrow{margin-bottom:8px}.subject-tag{font-size:10px}.button{min-height:54px;font-size:14px}.timing{margin-bottom:16px}.timing strong{font-size:18px}.control-note{padding-top:12px}.recorder.is-recording .subject,.recorder.is-finished .subject{padding:26px 0}.recorder.is-recording .subject-number,.recorder.is-finished .subject-number{font-size:98px}.ledger{min-height:310px}.ledger>.card-top{padding:17px 20px 12px}.ledger-filter{padding:0 20px 10px}.empty{min-height:190px}.empty-art{margin-bottom:14px}.empty-art svg{height:35px;width:35px}.record-list{padding:0 20px;max-height:370px}.ledger-bottom{padding:8px 20px}.record-row{padding:15px 0;gap:10px}.how-it-works{gap:14px;padding:0;margin:25px 0 20px}.how-it-works>div{flex-direction:column;gap:8px}.how-it-works strong{font-size:11px}.how-it-works p>span{font-size:9px}.storage-help{padding:15px 0}footer{font-size:8px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}dialog{padding:22px}.error-banner{flex-direction:column;align-items:start}.error-banner button{align-self:end}}
@media(max-width:380px){.app-shell{padding:0 15px}h1{font-size:21px}.wall-clock{display:none}.recorder{padding:18px}.setup-fields{gap:9px}.field{font-size:11px}footer{flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:760px){.in-session .intro,.in-session .app-shell>.error-banner[hidden]+main .intro{padding:14px 0}.in-session .wall-clock{display:flex;flex-direction:row;align-items:center;gap:10px;margin-left:auto}.in-session .wall-clock time{font-size:17px}.in-session .recorder .subject{padding:20px 0}.in-session .recorder .subject-number{font-size:88px;margin-bottom:10px}}

.clock-bar{padding:24px 0;display:grid;gap:10px}.clock-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:17px}.clock-heading #today{margin-left:auto;font-size:11px;line-height:1.5;color:var(--muted);white-space:nowrap}.clock-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}.clock-row time{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;font-weight:500;font-size:48px;line-height:1.15;letter-spacing:-1.5px;color:#414d43;white-space:nowrap}.clock-row select{background:transparent;border:1px solid #d7dad2;border-radius:7px;padding:10px 24px 10px 12px;color:#505a53;font-size:12px;min-height:44px;max-width:120px}.app-shell{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.danger-text{color:#985547}.danger{background:#984c42;color:white}.danger:hover:not(:disabled){background:#7e3d35}.clear-target{margin-top:18px;font-size:13px;color:#596651;overflow-wrap:anywhere}#export-preview{margin-top:14px}.subject-number{margin-bottom:0}.ledger{min-height:420px}.empty{min-height:210px}
@media(max-width:760px){.clock-bar{padding:18px 0;gap:10px}.clock-heading #today{font-size:10px}.clock-row time{font-size:clamp(32px,8.5vw,42px);letter-spacing:-1px}.clock-row select{max-width:110px;font-size:11px;padding:10px 22px 10px 10px}.ledger{min-height:240px}.empty{min-height:110px}.recorder.is-recording .subject,.recorder.is-finished .subject{padding:20px 0}}

#sync-hint{font-size:11px;line-height:1.5;color:var(--muted)}
