.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{inset:0;position:absolute}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:calc(100% / 3);left:0;top:calc(100% / 3);width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:calc(100% / 3);top:0;width:calc(100% / 3)}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:before,.cropper-center:after{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media(min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media(min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media(min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}:root{font-family:Inter,Pretendard,Noto Sans KR,system-ui,-apple-system,sans-serif;color:#191918;background:#f0f0f0;font-synthesis:none;text-rendering:optimizeLegibility;--paper: #fafafa;--paper-deep: #f0f0f0;--ink: #191918;--ink-soft: #68665f;--rule: #d8d5cb;--danger: #8d312b;--max: 1120px}*{box-sizing:border-box}html{min-width:320px;background:var(--paper-deep)}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper-deep)}html[data-app-design=current],html[data-app-design=current] body{background:#fafafa}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:3px}button{color:inherit}h1,h2,p{margin-top:0}h1,h2{font-family:Georgia,"Noto Serif KR",serif}h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.12;letter-spacing:-.045em}h2{letter-spacing:-.02em}.app-shell{min-height:100vh}.site-header{height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(20px,calc((100vw - var(--max)) / 2));background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:20}.wordmark{font-family:Georgia,"Noto Serif KR",serif;font-size:1.25rem;font-weight:700;text-decoration:none;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:18px;font-size:.9rem}.site-header nav a{text-decoration:none;color:var(--ink-soft)}.site-header nav a.active{color:var(--ink);text-decoration:underline}.design-selector{display:flex;align-items:center;gap:7px;color:var(--ink-soft);font-size:.76rem;white-space:nowrap}.design-selector select{width:auto;min-width:112px;padding:6px 26px 6px 8px;border-color:var(--rule);background-color:var(--paper);font-size:.78rem}.layout-selector select{min-width:124px}.dev-controls{position:fixed;top:18px;left:calc(50% + 264px);z-index:80;width:220px;display:grid;gap:12px;padding:14px;background:var(--paper);border:1px solid var(--rule);box-shadow:0 8px 24px #1919181a}.dev-controls>strong{font-size:.82rem}.dev-controls .design-selector{display:grid;gap:5px}.dev-controls .design-selector select{width:100%}.text-button{border:0;background:transparent;padding:4px 0;cursor:pointer;color:var(--ink-soft)}.floating-back-arrow{position:fixed;top:50%;left:0;z-index:55;width:20px;height:48px;display:grid;place-items:center start;padding-left:1px;transform:translateY(-50%);border:0;background:transparent;color:var(--ink-soft);text-decoration:none}.floating-back-arrow:hover{color:var(--ink)}.floating-back-arrow:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}.floating-back-arrow svg{width:11px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mobile-tab-bar{display:none}.site-main{width:min(var(--max),calc(100% - 40px));margin:0 auto;padding:52px 0 80px}.page-narrow{width:min(620px,100%);margin-inline:auto}.page-wide{width:100%}.eyebrow{margin-bottom:10px;color:var(--ink-soft);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.page-heading{margin-bottom:32px}.page-heading>p:last-child{color:var(--ink-soft);line-height:1.7}.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid var(--ink);border-radius:3px;background:var(--paper);color:var(--ink);text-decoration:none;cursor:pointer;transition:background-color .12s ease,color .12s ease}.button:hover:not(:disabled){background:#e9e7df}.button.primary{background:var(--ink);color:var(--paper)}.button.primary:hover:not(:disabled){background:#373734}.button.danger{border-color:var(--danger);color:var(--danger)}.button:disabled,.button.disabled{opacity:.48;cursor:not-allowed}.icon-button{width:36px;height:36px;border:0;background:transparent;font-size:1.5rem;cursor:pointer}.back-link{margin-bottom:24px;padding:0;border:0;background:transparent;color:var(--ink-soft);cursor:pointer}.landing{padding-top:8vh}.landing .eyebrow,.landing h1{margin-left:0;padding-left:0}.landing .eyebrow{transform:translate(3px)}.landing h1{font-size:clamp(1.65rem,7.5vw,3.15rem)}.landing h1 span{white-space:nowrap}.landing>p:not(.eyebrow){max-width:560px;color:var(--ink-soft);font-size:1.05rem;line-height:1.8}.landing .button-row{margin-top:32px}.auth-page h1{font-size:2.6rem}.form-stack{display:grid;gap:18px}.form-stack label,.inline-field,.share-controls label{display:grid;gap:7px;color:var(--ink-soft);font-size:.86rem;font-weight:600}input,textarea,select{width:100%;border:1px solid #aaa79e;border-radius:2px;background:#fffefa;color:var(--ink);padding:11px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}textarea{resize:vertical;line-height:1.65}.agreements{display:grid;gap:10px;margin:0;padding:16px;border:1px solid var(--rule)}.agreements label{display:flex;align-items:center;gap:8px}.agreements input{width:auto}.inline-links{display:flex;justify-content:space-between;margin-top:20px;font-size:.9rem}.form-help{margin-top:16px;color:var(--ink-soft);font-size:.84rem;line-height:1.6}.profile-image-editor{display:flex;align-items:center;gap:18px;margin-bottom:28px}.profile-image-editor img,.profile-image-editor>span{width:88px;height:88px;border-radius:50%;object-fit:cover;border:1px solid var(--rule);background:var(--paper)}.profile-image-editor>span{display:grid;place-items:center;font-family:Georgia,serif;font-size:1.5rem}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0 0 28px;border-block:1px solid var(--rule);background:var(--rule)}.profile-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 12px;background:var(--paper)}.profile-stats dt{color:var(--ink-soft);font-size:.8rem}.profile-stats dd{margin:0;font-weight:700}.library-url-field{display:grid;gap:7px}.library-url-field>label{color:var(--ink-soft);font-size:.86rem;font-weight:600}.library-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.library-url-row .button{min-width:64px}.profile-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.profile-form-actions .primary{min-width:96px;margin-left:auto}.account-delete-dialog{width:min(480px,100%)}.account-delete-guide{display:grid;gap:16px}.account-delete-guide p{margin:0;line-height:1.65}.account-delete-guide ul{margin:0;padding-left:20px;color:var(--ink-soft);line-height:1.8}.account-delete-guide label{display:grid;gap:8px;color:var(--ink-soft);font-size:.86rem;font-weight:600}.status-view,.empty-view{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:var(--ink-soft)}.empty-view h2{color:var(--ink);margin-bottom:0}.empty-view p{max-width:420px;line-height:1.6}.spinner{width:24px;height:24px;border:2px solid var(--rule);border-top-color:var(--ink);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-notice,.success-notice{padding:12px 14px;margin-bottom:18px;border:1px solid;line-height:1.5}.error-notice{border-color:#ba817c;background:#fbefed;color:#742d28}.success-notice{border-color:#8f9d82;background:#f0f4eb;color:#35452d}.library-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.library-heading h1{margin-bottom:8px}.library-toolbar{display:flex;justify-content:end;margin-bottom:18px}.book-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 20px}.book-tile{min-width:0;cursor:pointer}.book-cover-frame{position:relative;display:block;width:100%;overflow:hidden}.book-cover-trigger{appearance:none;display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;touch-action:manipulation}.book-cover-frame .book-cover{width:100%;margin:0}.book-status-icon{position:absolute;top:10px;right:4px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#25241f;background:#fffef9eb;border:1px solid rgba(37,36,31,.28);box-shadow:none;pointer-events:none}.book-status-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.book-status-icon.status-reading{color:#3e5e74}.book-status-icon.status-finished{color:#3f6848}.book-cover{display:grid;place-items:center;width:100%;aspect-ratio:2 / 3;overflow:hidden;background:#e2e0d8;border:1px solid #cbc8bf}.book-cover img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.book-cover.placeholder{display:grid;place-items:center;color:#77746c;font-family:Georgia,serif}.book-tile-info{padding-top:10px}.book-tile h2{margin:0 0 4px;font-family:inherit;font-size:.92rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.book-tile p{margin-bottom:8px;color:var(--ink-soft);font-size:.8rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.book-tile.readonly{cursor:default}.status-chip{display:inline-block;border:1px solid var(--rule);padding:4px 7px;font-size:.72rem}.search-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:24px}.search-page-initial{min-height:calc(100dvh - 196px);display:grid;align-content:center}.search-page-initial .search-form{width:100%;margin-bottom:0}.search-results{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}.search-result{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:18px;align-items:start;padding:20px;background:var(--paper)}.search-result h2{margin-bottom:6px;font-family:inherit;font-size:1.08rem}.search-result p{margin-bottom:6px}.search-result .book-cover{width:88px}.metadata{color:var(--ink-soft);font-size:.8rem}.description{color:var(--ink-soft);font-size:.86rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-detail-header{display:grid;grid-template-columns:210px minmax(0,1fr);gap:42px;align-items:start;margin-bottom:36px}.book-detail-header .book-cover{width:210px}.book-detail-header h1{margin-bottom:10px}.book-title-meta{display:inline;color:var(--ink-soft);font-family:Inter,Pretendard,Noto Sans KR,system-ui,sans-serif;font-size:.86rem;font-weight:500;letter-spacing:0;white-space:nowrap}.review-open-button{border:0;background:transparent;padding:2px 0;color:var(--ink-soft);font-size:.86rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.inline-field{width:180px;margin-top:24px}.rating{display:flex;margin-top:16px}.rating button{border:0;background:transparent;padding:2px;color:#bbb7ae;font-size:1.6rem;cursor:pointer}.rating button.selected{color:var(--ink)}.paper-section{margin-top:18px;padding:24px;border:1px solid var(--rule);background:var(--paper)}.paper-section>p{color:var(--ink-soft);line-height:1.75}.memo-section>header{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:18px}.memo-section header p{color:var(--ink-soft)}.memo-list{display:grid;gap:12px;background:transparent;border:0}.memo-card{position:relative;overflow:hidden;padding:18px 18px 16px 36px;border:1px solid #d9d4c8;background-color:#fffdf7;box-shadow:0 2px 7px #1919180f}.memo-card:before{content:"";position:absolute;top:0;bottom:0;left:24px;width:1px;background:#96494338;pointer-events:none}.memo-card>p:not(.memo-page){min-height:32px;margin-bottom:14px;padding:0 4px 1px 8px;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(68,88,105,.1) 32px);white-space:pre-wrap;font-family:Georgia,"Noto Serif KR",serif;line-height:32px}.memo-page{display:inline-block;margin:0 0 12px 8px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--ink-soft) 50%,transparent);border-radius:2px;color:var(--ink-soft);font-family:Georgia,serif;font-size:.72rem;letter-spacing:.03em;transform:rotate(-.7deg)}.memo-card time{color:var(--ink-soft);font-size:.75rem}.memo-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-left:8px;padding-top:10px;border-top:1px dashed color-mix(in srgb,var(--rule) 80%,transparent)}.memo-actions{display:flex;flex-shrink:0;gap:14px;justify-content:end;margin-left:auto}.memo-actions a,.memo-actions button{border:0;background:none;padding:0;color:var(--ink-soft);font-size:.8rem;text-decoration:underline;cursor:pointer}.danger-zone{display:flex;justify-content:end;margin-top:28px}.undo-toast{position:fixed;left:50%;bottom:24px;z-index:50;display:flex;align-items:center;gap:18px;transform:translate(-50%);padding:12px 16px;background:var(--ink);color:var(--paper);border:1px solid var(--paper)}.undo-toast button{border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}.status-sheet-backdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:end;justify-content:center;background:#0a0a097a}.status-sheet{width:min(100%,480px);padding:18px 16px calc(20px + env(safe-area-inset-bottom));background:var(--paper);border:1px solid var(--rule);border-bottom:0}.status-sheet>header{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}.status-sheet>header p{margin-bottom:3px;color:var(--ink-soft);font-size:.78rem}.status-sheet>header h2{margin:0;font-size:1.15rem}.status-sheet>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.status-sheet>div>button{min-height:76px;display:grid;place-items:center;gap:6px;padding:10px 5px;border:1px solid var(--rule);background:transparent;color:var(--ink-soft);cursor:pointer}.status-sheet>div>button.selected{border-color:var(--ink);color:var(--ink);background:var(--paper-deep)}.status-sheet>div .book-status-icon{position:static;width:28px;height:28px;box-shadow:none}.status-sheet>div .book-status-icon svg{width:17px;height:17px}.status-sheet>div>button span:last-child{font-size:.78rem}.memo-editor{background:var(--paper);border:0;padding:34px}.memo-textarea{min-height:136px;overflow-y:hidden;resize:none;padding:20px 18px;background-color:#fffefa;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(25,25,24,.1) 32px);background-attachment:local;line-height:32px;font-family:Georgia,"Noto Serif KR",serif;font-size:1rem}.memo-field{display:grid;gap:7px}.memo-field-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.memo-field-label{color:var(--ink-soft);font-size:.86rem;font-weight:600}.memo-ocr-button{min-height:32px;padding:4px 10px;border-color:var(--rule);background:transparent;color:var(--ink-soft);font-size:.78rem;white-space:nowrap}.character-count{margin-top:-12px;text-align:right;color:var(--ink-soft);font-size:.78rem}.memo-editor-actions>.button{width:100%;flex:1 1 100%;white-space:nowrap}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.dialog-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:#0a0a09a8}.dialog-panel{width:min(720px,100%);max-height:calc(100vh - 36px);overflow:auto;background:var(--paper);border:1px solid #77736a}.dialog-panel>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--paper);border-bottom:1px solid var(--rule)}.dialog-panel h2{margin:0;font-size:1.2rem}.dialog-body{padding:18px}.dialog-panel>footer{display:flex;justify-content:end;gap:8px;padding:14px 18px;border-top:1px solid var(--rule)}.review-dialog{width:min(440px,100%);border-color:#bdbdbd;background:#fff;box-shadow:0 8px 28px #19191929}.review-dialog>header,.review-dialog>footer{background:#fff}.review-dialog>header{border-bottom-style:dashed}.review-dialog>footer{border-top-style:dashed}.review-dialog .dialog-body{position:relative;padding:22px 18px 22px 42px;background-color:#fff;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(25,25,25,.07) 32px)}.review-dialog .dialog-body:before{content:"";position:absolute;top:0;bottom:0;left:28px;width:1px;background:#46464633;pointer-events:none}.review-dialog-form{display:grid;gap:22px}.review-dialog-form label{display:grid;gap:8px;color:var(--ink-soft);font-size:.86rem;font-weight:600}.review-field-label{color:var(--ink-soft);font-size:.86rem;font-weight:600}.review-rating{margin-top:6px}.review-rating button{font-size:2rem}.review-dialog textarea{background-color:#ffffffeb;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(25,25,25,.1) 32px);line-height:32px}.crop-stage{width:100%;height:min(56vh,520px);background:#262624}.crop-stage img{display:block;max-width:100%}.share-workspace{display:grid;grid-template-columns:1fr;gap:10px;align-items:start}.share-card{width:min(360px,100%);aspect-ratio:9 / 16;margin-inline:auto;padding:clamp(38px,15.55%,56px) 36px;display:grid;grid-template-rows:auto minmax(0,1fr);background-color:#fff;background-image:linear-gradient(to right,transparent 0,transparent 25px,rgba(70,70,70,.18) 26px,transparent 27px),repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(25,25,25,.07) 32px);color:#211f1c;border:1px solid #cfcfcf;box-shadow:0 3px 10px #19191914;overflow:hidden}.share-book{display:grid;grid-template-columns:70px 1fr;column-gap:16px;row-gap:8px}.share-book .book-cover{width:70px;height:100px}.share-book h2{margin:0 0 4px;font-family:inherit;font-size:17px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.share-author{font-size:10px;font-weight:400}.share-book p{margin:2px 0;color:#777;font-size:10px}.share-book .share-tagline{width:100%;margin-top:5px;overflow:hidden;font-size:10px;font-weight:400;letter-spacing:0;white-space:nowrap}.share-quote-stage{min-height:0;overflow:hidden;margin-top:clamp(16px,6.67%,24px);padding-top:clamp(32px,14.44%,52px)}.share-quote{overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;font-style:italic}.share-page-number{width:max-content;margin:10px 0 0 auto;color:#666;font-family:Georgia,serif;font-size:10px}.share-controls{display:grid;gap:18px;padding:20px;border:1px solid var(--rule);background:var(--paper)}.share-controls input[type=range]{min-height:32px;padding:0;box-shadow:none;touch-action:pan-x}.share-controls.share-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) minmax(0,.68fr) minmax(0,.9fr) minmax(48px,.82fr);gap:3px;width:min(360px,100%);max-width:360px;margin-inline:auto;padding:4px 0 8px;border:0;background:transparent}.share-toolbar select{width:100%;min-width:0;max-width:100%;min-height:38px;appearance:none;padding:6px 14px 6px 5px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath d='m1 1 3 3 3-3' fill='none' stroke='%2368665f' stroke-width='1'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;background-size:8px 5px;font-size:.68rem;font-weight:600;letter-spacing:-.02em;text-overflow:ellipsis}.share-toolbar .button{width:100%;min-width:0;min-height:38px;overflow:hidden;padding:6px 4px;font-size:.68rem;font-weight:600;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.admin-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.admin-heading .text-button{flex:none;margin-bottom:2px}.admin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:18px 0;border-block:1px solid var(--rule);background:var(--rule)}.admin-summary article{display:grid;gap:5px;padding:14px;background:var(--paper)}.admin-summary span{color:var(--ink-soft);font-size:.75rem}.admin-summary strong{font-size:1.15rem}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-grid .paper-section{margin-top:0}.admin-gemini{grid-column:1 / -1}.admin-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.admin-section-heading>div{display:grid;gap:5px}.admin-section-heading h2{margin:0}.admin-section-heading small{color:var(--ink-soft)}.admin-list-heading{padding-bottom:12px}.admin-table-section{padding-inline:0}.admin-table-section .admin-section-heading{padding-inline:20px}.admin-user-table{table-layout:auto}.admin-user-table th:nth-child(1){width:12%}.admin-user-table th:nth-child(2){width:22%}.admin-user-table th:nth-child(3){width:8%}.admin-user-table th:nth-child(4),.admin-user-table th:nth-child(5),.admin-user-table th:nth-child(6),.admin-user-table th:nth-child(7){width:8%}.admin-user-table th:nth-child(8){width:26%}.admin-uid{max-width:260px;overflow:hidden;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;text-overflow:ellipsis}.admin-role{display:inline-flex;min-width:46px;justify-content:center;padding:3px 7px;border:1px solid var(--rule);border-radius:999px;font-size:.72rem}.admin-role.is-admin{color:var(--paper);border-color:var(--ink);background:var(--ink)}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px 0;color:var(--ink-soft);font-size:.8rem}.admin-pagination>div{display:flex;align-items:center;gap:12px}.admin-pagination .text-button{min-width:44px}.admin-cleanup-section{display:grid;gap:18px}.admin-cleanup-preview{display:grid;gap:16px}.admin-cleanup-preview>p{margin:0;line-height:1.65}.admin-cleanup-preview .table-scroll{max-height:340px;border-block:1px solid var(--rule)}.admin-delete-confirmation{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.admin-delete-confirmation label{display:grid;gap:7px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}th,td{padding:10px;border-bottom:1px solid var(--rule);white-space:nowrap}th{color:var(--ink-soft)}.admin-book-list{display:grid;gap:1px;background:var(--rule)}.admin-book-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;background:#fffefa}.admin-book-row.is-incomplete{background:#f4f4f2}.admin-book-main{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-width:0;border:0;background:transparent;padding:8px;color:inherit;text-align:left;cursor:pointer}.admin-book-row>.text-button{margin-right:12px}.admin-book-row .book-cover{width:42px}.admin-book-row span{display:grid;gap:3px}.admin-book-row small{color:var(--ink-soft)}.danger-text{color:var(--danger)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell[data-design=current]{--paper: #fafafa;--paper-deep: #fafafa;--ink: #171717;--ink-soft: #626262;--rule: #d2d2d2;--danger: #444;background:var(--paper-deep)}.app-shell[data-design=current] .site-header,.app-shell[data-design=current] .site-main{background-color:var(--paper)}.app-shell[data-design=current] img{filter:grayscale(1)}.app-shell[data-design=current] input,.app-shell[data-design=current] textarea,.app-shell[data-design=current] select,.app-shell[data-design=current] .memo-card,.app-shell[data-design=current] .search-result{background-color:#fff}.app-shell[data-design=current] .button:hover:not(:disabled){background:#e8e8e8}.app-shell[data-design=current] .error-notice,.app-shell[data-design=current] .success-notice{border-color:#8b8b8b;background:#ededed;color:#2d2d2d}.app-shell[data-design=current] .book-status-icon,.app-shell[data-design=current] .book-status-icon.status-reading,.app-shell[data-design=current] .book-status-icon.status-finished{color:#292929;background:#ffffffed}.app-shell[data-design=current] .book-cover{background:#e3e3e3;border-color:#ccc}.app-shell[data-design=current] .book-cover.placeholder{color:#747474}.app-shell[data-design=current] .memo-textarea{background-color:#fff;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(25,25,25,.1) 32px)}.app-shell[data-design=current] .memo-card{border-color:#d6d6d6;background-color:#fff;box-shadow:0 2px 7px #1919190f}.app-shell[data-design=current] .memo-card:before{background:#46464633}.app-shell[data-design=current] .memo-card>p:not(.memo-page){background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(25,25,25,.1) 32px)}.app-shell[data-design=current] .share-card{background:#fff;color:#202020}.app-shell[data-design=ink-note]{--paper: #fbfaf4;--paper-deep: #ded9cc;--ink: #171715;--ink-soft: #5f5b53;--rule: #cbc7ba;min-height:100vh;background:#ded9cc}.app-shell[data-design=ink-note] .site-header{background:#f7f5ed;border-bottom:2px solid #252421;box-shadow:0 3px #25242114}.app-shell[data-design=ink-note] .wordmark{font-style:italic;letter-spacing:-.03em}.app-shell[data-design=ink-note] .site-main{min-height:calc(100vh - 64px);padding-inline:clamp(34px,5vw,58px);background-color:#fffef9;background-image:linear-gradient(to right,transparent 0,transparent 27px,rgba(157,67,59,.2) 28px,transparent 29px),repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(67,91,110,.12) 32px);box-shadow:0 0 0 1px #3e3a321f,0 10px 30px #3e3a3221}.app-shell[data-design=ink-note] h1,.app-shell[data-design=ink-note] h2{color:#151513;font-weight:600}.app-shell[data-design=ink-note] .button,.app-shell[data-design=ink-note] input,.app-shell[data-design=ink-note] textarea,.app-shell[data-design=ink-note] select{border-radius:0}.app-shell[data-design=ink-note] .button{box-shadow:2px 2px #17171529}.app-shell[data-design=ink-note] .paper-section,.app-shell[data-design=ink-note] .memo-card,.app-shell[data-design=ink-note] .search-result,.app-shell[data-design=ink-note] .memo-editor,.app-shell[data-design=ink-note] .share-controls{background-color:#fffef9f0}.app-shell[data-design=ink-note] .paper-section{border-color:#aaa69a;box-shadow:3px 3px #48443c14}.app-shell[data-design=ink-note] .memo-card>p:not(.memo-page){font-family:Georgia,"Noto Serif KR",serif}.app-shell[data-design=ink-note] .book-cover{filter:saturate(.82) contrast(1.03);box-shadow:3px 4px #302e2921}.app-shell[data-design=ink-note] .share-card .book-cover{box-shadow:none}.app-shell[data-design=e-reader]{--paper: #f3f3ed;--paper-deep: #d7d8d2;--ink: #11120f;--ink-soft: #555750;--rule: #a9aba4;min-height:100vh;background:#d7d8d2;color:#11120f}.app-shell[data-design=e-reader] .site-header{background:#e8e9e3;border-bottom:1px solid #777a72;box-shadow:none}.app-shell[data-design=e-reader] .wordmark{font-family:Georgia,"Noto Serif KR",serif;font-weight:600;letter-spacing:.01em}.app-shell[data-design=e-reader] .site-main{min-height:calc(100vh - 64px);background:#f3f3ed;box-shadow:0 0 0 1px #b9bbb4}.app-shell[data-design=e-reader] h1,.app-shell[data-design=e-reader] h2,.app-shell[data-design=e-reader] .memo-card>p:not(.memo-page),.app-shell[data-design=e-reader] .paper-section>p{font-family:Georgia,"Noto Serif KR",serif}.app-shell[data-design=e-reader] h1{letter-spacing:-.025em}.app-shell[data-design=e-reader] .button,.app-shell[data-design=e-reader] input,.app-shell[data-design=e-reader] textarea,.app-shell[data-design=e-reader] select{border-radius:0;border-color:#777a72;background-color:#f6f6f1;box-shadow:none}.app-shell[data-design=e-reader] .button{background:transparent}.app-shell[data-design=e-reader] .button:hover:not(:disabled){background:#dedfd8}.app-shell[data-design=e-reader] .button.primary{background:#20211e;color:#f3f3ed}.app-shell[data-design=e-reader] .button.primary:hover:not(:disabled){background:#3b3d37}.app-shell[data-design=e-reader] .paper-section,.app-shell[data-design=e-reader] .memo-card,.app-shell[data-design=e-reader] .search-result,.app-shell[data-design=e-reader] .memo-editor,.app-shell[data-design=e-reader] .share-controls{background:#f3f3ed;border-color:#a9aba4;box-shadow:none}.app-shell[data-design=e-reader] .memo-list,.app-shell[data-design=e-reader] .search-results{gap:0;background:transparent;border-color:#8f918a}.app-shell[data-design=e-reader] .memo-card+.memo-card,.app-shell[data-design=e-reader] .search-result+.search-result{border-top:1px dashed #969890}.app-shell[data-design=e-reader] .book-cover{filter:grayscale(1) contrast(1.08);border-color:#777a72;box-shadow:none}.app-shell[data-design=e-reader] .status-chip{border-color:#777a72;background:#e7e8e1}.app-shell[data-design=e-reader] .memo-textarea{background-color:#f6f6f1;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(17,18,15,.12) 32px)}.app-shell[data-design=e-reader] .share-card{background:#f5f5f0}.app-shell[data-design] .share-toolbar{border:0;background:transparent;box-shadow:none}.app-shell[data-design] .share-card{background-color:#fff;background-image:linear-gradient(to right,transparent 0,transparent 25px,rgba(70,70,70,.18) 26px,transparent 27px),repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(25,25,25,.07) 32px);color:#202020;filter:grayscale(1)}.app-shell[data-design] .share-card .book-cover img{filter:grayscale(1) contrast(1.03)}.book-tile .book-cover:not(.placeholder){background:transparent;border-color:transparent;box-shadow:none}.app-shell[data-layout=compact-library]{--max: 1320px}.app-shell[data-layout=compact-library] .site-main{padding-top:34px}.app-shell[data-layout=compact-library] .page-heading{margin-bottom:22px}.app-shell[data-layout=compact-library] .page-heading h1{font-size:clamp(1.9rem,3.5vw,3rem)}.app-shell[data-layout=compact-library] .book-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:24px 16px}.app-shell[data-layout=compact-library] .search-results{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-layout=compact-library] .search-result{grid-template-columns:72px minmax(0,1fr);padding:16px;gap:14px}.app-shell[data-layout=compact-library] .search-result .book-cover{width:72px}.app-shell[data-layout=compact-library] .search-result>.button{grid-column:1 / -1}.app-shell[data-layout=compact-library] .book-detail-header{grid-template-columns:170px minmax(0,1fr);gap:30px}.app-shell[data-layout=compact-library] .book-detail-header .book-cover{width:170px}.app-shell[data-layout=compact-library] .paper-section{padding:20px}.app-shell[data-layout=compact-library] .memo-list{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-layout=reading-focus]{--max: 820px}.app-shell[data-layout=reading-focus] .site-main{padding-top:42px}.app-shell[data-layout=reading-focus] .page-heading{text-align:center}.app-shell[data-layout=reading-focus] .library-heading{align-items:center}.app-shell[data-layout=reading-focus] .book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.app-shell[data-layout=reading-focus] .book-detail-header{grid-template-columns:150px minmax(0,1fr);gap:28px}.app-shell[data-layout=reading-focus] .book-detail-header .book-cover{width:150px}.app-shell[data-layout=reading-focus] .paper-section{padding:30px}.app-shell[data-layout=reading-focus] .paper-section>p,.app-shell[data-layout=reading-focus] .memo-card>p:not(.memo-page){font-size:1.05rem;line-height:1.9}.app-shell[data-layout=reading-focus] .memo-card{padding:26px}.app-shell[data-layout=reading-focus] .memo-editor{width:min(680px,100%)}.app-shell[data-layout=split-workspace]{--max: 1360px}.app-shell[data-layout=split-workspace] .detail-page{display:grid;grid-template-columns:290px minmax(0,1fr);column-gap:38px;align-items:start}.app-shell[data-layout=split-workspace] .detail-page>.back-link,.app-shell[data-layout=split-workspace] .detail-page>.error-notice,.app-shell[data-layout=split-workspace] .detail-page>.undo-toast{grid-column:1 / -1}.app-shell[data-layout=split-workspace] .detail-page>.book-detail-header{grid-column:1;position:sticky;top:92px;grid-template-columns:1fr;gap:20px;margin-bottom:0}.app-shell[data-layout=split-workspace] .book-detail-header .book-cover{width:180px}.app-shell[data-layout=split-workspace] .detail-page>.paper-section,.app-shell[data-layout=split-workspace] .detail-page>.memo-section,.app-shell[data-layout=split-workspace] .detail-page>.danger-zone{grid-column:2}.app-shell[data-layout=split-workspace] .detail-page>.paper-section{margin-top:0;margin-bottom:18px}.app-shell[data-layout=split-workspace] .book-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.app-shell[data-layout=split-workspace] .search-results{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-layout=split-workspace] .search-result{grid-template-columns:76px minmax(0,1fr)}.app-shell[data-layout=split-workspace] .search-result .book-cover{width:76px}.app-shell[data-layout=split-workspace] .search-result>.button{grid-column:1 / -1}.app-shell[data-layout=split-workspace] .memo-editor.page-narrow{width:min(900px,100%)}.app-shell[data-layout=split-workspace] .share-workspace{grid-template-columns:1fr}.app-shell[data-layout=mobile-standard]{width:min(100%,480px);margin-inline:auto;box-shadow:0 0 0 1px #19191814,0 0 32px #19191814}.app-shell[data-layout=mobile-standard] .site-header{display:flex;align-items:center;gap:12px;height:58px;min-height:58px;padding:0 14px}.app-shell[data-layout=mobile-standard] .site-header nav{display:flex;align-items:center;justify-content:end;gap:10px;width:auto;margin-left:auto}.app-shell[data-layout=mobile-standard] .site-header nav>a{display:none}.app-shell[data-layout=mobile-standard] .site-header nav.signed-out-nav>a{display:inline;min-height:0;padding:4px 0;border:0;background:transparent}.app-shell[data-layout=mobile-standard] .site-header .text-button{position:static}.app-shell[data-layout=mobile-standard] .floating-back-arrow{left:max(0px,calc((100vw - 480px)/2))}.app-shell[data-layout=mobile-standard] .site-main{width:calc(100% - 24px);padding:26px 0 calc(104px + env(safe-area-inset-bottom))}.app-shell[data-layout=mobile-standard] .mobile-tab-bar{position:fixed;left:50%;right:auto;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,480px);min-height:64px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));transform:translate(-50%);background:color-mix(in srgb,var(--paper) 96%,transparent);border-top:1px solid var(--rule);box-shadow:0 -5px 18px #19191814;backdrop-filter:blur(12px)}.app-shell[data-layout=mobile-standard] .mobile-tab-bar:has(a:nth-child(4)){grid-template-columns:repeat(4,1fr)}.app-shell[data-layout=mobile-standard] .mobile-tab-bar a{min-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink-soft);font-size:.7rem;font-weight:600;text-decoration:none}.app-shell[data-layout=mobile-standard] .mobile-tab-bar .tab-icon{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-shell[data-layout=mobile-standard] .mobile-tab-bar a.active{color:var(--ink)}.app-shell[data-layout=mobile-standard] .mobile-tab-bar a.active:after{content:"";width:22px;height:2px;margin-top:2px;background:currentColor}.app-shell[data-layout=mobile-standard] .library-heading,.app-shell[data-layout=mobile-standard] .memo-section>header{align-items:start;flex-direction:column}.app-shell[data-layout=mobile-standard] .library-heading .button-row{width:100%}.app-shell[data-layout=mobile-standard] .library-toolbar .button.primary,.app-shell[data-layout=mobile-standard] .new-memo-fab{position:fixed;right:max(16px,calc((100vw - 480px)/2 + 16px));bottom:calc(76px + env(safe-area-inset-bottom));z-index:55;min-height:48px;padding-inline:20px;border-radius:999px;box-shadow:0 5px 16px #19191838}.app-shell[data-layout=mobile-standard] .book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 10px}.app-shell[data-layout=mobile-standard] .book-tile .book-cover-frame,.app-shell[data-layout=mobile-standard] .book-tile-info{width:min(100%,128px);margin-inline:auto}.app-shell[data-layout=mobile-standard] .book-tile h2{font-size:.82rem}.app-shell[data-layout=mobile-standard] .search-result{grid-template-columns:66px minmax(0,1fr);padding:14px;gap:12px}.app-shell[data-layout=mobile-standard] .search-page-initial{min-height:calc(100dvh - 188px)}.app-shell[data-layout=mobile-standard] .search-result .book-cover{width:66px}.app-shell[data-layout=mobile-standard] .search-result>.button{grid-column:1 / -1}.app-shell[data-layout=mobile-standard] .book-detail-header{grid-template-columns:96px minmax(0,1fr);gap:16px}.app-shell[data-layout=mobile-standard] .book-detail-header .book-cover{width:96px}.app-shell[data-layout=mobile-standard] .book-detail-header h1{font-size:1.65rem}.app-shell[data-layout=mobile-standard] .inline-field{width:100%;margin-top:12px}.app-shell[data-layout=mobile-standard] .rating button{font-size:1.3rem}.app-shell[data-layout=mobile-standard] .paper-section{padding:20px 16px}.app-shell[data-layout=mobile-standard] .memo-editor{padding:20px 14px}.app-shell[data-layout=mobile-standard] .memo-textarea{min-height:136px}.app-shell[data-layout=mobile-standard] .memo-actions{gap:6px}.app-shell[data-layout=mobile-standard] .memo-actions a,.app-shell[data-layout=mobile-standard] .memo-actions button{min-height:40px;display:inline-flex;align-items:center;padding-inline:8px}.app-shell[data-layout=mobile-standard] .memo-editor .button-row>*{flex:1 1 140px}.app-shell[data-layout=mobile-standard] .button{min-height:44px}.app-shell[data-layout=mobile-standard] .memo-ocr-button{min-height:32px}.app-shell[data-layout=mobile-standard] .share-workspace{grid-template-columns:1fr}.app-shell[data-layout=mobile-standard] .share-controls{width:min(100%,360px);margin-inline:auto}.app-shell[data-layout=mobile-standard] .share-toolbar{width:min(360px,100%);max-width:360px}.app-shell[data-layout=mobile-standard] .admin-grid{grid-template-columns:1fr}.app-shell[data-layout=mobile-standard] .admin-gemini{grid-column:auto}.app-shell[data-layout=mobile-standard] .dialog-backdrop{left:50%;right:auto;width:min(100%,480px);padding:0;transform:translate(-50%)}.app-shell[data-layout=mobile-standard] .status-sheet-backdrop{left:50%;right:auto;width:min(100%,480px);transform:translate(-50%)}.app-shell[data-layout=mobile-standard] .dialog-panel{width:100%;height:100dvh;max-height:none;border:0}.app-shell[data-layout=mobile-standard] .dialog-panel.review-dialog{width:calc(100% - 24px);height:auto;max-height:calc(100dvh - 48px);border:1px solid #77736a}.app-shell[data-layout=mobile-standard] .dialog-panel>footer .button{flex:1}.app-shell[data-layout=mobile-standard] .undo-toast{width:min(calc(100% - 24px),456px);bottom:calc(76px + env(safe-area-inset-bottom));justify-content:space-between}@media(min-width:641px){.app-shell[data-layout=mobile-standard]:has(.admin-page){width:min(100%,1180px)}.app-shell[data-layout=mobile-standard]:has(.admin-page) .site-main{width:calc(100% - 40px)}.app-shell[data-layout=mobile-standard]:has(.admin-page) .admin-grid{grid-template-columns:1fr 1fr}.app-shell[data-layout=mobile-standard]:has(.admin-page) .admin-gemini{grid-column:1 / -1}}@media(max-width:1000px){.dev-controls{display:none}}@media(max-width:860px){.site-header{height:auto;min-height:58px;align-items:start;padding-block:14px}.site-header nav{gap:12px;flex-wrap:wrap;justify-content:end}.book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.share-workspace{grid-template-columns:1fr}.share-controls{width:min(500px,100%);margin-inline:auto}.app-shell[data-layout=compact-library] .search-results,.app-shell[data-layout=split-workspace] .search-results{grid-template-columns:1fr}.app-shell[data-layout=split-workspace] .detail-page{display:block}.app-shell[data-layout=split-workspace] .detail-page>.book-detail-header{position:static;grid-template-columns:160px minmax(0,1fr);margin-bottom:36px}.app-shell[data-layout=split-workspace] .book-detail-header .book-cover{width:160px}.app-shell[data-layout=split-workspace] .share-workspace{grid-template-columns:1fr}}@media(max-width:640px){.site-header{display:flex;align-items:center;gap:12px;height:58px;min-height:58px;padding:0 14px}.site-header nav{display:flex;align-items:center;justify-content:end;gap:10px;width:auto;margin-left:auto}.site-header nav>a{display:none}.site-header nav.signed-out-nav>a{display:inline;min-height:0;padding:4px 0;border:0;background:transparent}.site-header .text-button{position:static}.site-main{width:min(100% - 24px,var(--max));padding-top:26px;padding-bottom:calc(104px + env(safe-area-inset-bottom))}.mobile-tab-bar{position:fixed;inset:auto 0 0;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);min-height:64px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--paper) 96%,transparent);border-top:1px solid var(--rule);box-shadow:0 -5px 18px #19191814;backdrop-filter:blur(12px)}.mobile-tab-bar:has(a:nth-child(4)){grid-template-columns:repeat(4,1fr)}.mobile-tab-bar a{min-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink-soft);font-size:.7rem;font-weight:600;text-decoration:none}.mobile-tab-bar .tab-icon{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mobile-tab-bar a.active{color:var(--ink)}.mobile-tab-bar a.active:after{content:"";width:22px;height:2px;margin-top:2px;background:currentColor}.library-heading,.memo-section>header{align-items:start;flex-direction:column}.library-heading .button-row{width:100%}.library-toolbar .button.primary,.new-memo-fab{position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:55;min-height:48px;padding-inline:20px;border-radius:999px;box-shadow:0 5px 16px #19191838}.book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 10px}.book-tile .book-cover-frame,.book-tile-info{width:min(100%,128px);margin-inline:auto}.book-tile h2{font-size:.82rem}.search-result{grid-template-columns:66px minmax(0,1fr);padding:14px;gap:12px}.search-result .book-cover{width:66px}.search-result>.button{grid-column:1 / -1}.book-detail-header{grid-template-columns:96px minmax(0,1fr);gap:16px}.book-detail-header .book-cover{width:96px}.book-detail-header h1{font-size:1.65rem}.inline-field{width:100%;margin-top:12px}.rating button{font-size:1.3rem}.paper-section{padding:20px 16px}.memo-editor{padding:20px 14px}.memo-textarea{min-height:136px}.memo-actions{gap:6px}.memo-actions a,.memo-actions button{min-height:40px;display:inline-flex;align-items:center;padding-inline:8px}.memo-editor .button-row>*{flex:1 1 140px}.button{min-height:44px}.memo-ocr-button{min-height:32px}.dialog-backdrop{padding:0}.dialog-panel{width:100%;height:100dvh;max-height:none;border:0}.dialog-panel.review-dialog{width:calc(100% - 24px);height:auto;max-height:calc(100dvh - 48px);border:1px solid #77736a}.dialog-panel>footer .button{flex:1}.undo-toast{width:calc(100% - 24px);bottom:calc(76px + env(safe-area-inset-bottom));justify-content:space-between}.admin-grid{grid-template-columns:1fr}.admin-gemini{grid-column:auto}.admin-heading,.admin-section-heading{align-items:stretch;flex-direction:column}.admin-summary,.admin-delete-confirmation{grid-template-columns:1fr}.admin-book-main{grid-template-columns:42px minmax(0,1fr)}.admin-book-main>span:last-child{display:none}.design-selector>span{display:none}.design-selector,.layout-selector{display:block;min-width:0}.design-selector select,.layout-selector select{width:100%;min-width:0;max-width:none;min-height:38px}.app-shell[data-design=ink-note] .site-main{width:calc(100% - 8px);padding-inline:18px;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(67,91,110,.12) 32px)}.app-shell[data-layout=compact-library] .memo-list{grid-template-columns:1fr}.app-shell[data-layout=reading-focus] .page-heading{text-align:left}.app-shell[data-layout=reading-focus] .book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 10px}.app-shell[data-layout=reading-focus] .paper-section{padding:20px 18px}.app-shell[data-layout=split-workspace] .detail-page>.book-detail-header{grid-template-columns:96px minmax(0,1fr);gap:16px}.app-shell[data-layout=split-workspace] .book-detail-header .book-cover{width:96px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
