:root{--color-bg-app: #f8f0e6;--color-bg-paper: #fffef9;--color-bg-surface: rgba(255, 255, 255, .5);--color-bg-surface-solid: #ffffff;--color-bg-overlay: rgba(0, 0, 0, .5);--color-bg-hover: rgba(0, 0, 0, .05);--color-bg-active: rgba(74, 144, 226, .12);--color-bg-active-hover: rgba(74, 144, 226, .22);--color-border-paper: #d0c4b0;--color-border-neutral: #e0e0e0;--color-border-focus: #2c2c2c;--color-text-primary: #2c2c2c;--color-text-body: #333333;--color-text-secondary: #666666;--color-text-muted: #8a7a69;--color-action-primary: #2c2c2c;--color-action-link: #4a90e2;--color-action-link-hover: #357abd;--color-state-success: #4CAF50;--color-state-success-hover: #45a049;--color-state-warning: #f39c12;--color-state-error: #f44336;--color-state-danger: #dd4444;--color-state-danger-hover: #bb3333;--color-disabled-bg: #cccccc;--color-shadow-soft: rgba(0, 0, 0, .08);--color-shadow-medium: rgba(0, 0, 0, .15);--color-scrollbar-thumb: #cccccc;--color-scrollbar-thumb-hover: #999999;--color-voice-blue: #4a90e2;--color-voice-purple: #9b59b6;--color-voice-pink: #e91e63;--color-voice-green: #27ae60;--color-voice-yellow: #f39c12;--color-text-on-action: #ffffff;--color-code-bg: #2c2c2c;--color-code-text: #f3eee6;--color-code-inline-bg: rgba(0, 0, 0, .08)}[data-theme=dark]{--color-bg-app: #1f1b16;--color-bg-paper: #2a251e;--color-bg-surface: rgba(42, 37, 30, .82);--color-bg-surface-solid: #332d25;--color-bg-overlay: rgba(0, 0, 0, .72);--color-bg-hover: rgba(255, 255, 255, .08);--color-bg-active: rgba(129, 183, 210, .18);--color-bg-active-hover: rgba(129, 183, 210, .3);--color-border-paper: #5a4d3d;--color-border-neutral: #4a4238;--color-border-focus: #f3eee6;--color-text-primary: #f3eee6;--color-text-body: #eee8df;--color-text-secondary: #c8bcae;--color-text-muted: #9f9283;--color-action-primary: #f3eee6;--color-action-link: #81b7d2;--color-action-link-hover: #6aa3bf;--color-state-success: #7bcf8f;--color-state-success-hover: #5abd72;--color-state-warning: #f7c96a;--color-state-error: #ff7a70;--color-state-danger: #ff8a7f;--color-state-danger-hover: #e06060;--color-disabled-bg: #58504a;--color-shadow-soft: rgba(0, 0, 0, .32);--color-shadow-medium: rgba(0, 0, 0, .45);--color-scrollbar-thumb: #4a4238;--color-scrollbar-thumb-hover: #6a5e52;--color-voice-blue: #81b7d2;--color-voice-purple: #c99be1;--color-voice-pink: #ff8fbd;--color-voice-green: #7bdba0;--color-voice-yellow: #f7c96a;--color-text-on-action: #ffffff;--color-code-bg: #0d1117;--color-code-text: #e6edf3;--color-code-inline-bg: rgba(0, 0, 0, .18)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg-app: #1f1b16;--color-bg-paper: #2a251e;--color-bg-surface: rgba(42, 37, 30, .82);--color-bg-surface-solid: #332d25;--color-bg-overlay: rgba(0, 0, 0, .72);--color-bg-hover: rgba(255, 255, 255, .08);--color-bg-active: rgba(129, 183, 210, .18);--color-bg-active-hover: rgba(129, 183, 210, .3);--color-border-paper: #5a4d3d;--color-border-neutral: #4a4238;--color-border-focus: #f3eee6;--color-text-primary: #f3eee6;--color-text-body: #eee8df;--color-text-secondary: #c8bcae;--color-text-muted: #9f9283;--color-action-primary: #f3eee6;--color-action-link: #81b7d2;--color-action-link-hover: #6aa3bf;--color-state-success: #7bcf8f;--color-state-success-hover: #5abd72;--color-state-warning: #f7c96a;--color-state-error: #ff7a70;--color-state-danger: #ff8a7f;--color-state-danger-hover: #e06060;--color-disabled-bg: #58504a;--color-shadow-soft: rgba(0, 0, 0, .32);--color-shadow-medium: rgba(0, 0, 0, .45);--color-scrollbar-thumb: #4a4238;--color-scrollbar-thumb-hover: #6a5e52;--color-voice-blue: #81b7d2;--color-voice-purple: #c99be1;--color-voice-pink: #ff8fbd;--color-voice-green: #7bdba0;--color-voice-yellow: #f7c96a;--color-text-on-action: #ffffff;--color-code-bg: #0d1117;--color-code-text: #e6edf3;--color-code-inline-bg: rgba(0, 0, 0, .18)}}body{margin:0;min-height:100vh}@font-face{font-family:Excalifont;src:url(/ink-and-memory/Excalifont-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+0180-024F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F}@font-face{font-family:Xiaolai;src:url(/ink-and-memory/Xiaolai-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+4E00-9FFF,U+3400-4DBF,U+20000-2A6DF,U+F900-FAFF,U+3000-303F}.book-interface{position:fixed;inset:48px 0 0;display:flex;background-color:var(--color-bg-app);padding:1rem 2rem 2rem;gap:2rem;box-sizing:border-box;overflow:hidden;--gap-size: 1.5rem;--hole-diameter: 30px;--bar-width: 100px;--bar-height: 20px}.book-page{flex:1;display:flex;background-color:var(--color-bg-paper);border:1px solid var(--color-border-neutral);border-radius:4px;position:relative;overflow:hidden;min-height:0}.book-page.right-page{flex-direction:column;gap:1rem;padding:2rem;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.book-page.right-page::-webkit-scrollbar{display:none}.book-page.right-page>*{margin-left:2rem;word-wrap:break-word;overflow-wrap:break-word}.voice-comment{padding:1rem;border-left:4px solid;border-radius:4px;font-family:Excalifont,Xiaolai,Georgia,serif;font-size:1rem;line-height:1.6;color:var(--color-text-body);animation:fadeIn .5s ease-in;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.voice-comment:hover .quote-button{opacity:1!important}.voice-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.voice-icon{font-size:1.25rem}.voice-text{margin-left:1.75rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px) translateY(-50%)}to{opacity:1;transform:translate(0) translateY(-50%)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes energyPulse{0%{box-shadow:0 0 #6660;transform:scale(1);filter:brightness(1)}50%{box-shadow:0 0 12px #666666bf,0 0 20px #66666673;transform:scale(1.06);filter:brightness(1.15)}to{box-shadow:0 0 #6660;transform:scale(1);filter:brightness(1)}}@keyframes slideDownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.binder-ring{position:absolute;left:1rem;right:2rem;height:20px;transform:translateY(-50%);pointer-events:none;z-index:100}.hole-left,.hole-right{position:absolute;top:50%;transform:translateY(-50%);width:var(--hole-diameter);height:var(--hole-diameter);border-radius:50%;background:var(--color-bg-app);z-index:102}.hole-left{left:calc(50% - var(--gap-size) - var(--bar-width) / 2 - var(--hole-diameter) / 3)}.hole-right{left:calc(50% - var(--gap-size) + var(--bar-width) / 2 - var(--hole-diameter) / 1.5)}.ring-bar{position:absolute;left:calc(50% - var(--gap-size));top:50%;transform:translate(-50%,-50%);width:var(--bar-width);height:var(--bar-height);background:linear-gradient(180deg,var(--color-text-secondary) 0%,var(--color-scrollbar-thumb) 50%,var(--color-text-secondary) 100%);border-radius:calc(var(--bar-height) / 2);z-index:103}.voice-highlight{margin:-2px -6px;padding:2px 6px;cursor:pointer;transition:all .2s ease}.voice-highlight:hover{transform:scale(1.05);filter:brightness(.95)}.voice-highlight-yellow{background:url(https://s2.svgbox.net/pen-brushes.svg?ic=brush-9&color=ffff43)}.voice-highlight-blue{background:url(https://s2.svgbox.net/pen-brushes.svg?ic=brush-7&color=a3d5ff)}.voice-highlight-pink{background:url(https://s2.svgbox.net/pen-brushes.svg?ic=brush-8&color=ffb3d9)}.voice-highlight-green{background:url(https://s2.svgbox.net/pen-brushes.svg?ic=brush-6&color=b3ffb3)}.voice-highlight-purple{background:url(https://s2.svgbox.net/pen-brushes.svg?ic=brush-5&color=ddb3ff)}.notebook-lines{--notebook-margin-line: color-mix(in srgb, var(--color-state-error) 24%, transparent);--notebook-rule-line: color-mix(in srgb, var(--color-border-paper) 58%, transparent);background-image:linear-gradient(to right,transparent 0,transparent 39px,var(--notebook-margin-line) 40px,var(--notebook-margin-line) 41px,transparent 41px),repeating-linear-gradient(transparent,transparent 31.4px,var(--notebook-rule-line) 31.4px,var(--notebook-rule-line) 32.4px);background-size:100% 100%;background-position:0 0;background-attachment:local}.writing-textarea::-webkit-scrollbar,.comments-panel::-webkit-scrollbar{width:8px}.writing-textarea::-webkit-scrollbar-track,.comments-panel::-webkit-scrollbar-track{background:transparent}.writing-textarea::-webkit-scrollbar-thumb,.comments-panel::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:4px}.writing-textarea::-webkit-scrollbar-thumb:hover,.comments-panel::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}.voice-input-modal{height:calc(100vh - 85px);width:calc(100vw - 80px);position:fixed;top:49px;left:80px;z-index:99999}@media(max-width:767px){.book-interface{top:0;padding:.75rem;gap:1rem}.book-page.right-page{padding:1rem}.book-page.right-page>*{margin-left:.75rem}.voice-input-modal{top:0;left:0;width:100vw;height:100vh}}.prose{color:var(--color-text-body);max-width:none;line-height:1.7}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p,.prose ul,.prose ol,.prose table,.prose pre,.prose blockquote{margin:0 0 .9em}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--color-text-primary);font-weight:600;margin:1.2em 0 .5em}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin-bottom:.25em}.prose a{color:var(--color-action-link);text-decoration:underline}.prose strong{color:var(--color-text-primary)}.prose blockquote{margin-left:0;padding:.75em 1em;border-left:4px solid var(--color-state-warning);background:var(--color-bg-surface);color:var(--color-text-secondary)}.prose code{padding:.15em .4em;border-radius:.35em;background:var(--color-code-inline-bg);color:var(--color-text-primary);font-size:.92em}.prose pre{padding:1em;border-radius:.75em;background:var(--color-code-bg);color:var(--color-code-text);overflow-x:auto}.prose pre code{padding:0;background:transparent;color:inherit}.prose hr{border:none;border-top:1px solid var(--color-border-paper);margin:1.4em 0}.prose table{width:100%;border-collapse:collapse}.prose th,.prose td{border:1px solid var(--color-border-paper);padding:.55em .7em;text-align:left}.prose th{background:var(--color-bg-surface);color:var(--color-text-primary)}.prose img{max-width:100%;height:auto;border-radius:.75em}
