:root{color:#0f1419;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,YuGothic,Noto Sans JP,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--accent: #2f7de1;--accent-soft: #e9f3ff;--border: #d8e0e8;--border-soft: #edf1f5;--text-muted: #536471;--surface: #ffffff;--paper: #fffdf8;--shadow: 0 16px 50px rgba(15, 20, 25, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:minmax(76px,270px) minmax(0,680px) minmax(310px,410px);justify-content:center;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:28px 22px;border-right:1px solid var(--border-soft)}.brand-lockup{display:flex;align-items:center;gap:13px;min-height:56px;margin-bottom:32px}.brand-mark{width:42px;height:42px;flex:0 0 auto}.brand-name{margin:0;font-size:22px;font-weight:800;letter-spacing:0}.brand-reading{margin:2px 0 0;color:var(--text-muted);font-size:12px}.nav-list{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:18px;width:100%;min-height:48px;padding:8px 14px;border:0;border-radius:999px;background:transparent;color:#0f1419;font-size:20px;font-weight:700;text-align:left}.nav-item:hover,.nav-item.is-active{background:var(--accent-soft);color:var(--accent)}.nav-icon,.action-icon{width:24px;height:24px;flex:0 0 auto}.tiny-icon{width:20px;height:20px}.main-column{min-width:0;border-right:1px solid var(--border-soft)}.top-bar{position:sticky;top:0;z-index:5;display:flex;align-items:end;justify-content:space-between;height:68px;padding:0 28px;border-bottom:1px solid var(--border-soft);background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.tab{display:grid;place-items:center;min-width:96px;height:68px;font-size:18px;font-weight:800;position:relative}.tab.is-selected:after{position:absolute;bottom:0;left:0;right:0;height:4px;border-radius:999px 999px 0 0;background:var(--accent);content:""}.reader-controls{display:flex;align-items:center;gap:16px;height:68px;color:#26323c;font-weight:800}.control-popover-wrap{position:relative}.icon-button,.icon-text-button,.circle-action{display:inline-grid;place-items:center;border:0;border-radius:999px;background:transparent;color:#26323c;font-weight:900}.icon-button,.icon-text-button{min-width:36px;height:36px}.icon-button:hover,.icon-text-button:hover{background:var(--accent-soft);color:var(--accent)}.circle-action{width:42px;height:42px;border:1px solid var(--border);background:#fff}.circle-action.is-favorite{border-color:#ff5a7a;background:#fff0f3;color:#e0245e}.floating-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:15;width:250px;padding:16px;border:1px solid var(--border-soft);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.floating-menu h2{margin:0 0 12px;font-size:16px}.font-menu label{display:grid;gap:8px;color:var(--text-muted);font-size:13px;font-weight:800}.font-menu input{width:100%;accent-color:var(--accent)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:14px;padding:4px;border-radius:999px;background:#f1f5f9}.segmented button{min-height:34px;border:0;border-radius:999px;background:transparent;font-weight:800}.segmented button.is-selected{background:#fff;color:var(--accent);box-shadow:0 2px 8px #0f141914}.font-reset-button{width:100%;min-height:38px;margin-top:12px;border:1px solid var(--border-soft);border-radius:999px;background:#fff;color:var(--text);font-weight:800}.font-reset-button:hover{border-color:var(--accent);color:var(--accent)}.chapter-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:240px;overflow:auto}.chapter-list button{min-height:38px;border:1px solid var(--border-soft);border-radius:999px;background:#fff;font-weight:800}.chapter-list button:hover{border-color:var(--accent);color:var(--accent)}.book-header{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 28px;border-bottom:1px solid var(--border-soft)}.mini-cover,.book-cover{display:grid;place-items:end center;width:76px;height:108px;padding:12px 8px;border:1px solid #d6c4a3;border-radius:3px;background:linear-gradient(130deg,rgba(255,255,255,.44),transparent 42%),linear-gradient(180deg,#eee1c7,#caa979);color:#17120c;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:14px;font-weight:800;line-height:1.25;writing-mode:vertical-rl;box-shadow:0 8px 22px #281e1429}.cover-bocchan{border-color:#b8c7d8;background:linear-gradient(130deg,rgba(255,255,255,.48),transparent 42%),linear-gradient(180deg,#d8e7f7,#6f91b7)}.mini-cover.small{width:54px;height:76px;font-size:10px}.mini-cover.tiny{width:56px;height:78px;font-size:10px}.book-meta h1{margin:0 0 6px;font-size:24px;line-height:1.2}.book-meta p{margin:0 0 18px;color:var(--text-muted);font-size:15px}.book-header-actions,.library-actions{display:flex;align-items:center;gap:10px}.progress-line{display:grid;gap:8px;color:var(--text-muted);font-size:14px}.progress-track{height:5px;overflow:hidden;border-radius:999px;background:#dce4ec}.progress-track.thin{height:4px;margin-top:5px}.progress-fill{height:100%;border-radius:inherit;background:var(--accent)}.outline-button,.primary-button,.continue-button{border-radius:999px;font-weight:800}.outline-button{padding:10px 18px;border:1px solid var(--border);background:#fff;color:#0f1419}.outline-button:hover{border-color:var(--accent);color:var(--accent)}.primary-button,.continue-button{border:0;background:var(--accent);color:#fff}.primary-button{min-height:48px;padding:0 26px;font-size:16px}.primary-button.compact{min-height:40px}.continue-button{width:100%;min-height:46px;margin-top:14px}.feed-post{position:relative;display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;padding:22px 28px 18px 0;border-bottom:1px solid var(--border-soft);background:#fff}.feed-post.is-current:before{position:absolute;left:0;top:26px;width:6px;height:6px;border-radius:50%;background:var(--accent);content:""}.post-index{display:flex;justify-content:center;gap:8px;color:#7b8895;font-size:14px;line-height:1.8}.post-more{position:absolute;top:18px;right:22px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent}.post-more:hover{background:var(--accent-soft);color:var(--accent)}.post-text{grid-column:2;max-width:560px;margin:0;font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",serif;font-size:calc(20px * var(--reader-font-scale, 1));line-height:2;letter-spacing:0;color:#111418}.font-gothic .post-text{font-family:Hiragino Sans,Yu Gothic,YuGothic,Noto Sans JP,sans-serif}ruby{ruby-position:over}rt{color:#536471;font-size:.48em;line-height:1.2;letter-spacing:0}.post-image{grid-column:2;width:min(100%,390px);aspect-ratio:16 / 9;margin-top:16px;object-fit:cover;border:1px solid #d8d0c4;border-radius:8px;background:var(--paper)}.post-actions{grid-column:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:560px;margin-top:18px}.post-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;border:0;border-radius:999px;background:transparent;color:#536471;font-size:14px;font-weight:700}.post-actions button:hover,.post-actions button.is-active{background:var(--accent-soft);color:var(--accent)}.post-actions button:nth-child(2):hover,.post-actions button.is-favorite{background:#fff0f3;color:#e0245e}.post-actions button.is-favorite .action-icon path{fill:currentColor}.post-actions button.is-bookmarked{background:#eef6ff;color:#1667c9}.post-actions button.is-bookmarked .action-icon path{fill:currentColor}.post-actions button.is-memo-active{background:#eef6ff;color:#1667c9}.post-actions button.is-memo-active .action-icon path{fill:currentColor}.feed-sentinel{height:32px}.loading-copy,.empty-state{padding:28px;color:var(--text-muted);text-align:center}.right-rail{position:sticky;top:0;height:100vh;overflow:auto;padding:26px 20px 40px 24px}.rail-card,.search-panel-mobile,.utility-panel{border:1px solid var(--border-soft);border-radius:16px;background:var(--surface)}.rail-card{padding:20px;margin-bottom:14px}.rail-card h2{margin:0 0 14px;font-size:20px;line-height:1.25}.rail-card h2 span{color:var(--text-muted);font-size:13px;font-weight:600}.search-box{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:#fff}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2f7de11f}.search-box input{min-width:0;flex:1;border:0;outline:0;color:#0f1419}.search-icon{width:21px;height:21px;color:#71808f}.hint{margin:10px 0 0;color:var(--text-muted);font-size:13px}.result-row,.saved-row{display:grid;gap:4px;width:100%;margin-top:12px;padding:10px 0;border:0;border-top:1px solid var(--border-soft);background:transparent;text-align:left}.result-row span,.saved-row span{color:var(--accent);font-size:12px;font-weight:800}.result-row strong,.saved-row strong{display:-webkit-box;overflow:hidden;color:#0f1419;font-size:13px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.mini-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:14px;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:13px;font-weight:800;text-align:center}.mini-tabs button{position:relative;border:0;background:transparent;padding:0 0 12px;color:inherit;font-weight:inherit}.mini-tabs .is-selected{color:#0f1419}.mini-tabs .is-selected:after{position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:999px;background:var(--accent);content:""}.rail-book-row,.list-book-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.rail-book-row.as-button{width:100%;margin-bottom:10px;padding:0 0 12px;border:0;border-bottom:1px solid var(--border-soft);background:transparent;text-align:left}.rail-book-row strong,.rail-book-row span,.rail-book-row small,.list-book-card strong,.list-book-card span{display:block}.rail-book-row span,.rail-book-row small,.list-book-card span{color:var(--text-muted);font-size:12px}.big-progress{display:flex;align-items:baseline;gap:8px;margin:6px 0 14px}.big-progress strong{font-size:31px;line-height:1}.big-progress span,.big-progress small{color:var(--text-muted)}.reading-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 0}.reading-stats div{padding:10px;border-radius:8px;background:#f7f9fb}.reading-stats dt{color:var(--text-muted);font-size:12px}.reading-stats dd{margin:2px 0 0;font-size:20px;font-weight:800}.search-panel-mobile{display:block;margin:18px 28px;padding:16px}.search-panel-mobile p{margin:10px 0 0;color:var(--text-muted)}.utility-panel{margin:24px;padding:24px}.utility-panel h1{margin:0 0 10px}.utility-panel p{color:var(--text-muted)}.list-book-card{grid-template-columns:auto minmax(0,1fr) auto;margin-top:18px;padding-top:18px;border-top:1px solid var(--border-soft)}.library-grid{display:grid;gap:12px;margin-top:18px}.library-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border-soft);border-radius:14px}.library-row.is-selected{border-color:var(--accent);background:#f7fbff}.library-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:0;border:0;background:transparent;text-align:left}.library-main strong,.library-main small{display:block}.library-main small{margin-top:4px;color:var(--text-muted);font-size:12px}.start-screen{display:grid;min-height:100vh;place-items:center;padding:28px;background:linear-gradient(180deg,rgba(47,125,225,.08),transparent 32%),#fff}.start-card{display:grid;justify-items:center;gap:22px;width:min(100%,520px);padding:42px;border:1px solid var(--border-soft);border-radius:18px;background:#fff;box-shadow:var(--shadow);text-align:center}.library-card{width:min(100%,920px)}.start-brand{margin-bottom:4px}.book-cover{width:138px;height:194px;font-size:20px}.library-layout{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(320px,1.15fr);gap:24px;width:100%;align-items:stretch}.library-detail,.library-browser{display:grid;align-content:start;justify-items:center;gap:18px}.library-browser{justify-items:stretch}.library-search{width:100%}.book-picker{display:grid;gap:12px;width:100%;max-height:430px;overflow:auto;padding-right:2px}.book-choice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:12px;border:1px solid var(--border-soft);border-radius:14px;background:#fff;text-align:left}.book-choice.is-selected{border-color:var(--accent);background:#f7fbff}.book-choice strong,.book-choice small{display:block}.book-choice small{margin-top:4px;color:var(--text-muted);font-size:12px}.start-copy h1{margin:0;font-size:30px}.start-copy p{margin:8px 0 0;color:var(--text-muted);line-height:1.7}.dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#0f141947}.memo-dialog,.share-dialog{width:min(100%,560px);padding:20px;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.share-dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.share-dialog h2{margin:0}.share-dialog header button{border:0;background:transparent;color:var(--text-muted);font-weight:800}.share-preview{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;padding:14px;border:1px solid var(--border-soft);border-radius:12px;background:#f7f9fb}.share-preview p{display:-webkit-box;overflow:hidden;margin:8px 0 0;color:#26323c;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}.share-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:16px}.share-actions button:disabled{cursor:not-allowed;opacity:.45}.dialog-help{margin:12px 0 0;color:var(--text-muted);font-size:13px;line-height:1.6}.memo-dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.memo-dialog h2{margin:0}.memo-dialog header button{border:0;background:transparent;color:var(--text-muted);font-weight:800}.dialog-quote{margin:0 0 14px;padding:14px;border-radius:8px;background:#f7f9fb;color:#26323c;line-height:1.7}textarea{width:100%;min-height:150px;resize:vertical;padding:14px;border:1px solid var(--border);border-radius:10px;outline:0}textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f7de11f}.dialog-actions{display:flex;justify-content:end;gap:10px;margin-top:14px}.toast{position:fixed;right:24px;bottom:24px;z-index:30;padding:12px 16px;border-radius:999px;background:#0f1419;color:#fff;font-weight:800;box-shadow:var(--shadow)}@media(max-width:1080px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{padding:18px 10px}.brand-lockup{justify-content:center}.brand-lockup div,.nav-item span{display:none}.nav-item{justify-content:center;padding:8px}.right-rail{display:none}.main-column{border-right:0}.post-text{max-width:620px}.search-panel-mobile{margin:18px}}@media(max-width:680px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:auto 0 0;z-index:10;height:64px;padding:6px 8px;border-top:1px solid var(--border-soft);border-right:0;background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sidebar .brand-lockup{display:none}.nav-list{grid-template-columns:repeat(7,1fr);gap:0}.nav-item{min-height:52px;border-radius:12px}.nav-icon{width:22px;height:22px}.top-bar{height:58px;padding:0 18px}.tab,.reader-controls{height:58px}.book-header{grid-template-columns:66px minmax(0,1fr);padding:18px}.book-header-actions{grid-column:1 / -1;width:100%;justify-content:stretch}.book-header .outline-button{flex:1}.mini-cover{width:62px;height:88px;font-size:12px}.feed-post{grid-template-columns:50px minmax(0,1fr);padding:20px 16px 16px 0}.post-text{font-size:18px;line-height:1.9}.post-actions{grid-template-columns:repeat(4,1fr)}.post-actions button{gap:0;font-size:0}.post-actions .action-icon{width:23px;height:23px}.utility-panel{margin:16px}.start-card{padding:28px 20px}.library-card{width:min(100%,520px)}.library-layout{grid-template-columns:1fr}.library-detail{justify-items:center}.book-picker{max-height:320px}.book-choice{grid-template-columns:auto minmax(0,1fr)}.floating-menu{right:-46px;width:min(280px,calc(100vw - 28px))}.chapter-list{grid-template-columns:repeat(3,1fr)}.share-actions{grid-template-columns:1fr}.toast{left:16px;right:16px;bottom:78px;text-align:center}}
