body{margin:0;min-height:100vh}@font-face{font-family:Excalifont;src:url(/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(/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:#f8f0e6;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:#fffef9;border:1px solid #ccc;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:#333;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 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 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:#f8f0e6;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,#666,#aaa,#666);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{background-image:linear-gradient(to right,transparent 0,transparent 39px,rgba(255,100,100,.15) 40px,rgba(255,100,100,.15) 41px,transparent 41px),repeating-linear-gradient(transparent,transparent 31.4px,rgba(170,170,180,.2) 31.4px,rgba(170,170,180,.2) 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:#ccc;border-radius:4px}.writing-textarea::-webkit-scrollbar-thumb:hover,.comments-panel::-webkit-scrollbar-thumb:hover{background:#999}.voice-input-modal{height:calc(100vh - 85px);width:calc(100vw - 80px);position:fixed;top:49px;left:80px;z-index:99999}
