:root{--paper: #f6f4ee;--paper-raised: #fffefa;--paper-sunken: #edeae1;--paper-deep: #e4e0d4;--ink: #1c1a17;--ink-soft: #6b675e;--ink-faint: #a29d92;--ink-ghost: #c9c4b8;--rule: #dedad0;--rule-strong: #c6c0b2;--vermilion: #a8321e;--font-display: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--font-ui: "Hiragino Sans", "Yu Gothic", "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;--font-figure: "SF Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--ease: cubic-bezier(.22, .61, .36, 1);--caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 4l3 3 3-3' fill='none' stroke='%236b675e' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #161512;--paper-raised: #1e1d19;--paper-sunken: #121110;--paper-deep: #0e0d0c;--ink: #e8e3d7;--ink-soft: #948f83;--ink-faint: #6b675e;--ink-ghost: #46433c;--rule: #2c2a25;--rule-strong: #423f38;--vermilion: #d4795f;--caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 4l3 3 3-3' fill='none' stroke='%23948f83' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");color-scheme:dark}}:root[data-theme=dark]{--paper: #161512;--paper-raised: #1e1d19;--paper-sunken: #121110;--paper-deep: #0e0d0c;--ink: #e8e3d7;--ink-soft: #948f83;--ink-faint: #6b675e;--ink-ghost: #46433c;--rule: #2c2a25;--rule-strong: #423f38;--vermilion: #d4795f;--caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 4l3 3 3-3' fill='none' stroke='%23948f83' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:13.5px;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:none;padding:0;cursor:pointer}::selection{background:var(--ink);color:var(--paper)}.app{display:grid;grid-template-columns:250px 330px 1fr;height:100%;min-height:0;animation:rise .42s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pane{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--rule);overflow:hidden}.pane:last-child{border-right:none}.pane-folders{background:var(--paper-sunken)}.pane-editor{background:var(--paper-raised)}.pane-head{flex:0 0 auto;display:flex;align-items:center;gap:10px;min-height:62px;padding:0 22px;border-bottom:1px solid var(--rule)}.pane-title{flex:1;min-width:0;margin:0;font-family:var(--font-display);font-size:16px;font-weight:500;letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pane-body{flex:1 1 auto;min-width:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.pane-foot{flex:0 0 auto;border-top:1px solid var(--rule);padding:12px 18px;display:flex;align-items:center;gap:8px}.masthead{flex:0 0 auto;padding:26px 22px 20px;border-bottom:1px solid var(--rule)}.brand{margin:0;font-family:var(--font-display);font-size:21px;font-weight:400;letter-spacing:.32em;text-indent:.32em;line-height:1}.brand-rule{height:1px;background:var(--rule-strong);margin:13px 0 9px}.brand-sub{margin:0;font-family:var(--font-figure);font-size:9px;letter-spacing:.26em;color:var(--ink-faint);text-transform:uppercase}.row{position:relative;display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:13px 22px 13px 21px;border-bottom:1px solid var(--rule);border-left:1px solid transparent;transition:background .16s var(--ease),color .16s var(--ease)}.row:before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:2px;background:var(--ink);transform:scaleY(0);transform-origin:center;transition:transform .22s var(--ease)}.row:hover{background:var(--paper-deep)}.row[aria-current=true]{background:var(--paper-raised)}.row[aria-current=true]:before{transform:scaleY(1)}.pane-posts .row[aria-current=true]{background:var(--paper-sunken)}.row-index{flex:0 0 auto;font-family:var(--font-figure);font-size:9.5px;letter-spacing:.06em;color:var(--ink-ghost);padding-top:5px;font-variant-numeric:tabular-nums}.row[aria-current=true] .row-index{color:var(--ink-soft)}.row-main{flex:1;min-width:0}.row-title{display:block;font-size:13.5px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pane-posts .row-title{white-space:normal;overflow:visible;overflow-wrap:anywhere}.row-sub{display:block;margin-top:2px;font-size:12.5px;line-height:1.6;color:var(--ink-soft);white-space:pre-wrap;overflow-wrap:anywhere}.pane-folders .row-title{font-family:var(--font-display);font-size:14.5px;letter-spacing:.06em}.row-meta{display:block;margin-top:3px;font-family:var(--font-figure);font-size:10px;letter-spacing:.06em;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-count{flex:0 0 auto;padding-top:3px;font-family:var(--font-figure);font-size:10.5px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.row-pin{flex:0 0 auto;color:var(--ink-soft);display:inline-flex;align-self:center}.empty{padding:44px 26px;color:var(--ink-faint);font-size:12.5px;text-align:center;line-height:2.1}.specimen{padding:40px 0 60px}.specimen-head{text-align:center;padding:0 32px 30px}.specimen-mark{font-family:var(--font-display);font-size:34px;letter-spacing:.3em;text-indent:.3em;color:var(--ink-ghost);line-height:1;margin:0 0 18px}.specimen-lead{margin:0;font-size:12.5px;color:var(--ink-soft);line-height:2}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--rule-strong);border-radius:1px;padding:8px 15px;font-size:12px;letter-spacing:.08em;background:transparent;color:var(--ink);transition:background .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease);white-space:nowrap}.btn:hover{background:var(--paper-deep);border-color:var(--ink-faint)}.btn:active{background:var(--paper-sunken)}.btn:disabled{opacity:.32;cursor:not-allowed}.btn:disabled:hover{background:transparent;border-color:var(--rule-strong)}.btn-primary{background:var(--ink);color:var(--paper-raised);border-color:var(--ink)}.btn-primary:hover{background:var(--ink);border-color:var(--ink);opacity:.85}.btn-primary:active{opacity:.72}.btn-quiet{border-color:transparent;color:var(--ink-soft);padding:6px 10px;letter-spacing:.06em}.btn-quiet:hover{background:var(--paper-deep);color:var(--ink);border-color:transparent}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:1px;color:var(--ink-soft);transition:background .16s var(--ease),color .16s var(--ease);flex:0 0 auto}.btn-icon:hover{background:var(--paper-deep);color:var(--ink)}.btn-icon[aria-pressed=true]{color:var(--ink)}.btn-block{width:100%}.btn-grow{flex:1}.btn-lg{padding:13px 18px;font-size:13px;letter-spacing:.16em;text-indent:.16em}.btn-danger{color:var(--vermilion);border-color:var(--rule-strong);padding:10px 18px;letter-spacing:.12em;text-indent:.12em}.btn-danger:hover{background:transparent;border-color:var(--vermilion)}.actions{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--rule)}.field{padding:22px 30px;border-bottom:1px solid var(--rule)}.label{display:block;font-family:var(--font-figure);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:9px}.input,.textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--rule-strong);border-radius:0;padding:7px 2px;font-size:13.5px;line-height:1.85;resize:vertical;transition:border-color .16s var(--ease)}.input:focus,.textarea:focus{outline:none;border-bottom-color:var(--ink)}.input::placeholder,.textarea::placeholder{color:var(--ink-ghost)}.textarea-mono{font-family:var(--font-figure);font-size:12px;line-height:1.9;white-space:pre;overflow-wrap:normal;overflow-x:auto;border:1px solid var(--rule);background:var(--paper-sunken);padding:12px 14px}.textarea-mono:focus{border-color:var(--ink-faint);border-bottom-color:var(--ink-faint)}.textarea-body{min-height:260px}.textarea-proof{background:var(--paper-raised);border:1px solid var(--rule);border-radius:1px;padding:22px 24px;font-size:13px;line-height:1.85;min-height:44vh;box-shadow:0 1px 0 var(--rule),0 10px 24px -20px #0006}.textarea-proof:focus{border-color:var(--ink-faint);border-bottom-color:var(--ink-faint)}.textarea-var{min-height:68px}.search{display:flex;align-items:center;gap:9px;padding:11px 22px;border-bottom:1px solid var(--rule);color:var(--ink-faint)}.search input{flex:1;min-width:0;background:none;border:none;outline:none;font-size:12.5px;color:var(--ink)}.search input::placeholder{color:var(--ink-ghost)}.search:focus-within{color:var(--ink-soft)}.checkline{display:flex;align-items:flex-start;gap:10px;padding:5px 0;font-size:12.5px;cursor:pointer;line-height:1.7}.checkline input{accent-color:var(--ink);margin-top:4px;flex:0 0 auto}.select{appearance:none;-webkit-appearance:none;background:transparent var(--caret) no-repeat right 9px center;background-size:9px 9px;border:1px solid var(--rule-strong);border-radius:1px;padding:7px 26px 7px 11px;font-size:12px;letter-spacing:.04em;cursor:pointer;transition:border-color .16s var(--ease)}.select:hover{border-color:var(--ink-faint)}.select:focus{outline:none;border-color:var(--ink)}.measure{max-width:760px;min-width:0;margin:0 auto}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0;padding:14px 30px;border-bottom:1px solid var(--rule)}.spacer{flex:1}.proof-head{display:flex;align-items:baseline;gap:12px;margin-bottom:11px}.proof-head .label{margin:0;flex:0 0 auto}.proof-head-rule{flex:1;height:1px;background:var(--rule)}.preview{background:var(--paper-raised);border:1px solid var(--rule);border-radius:1px;padding:24px 26px;font-size:13px;line-height:1.85;white-space:pre-wrap;overflow-wrap:break-word;max-height:48vh;overflow-y:auto;box-shadow:0 1px 0 var(--rule),0 10px 24px -20px #0006}:root[data-theme=dark] .preview,:root:not([data-theme=light]) .preview{box-shadow:0 1px 0 var(--rule)}.preview .tag{color:var(--ink-soft);text-decoration:underline;text-decoration-color:var(--ink-ghost);text-underline-offset:3px}.preview .cut{color:var(--ink-ghost);text-decoration:line-through;text-decoration-color:var(--vermilion);text-decoration-thickness:1px}.preview .filler{display:inline-block;width:1.15em;height:.62em;vertical-align:-.06em;border:1px solid var(--ink-ghost);border-radius:1px;background:repeating-linear-gradient(-45deg,transparent 0 2px,var(--ink-ghost) 2px 3px);opacity:.62}.figures{display:flex;align-items:flex-end;gap:26px;flex-wrap:wrap}.figure{display:flex;flex-direction:column;gap:2px}.figure-value{font-family:var(--font-figure);font-size:15px;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:.01em}.figure-value small{font-size:10px;color:var(--ink-faint);letter-spacing:.04em}.figure-label{font-family:var(--font-figure);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}.figure-over .figure-value,.figure-over .figure-label{color:var(--vermilion)}.meter{height:1px;background:var(--rule);margin:14px 0 0;overflow:hidden}.meter>i{display:block;height:100%;background:var(--ink-faint);transition:width .26s var(--ease)}.meter>i.over{background:var(--vermilion)}.palette{padding:16px 30px 22px;border-bottom:1px solid var(--rule);background:var(--paper-sunken)}.palette-group+.palette-group{margin-top:16px}.palette-group-label{font-family:var(--font-figure);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:7px}.palette-row{display:flex;flex-wrap:wrap;gap:4px}.glyph{border:1px solid var(--rule);border-radius:1px;padding:5px 9px;font-size:14px;line-height:1.5;background:var(--paper-raised);min-width:34px;transition:border-color .14s var(--ease),background .14s var(--ease)}.glyph:hover{border-color:var(--ink-faint);background:var(--paper-deep)}.glyph-wide{font-family:var(--font-figure);font-size:10px;letter-spacing:0}.glyph-invisible{font-family:var(--font-figure);font-size:9px;color:var(--ink-faint);letter-spacing:.04em}.hint{font-size:11.5px;color:var(--ink-faint);line-height:1.95;margin:10px 0 0}.warn{font-size:11.5px;color:var(--vermilion);line-height:1.95;margin:0 0 12px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.chip{display:inline-block;border:1px solid var(--rule-strong);border-radius:1px;padding:1px 8px;font-family:var(--font-figure);font-size:10px;letter-spacing:.04em;color:var(--ink-soft)}.chip-missing{border-color:var(--vermilion);color:var(--vermilion)}.chips{display:flex;flex-wrap:wrap;gap:5px}.band{padding:13px 30px;border-bottom:1px solid var(--rule);background:var(--paper-sunken);display:flex;align-items:center;gap:12px}.band-label{font-family:var(--font-figure);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint)}.scrim{position:fixed;inset:0;background:#14120e57;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50;animation:fade .18s var(--ease) both}@keyframes fade{0%{opacity:0}to{opacity:1}}.dialog{background:var(--paper-raised);border:1px solid var(--rule-strong);border-radius:1px;width:min(640px,100%);max-height:min(86vh,800px);display:flex;flex-direction:column;box-shadow:0 30px 70px -30px #00000080;animation:rise .24s var(--ease) both}.dialog-head{padding:24px 30px 16px;border-bottom:1px solid var(--rule)}.dialog-title{margin:0;font-family:var(--font-display);font-size:17px;font-weight:500;letter-spacing:.12em}.dialog-note{margin:9px 0 0;font-size:12px;color:var(--ink-soft);line-height:1.95}.dialog-body{padding:24px 30px;overflow-y:auto;flex:1}.dialog-foot{padding:16px 30px;border-top:1px solid var(--rule);display:flex;gap:10px;justify-content:flex-end;align-items:center}.dialog-danger{margin-right:auto;color:var(--vermilion);border-color:transparent}.dialog-danger:hover{background:var(--paper-deep);border-color:var(--vermilion)}.stack{margin-top:20px}.stack:first-child{margin-top:0}.bulk-list{margin:10px 0 0;padding:0;list-style:none;max-height:240px;overflow-y:auto;border-top:1px solid var(--rule)}.bulk-list li{display:flex;gap:14px;padding:9px 2px;border-bottom:1px solid var(--rule);font-size:12.5px;line-height:1.7;white-space:pre-wrap;overflow-wrap:break-word}.bulk-list li>span:first-child{flex:0 0 auto;font-family:var(--font-figure);font-size:9.5px;color:var(--ink-ghost);padding-top:3px;font-variant-numeric:tabular-nums}.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%);background:var(--ink);color:var(--paper-raised);padding:11px 22px;border-radius:1px;font-size:12px;letter-spacing:.06em;z-index:60;animation:toast-in .2s var(--ease);max-width:calc(100vw - 48px);text-align:center;box-shadow:0 14px 34px -18px #0009}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.back-btn{display:none}@media(max-width:900px){.app{grid-template-columns:1fr}.pane{border-right:none;display:none}.app[data-mobile-pane=folders] .pane-folders,.app[data-mobile-pane=posts] .pane-posts,.app[data-mobile-pane=editor] .pane-editor{display:flex}.back-btn{display:inline-flex}.masthead{padding:22px 18px 16px;padding-top:max(22px,env(safe-area-inset-top))}.pane-head{padding:0 14px;min-height:56px;padding-top:env(safe-area-inset-top)}.row{padding:15px 18px 15px 17px}.field{padding:18px}.toolbar,.band,.palette{padding-left:18px;padding-right:18px}.pane-foot{padding:12px 14px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.specimen{padding:28px 0 40px}.toolbar .spacer{display:none}.figures{gap:18px}.preview{padding:18px;max-height:40vh}.input,.textarea,.search input{font-size:16px}.textarea-mono{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
