:root{--paper:#f6f1e7;--ink:#2b2925;--ink-soft:#6f6a60;--ink-faint:#a69f92;--rule:#e2dbcd;--field:#fbf8f2;--focus:#8a6a3b;--serif:"Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", "Noto Serif SC", Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--column:44rem;--gutter:max(1.25rem, env(safe-area-inset-left), env(safe-area-inset-right));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#1b1a18;--ink:#e4ded2;--ink-soft:#a39d91;--ink-faint:#6b665d;--rule:#34312c;--field:#22211e;--focus:#c9a46a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.9}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}button,input,select,textarea{font:inherit;color:inherit}.shell{min-height:100vh;flex-direction:column;min-height:100dvh;display:flex}.masthead{width:100%;max-width:calc(var(--column) + 2 * var(--gutter));padding:calc(env(safe-area-inset-top) + 1rem) var(--gutter) .5rem;justify-content:space-between;align-items:center;margin:0 auto;display:flex}.brand{font-family:var(--serif);letter-spacing:.04em;color:var(--ink-soft);font-size:1.125rem;font-style:italic}.icon-button{width:2.75rem;height:2.75rem;color:var(--ink-faint);border-radius:50%;justify-content:center;align-items:center;margin-right:-.75rem;transition:color .2s;display:inline-flex}.icon-button:hover{color:var(--ink-soft)}.text-button{appearance:none;min-height:2.75rem;color:var(--ink-soft);cursor:pointer;letter-spacing:.05em;background:0 0;border:none;padding:.5rem 0;font-size:.9375rem}.text-button:hover:not(:disabled){color:var(--ink)}.text-button:disabled{color:var(--ink-faint);cursor:default}.text-button.strong{color:var(--ink)}.page{width:100%;max-width:calc(var(--column) + 2 * var(--gutter));padding:1rem var(--gutter) 2rem;flex:1;margin:0 auto}.work{font-family:var(--serif);padding-bottom:1rem;font-size:1.1875rem;line-height:2;animation:.6s both appear}.work:focus{outline:none}.work-title{font-family:var(--serif);letter-spacing:.04em;margin:1.5rem 0 1.75rem;font-size:1.5rem;font-weight:600;line-height:1.5}.work p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 1.1em}@keyframes appear{0%{opacity:0}to{opacity:1}}.composer{width:100%;max-width:calc(var(--column) + 2 * var(--gutter));padding:.5rem var(--gutter) calc(env(safe-area-inset-bottom) + .75rem);margin:0 auto}.is-empty .page{flex:none;padding:0}.is-empty .composer{padding-bottom:calc(env(safe-area-inset-bottom) + 18vh);flex-direction:column;flex:1;justify-content:center;display:flex}.has-work .composer{background:linear-gradient(to bottom, transparent, var(--paper) 1.25rem);padding-top:1.5rem;position:sticky;bottom:0}.composer-inner{border-bottom:1px solid var(--rule);align-items:flex-end;gap:.5rem;transition:border-color .2s;display:flex}.composer-inner:focus-within{border-color:var(--ink-faint)}.composer textarea{resize:none;background:0 0;border:none;outline:none;flex:1;max-height:10.5rem;padding:.6rem 0;font-size:1.0625rem;line-height:1.7;overflow-y:auto}.composer textarea::placeholder{color:var(--ink-faint)}.submit{appearance:none;width:2.75rem;height:2.75rem;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:-.6rem;transition:color .2s,opacity .2s;display:inline-flex}.submit:disabled{color:var(--ink-faint);opacity:.5;cursor:default}.breath{background:var(--ink-soft);transform-origin:0;opacity:0;height:1px;margin-top:-1px;transform:scaleX(0)}.breath.on{animation:2.4s ease-in-out infinite breath}@keyframes breath{0%{opacity:.6;transform:scaleX(0)}70%{opacity:.25;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.quiet-message{min-height:1.5rem;color:var(--ink-soft);margin:.4rem 0 0;font-size:.875rem;line-height:1.5}.login{padding:0 var(--gutter) 20vh;flex:1;justify-content:center;align-items:center;display:flex}.login-form{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;width:min(100%,20rem);display:flex}.login-form input{border:none;border-bottom:1px solid var(--rule);background:0 0;outline:none;flex:1;min-width:0;padding:.5rem 0}.login-form input:focus{border-color:var(--ink-faint)}.login-form .quiet-message{flex-basis:100%}.settings-title{font-family:var(--serif);letter-spacing:.06em;margin:1rem 0 1.5rem;font-size:1.375rem;font-weight:600}.field{border:none;min-width:0;margin:0 0 1.75rem;padding:0}.field>label,.field>legend{color:var(--ink-soft);letter-spacing:.05em;margin-bottom:.5rem;padding:0;font-size:.875rem;display:block}.field select,.field input:not([type=radio]),.field textarea{border:1px solid var(--rule);background:var(--field);border-radius:4px;outline:none;width:100%;padding:.55rem .75rem;line-height:1.6}.field select:focus,.field input:not([type=radio]):focus,.field textarea:focus{border-color:var(--ink-faint)}.field textarea{resize:vertical}.inline-input{margin-top:.75rem}.choices{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.choice{cursor:pointer;position:relative}.choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice span{border:1px solid var(--rule);min-height:2.75rem;color:var(--ink-soft);border-radius:999px;align-items:center;padding:0 1rem;font-size:.9375rem;transition:border-color .2s,color .2s;display:inline-flex}.choice input:checked+span{border-color:var(--ink-soft);color:var(--ink)}.choice input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.actions{align-items:baseline;gap:1rem;display:flex}.logout{border-top:1px solid var(--rule);margin-top:3rem;padding-top:.5rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.breath.on{opacity:.35;animation:none;transform:scaleX(1)}}
