@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.table{display:table}}:root{--ink:#222a24;--muted:#7c847b;--paper:#f6f4ee;--line:#e6e2d9;--green:#385343}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}button{font:inherit;color:inherit;cursor:pointer}.app-shell{grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#c6cec4;background:#202d26;flex-direction:column;height:100vh;padding:31px 18px 23px;display:flex;position:sticky;top:0}.brand{color:#f1f2eb;letter-spacing:.08em;align-items:center;gap:10px;padding:0 11px;font-family:Georgia,Songti SC,serif;font-size:23px;display:flex}.brand-mark{align-items:end;gap:3px;height:23px;display:flex}.brand-mark i{background:#e6bb6d;border-radius:1px 1px 0 0;width:5px;display:block;transform:skewY(-12deg)}.brand-mark i:first-child{height:13px}.brand-mark i:nth-child(2){background:#dde1d6;height:21px}.brand-mark i:nth-child(3){background:#8ea185;height:17px}.sidebar nav{gap:5px;margin-top:57px;display:grid}.nav{color:#c2cbc1;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:13px;padding:11px 12px;font-size:14px;text-decoration:none;display:flex}.nav:hover{color:#fff;background:#2c3e33}.nav.active{color:#fff;background:#34483b}.nav>span{text-align:center;width:18px;font-size:19px}.nav em{color:#f0c877;letter-spacing:.08em;margin-left:auto;font-size:9px;font-style:normal}.side-bottom{margin-top:auto}.profile{border-top:1px solid #3b4a41;align-items:center;gap:9px;margin-top:16px;padding:19px 8px 0;display:flex}.avatar{color:#263127;background:#d5a65a;border-radius:50%;place-items:center;width:31px;height:31px;font-family:Georgia,serif;display:grid}.profile b,.profile small{display:block}.profile b{color:#f0f2ec;font-size:13px}.profile small{color:#98a69b;margin-top:3px;font-size:11px}.profile button{color:#aeb9af;background:0 0;border:0;margin-left:auto}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf9f5cc;justify-content:space-between;align-items:center;height:77px;padding:0 clamp(25px,4vw,65px);display:flex}.topbar p{color:#92988f;font-size:13px}.topbar p i{background:#9ea49d;border-radius:50%;width:3px;height:3px;margin:0 8px 2px;display:inline-block}.topbar p b{color:#3f4d42}.topbar>div{gap:12px;display:flex}.search{color:#899088;text-align:left;background:#fffefa;border:1px solid #e1dfd7;border-radius:6px;width:244px;height:37px;padding:0 10px;font-size:12px}.search kbd{float:right;background:#f0eee8;border-radius:3px;padding:2px 4px;font-size:10px}.upload,.continue-btn{color:#fff;background:#2f4939;border:0;border-radius:6px}.upload{height:37px;padding:0 14px;font-size:13px}.page{max-width:1320px;margin:auto;padding:48px clamp(25px,4vw,65px) 70px}.intro{justify-content:space-between;align-items:end;display:flex}.eyebrow{letter-spacing:.14em;color:#969d94;margin:0;font-size:10px;font-weight:800}.intro h1{letter-spacing:-.04em;margin:9px 0 7px;font:500 34px/1 Georgia,Songti SC,serif}.intro>div>p:last-child{color:var(--muted);margin:0;font-size:14px}.today{color:#68766a;padding-bottom:4px;font-size:12px}.today b{color:#365141}.today em{color:#66805f;background:#e5ecdf;border-radius:999px;margin-left:7px;padding:4px 8px;font-size:10px;font-style:normal}.continue{background:#dce4d6;border-radius:5px;align-items:center;height:213px;margin-top:31px;padding:29px 33px;display:flex;position:relative;overflow:hidden}.continue:after{content:"";border:1px solid #ffffffa3;border-radius:50%;width:310px;height:310px;position:absolute;top:-74px;right:-38px;box-shadow:0 0 0 38px #ffffff1f,0 0 0 87px #ffffff17}.continue-cover{z-index:1;align-self:stretch;width:122px;position:relative}.continue-cover .cover{width:112px;height:170px;position:absolute;top:-8px;transform:rotate(-3deg);box-shadow:13px 19px 18px #2f372a38}.continue-cover>i{filter:blur(9px);background:#2c382c33;border-radius:50%;width:92px;height:17px;position:absolute;bottom:5px;left:17px}.continue-copy{z-index:1;margin-left:10px}.continue-copy h2{letter-spacing:-.03em;margin:7px 0 2px;font:500 26px Georgia,Songti SC,serif}.continue-copy small,.read-location{color:#718072;font-size:11px}.progress{align-items:center;gap:9px;margin:22px 0 8px;display:flex}.progress span{background:#bec9b8;border-radius:9px;width:245px;height:5px;overflow:hidden}.progress span i{border-radius:inherit;background:#426049;height:100%;display:block}.progress b{color:#3d5843;font-size:11px}.read-location{margin:0}.continue-btn{z-index:1;height:40px;margin-left:auto;padding:0 17px;font-size:13px}.highlight-count{color:#718072;z-index:1;font-size:11px;position:absolute;bottom:16px;right:23px}.highlight-count b{color:#48604c}.library{margin-top:58px}.heading,.card-heading{justify-content:space-between;align-items:start;display:flex}.heading h2,.card-heading h2{letter-spacing:-.04em;margin:6px 0 0;font:500 24px Georgia,Songti SC,serif}.heading>button{color:#536b58;background:0 0;border:0;padding:10px 0;font-size:12px}.controls{justify-content:space-between;align-items:center;margin:25px 0 19px;display:flex}.tabs{gap:21px;display:flex}.tabs button{color:#92978f;background:0 0;border:0;padding:4px 0 7px;font-size:12px;position:relative}.tabs .chosen{color:#33483a;font-weight:700}.tabs .chosen:after{content:"";background:#415e49;height:2px;position:absolute;bottom:0;left:0;right:0}.view{align-items:center;gap:12px;display:flex}.view>button{color:#788178;background:0 0;border:0;font-size:12px}.view>span{background:#ebe9e2;border-radius:5px;padding:3px}.view span button{color:#899089;background:0 0;border:0;border-radius:3px;width:28px;height:26px}.view span .selected{color:#344d3b;background:#fffefa;box-shadow:0 1px 3px #36332c26}.shelves{background:#d8c9b6;border-radius:5px;padding:12px 22px 0;overflow:hidden;box-shadow:0 16px 35px #33302814,inset 0 0 0 1px #4733221a}.shelf-row{background:linear-gradient(90deg,#b9946e,#d7ba91 19%,#b88f68 49%,#d9bd96 77%,#af855f);align-items:end;gap:17px;height:213px;padding:11px 9px 18px;display:flex;box-shadow:inset 0 -14px 10px #4f2e1930,0 9px #9f7652,0 12px 12px #54371f29}.shelf-row+.shelf-row{margin-top:14px}.shelf-book{transform-origin:bottom;background:0 0;border:0;flex:none;width:105px;height:178px;padding:0;transition:all .2s;position:relative}.shelf-book:nth-child(2n){width:99px;height:169px}.shelf-book:nth-child(3n){width:107px;height:182px}.shelf-book:hover{z-index:4;transform:translateY(-9px)rotate(-1.5deg)}.cover{text-align:left;color:#fffdf3;background:var(--cover);flex-direction:column;width:100%;height:100%;padding:13px 11px 10px;display:flex;position:relative;overflow:hidden;box-shadow:3px 3px 2px #26190f33,inset 4px 0 #ffffff26}.cover-noise{opacity:.28;mix-blend-mode:overlay;background-image:radial-gradient(circle at 20% 15%,#fff 0 1px,#0000 1.4px),radial-gradient(circle at 70% 60%,#000 0 .7px,#0000 1.1px);background-size:9px 11px,7px 9px;position:absolute;inset:0}.cover>*{z-index:1}.cover-top{letter-spacing:.18em;opacity:.75;font-size:6px}.cover-symbol{color:var(--accent);opacity:.34;font:75px Georgia,serif;position:absolute;top:22px;right:-4px}.cover strong{letter-spacing:-.07em;margin-top:auto;font:20px/1.04 Georgia,Songti SC,serif}.cover em{opacity:.9;max-width:85%;margin-top:8px;font-size:7px;font-style:normal;line-height:1.2}.cover i{opacity:.65;background:currentColor;width:25px;height:2px;margin-top:10px;display:block}.edge-progress{background:#43332145;width:100%;height:3px;position:absolute;bottom:-13px;left:0}.edge-progress:after{content:"";width:var(--progress);background:#e6c36c;height:100%;display:block}.tooltip{opacity:0;pointer-events:none;z-index:6;text-align:left;color:#fff;background:#1e2922;border-radius:4px;width:170px;padding:9px 10px;transition:all .18s;position:absolute;bottom:calc(100% + 15px);left:50%;transform:translate(-50%,8px);box-shadow:0 8px 18px #0003}.tooltip b,.tooltip small{display:block}.tooltip b{font-size:11px}.tooltip small{color:#c4cdc0;margin-top:3px;font-size:9px}.shelf-book:hover .tooltip{opacity:1;transform:translate(-50%)}.add-book{color:#65472f;background:#fff9ed1f;border:1px dashed #4b311e75;place-content:center;gap:7px;width:95px;height:136px;font-size:10px;display:grid}.add-book span{display:block}.book-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:20px;display:grid}.grid-book{text-align:left;background:0 0;border:0;min-width:0;padding:0}.grid-book .cover{border-radius:2px;height:218px;transition:all .2s;box-shadow:5px 7px 9px #3f34292b}.grid-book:hover .cover{transform:translateY(-4px);box-shadow:7px 12px 16px #3f342938}.grid-book>b,.grid-book>small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.grid-book>b{margin-top:10px;font:14px Georgia,Songti SC,serif}.grid-book>small{color:#858b83;margin-top:4px;font-size:10px}.pill{color:#757b74;background:#ebe9e2;border-radius:20px;margin-top:7px;padding:3px 7px;font-size:10px;font-style:normal;display:inline-block}.pill.在读{color:#55704c;background:#e1ebdb}.pill.已读{color:#796c58;background:#e8e4db}.cards{grid-template-columns:1.16fr .84fr;gap:20px;margin-top:52px;display:grid}.cards article{background:#fffefa;border:1px solid #e8e5dc;border-radius:5px;min-height:258px;padding:24px 27px;box-shadow:0 8px 22px #312d2509}.card-heading h2{font-size:20px}.card-heading>button{color:#687568;background:#fffefa;border:1px solid #e5e2d9;border-radius:50%;width:30px;height:30px}.cards blockquote{letter-spacing:-.04em;color:#374438;max-width:440px;margin:28px 0 20px;font:21px/1.55 Georgia,Songti SC,serif}.cards footer{border-top:1px solid #eeeae2;align-items:center;gap:9px;padding-top:14px;display:flex}.tiny-book{background:#1d342d;border-radius:1px;width:25px;height:33px}.cards footer b,.cards footer small{display:block}.cards footer b{font-size:11px}.cards footer small{color:#969b93;margin-top:2px;font-size:10px}.cards footer button{color:#61775f;background:0 0;border:0;margin-left:auto;font-size:11px}.date{color:#8a9188;background:#f0eee7;border-radius:4px;padding:4px 7px;font-size:10px;font-style:normal}.numbers{gap:42px;margin-top:22px;display:flex}.numbers p{margin:0}.numbers b{font:500 28px Georgia,serif}.numbers b span{color:#808780;margin-left:2px;font-size:14px}.numbers small{color:#969b93;margin-top:3px;font-size:10px;display:block}.chart{border-bottom:1px solid #e9e6df;justify-content:space-between;align-items:end;height:79px;margin-top:15px;display:flex}.chart span{align-items:end;width:19px;height:100%;padding-bottom:17px;display:flex;position:relative}.chart i{background:#cbd6c6;border-radius:2px 2px 0 0;width:100%;max-height:59px}.chart .active i{background:#46604b}.chart small{color:#969b93;font-size:10px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.toast{z-index:20;color:#f8f8f3;background:#263a2d;border-radius:5px;padding:11px 16px;font-size:12px;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #19261d3d}@media (max-width:930px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:28px 10px}.brand{justify-content:center;padding:0}.brand>b,.nav{font-size:0}.nav{justify-content:center;padding:12px}.nav>span{font-size:19px}.nav em,.profile>span:not(.avatar),.profile button{display:none}.profile{justify-content:center;padding:19px 0 0}.topbar,.page{padding-left:28px;padding-right:28px}.search{width:180px}}@media (max-width:670px){.app-shell{display:block}.sidebar{z-index:10;flex-direction:row;align-items:center;height:58px;min-height:58px;padding:0 15px;display:flex;position:sticky;top:0}.brand{justify-content:start}.sidebar nav{gap:1px;margin:0 0 0 auto;display:flex}.nav{padding:9px}.side-bottom{display:none}.topbar{height:auto;padding:14px 18px}.topbar p{display:none}.topbar>div{width:100%}.search{flex:1;width:auto}.upload{width:38px;padding:0;font-size:0}.upload span{display:none}.page{padding:32px 18px 52px}.intro{display:block}.intro h1{font-size:30px}.today{margin-top:15px}.continue{height:205px;padding:23px 18px}.continue-cover{width:83px}.continue-cover .cover{width:76px;height:130px;top:11px}.continue-copy{margin-left:7px}.continue-copy h2{font-size:20px}.continue-copy small{font-size:10px}.progress span{width:120px}.continue-btn{height:33px;margin:0;font-size:11px;position:absolute;bottom:25px;left:108px}.highlight-count{display:none}.library{margin-top:42px}.controls{flex-direction:column;align-items:start;gap:13px}.tabs{gap:18px;width:100%;padding-bottom:3px;overflow:auto}.view{justify-content:space-between;width:100%}.shelves{padding:10px 12px 0;overflow:auto}.shelf-row{width:max-content;min-width:100%;height:193px}.shelf-book{width:91px;height:158px}.shelf-book:nth-child(2n){width:88px;height:151px}.shelf-book:nth-child(3n){width:94px;height:163px}.cards{grid-template-columns:1fr;margin-top:42px}.cards article{padding:22px 20px}.cards blockquote{font-size:19px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-book .cover{height:210px}}.spine-shelves{background:#d7c8b4;border-radius:5px;padding:14px 23px 0;overflow:hidden;box-shadow:0 16px 35px #33302814,inset 0 0 0 1px #4733221a}.spine-row{background:linear-gradient(90deg,#b78e65,#d8bb91 20%,#b98e64 48%,#d7b890 76%,#aa7e58);align-items:end;gap:3px;height:218px;padding:9px 11px 18px;display:flex;box-shadow:inset 0 -13px 9px #4f2e1930,0 9px #9f7652,0 12px 12px #54371f29}.spine-row+.spine-row{margin-top:14px}.spine-book{width:var(--spine-width);height:var(--spine-height);background:linear-gradient(90deg, #00000024, transparent 18%, transparent 79%, #ffffff20), var(--spine);color:#fffdf3;border:0;border-radius:2px 2px 1px 1px;flex-direction:column;flex:none;align-items:center;padding:9px 5px 7px;transition:transform .2s,filter .2s;display:flex;position:relative;overflow:visible;box-shadow:2px 0 1px #0002,inset 3px 0 #ffffff1c,inset -3px 0 #00000018}.spine-book:nth-child(2n){margin-right:1px;transform:rotate(-1deg)}.spine-book:nth-child(3n){margin-left:1px;transform:rotate(1.2deg)}.spine-book:hover{filter:brightness(1.08);z-index:4;transform:translateY(-10px)rotate(0)}.spine-book strong{writing-mode:vertical-rl;letter-spacing:.03em;max-height:calc(100% - 35px);margin-top:auto;font:600 11px/1.12 Georgia,Songti SC,serif;overflow:hidden}.spine-book em{writing-mode:vertical-rl;opacity:.75;max-height:38px;margin-top:5px;font-size:6px;font-style:normal;overflow:hidden}.spine-mark{color:var(--spine-accent);opacity:.9;font:18px/1 Georgia,serif}.spine-progress{background:#ffffff42;height:2px;position:absolute;bottom:4px;left:5px;right:5px}.spine-progress:after{content:"";width:var(--spine-progress);background:var(--spine-accent);height:100%;display:block}.spine-tooltip{opacity:0;pointer-events:none;text-align:left;color:#fff;background:#1e2922;border-radius:4px;width:180px;padding:9px 10px;transition:all .18s;position:absolute;bottom:calc(100% + 13px);left:50%;transform:translate(-50%,8px);box-shadow:0 8px 18px #0003}.spine-tooltip b,.spine-tooltip small{display:block}.spine-tooltip b{font-size:11px}.spine-tooltip small{color:#c4cdc0;margin-top:3px;font-size:9px}.spine-book:hover .spine-tooltip{opacity:1;transform:translate(-50%)}@media (min-width:671px){.shelves,.spine-shelves{overflow:visible}}.auth-page{background:var(--paper);grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);min-height:100vh;display:grid}.auth-panel{flex-direction:column;justify-content:center;align-items:flex-start;width:100%;max-width:480px;margin:0 auto;padding:72px 42px;display:flex}.auth-brand{color:#26372c;letter-spacing:.08em;align-items:center;gap:10px;font-family:Georgia,Songti SC,serif;font-size:22px;font-weight:700;text-decoration:none;display:inline-flex}.auth-brand>span{align-items:end;gap:3px;height:23px;display:flex}.auth-brand i{background:#e6bb6d;border-radius:1px 1px 0 0;width:5px;display:block;transform:skewY(-12deg)}.auth-brand i:first-child{height:13px}.auth-brand i:nth-child(2){background:#718878;height:21px}.auth-brand i:nth-child(3){background:#b3c0a7;height:17px}.auth-panel>.eyebrow{margin-top:86px}.auth-panel h1{letter-spacing:-.06em;margin:12px 0 14px;font-family:Georgia,Songti SC,serif;font-size:clamp(38px,5vw,54px);font-weight:500;line-height:1.1}.login-form{gap:9px;width:100%;margin-top:34px;display:grid}.login-form label{color:#59665a;font-size:12px;font-weight:700}.login-form input{background:#fffefa;border:1px solid #dedbd1;border-radius:6px;outline:none;height:48px;padding:0 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.login-form input:focus{border-color:#59705d;box-shadow:0 0 0 3px #dce6d9}.login-form>button{color:#fff;background:#2f4939;border:0;border-radius:6px;height:48px;margin-top:9px;font-size:14px;transition:background .2s,transform .2s}.login-form>button:hover:not(:disabled){background:#223c2d;transform:translateY(-1px)}.login-form>button:disabled{cursor:wait;opacity:.65}.login-form>button span{margin-left:6px}.login-feedback{border-radius:5px;margin:7px 0 0;padding:10px 12px;font-size:12px;line-height:1.6}.login-feedback.is-success{color:#466045;background:#e7eee2}.login-feedback.is-error{color:#a54d42;background:#f8e9e6}.auth-note{color:#9aa098;margin:19px 0 0;font-size:11px;line-height:1.7}.auth-aside{color:#35503d;background:#dce4d6;flex-direction:column;justify-content:center;align-items:center;padding:56px;display:flex;position:relative;overflow:hidden}.auth-aside:before,.auth-aside:after{content:"";border:1px solid #ffffff8c;border-radius:50%;width:440px;height:440px;position:absolute}.auth-aside:before{top:-130px;right:-160px}.auth-aside:after{bottom:-250px;left:-110px}.auth-quote{z-index:1;width:100%;max-width:430px;margin:0;position:relative}.auth-quote blockquote{color:#35503d;letter-spacing:-.05em;text-align:left;margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(24px,3vw,38px);line-height:1.45}.auth-quote figcaption{color:#708071;text-align:right;margin-top:23px;font-size:12px}@media (max-width:760px){.auth-page{display:block}.auth-panel{min-height:100vh;padding:42px 25px}.auth-panel>.eyebrow{margin-top:auto}.auth-aside{display:none}}.auth-form-wrap{width:100%;margin-top:30px}.auth-mode-switch{background:#ebece5;border-radius:7px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.auth-mode-switch button{color:#6e786e;background:0 0;border:0;border-radius:5px;height:35px;font-family:inherit;font-size:12px;transition:background .2s,box-shadow .2s,color .2s}.auth-mode-switch button.is-active{color:#2f4939;background:#fffefa;font-weight:700;box-shadow:0 1px 3px #2d3b3020}.auth-mode-switch button:focus-visible{outline-offset:2px;outline:2px solid #59705d}.auth-form-wrap .login-form{margin-top:20px}.password-label-row{justify-content:space-between;align-items:baseline;display:flex}.password-label-row span{color:#8a9289;font-size:11px}.password-rules{flex-wrap:wrap;gap:4px 11px;margin:-3px 0 2px;padding:0;list-style:none;display:flex}.password-rules li,.field-feedback{align-items:center;gap:4px;margin:0;font-size:11px;line-height:1.45;display:inline-flex}.password-rules li{color:#a54d42}.password-rules li.is-valid,.field-feedback.is-valid{color:#4d734f}.field-feedback.is-invalid{color:#a54d42}.password-rules span,.field-feedback span{font-size:13px;font-weight:700;line-height:1}.first-book-callout{background:radial-gradient(circle at 84% 17%,#fffefa80 0 2px,#0000 2.5px),#dce4d6;border-radius:5px;min-height:213px;margin-top:31px;padding:37px 39px;position:relative;overflow:hidden}.first-book-callout:after{content:"";border:1px solid #ffffff9e;border-radius:50%;width:236px;height:236px;position:absolute;top:-70px;right:-56px;box-shadow:0 0 0 34px #ffffff1c,0 0 0 75px #ffffff17}.first-book-callout>*{z-index:1;position:relative}.first-book-callout h2{letter-spacing:-.04em;margin:8px 0;font:500 27px Georgia,Songti SC,serif}.first-book-callout p:not(.eyebrow){color:#68766a;max-width:430px;margin:0;font-size:13px;line-height:1.7}.first-book-callout button,.empty-library button,.dialog-submit{color:#fff;font:inherit;background:#2f4939;border:0;border-radius:6px}.first-book-callout button{margin-top:19px;padding:10px 14px;font-size:12px}.empty-library{color:#6f766e;text-align:center;background:#fffefa;border:1px dashed #cdc7ba;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;min-height:250px;padding:32px;display:flex}.empty-library>span{color:#779178;font-size:25px}.empty-library h3{color:#39483d;margin:10px 0 7px;font:500 21px Georgia,Songti SC,serif}.empty-library p{max-width:315px;margin:0;font-size:12px;line-height:1.7}.empty-library button{margin-top:17px;padding:10px 14px;font-size:12px}.dialog-backdrop{z-index:50;background:#1c241f75;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.upload-dialog{background:#fffefa;border:1px solid #e6e2d8;border-radius:8px;width:min(100%,490px);max-height:calc(100vh - 48px);padding:27px;overflow:auto;box-shadow:0 28px 80px #151a164a}.upload-dialog header{justify-content:space-between;align-items:flex-start;display:flex}.upload-dialog h2{color:#374438;letter-spacing:-.04em;margin:7px 0 0;font:500 26px Georgia,Songti SC,serif}.dialog-close{color:#788077;background:0 0;border:0;padding:0 2px;font-size:27px;line-height:1}.upload-dialog form{gap:9px;margin-top:24px;display:grid}.upload-dialog label{color:#59665a;font-size:12px;font-weight:700}.upload-dialog label span{color:#9ba198;font-size:10px;font-weight:400}.upload-dialog input:not(.visually-hidden),.upload-dialog select{color:#3e493f;font:inherit;background:#fffefa;border:1px solid #dedbd1;border-radius:6px;outline:0;height:45px;padding:0 12px;font-size:13px}.upload-dialog input:focus,.upload-dialog select:focus{border-color:#59705d;box-shadow:0 0 0 3px #dce6d9}.visually-hidden{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.file-drop{color:#586559;text-align:left;background:#f4f5ef;border:1px dashed #a5afa1;border-radius:6px;align-items:center;gap:12px;min-height:75px;padding:12px;display:flex}.file-drop.has-file{background:#edf2e9;border-color:#6f8a71}.file-drop-mark{color:#47704d;background:#e1e9dc;border-radius:50%;flex:none;place-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:grid}.file-drop b,.file-drop small{display:block}.file-drop b{color:#445246;text-overflow:ellipsis;white-space:nowrap;max-width:340px;font-size:12px;font-weight:700;overflow:hidden}.file-drop small{color:#8a9388;margin-top:4px;font-size:10px}.upload-feedback{color:#a54d42;background:#f8e9e6;border-radius:5px;margin:3px 0 0;padding:8px 10px;font-size:11px;line-height:1.55}.upload-dialog footer{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.dialog-cancel{color:#69736a;font:inherit;background:0 0;border:0;padding:10px 12px;font-size:12px}.dialog-submit{padding:10px 14px;font-size:12px}.dialog-submit:disabled{cursor:wait;opacity:.65}.insight-placeholder{color:#7e877e;margin:24px 0 0;font-size:12px;line-height:1.7}@media (max-width:670px){.first-book-callout{min-height:196px;margin-top:22px;padding:29px 23px}.dialog-backdrop{align-items:end;padding:0}.upload-dialog{border-radius:10px 10px 0 0;max-height:calc(100vh - 34px);padding:23px 20px}}
