@import url('https://cdn.jsdelivr.net/gh/sun-typeface/SUIT@2/fonts/static/woff2/SUIT.css');
/* SUIT is OFL licensed. Beausite requires a separately supplied web license. */
:root{--font-reading:'SUIT','Apple SD Gothic Neo',sans-serif;--font-title:var(--font-reading)}
body,body :is(h1,h2,h3,p,span,small,strong,a,button,input,textarea,select,label,summary,dt,dd,output){font-family:var(--font-reading)!important}
/* Neutral editorial surfaces; the illustrated storefront keeps its spring colors. */
:root{--paper:#fff;--mist:#fff;--pale:#f4f4f4;--ink:#222;--muted:#666;--deep:#222;--accent:#444;--line:#dedede;--shadow:none}
body,.admin-page,.site-header,.hero,#store,.results-section,.shelf-section,.principles,footer,.book-detail,.book-detail::backdrop,.scene-panel,.cart-drawer{background:#fff;color:#222}
.site-header{border-color:#e5e5e5;backdrop-filter:none;z-index:10}.brand,.brand span,nav a,.status{color:#222}
.cart-drawer[aria-hidden="true"],.scene-panel[aria-hidden="true"]{visibility:hidden;pointer-events:none}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,100px);padding:80px 5vw;isolation:isolate;overflow:hidden}
.hero .storefront-art{display:none}.hero-copy{max-width:540px;align-self:start}.hero h2,.section-heading h2,.principles h2,.scene-panel h2,.cart-head h2{font-family:var(--font-reading);font-weight:500;letter-spacing:-.025em}
.hero h2{font-size:clamp(30px,3vw,46px);line-height:1.45}.hero h2 em,.principles h2 em,.hero-lede,.guardrail span{color:#222}.guardrail{border-color:#aaa}.hero .request-card{align-self:start;width:100%;max-width:none;min-width:0;border:1px solid #dedede;text-shadow:none;background:rgb(255 255 255 / 10%)}
.request-card textarea,.request-card .suggestions button{background:rgb(255 255 255 / 10%);color:#222}.request-card .primary,.request-card .primary:hover{background:rgb(0 0 0 / 10%);color:#222;text-shadow:none}.request-card textarea::placeholder{color:#666}.card-kicker,.card-kicker .mono,.drag-hint{color:#555}.drag-handle{touch-action:none}.drag-reset{font:inherit!important;font-size:12px!important;margin-left:auto;border:0;background:transparent;color:#555;text-decoration:underline;min-height:44px}
.primary,.panel-cta{background:#222;color:#fff}.primary:hover,.panel-cta:hover{background:#444}.cart-button,.scene-panel button,.cart-drawer button{border-color:#ccc}
.candidate,.shelf-item,.preview-box,.cart-thumb,.panel-book-cover{background:#f6f6f6;color:#222;border-color:#ddd}.candidate-cover,.candidate:nth-child(2) .candidate-cover,.candidate:nth-child(3) .candidate-cover{background:#eee;color:#222}.approval-bar,.search-state,.count-pill,.shop-empty{background:#f5f5f5;color:#222}.book-detail-visual{background:#f3f3f3}.book-detail-description [data-add]{background:#222}.book-detail-description small,.book-detail-description .book-detail-disclaimer,.book-detail dt{color:#666}
#store{color:#222}#store .shop-cover,#store .shop-card:nth-child(n) .shop-cover{background:#f2f2f2}#store .category-tabs button.active,#store .category-tabs button:hover,#store .add-cart{color:#222}#store .shop-meta small,#store .store-heading small{color:#666}
.admin-shell a{color:#222}.admin-shell input,.admin-shell textarea,.admin-shell select,.copy-editor,.edit-toolbar{background:#fff;color:#222}.admin-shell button,.admin-actions a,.copy-editor button[type=submit]{background:#222;color:#fff}.admin-shell form,.admin-shell header{border-color:#ddd}
.darak-chat{width:min(480px,calc(100vw - 32px));padding:26px;background:#fff;color:#222;text-shadow:none;border:1px solid #dedede;border-radius:12px;box-shadow:0 16px 56px rgb(0 0 0 / 16%)}
.darak-chat::backdrop{background:rgb(0 0 0 / 16%);backdrop-filter:blur(3px)}
.darak-chat-head{padding-bottom:14px;border-bottom:1px solid #e6e6e6}.darak-chat-head h2{font-size:23px;font-weight:600;letter-spacing:-.02em}.darak-chat-head p{color:#666}
.darak-chat button{color:#222;border-color:#d5d5d5;background:#fff;text-shadow:none;border-radius:4px}.darak-chat button:hover{background:#f3f3f3}.darak-chat-head button{border:0;width:44px;flex-shrink:0}
.darak-chat-notice{font-size:13px;line-height:1.7;color:#666;padding:12px 0;margin:0 0 10px;border-bottom:0}
.darak-chat-log{height:300px;max-height:38dvh;padding:0 6px 0 0;scrollbar-gutter:stable}
.darak-message{font-size:16px;line-height:1.85;margin:6px 0 20px;padding:0 2px;color:#222;text-shadow:none}.darak-message strong{font-size:12px;font-weight:500;color:#666;margin-bottom:6px;letter-spacing:.02em}
.darak-message.user{margin-left:28px;padding:12px 16px;background:#f3f3f3;border-radius:6px}.darak-chat-action{line-height:1.7;text-decoration:underline;text-underline-offset:4px;text-align:left}
.darak-chat-prompts{gap:8px;margin:16px 0}.darak-chat-prompts button{font-size:13px;padding:8px 12px}
.darak-chat-form{border-top:1px solid #e6e6e6;padding-top:16px}.darak-chat-form label{color:#333;font-size:13px}.darak-chat-form input{background:#fafafa;color:#222;border-color:#bcbcbc;border-radius:4px;text-shadow:none}.darak-chat-form input::placeholder{color:#666}.darak-chat-form button{background:#222;color:#fff;border-color:#222}.darak-chat-form button:hover{background:#444}
.darak-chat :focus-visible{outline:2px solid #222;outline-offset:3px}
.darak-chat{transition:none!important}.darak-chat-head{cursor:grab;touch-action:none;user-select:none}.darak-chat-head.is-dragging{cursor:grabbing}.darak-chat-head button{cursor:pointer}.chat-drag-hint{display:block;font-size:12px;line-height:1.6;color:#666;margin:6px 0 0}
.scene-copy,.scene-hotspot,.scene-caption{color:#193b3d}
@media(max-width:480px){.darak-chat{padding:20px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.darak-chat-head h2{font-size:21px}.darak-chat-log{height:260px;max-height:32dvh}}
@media(max-width:850px){.hero{grid-template-columns:1fr;gap:32px;padding:56px 24px}.hero-copy{max-width:none}.hero .request-card{transform:none!important}.drag-hint{display:none}.drag-handle{cursor:default}.drag-reset{display:none}}
@media(max-width:600px){.hero{padding:48px 20px}.hero h2{font-size:30px}.hero .request-card{padding:20px}.admin-shell{padding:32px 20px}.admin-shell h1{font-size:26px}.admin-shell form{padding:18px}}
#cartCount{display:inline-block;transform-origin:center}
.api-book-cover{width:min(340px,70vw);max-height:520px;object-fit:contain}.book-api-source{display:block!important;margin-top:20px}.book-api-source[hidden]{display:none!important}.author-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.author-books article,.book-videos article{border:1px solid #ddd;padding:20px}.author-books h4,.book-videos h4{font-size:18px;line-height:1.6;margin:0}.book-api-extras a{display:inline-block;text-decoration:underline;text-underline-offset:4px;font-size:14px;margin-top:12px}.book-api-extras button{background:#222;color:white;border:0;padding:12px 18px;margin:12px 0;min-height:44px}.book-api-extras button:disabled{opacity:.5}.book-videos{display:grid;gap:20px}.book-videos iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.book-api-extras>h3:not(:first-child){margin-top:64px}@media(max-width:600px){.author-books{grid-template-columns:1fr}}
.auto-results{border-top:1px solid #ddd;background:#fafafa}.candidate-cover{position:relative;overflow:hidden;text-decoration:none}.candidate-cover img{width:100%;height:100%;object-fit:contain;background:#fff}.candidate-cover>b{position:absolute;right:10px;bottom:10px;background:rgba(255,255,255,.92);color:#222;padding:5px 8px;font:500 12px/1.4 var(--font-reading)}.candidate-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.candidate-links a{border-bottom:1px solid #777;font-size:13px;line-height:1.6}.candidate-actions{margin-top:14px}.candidate-actions button{min-height:44px}.stock-confirm{min-height:44px;border:1px solid #222;background:#222;color:#fff;padding:9px 12px}.shelf-item{grid-template-columns:minmax(0,1fr) minmax(190px,auto) auto auto;align-items:start}.purchase-menu{position:relative}.purchase-menu summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid #222;background:#fff;color:#222;cursor:pointer;font-weight:600;list-style:none}.purchase-menu summary::-webkit-details-marker{display:none}.purchase-menu summary::after{content:'＋';margin-left:10px}.purchase-menu[open] summary::after{content:'−'}.purchase-menu>div{display:grid;gap:9px;position:absolute;z-index:5;right:0;top:calc(100% + 6px);width:min(300px,80vw);padding:16px;border:1px solid #bbb;background:#fff;box-shadow:0 14px 30px rgb(0 0 0 / 14%)}.purchase-menu a{display:flex;justify-content:space-between;gap:14px;min-height:44px;padding:10px;border-bottom:1px solid #ddd}.purchase-menu small{font-size:12px;line-height:1.6;color:#666}.owned-status,.owned-note{color:#356c57;font-weight:600}.shop-cover{position:relative;overflow:hidden}.shop-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}.shop-cover img+span{display:none}.primary:disabled{cursor:wait;opacity:.55}@media(max-width:900px){.shelf-item{grid-template-columns:minmax(0,1fr) auto}.purchase-menu{grid-column:2}.stock-confirm{grid-column:1/-1}.shelf-item .remove{grid-column:2}}@media(max-width:600px){.shelf-item{grid-template-columns:1fr}.purchase-menu,.shelf-item .remove,.shelf-item small,.stock-confirm{grid-column:1;grid-row:auto;justify-self:stretch}.purchase-menu>div{position:static;width:auto;box-shadow:none}.stock-confirm{width:100%}}
.store-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.cover-import-open{min-height:44px;border:1px solid #222;background:#fff;color:#222;padding:9px 13px;font:500 14px/1.5 var(--font-reading)}.cover-import,.stock-date{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid #ccc;background:#fff;color:#222;padding:0;box-shadow:0 24px 70px rgb(0 0 0 / 22%)}.stock-date{width:min(520px,calc(100vw - 32px))}.cover-import::backdrop,.stock-date::backdrop{background:rgb(0 0 0 / 25%);backdrop-filter:blur(3px)}.cover-import-form,.stock-date form{padding:28px}.cover-import-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.cover-import-head h3,.stock-date h3{font:600 27px/1.4 var(--font-title);margin:0}.cover-import-head button{border:0;background:none;font-size:28px;min-width:44px;min-height:44px}.cover-file{display:grid;gap:8px;margin:22px 0;font-weight:600}.cover-file input{font:inherit}.cover-preview{display:block;width:min(220px,100%);height:260px;object-fit:contain;border:1px solid #ddd;background:#f5f5f5;margin:0 0 20px}.acquired-date{display:grid;grid-template-columns:auto minmax(150px,1fr) auto;align-items:center;gap:12px;border:1px solid #ddd;padding:18px;margin:18px 0}.acquired-date legend{font-weight:600;padding:0 6px}.acquired-date label{display:flex;align-items:center;gap:7px;white-space:nowrap}.acquired-date input[type=date]{min-height:44px;padding:8px;border:1px solid #bbb;font:inherit}.cover-import-status{min-height:1.7em}.cover-match{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;border-top:1px solid #ddd;padding-top:22px}.cover-match img{width:150px;height:210px;object-fit:contain;background:#f5f5f5}.cover-match label{display:grid;gap:5px;margin-bottom:12px;font-size:13px}.cover-match input{min-height:44px;border:1px solid #aaa;padding:9px;font:inherit}.cover-match button,.stock-date-actions button{min-height:44px;border:1px solid #222;background:#222;color:#fff;padding:10px 14px;margin-top:14px}.stock-date-actions{display:flex;justify-content:flex-end;gap:10px}.stock-date-actions button:first-child{background:#fff;color:#222}@media(max-width:600px){.store-actions{justify-content:flex-start}.acquired-date{grid-template-columns:1fr}.cover-match{grid-template-columns:1fr}.cover-match img{width:130px;height:180px}.cover-import-form,.stock-date form{padding:20px}}
.reading-note-open{display:block;min-height:44px;margin:24px 0 8px;padding:11px 15px;border:1px solid #222;background:#fff;color:#222}.reading-note-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #bbb;background:#fff;color:#222;box-shadow:0 24px 70px rgb(0 0 0 / 22%)}.reading-note-dialog::backdrop{background:rgb(0 0 0 / 25%);backdrop-filter:blur(3px)}.reading-note-form{padding:28px}.note-mode{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0;padding:0;margin:22px 0}.note-mode legend{font-weight:600;margin-bottom:10px}.note-mode label{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:start;border:1px solid #ccc;padding:16px;cursor:pointer}.note-mode input{grid-row:1/3;margin-top:5px}.note-mode strong{font-size:16px}.note-mode span{font-size:13px;line-height:1.6;color:#666}.reading-note-preview{display:block;width:min(320px,100%);max-height:320px;object-fit:contain;margin:0 0 18px;border:1px solid #ddd;background:#f5f5f5}.note-text-edit{display:grid;gap:7px;margin:18px 0;font-weight:600}.note-text-edit textarea{width:100%;padding:14px;border:1px solid #aaa;font:400 16px/1.8 var(--font-reading);resize:vertical}.note-text-edit small{font-size:12px;color:#666}.reading-notes{padding:54px clamp(20px,5vw,70px);border-top:1px solid #ddd}.reading-notes h3{font-size:26px}.reading-notes-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.reading-page-card,.reading-memo-card{padding:20px;background:#f5f1e8;border:1px solid #d8d0c3}.reading-page-sheet{padding:8%;background:#fff;box-shadow:0 8px 20px rgb(0 0 0 / 10%);transform:rotate(-.7deg)}.reading-page-sheet img{display:block;width:100%;max-height:480px;object-fit:contain}.reading-memo-card{background:#fff9cf}.reading-memo-card blockquote{margin:0 0 20px;font:500 17px/1.9 var(--font-title);white-space:normal}.reading-notes article>small{color:#666}.reading-notes-empty{color:#666}@media(max-width:600px){.note-mode,.reading-notes-list{grid-template-columns:1fr}.reading-note-form{padding:20px}}
#store .shop-meta p{display:block;color:#666;font-size:13px;line-height:1.65;margin:7px 0 15px}#store .shop-cover img+span{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Reading photos become editorial spreads; handwriting keeps its original strokes. */
.reading-notes{padding:70px clamp(20px,6vw,90px)}
.reading-notes-list{display:grid;grid-template-columns:1fr;gap:42px}
.reading-page-card,.reading-memo-card{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(190px,.65fr);gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(26px,5vw,70px);background:#fff;border:1px solid #ddd}
.reading-page-sheet{padding:5%;background:#f4f4f4;box-shadow:none;transform:none}
.reading-page-sheet img{display:block;width:100%;max-height:620px;object-fit:contain}
.reading-page-copy small,.reading-memo-card>div>small{font-size:11px;letter-spacing:.12em;color:#555}
.reading-page-copy h4,.reading-memo-card h4{font-size:clamp(28px,4vw,52px);line-height:1.08;margin:20px 0}
.reading-page-copy p{font-size:15px;color:#666}.reading-page-copy time,.reading-memo-card time{font-size:13px;color:#777}
.reading-memo-card{background:#f7f5ef}
.open-book-page{position:relative;min-height:440px;padding:9% 12%;background:linear-gradient(90deg,#f1ede3 0 49.4%,#d8d1c5 49.5% 50.5%,#f8f5ec 50.6%);box-shadow:0 20px 40px rgb(0 0 0 / 10%)}
.memo-paper{position:relative;display:grid;place-items:center;width:68%;min-height:210px;margin:9% auto 0;padding:9%;background:#fff1a8;box-shadow:2px 8px 20px rgb(0 0 0 / 16%);transform:rotate(-2deg)}
.memo-paper::before{content:'';position:absolute;width:58px;height:20px;top:-8px;background:rgb(255 255 255 / 58%);transform:rotate(3deg)}
.memo-paper img{display:block;width:100%;max-height:260px;object-fit:contain}
@media(max-width:700px){.reading-page-card,.reading-memo-card{grid-template-columns:1fr}.reading-page-copy h4,.reading-memo-card h4{font-size:28px}.open-book-page{min-height:320px}}
