*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:16px}body{color:#c8bfe8;background-color:#0a0818;background-image:radial-gradient(at 20% 0,#3c1e7826 0%,#0000 60%),radial-gradient(at 80% 100%,#28145a26 0%,#0000 60%);background-attachment:fixed;min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}#root,.app{min-height:100vh}button,input,select{font-family:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0a0818}::-webkit-scrollbar-thumb{background:#2a2050;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#3a2e6e}.card-detail{background:#f7ebd1;border:3px solid #886628;border-radius:12px;width:min(340px,100%);overflow:hidden;box-shadow:0 20px 34px #00000059,inset 0 0 0 2px #ffeec473}.card-detail--empty{color:#7a6440;place-items:center;min-height:500px;font-family:Georgia,serif;display:grid}.card-detail__header{color:#d9be86;background:#221a0e;justify-content:space-between;gap:8px;padding:10px 12px;font-family:Georgia,serif;font-size:.86rem;display:flex}.card-detail__image-frame{aspect-ratio:3/4;background:linear-gradient(135deg,#251a0e,#5e4320);border-block:2px solid #886628;position:relative}.card-detail__image{z-index:1;object-fit:cover;width:100%;height:100%;display:block;position:relative}.card-detail__image-fallback{color:#dcc089;z-index:0;place-items:center;font-family:Courier New,monospace;font-size:1.2rem;display:grid;position:absolute;inset:0}.card-detail__meta{border-bottom:1px solid #6e502459;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.card-detail__meta div{text-align:center;gap:4px;padding:10px 8px;display:grid}.card-detail__meta strong{color:#73592d;text-transform:uppercase;letter-spacing:.06em;font-size:.62rem}.card-detail__meta span{color:#2e2009;font-family:Georgia,serif;font-size:.86rem}.card-detail__description{color:#3b2a10;margin:0;padding:12px;font-size:.82rem;line-height:1.45}@media (width<=760px){.card-detail{width:100%}.card-detail--empty{min-height:240px}}.card-thumbnail{all:unset;cursor:pointer;align-content:start;gap:4px;transition:transform .18s,filter .18s;display:grid}.card-thumbnail:hover{filter:brightness(1.05);transform:translateY(-2px)scale(1.02)}.card-thumbnail:focus-visible{outline-offset:1px;border-radius:4px;outline:2px solid #b99558}.card-thumbnail__frame{aspect-ratio:2/3;background:linear-gradient(140deg,#20170b,#473319);border:2px solid #8d6b32;border-radius:8px;width:100%;position:relative;overflow:hidden;box-shadow:0 4px 10px #0000004d}.card-thumbnail--active .card-thumbnail__frame{border-color:#c7a15f;box-shadow:0 0 0 2px #c7a15f80,0 6px 14px #0006}.card-thumbnail__image{z-index:1;object-fit:cover;width:100%;height:100%;display:block;position:relative}.card-thumbnail__fallback{color:#dfc38d;z-index:0;place-items:center;font-family:Courier New,monospace;font-size:.8rem;display:grid;position:absolute;inset:0}.card-thumbnail__number{text-align:center;color:#5f4a27;font-family:Georgia,serif;font-size:.65rem}.card-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;height:100%;display:grid}.card-grid__empty-slot{background:#785e340f;border:1px dashed #785e3480;border-radius:8px}@media (width<=760px){.card-grid{gap:8px;height:auto}}.page-controls{justify-content:center;align-items:center;gap:14px;margin-top:14px;display:flex}.page-controls__button{appearance:none;color:#d8bd8a;cursor:pointer;background:linear-gradient(#2f2212,#1f160b);border:1px solid #9a7640;border-radius:6px;padding:8px 14px;font-size:.8rem;transition:filter .18s,transform .18s}.page-controls__button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.page-controls__button:disabled{opacity:.4;cursor:not-allowed}.page-controls__indicator{text-align:center;color:#b89f74;min-width:120px;font-size:.8rem}@media (width<=760px){.page-controls{margin-top:6px}}.book-shell{flex-direction:column;gap:16px;display:flex}.book-desktop{display:block}.book-frame{background:#15110a;border:1px solid #3d3018;border-radius:18px;grid-template-columns:1fr 1fr;width:min(1100px,100%);min-height:660px;margin:0 auto;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 60px #0000008c,inset 0 0 0 1px #b4915229}.book-frame__spine{pointer-events:none;z-index:2;background:linear-gradient(90deg,#0009,#30241033,#0009);width:28px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:inset 1px 0 #fff5dc14,inset -1px 0 #fff5dc14}.book-page{padding:18px;position:relative;overflow:hidden}.book-page--left{padding-right:20px}.book-page--right{perspective:1800px;padding-left:20px}.book-page__inner{background:repeating-linear-gradient(0deg,#93764014 0 1px,#0000 1px 32px),linear-gradient(175deg,#f2e6cf 0%,#e7d5b4 100%);border-radius:8px;height:100%;box-shadow:inset 0 0 0 1px #805e2642}.book-page__inner--left{justify-content:center;align-items:center;padding:24px;display:flex}.book-page__inner--right{transform-origin:0;padding:18px;transition:transform .42s,box-shadow .42s}.book-page__inner--flipping-next{transform:rotateY(-24deg);box-shadow:-14px 0 30px #0006}.book-page__inner--flipping-prev{transform:rotateY(24deg);box-shadow:-14px 0 30px #0006}.book-frame__page-stack{background:repeating-linear-gradient(#d7c29a 0 4px,#cab083 4px 8px,#bb9f70 8px 12px);border-radius:0 8px 8px 0;width:12px;height:calc(100% - 44px);position:absolute;top:22px;right:-8px;box-shadow:2px 0 10px #00000059}.book-mobile{gap:14px;display:none}@media (width<=900px){.book-frame{min-height:560px}.book-page{padding:14px}.book-page--left{padding-right:16px}.book-page--right{padding-left:16px}}@media (width<=760px){.book-desktop{display:none}.book-mobile{display:grid}}.app{color:#e9dfcf;background:radial-gradient(circle at 20% 0,#78581c2e,#0000 46%),radial-gradient(circle at 80% 100%,#3c2c0c33,#0000 42%),#120f0a;min-height:100vh}.app__main{width:min(1180px,96vw);margin:0 auto;padding:28px 0 36px}.app__title{text-align:center;letter-spacing:.04em;color:#d6bd88;margin:0;font-family:Times New Roman,Georgia,serif;font-size:clamp(1.2rem,2.4vw,1.8rem);font-weight:700}.app__subtitle{text-align:center;color:#ab9470;margin:8px 0 22px;font-size:.88rem}@media (width<=700px){.app__main{width:min(680px,94vw);padding-top:20px}.app__subtitle{margin-bottom:14px;font-size:.8rem}}
