:root{--paper:#f7ecd3;--paper-line:#e3d3ac;--paper-margin:#d99a6c;--ink:#3c2f1e;--ink-soft:#7a6a4d;--accent:#b0692f;--accent-strong:#7a4a1f;--accent-btn-text:#fff;--done:#a89a7c;--bg:#3a3630;--surface:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font:17px/145% Nunito,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#52402a;--paper-line:#6b5636;--paper-margin:#c17a3f;--ink:#f5e9d3;--ink-soft:#cbb896;--accent:#eab568;--accent-strong:#f4c883;--accent-btn-text:#2d1f0d;--done:#8a7a5c;--bg:#14120f;--surface:#3d2f1e}}*{box-sizing:border-box}body{min-height:100svh;margin:0}#root{min-height:100svh}h1{margin:0;font-family:Caveat,Nunito,system-ui,sans-serif;font-weight:700}p{margin:0}button{cursor:pointer;font-family:inherit}input{font-family:inherit}.auth-page{justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.auth-card{background:var(--paper);border-radius:4px;flex-direction:column;gap:14px;width:100%;max-width:360px;padding:40px 36px;display:flex;box-shadow:0 20px 50px #00000059}.auth-card h1{text-align:center;color:var(--accent-strong);font-size:44px}.auth-subtitle{text-align:center;color:var(--ink-soft);margin-bottom:8px;font-style:italic}.auth-card input{border:1px solid var(--paper-line);background:var(--surface);color:var(--ink);border-radius:3px;padding:12px 14px;font-size:15px}.auth-card input:focus{outline:2px solid var(--accent)}.auth-card button[type=submit]{background:var(--accent-strong);color:var(--accent-btn-text);border:none;border-radius:3px;margin-top:8px;padding:12px;font-size:15px;font-weight:600}.auth-card button[type=submit]:disabled{opacity:.6;cursor:default}.google-button{color:#3c4043;background:#fff;border:1px solid #dadce0;border-radius:3px;justify-content:center;align-items:center;gap:10px;margin-top:8px;padding:12px;font-size:15px;font-weight:600;display:flex}.google-button:hover{background:#f7f7f7}.google-button:disabled{opacity:.6;cursor:default}.auth-error{color:#b23a3a;text-align:center;font-size:14px}.auth-switch{text-align:center;color:var(--ink-soft);font-size:14px}.auth-switch a{color:var(--accent-strong)}.loading-screen{color:#fff;justify-content:center;align-items:center;min-height:100svh;display:flex}.sheet-page{justify-content:center;min-height:100svh;padding:40px 16px 80px;display:flex}.sheet{background:var(--paper);background-image:repeating-linear-gradient(to bottom, transparent, transparent 37px, var(--paper-line) 38px);border-radius:2px;width:100%;max-width:640px;padding:32px 32px 32px 56px;position:relative;box-shadow:0 20px 60px #0006}.sheet:before{content:"";background:var(--paper-margin);width:2px;position:absolute;top:0;bottom:0;left:40px}.sheet-header{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.sheet-header h1{color:var(--accent-strong);font-size:40px}.sheet-owner{color:var(--ink-soft);margin-top:4px;font-size:14px;font-style:italic}.header-actions{flex-shrink:0;align-items:center;gap:16px;display:flex}.header-actions .link-button+.link-button{border-left:1px solid var(--paper-line);padding-left:16px}.link-button{color:var(--ink-soft);background:0 0;border:none;padding:0;font-size:14px;text-decoration:underline}.share-feedback{color:var(--accent-strong);word-break:break-all;margin-bottom:8px;font-size:13px}.progress-row{align-items:center;gap:10px;margin:14px 0 20px;display:flex}.progress-bar{background:var(--paper-line);border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .2s}.progress-label{color:var(--ink-soft);white-space:nowrap;font-size:13px}.add-row{gap:8px;margin-bottom:20px;display:flex}.add-row input{border:1px solid var(--paper-line);background:var(--surface);color:var(--ink);border-radius:3px;flex:1;padding:8px 10px;font-size:15px}.add-row button{background:var(--accent-strong);color:var(--accent-btn-text);border:none;border-radius:3px;padding:8px 16px;font-size:14px;font-weight:600}.add-row button:disabled{opacity:.5;cursor:default}.sheet-empty{color:var(--ink-soft);font-style:italic}.goal-list{margin:0;padding:0;list-style:none}.goal-line{align-items:flex-start;gap:8px;min-height:38px;padding:8px 0;display:flex}.goal-index{color:var(--ink-soft);text-align:right;flex-shrink:0;width:22px;margin-top:3px;font-size:14px}.goal-line input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-strong);flex-shrink:0;margin-top:4px}.goal-text{cursor:text;overflow-wrap:anywhere;flex:1;line-height:1.4}.goal-line.done .goal-text{color:var(--done);text-decoration:line-through}.goal-edit-input{border:none;border-bottom:1px solid var(--accent);background:0 0;flex:1;padding:2px 0;font-family:inherit;font-size:17px}.goal-edit-input:focus{outline:none}.remove-button{color:var(--ink-soft);opacity:0;background:0 0;border:none;flex-shrink:0;margin-top:3px;padding:0 4px;font-size:18px;line-height:1;transition:opacity .15s}.goal-line:hover .remove-button{opacity:1}.username-badge{color:var(--accent-strong);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.username-badge:hover{text-decoration:underline}.username-setup-btn{color:var(--accent-strong);cursor:pointer;background:0 0;border:none;margin-left:6px;padding:0;font-size:13px;text-decoration:underline}.username-form{background:var(--surface);border:1px solid var(--paper-line);border-radius:4px;margin-top:10px;margin-bottom:12px;padding:10px 12px;box-shadow:0 4px 12px #00000026}.username-input-wrapper{align-items:center;gap:8px;display:flex}.at-prefix{color:var(--accent-strong);font-size:16px;font-weight:700}.username-input-wrapper input{border:1px solid var(--paper-line);background:var(--surface);color:var(--ink);border-radius:3px;flex:1;padding:8px 10px;font-size:14px}.username-input-wrapper input::placeholder{color:var(--ink-soft);opacity:.65}.username-input-wrapper button[type=submit]{background:var(--accent-strong);color:var(--accent-btn-text);cursor:pointer;border:none;border-radius:3px;padding:8px 14px;font-size:14px;font-weight:600}.username-input-wrapper .cancel-btn{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px;text-decoration:underline}.username-input-wrapper .cancel-btn:hover{color:var(--accent-strong)}.username-error{color:#e54848;margin-top:8px;font-size:13px;font-weight:500}@media (width<=520px){.sheet{padding:24px 16px 24px 40px}.sheet:before{left:26px}}
