@import "https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;1,6..72,400&family=Noto+Serif+SC:wght@400;600&family=Inter+Tight:wght@500;600&display=swap";:root{color:#2d3748;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f9f6;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}html,body,#root{min-width:320px;min-height:100%;margin:0}body{color:#2d3748;background:#f7f9f6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{min-height:100svh}:root{--paper:#edebe6;--sheet:#f4f2ed;--ink:#141414;--muted:#6d6a63;--cobalt:#1f3fb0;--sakura-accent:#c2185b;--rule:#141414e6;--ease:cubic-bezier(.2, .8, .2, 1);--H:min(44vh, 320px);--ws:calc(var(--H) * 142 / 840);--d:calc(var(--H) * 474 / 900);--gap:calc(var(--H) * .035)}*{box-sizing:border-box}body{background-color:var(--paper);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter Tight,-apple-system,sans-serif;overflow:hidden}.paper-grain{pointer-events:none;z-index:40;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.3'/%3E%3C/svg%3E");position:fixed;inset:0}.vasari-container{flex-direction:column;justify-content:space-between;width:100vw;height:100vh;display:flex;position:relative}.top-bar{z-index:10;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 32px;display:grid}.top-bar-left .lbl-box{border:1px solid var(--rule);letter-spacing:.09em;text-transform:uppercase;align-items:center;height:22px;padding:0 8px;font-size:10px;font-weight:600;display:inline-flex}.top-logo{text-align:center}.top-logo-kanji{color:var(--cobalt);letter-spacing:.06em;font-size:18px;font-weight:700}.top-logo-sub{letter-spacing:.32em;color:var(--cobalt);font-size:8.5px;font-weight:600}.top-bar-right{text-align:right;letter-spacing:.09em;font-size:10px;font-weight:600}.decade-tabs-bar{z-index:10;justify-content:center;margin-top:5px;display:flex}.decade-tab-btn{border:1px solid var(--rule);letter-spacing:.08em;cursor:pointer;color:var(--ink);transition:all .3s var(--ease);background:0 0;margin-left:-1px;padding:4px 14px;font-size:10.5px;font-weight:600}.decade-tab-btn.active{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}.shelf-viewport{width:100vw;height:calc(var(--H) + 100px);perspective:2200px;perspective-origin:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:48%;left:0;transform:translateY(-50%)}.shelf-stage{width:0;height:0;transform-style:preserve-3d;position:relative}.vhs-box{width:0;height:0;transform-style:preserve-3d;cursor:pointer;transition:transform .65s var(--ease);position:absolute;top:0;left:0}.vhs-face{height:var(--H);top:calc(var(--H) * -.5);backface-visibility:hidden;box-sizing:border-box;background-color:#222;border-radius:2px;position:absolute;overflow:hidden}.vhs-face.spine{width:var(--ws);left:calc(var(--ws) * -.5);transform:translateZ(calc(var(--d) * .5));border:1px solid #0006;flex-direction:column;justify-content:space-between;padding:8px 4px;display:flex;box-shadow:inset 2px 0 4px #ffffff26,inset -2px 0 4px #00000080}.spine-year-pill{background:var(--ink);color:#fff;text-align:center;border-radius:2px;padding:2px 0;font-size:11px;font-weight:700}.spine-title-vertical{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.12em;color:#fff;text-transform:uppercase;max-height:55%;margin:auto 0;font-size:10px;font-weight:600;overflow:hidden}.spine-vhs-badge{color:#fff;text-align:center;letter-spacing:.05em;border:1px solid #fff9;padding:1px 0;font-size:7.5px;font-weight:700}.vhs-face.cover{width:var(--d);left:calc(var(--d) * -.5);transform:rotateY(90deg) translateZ(calc(var(--ws) * .5));background:#111;border:1px solid #141414cc;flex-direction:column;display:flex;box-shadow:0 30px 60px -20px #14100a8c}.cover-media-container{background:#000;width:100%;height:65%;position:relative;overflow:hidden}.cover-media{object-fit:cover;filter:contrast(1.08)saturate(1.05);width:100%;height:100%}.cover-info-card{background:var(--sheet);border-top:1px solid var(--ink);flex-direction:column;justify-content:space-between;height:40%;padding:8px 12px;display:flex}.cover-eyebrow{letter-spacing:.1em;color:var(--cobalt);text-transform:uppercase;font-size:8px;font-weight:700}.cover-headline{color:var(--ink);white-space:normal;text-overflow:clip;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:3px 0 0;font-family:Newsreader,Noto Serif SC,serif;font-size:13.5px;line-height:1.25;display:-webkit-box;overflow:visible}.spine-title-vertical{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.08em;color:#fff;text-transform:uppercase;text-overflow:clip;max-height:72%;margin:auto 0;font-size:9px;font-weight:600;line-height:1.15;overflow:hidden}.cover-footer{color:var(--muted);justify-content:space-between;align-items:center;font-size:8px;font-weight:600;display:flex}.vhs-face:after{content:"";pointer-events:none;opacity:var(--shade,0);transition:opacity .65s var(--ease);background:#000;position:absolute;inset:0}.shelf-caption-zone{text-align:center;pointer-events:none;z-index:20;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.caption-title{color:var(--ink);margin:0;font-family:Newsreader,Noto Serif SC,serif;font-size:28px;line-height:1.1}.caption-subtitle{letter-spacing:.08em;color:var(--cobalt);text-transform:uppercase;margin-top:4px;font-size:11px;font-weight:600}.caption-year{color:var(--muted);letter-spacing:.08em;margin-top:2px;font-size:11px;font-weight:500}.shelf-nav-arrow{border:1px solid var(--rule);width:44px;height:44px;color:var(--ink);cursor:pointer;z-index:30;background:0 0;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.shelf-nav-arrow:hover{background:var(--ink);color:#fff}.shelf-nav-arrow.prev{left:32px}.shelf-nav-arrow.next{right:32px}.shelf-footer{letter-spacing:.08em;z-index:10;border-top:1px solid #14141426;justify-content:space-between;align-items:center;height:48px;padding:0 32px;font-size:9.5px;font-weight:600;display:flex}.vasari-container{isolation:isolate}.sakura-background{pointer-events:none;z-index:-1;width:100%;height:100%;position:fixed;inset:0}.vhs-box:focus-visible .spine,.vhs-box:focus-visible .cover{outline:3px solid var(--cobalt);outline-offset:3px}.shelf-nav-arrow:disabled{opacity:.3;cursor:default}@media (prefers-reduced-motion:reduce){.vhs-box,.vhs-face:after{transition:none}}.cover-read-prompt{text-align:center;border-top:1px dashed #14141433;border-bottom:1px dashed #14141433;margin:6px 0;padding:4px 0}.cover-read-prompt span{letter-spacing:.12em;color:var(--cobalt);font-size:8px;font-weight:700}.caption-hint{letter-spacing:.14em;color:var(--cobalt);margin-top:6px;font-size:9px;font-weight:600}.detail-sheet-modal{z-index:60;background-color:var(--sheet);width:100%;max-width:none;height:100dvh;max-height:none;color:var(--ink);-webkit-user-select:text;user-select:text;border:0;margin:0;padding:24px 6vw 40px;position:fixed;inset:0;overflow-y:auto}.detail-sheet-modal:not([open]){display:none}.detail-sheet-modal[open]{animation:unfold-sheet .45s var(--ease);flex-direction:column;display:flex}.detail-sheet-modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#14141488}@keyframes unfold-sheet{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.sheet-top-bar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;margin-bottom:2rem;padding-bottom:1rem;display:flex}.sheet-close-btn{border:1px solid var(--rule);letter-spacing:.08em;cursor:pointer;color:var(--ink);background:0 0;padding:6px 14px;font-size:11px;font-weight:600;transition:background-color .2s,color .2s}.sheet-close-btn:hover{background:var(--ink);color:#fff}.sheet-close-btn:focus-visible{outline:3px solid var(--cobalt);outline-offset:4px}.sheet-logo-badge{letter-spacing:.12em;color:var(--cobalt);font-size:11px;font-weight:700}.sheet-esc-hint{letter-spacing:.08em;color:var(--muted);font-size:9px;font-weight:500}.sheet-content-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:5vw;width:100%;max-width:1200px;margin:auto;display:grid}.sheet-story-col{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.sheet-media-col{min-width:0}.sheet-meta-lead{letter-spacing:.1em;color:var(--cobalt);margin-bottom:.5rem;font-size:11px;font-weight:600}.sheet-divider{color:var(--muted);margin:0 6px}.sheet-main-title{letter-spacing:-.02em;color:var(--ink);margin:0 0 1rem;font-family:Newsreader,Noto Serif SC,serif;font-size:clamp(32px,4vw,54px);line-height:1.08}.sheet-tag-row{flex-wrap:wrap;gap:8px;margin-bottom:2rem;display:flex}.sheet-tag-pill{letter-spacing:.08em;border:1px solid var(--rule);padding:3px 8px;font-size:9.5px;font-weight:700}.sheet-person-pill{background:var(--ink);color:#fff;border-radius:2px;padding:3px 8px;font-size:9.5px;font-weight:600}.sheet-narrative-box{border-left:3px solid var(--cobalt);background:#fff9;border-radius:0 4px 4px 0;margin-bottom:2rem;padding:1.4rem 1.8rem;box-shadow:0 4px 20px #00000008}.sheet-story-text{color:var(--ink);margin:0;font-family:Newsreader,Noto Serif SC,Songti SC,Georgia,serif;font-size:20px;line-height:1.85}.sheet-footer-colophon{color:var(--muted);font-family:Newsreader,Noto Serif SC,serif;font-size:10px;font-style:italic}.sheet-poster-frame{border:1px solid var(--rule);background:#000;width:100%;position:relative;overflow:hidden;box-shadow:0 20px 45px -15px #14141459}.sheet-media-asset{object-fit:contain;width:100%;height:auto;max-height:480px;display:block}.sheet-poster-caption{background:var(--sheet);border-top:1px solid var(--rule);letter-spacing:.08em;justify-content:space-between;gap:12px;padding:8px 12px;font-size:9px;font-weight:600;display:flex}@media (width<=679px){.detail-sheet-modal{padding:20px}.sheet-content-grid{grid-template-columns:1fr;gap:24px}.sheet-top-bar{flex-wrap:wrap}.sheet-esc-hint{display:none}.sheet-narrative-box{padding:1rem}}@media (prefers-reduced-motion:reduce){.detail-sheet-modal[open]{animation:none}.sheet-close-btn{transition:none}}body{overflow-y:auto}.vasari-container{justify-content:flex-start;height:auto;min-height:100svh}.top-bar,.shelf-footer{flex-shrink:0}.shelf-viewport{flex-shrink:0;margin-top:24px;position:relative;top:auto;transform:none}.shelf-caption-zone{pointer-events:auto;width:min(760px,100%);margin:12px auto 32px;padding:0 24px;position:relative;bottom:auto;left:auto;transform:none}.caption-story-preview{color:var(--ink);opacity:.92;text-align:center;max-width:720px;margin:10px auto 4px;padding:0 16px;font-family:Newsreader,Noto Serif SC,Songti SC,serif;font-size:14.5px;line-height:1.65}.shelf-nav-arrow{top:calc(130px + (var(--H) + 100px) / 2)}.shelf-footer{margin-top:auto}@media (width<=679px){.top-bar{grid-template-columns:1fr auto;gap:12px;padding-inline:12px}.top-bar-right{display:none}.shelf-footer{flex-wrap:wrap;gap:16px;height:auto;min-height:48px;padding:12px}}button.caption-hint{cursor:pointer;background:0 0;border:0;padding:8px 0;font-family:inherit}button.caption-hint:focus-visible{outline:2px solid var(--cobalt);outline-offset:4px}.sheet-btn-edit,.sheet-btn-primary,.sheet-btn-secondary{border:1px solid var(--rule);color:var(--ink);font:inherit;cursor:pointer;background:0 0;padding:9px 12px;font-size:11px}.sheet-btn-primary{background:var(--cobalt);color:#fff}.edit-form-stack{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.edit-form-stack label,.media-upload-control{flex-direction:column;gap:8px;font-size:11px;font-weight:600;display:flex}.edit-form-stack input,.edit-form-stack textarea{border:1px solid var(--muted);width:100%;color:var(--ink);font:inherit;background:#fffa;padding:12px;font-size:16px}.edit-form-stack textarea{resize:vertical;font-family:Newsreader,Noto Serif SC,serif;line-height:1.65}.edit-session-note{color:var(--muted);font-size:13px}.media-upload-control{margin-bottom:16px}.media-upload-control input{max-width:100%}.sheet-action-buttons button:focus-visible,.edit-form-stack :is(input,textarea):focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}.sheet-action-buttons{flex-wrap:wrap;gap:8px;display:flex}.sheet-btn-edit{border:1px solid var(--cobalt);color:var(--cobalt);letter-spacing:.08em;cursor:pointer;background:0 0;padding:6px 14px;font-size:11px;font-weight:700;transition:background-color .2s,color .2s}.sheet-btn-edit:hover{background:var(--cobalt);color:#fff}.sheet-btn-primary{background:var(--cobalt);border:1px solid var(--cobalt);color:#fff;letter-spacing:.08em;cursor:pointer;padding:6px 14px;font-size:11px;font-weight:700}.sheet-btn-secondary{border:1px solid var(--rule);color:var(--ink);cursor:pointer;background:0 0;padding:6px 14px;font-size:11px;font-weight:600}.edit-form-stack{flex-direction:column;gap:1.2rem;margin-top:.5rem;display:flex}.edit-form-stack .edit-label{letter-spacing:.1em;color:var(--muted);flex-direction:column;gap:6px;font-size:10px;font-weight:700;display:flex}.edit-form-stack .edit-input-title{border:1px solid var(--rule);color:var(--ink);background:#fff;padding:8px 12px;font-family:Newsreader,Noto Serif SC,serif;font-size:24px}.edit-form-stack .edit-input-tag{border:1px solid var(--rule);color:var(--ink);background:#fff;padding:6px 10px;font-family:Inter Tight,sans-serif;font-size:13px}.edit-form-stack .edit-textarea-story{border:1px solid var(--rule);color:var(--ink);resize:vertical;background:#fff;padding:12px;font-family:Newsreader,Noto Serif SC,Songti SC,serif;font-size:18px;line-height:1.7}.media-upload-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141414d9;flex-direction:column;align-items:center;gap:6px;padding:14px;display:flex}.upload-trigger-btn{background:var(--cobalt);color:#fff;letter-spacing:.08em;cursor:pointer;border:none;border-radius:2px;padding:8px 16px;font-size:11px;font-weight:700;transition:transform .2s}.upload-trigger-btn:hover{transform:scale(1.04)}.upload-trigger-btn:focus-visible{outline-offset:4px;outline:2px solid #fff}.upload-file-hint{color:#ddd;letter-spacing:.04em;font-size:9px}@media (prefers-reduced-motion:reduce){.sheet-btn-edit,.upload-trigger-btn{transition:none}.upload-trigger-btn:hover{transform:none}}:root{--sheet-ease:cubic-bezier(.76, 0, .18, 1)}@media (hover:hover) and (pointer:fine){.vhs-box{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='13' fill='none' stroke='%23141414' stroke-width='1.5'/%3E%3Ccircle cx='16' cy='16' r='2.5' fill='%23141414'/%3E%3C/svg%3E") 16 16,pointer}.vhs-box:not(.active-turn):before{content:"";width:var(--ws);height:calc(var(--H) + 12px);left:calc(var(--ws) * -.5);top:calc(var(--H) * -.5 - 12px);transform:translateZ(calc(var(--d) * .5 + 1px));position:absolute}.vhs-box:not(.active-turn):hover .spine{translate:0 -10px}}.vhs-face.spine{transition:translate .35s var(--ease)}.spine-title-vertical{letter-spacing:.08em;text-overflow:clip;max-height:72%;font-size:9px;line-height:1.15}.cover-media-container{flex-shrink:0;height:60%}.cover-info-card{height:40%;padding:8px 12px}.cover-headline{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;line-height:1.25;display:-webkit-box}.cover-read-prompt{margin:4px 0;padding:3px 0}.cover-read-prompt span{font-size:7.5px}.detail-sheet-modal[open]{animation:vasari-paper-unfold .95s var(--sheet-ease)}@keyframes vasari-paper-unfold{0%{opacity:0;clip-path:inset(20% 30% round 3px);transform:rotate(-4.5deg)scale(.9)}to{opacity:1;clip-path:inset(0);transform:rotate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.detail-sheet-modal[open]{animation:none}.vhs-face.spine{transition:none}.vhs-box:not(.active-turn):hover .spine{translate:none}}.custom-cursor-tracker{pointer-events:none;z-index:4000;will-change:transform;display:none;position:fixed;top:0;left:0}.state-btn .cursor-ring{border-color:var(--cobalt);box-shadow:0 0 0 2px var(--sheet);transform:scale(.6)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.custom-cursor-tracker[data-visible=true]{display:block}body:has(.custom-cursor-tracker[data-visible=true]){cursor:none}body:has(.custom-cursor-tracker[data-visible=true]) :is(button,.vhs-box){cursor:none}.vhs-box:not(.active-turn):hover .spine{translate:0 calc(var(--H) * -.045)}}.detail-sheet-modal[open]{animation-name:cover-to-paper}@keyframes cover-to-paper{0%{opacity:0;clip-path:var(--sheet-start-clip,inset(20% 30%));transform:perspective(2200px) rotateZ(-4.5deg) rotateX(var(--sheet-start-x,0deg)) rotateY(var(--sheet-start-y,0deg))}to{opacity:1;clip-path:inset(0);transform:none}}.top-bar-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.top-add-memory-btn{background:var(--cobalt);color:#fff;border:1px solid var(--cobalt);letter-spacing:.08em;cursor:pointer;border-radius:2px;margin-left:12px;padding:4px 12px;font-size:10px;font-weight:700;transition:background-color .2s,border-color .2s,transform .2s}.top-add-memory-btn:focus-visible{outline:2px solid var(--cobalt);outline-offset:4px}.edit-form-stack select{font:inherit;color:var(--ink);background:#fff;padding:10px;font-size:16px}.new-media-placeholder{color:var(--sheet);text-align:center;padding:32px 20px}.new-cover-placeholder{text-align:center;height:100%;color:var(--sheet);place-content:center;font-family:Newsreader,Noto Serif SC,serif;display:grid}.decade-tabs-bar{flex-wrap:wrap;row-gap:6px;padding-inline:12px}@media (width<=679px){.top-bar{height:auto;min-height:90px;padding-block:12px}}.top-add-memory-btn:hover{background:#142a7a;border-color:#142a7a;transform:translateY(-1px)}.create-two-col{grid-template-columns:120px minmax(0,1fr);gap:12px;display:grid}.color-swatches-row{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.color-swatch-btn{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0;transition:transform .2s,border-color .2s}.color-swatch-btn:hover{transform:scale(1.18)}.color-swatch-btn.is-active{border-color:var(--ink);transform:scale(1.22);box-shadow:0 0 8px #0006}.color-swatch-btn:focus-visible{outline:2px solid var(--cobalt);outline-offset:4px}.empty-upload-placeholder{height:380px;color:var(--muted);text-align:center;background:#1414140a;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.empty-upload-icon{opacity:.7;margin-bottom:.5rem;font-size:2.2rem}.empty-upload-placeholder p{color:var(--ink);margin:0 0 .3rem;font-family:Newsreader,Noto Serif SC,serif;font-size:18px}.empty-upload-placeholder span{font-size:11px}.media-upload-overlay.always-show{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141414d9;justify-content:center;padding:12px;display:flex;position:absolute;bottom:35px;left:0;right:0}@media (width<=400px){.create-two-col{grid-template-columns:1fr}.top-add-memory-btn{margin-left:0}}@media (prefers-reduced-motion:reduce){.top-add-memory-btn,.color-swatch-btn{transition:none}.top-add-memory-btn:hover,.color-swatch-btn:hover,.color-swatch-btn.is-active{transform:none}}.vhs-box,.vhs-box:focus,.vhs-box:active{-webkit-tap-highlight-color:transparent;outline:none}.vhs-face{background-color:var(--sheet);border:1px solid #281e141f;border-radius:3px}.vhs-face.spine{border:1px solid #00000026;box-shadow:inset 1.5px 0 2px #ffffff40,inset -1.5px 0 3px #0000002e}.vhs-face.cover{background:var(--sheet);border:1px solid #281e1424;box-shadow:0 16px 36px -12px #23191447,0 2px 6px #0000000d}.cover-info-card{background:var(--sheet);border-top:1px solid #14141426;height:40%;padding:8px 12px}.vhs-box:focus-visible .spine,.vhs-box:focus-visible .cover{border-color:var(--cobalt);outline:none;box-shadow:0 0 0 2px #1f3fb040,0 16px 36px -12px #23191447}.sheet-month-ribbon{border-bottom:1px dashed #14141433;align-items:center;gap:16px;margin-bottom:1.5rem;padding:8px 0 16px;display:flex}.month-ribbon-label{letter-spacing:.1em;color:var(--muted);font-size:10px;font-weight:700}.month-tabs-row{flex-wrap:wrap;gap:8px;display:flex}.month-tab-pill{border:1px solid var(--rule);color:var(--ink);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:2px;padding:4px 12px;font-size:10.5px;font-weight:600;transition:all .2s}.month-tab-pill:hover{border-color:var(--cobalt);background:#1f3fb014}.month-tab-pill.is-active{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}.month-tab-pill:disabled{cursor:default;opacity:.6}.gallery-arrow{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;z-index:5;background:#141414a6;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-arrow:hover{background:var(--cobalt);border-color:var(--cobalt);transform:translateY(-50%)scale(1.1)}.gallery-arrow.prev{left:12px}.gallery-arrow.next{right:12px}.gallery-dots-row{align-items:center;gap:6px;display:flex}.gallery-dot{background:var(--muted);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;width:6px;height:6px;padding:0;transition:all .2s}.gallery-dot.is-active{background:var(--cobalt);transform:scale(1.4)}.gallery-counter{color:var(--muted);white-space:nowrap;margin-left:6px;font-size:9px;font-weight:700}.gallery-caption-text{text-overflow:ellipsis;white-space:nowrap;max-width:65%;font-size:9px;font-style:italic;overflow:hidden}@media (width<=679px){.sheet-month-ribbon{flex-direction:column;align-items:flex-start;gap:8px}}@media (prefers-reduced-motion:reduce){.month-tab-pill,.gallery-arrow,.gallery-dot{transition:none}}.cover-media-container,.cover-media{pointer-events:none!important}.vhs-face.cover{cursor:pointer;pointer-events:auto}.cover-read-prompt{pointer-events:none}.active-cover-hitbox{width:var(--d);height:var(--H);left:calc(var(--d) * -.5);top:calc(var(--H) * -.5);cursor:pointer;z-index:500;pointer-events:auto;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:0 0;border:0;padding:0;position:absolute}.active-cover-hitbox:focus-visible{outline:3px solid var(--cobalt);outline-offset:4px}.create-three-col{grid-template-columns:100px 90px 1fr;gap:10px;display:grid}.create-three-col>label{min-width:0}.create-modal .media-upload-overlay.always-show{justify-content:center;padding:12px;display:flex;position:static}.sheet-poster-caption-expanded{background:var(--sheet);border-top:1px solid var(--rule);padding:12px}.caption-meta-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.gallery-counter-badge{color:var(--muted);white-space:nowrap;font-size:10px}.nine-slots-filmstrip{grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:8px;margin-top:12px;display:grid}.filmstrip-slot{aspect-ratio:1;border:1px solid var(--rule);position:relative;overflow:hidden}.filmstrip-slot img{object-fit:cover;width:100%;height:100%;display:block}.slot-number{color:#fff;background:#141414bb;padding:1px 4px;font-size:9px;position:absolute;bottom:2px;right:2px}@media (width<=679px){.create-three-col>label:last-child{grid-column:1/-1}.create-modal .sheet-top-bar{flex-wrap:wrap;gap:12px}}:root{--H:clamp(230px, 36vh, 310px);--ws:calc(var(--H) * 142 / 840);--d:calc(var(--H) * 474 / 900)}@media (width>=680px){.sheet-content-grid{grid-template-columns:1fr 1fr;align-items:center;gap:3vw;display:grid}.sheet-poster-frame{max-height:480px}}@media (width<=679px){:root{--H:clamp(170px, 28vh, 220px)}.top-bar{height:56px;padding:0 14px}.top-bar-right{display:none}.top-logo-kanji{font-size:15px}.top-add-memory-btn{margin-left:6px;padding:3px 8px;font-size:9px}.shelf-nav-arrow.prev{width:32px;height:32px;left:8px}.shelf-nav-arrow.next{width:32px;height:32px;right:8px}.shelf-caption-zone{width:92vw;bottom:50px}.caption-title{font-size:20px}.caption-story-preview{text-overflow:ellipsis;max-height:4.2em;font-size:12.5px;line-height:1.5;overflow:hidden}.detail-sheet-modal{padding:16px 16px 40px}.sheet-content-grid{flex-direction:column-reverse;gap:20px;display:flex!important}.sheet-poster-frame{max-height:320px}.sheet-main-title{font-size:26px}.sheet-story-text{font-size:16px;line-height:1.7}.create-three-col{grid-template-columns:1fr 1fr;gap:8px}}.ai-trigger-pill-btn{border:1px solid var(--cobalt);color:var(--cobalt);cursor:pointer;background:#1f3fb014;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;transition:all .2s}.ai-trigger-pill-btn:hover{background:var(--cobalt);color:#fff}.storage-status{z-index:100;background:var(--sheet);max-width:calc(100vw - 24px);color:var(--ink);border:1px solid var(--rule);padding:8px 12px;position:fixed;bottom:12px;left:12px}p[role=alert],.upload-warning-banner{color:#b71c1c;overflow-wrap:anywhere;background:#c6282814;border-left:3px solid #c62828;border-radius:0 2px 2px 0;align-items:center;gap:6px;margin:8px 0 14px;padding:8px 12px;font-family:Inter Tight,sans-serif;font-size:11.5px;font-weight:600;line-height:1.5;animation:.3s ease-out shakeAlert;display:flex}p[role=alert]:before,.upload-warning-banner:before{content:"⚠️";flex-shrink:0;font-size:13px}.upload-warning-banner strong{font-weight:700}.upload-warning-banner p{min-width:0;margin:0}@keyframes shakeAlert{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){p[role=alert],.upload-warning-banner{animation:none}}.sheet-media-asset:is(video){background:#0b0414}.sheet-poster-frame:has(video){background:#0b0414}.sheet-media-asset:is(video){object-fit:contain}.sheet-media-asset:-webkit-any(video):fullscreen{object-fit:contain;background:#0b0414;width:100%;height:100%;max-height:none}.sheet-media-asset:is(video):fullscreen{object-fit:contain;background:#0b0414;width:100%;height:100%;max-height:none}@media (prefers-reduced-motion:reduce){.video-tool-btn{transition:none}.video-tool-btn:hover{transform:none}}.video-player-wrapper{background:#0b0414;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.video-asset-contain{background:#000;width:100%;height:100%;max-height:480px;object-fit:contain!important}.video-overlay-toolbar{z-index:10;pointer-events:auto;gap:8px;display:flex;position:absolute;top:12px;right:12px}.video-tool-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;letter-spacing:.06em;cursor:pointer;background:#141414b8;border:1px solid #ffffff59;border-radius:2px;align-items:center;gap:5px;padding:5px 10px;font-family:Inter Tight,sans-serif;font-size:11px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #0006}.video-tool-btn:hover{background:var(--cobalt);border-color:var(--cobalt);transform:translateY(-1px)}.video-tool-btn:focus-visible{outline-offset:3px;outline:2px solid #fff}@media (prefers-reduced-motion:reduce){.video-tool-btn{transition:none}.video-tool-btn:hover{transform:none}}.top-bar-right{align-items:center;gap:14px;display:flex}.top-auth-btn{border:1px solid var(--rule);color:var(--cobalt);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:2px;padding:4px 12px;font-size:11px;font-weight:700;transition:all .2s}.top-auth-btn:hover{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}.user-profile-badge{border:1px solid var(--rule);background:#1414140d;border-radius:999px;align-items:center;gap:8px;padding:3px 10px;display:flex}.user-tag{font-size:13px}.user-name{color:var(--ink);font-size:11px;font-weight:700}.top-logout-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-left:1px solid #14141433;margin-left:4px;padding:2px 4px;font-size:10px}.top-logout-btn:hover{color:#c62828}.auth-modal-overlay{z-index:5000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141414a6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.auth-paper-card{background:var(--sheet);border:1px solid var(--rule);border-radius:2px;flex-direction:column;width:100%;max-width:440px;padding:2.2rem 2.5rem;display:flex;box-shadow:0 30px 70px #00000073}.auth-card-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;margin-bottom:1.2rem;padding-bottom:.8rem;display:flex}.auth-kicker{letter-spacing:.14em;color:var(--cobalt);font-size:9px;font-weight:700;display:block}.auth-title{color:var(--ink);margin:4px 0 0;font-family:Newsreader,serif;font-size:24px}.auth-close-btn{cursor:pointer;color:var(--ink);background:0 0;border:none;font-size:16px}.auth-tabs-row{gap:8px;margin-bottom:1.2rem;display:flex}.auth-tab-btn{border:1px solid var(--rule);cursor:pointer;background:0 0;flex:1;padding:6px;font-size:11px;font-weight:600;transition:all .2s}.auth-tab-btn.is-active{background:var(--ink);color:#fff}.auth-error-alert{color:#b71c1c;background:#c6282814;border-left:3px solid #c62828;margin:0 0 1rem;padding:8px 10px;font-size:11px}.auth-form-stack{flex-direction:column;gap:1rem;display:flex}.auth-label{letter-spacing:.08em;color:var(--muted);flex-direction:column;gap:5px;font-size:10px;font-weight:700;display:flex}.auth-input{border:1px solid var(--rule);color:var(--ink);background:#fff;outline:none;padding:8px 10px;font-family:Inter Tight,sans-serif;font-size:14px}.role-tags-row{grid-template-columns:1fr 1fr;gap:6px;margin-top:4px;display:grid}.role-tag-chip{border:1px solid var(--rule);cursor:pointer;background:#fff;align-items:center;gap:6px;padding:6px 8px;transition:all .2s;display:flex}.role-tag-chip.is-selected{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}.chip-icon{font-size:14px}.chip-label{font-size:10px;font-weight:600}.auth-submit-btn{background:var(--cobalt);color:#fff;border:1px solid var(--cobalt);letter-spacing:.08em;cursor:pointer;margin-top:.5rem;padding:10px;font-size:12px;font-weight:700;transition:background .2s}.auth-submit-btn:hover:not(:disabled){background:#142a7a}.auth-submit-btn:disabled{opacity:.6}.auth-footer-note{text-align:center;color:var(--muted);margin-top:1.2rem;font-size:9px}.auth-paper-card{max-height:calc(100dvh - 3rem);overflow-y:auto}.auth-input:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}@media (width<=679px){.top-bar{grid-template-columns:1fr auto;height:auto;padding-block:10px}.top-bar-right{grid-column:1/-1;justify-content:flex-end;display:flex}.top-timeline-range{display:none}.auth-paper-card{padding:1.25rem}}.top-share-btn{border:1px solid var(--cobalt);color:var(--cobalt);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:2px;padding:4px 10px;font-size:11px;font-weight:700;transition:all .2s}.top-share-btn:hover{background:var(--cobalt);color:#fff}.visitor-banner{background:var(--ink);color:#fff;letter-spacing:.06em;z-index:20;justify-content:space-between;align-items:center;padding:6px 16px;font-size:11px;display:flex}.visitor-exit-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:2px;padding:2px 8px;font-size:10px}.visitor-exit-btn:hover{color:var(--ink);background:#fff}.share-modal-overlay{z-index:5000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141414a6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.share-paper-card{background:var(--sheet);border:1px solid var(--rule);border-radius:2px;flex-direction:column;width:100%;max-width:500px;padding:2.2rem 2.5rem;display:flex;box-shadow:0 30px 70px #00000073}.share-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.8rem;display:flex}.share-kicker{letter-spacing:.14em;color:var(--cobalt);font-size:9px;font-weight:700;display:block}.share-title{color:var(--ink);margin:4px 0 0;font-family:Newsreader,serif;font-size:24px}.share-close-btn{cursor:pointer;color:var(--ink);background:0 0;border:none;font-size:16px}.share-intro{color:var(--muted);margin:0 0 1.2rem;font-size:12px;line-height:1.6}.share-input-group{margin-bottom:1rem}.share-label{letter-spacing:.08em;color:var(--muted);flex-direction:column;gap:5px;font-size:10px;font-weight:700;display:flex}.share-input{border:1px solid var(--rule);color:var(--ink);background:#fff;outline:none;padding:8px 10px;font-family:Inter Tight,sans-serif;font-size:13px}.share-action-row{margin-bottom:1rem}.share-sync-btn{background:var(--cobalt);color:#fff;border:1px solid var(--cobalt);letter-spacing:.08em;cursor:pointer;width:100%;padding:10px;font-size:12px;font-weight:700;transition:background .2s}.share-sync-btn:hover:not(:disabled){background:#142a7a}.share-success-msg{color:#2e7d32;margin:0 0 1rem;font-size:11px;font-weight:600}.share-error-msg{color:#c62828;margin:0 0 1rem;font-size:11px;font-weight:600}.share-link-box{border:1px solid var(--rule);background:#fff;border-radius:2px;padding:10px 12px}.share-link-label{color:var(--muted);margin-bottom:6px;font-size:9.5px;font-weight:700;display:block}.share-link-row{gap:8px;display:flex}.share-link-input{color:var(--ink);background:#fafafa;border:1px solid #14141433;outline:none;flex:1;padding:6px 8px;font-size:11px}.share-copy-btn{background:var(--ink);color:#fff;cursor:pointer;white-space:nowrap;border:none;padding:6px 14px;font-size:11px;font-weight:700;transition:background .2s}.share-copy-btn:hover{background:var(--cobalt)}.share-footer-note{text-align:center;color:var(--muted);margin-top:1.2rem;font-size:9px}.share-paper-card{max-height:calc(100dvh - 3rem);overflow-y:auto}.share-link-input{min-width:0}.shared-shelf-status{text-align:center;margin:auto;padding:24px}.share-copy-btn:disabled,.share-sync-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=679px){.visitor-banner{flex-wrap:wrap;gap:8px}.top-bar-right{flex-wrap:wrap}.share-paper-card{padding:1.25rem}}.privacy-chip:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}.top-backup-btn{border:1px solid var(--rule);color:var(--ink);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:2px;padding:4px 10px;font-size:11px;font-weight:700;transition:all .2s}.backup-modal-overlay{z-index:5000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141414a6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.backup-paper-card{background:var(--sheet);border:1px solid var(--rule);border-radius:2px;flex-direction:column;width:100%;max-width:600px;padding:2.2rem 2.5rem;display:flex;box-shadow:0 30px 70px #00000073}.backup-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;margin-bottom:.8rem;padding-bottom:.8rem;display:flex}.backup-kicker{letter-spacing:.14em;color:var(--cobalt);font-size:9px;font-weight:700;display:block}.backup-title{color:var(--ink);margin:4px 0 0;font-family:Newsreader,serif;font-size:24px}.backup-close-btn{cursor:pointer;color:var(--ink);background:0 0;border:none;font-size:16px}.backup-intro{color:var(--muted);margin:0 0 1rem;font-size:12px;line-height:1.6}.vault-stats-box{background:#ffffff80;border:1px solid #14141426;border-radius:2px;justify-content:space-around;margin-bottom:1.2rem;padding:10px 16px;display:flex}.stat-item{flex-direction:column;align-items:center;gap:2px;display:flex}.stat-num{color:var(--cobalt);font-family:Inter Tight,sans-serif;font-size:20px;font-weight:800}.stat-badge{color:var(--ink);font-size:11px;font-weight:700}.stat-label{color:var(--muted);font-size:9.5px}.backup-actions-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:1rem;display:grid}.backup-action-card{border:1px solid var(--rule);background:#fff;border-radius:2px;flex-direction:column;justify-content:space-between;padding:16px;display:flex}.action-icon{margin-bottom:6px;font-size:22px}.backup-action-card h3{color:var(--ink);margin:0 0 6px;font-family:Newsreader,serif;font-size:16px}.backup-action-card p{color:var(--muted);flex:1;margin:0 0 14px;font-size:11px;line-height:1.5}.backup-btn{letter-spacing:.06em;cursor:pointer;border-radius:2px;width:100%;padding:8px 12px;font-family:Inter Tight,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.backup-btn.primary{background:var(--cobalt);color:#fff;border:1px solid var(--cobalt)}.backup-btn.primary:hover:not(:disabled){background:#142a7a}.backup-btn.secondary{color:var(--ink);border:1px solid var(--rule);background:0 0}.backup-btn.secondary:hover:not(:disabled){background:var(--ink);color:#fff}.backup-btn:disabled{opacity:.5;cursor:not-allowed}.backup-status-banner{border-radius:2px;margin:0 0 .8rem;padding:8px 12px;font-size:11.5px;font-weight:600}.backup-status-banner.is-success{color:#2e7d32;background:#2e7d3214;border-left:3px solid #2e7d32}.backup-status-banner.is-error{color:#c62828;background:#c6282814;border-left:3px solid #c62828}.backup-footer-note{text-align:center;color:var(--muted);border-top:1px dashed #14141433;padding-top:10px;font-size:9px}.privacy-toggle-row{gap:8px;margin-top:4px;display:flex}.privacy-chip{border:1px solid var(--rule);color:var(--muted);cursor:pointer;background:#fff;border-radius:2px;flex:1;justify-content:center;align-items:center;gap:4px;padding:7px 10px;font-family:Inter Tight,sans-serif;font-size:11px;font-weight:600;transition:all .2s;display:flex}.privacy-chip:hover{border-color:var(--ink);color:var(--ink)}.privacy-chip.is-active.is-private{background:var(--ink);color:#fff;border-color:var(--ink)}.privacy-chip.is-active.is-shared{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}.sheet-privacy-pill{letter-spacing:.08em;border:1px solid;border-radius:2px;padding:3px 8px;font-size:9.5px;font-weight:700}.sheet-privacy-pill.is-shared{border-color:var(--cobalt);color:var(--cobalt);background:#1f3fb014}.sheet-privacy-pill.is-private{color:#555;background:#0000000d;border-color:#555}.spine-year-pill{justify-content:space-around;align-items:center;display:flex;padding:2px 3px!important}.spine-privacy-icon{font-size:8px;line-height:1}.cover-privacy-status{letter-spacing:.04em;color:var(--ink);opacity:.85;font-weight:700}.caption-privacy-tag{letter-spacing:.08em;vertical-align:middle;border:1px solid;border-radius:2px;margin-left:10px;padding:2px 7px;font-size:9px;font-weight:700;display:inline-block}.caption-privacy-tag.is-shared{border-color:var(--cobalt);color:var(--cobalt);background:#1f3fb014}.caption-privacy-tag.is-private{color:#444;background:#0000000f;border-color:#555}.backup-btn{transition:transform .15s,background-color .2s,box-shadow .2s!important}.backup-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.backup-btn:active:not(:disabled){transform:scale(.97)translateY(1px)!important}.auth-submit-btn:active:not(:disabled),.share-sync-btn:active:not(:disabled){transform:scale(.98)translateY(1px)!important}.auth-tab-btn:active,.role-tag-chip:active{transform:scale(.96)!important}@media (pointer:fine){.auth-paper-card button,.backup-paper-card button,.share-paper-card button{cursor:none!important}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body:has(.custom-cursor-tracker[data-visible=true]) *{cursor:none!important}body:has(.custom-cursor-tracker[data-visible=true]) :before{cursor:none!important}body:has(.custom-cursor-tracker[data-visible=true]) :after{cursor:none!important}}.custom-cursor-tracker{will-change:transform;background:0 0;border:0;width:0;height:0;margin:0;padding:0;position:fixed;inset:0 auto auto 0;overflow:visible;pointer-events:none!important;z-index:999999!important}.custom-cursor-tracker::backdrop{pointer-events:none;background:0 0}.cursor-ring{border:1.5px solid var(--ink);width:40px;height:40px;transition:transform .2s var(--ease), background-color .2s var(--ease), border-color .2s var(--ease);background:0 0;border-radius:50%;justify-content:center;align-items:center;margin-top:-20px;margin-left:-20px;display:flex}.cursor-dot{background-color:var(--ink);width:5px;height:5px;transition:transform .2s var(--ease);border-radius:50%}.cursor-label{color:#fff;text-align:center;letter-spacing:.08em;transition:transform .2s var(--ease);flex-direction:column;font-size:7px;font-weight:700;line-height:1.15;display:flex;position:absolute;transform:scale(0)}.state-btn .cursor-ring{border-color:var(--cobalt);background:#1f3fb01f;transform:scale(.65)}.state-btn .cursor-dot{transform:scale(0)}.custom-cursor-tracker.is-down .cursor-ring{background-color:var(--cobalt)!important;border-color:var(--cobalt)!important;transform:scale(.45)!important}.state-spine .cursor-ring{transform:scale(.75)}.state-open .cursor-ring{background-color:var(--cobalt);border-color:var(--cobalt);transform:scale(1.05);box-shadow:0 4px 14px #1f3fb059}.state-open .cursor-dot{transform:scale(0)}.state-open .cursor-label{transform:scale(1)}@media (prefers-reduced-motion:reduce),(hover:none){.auth-paper-card button,.backup-paper-card button,.share-paper-card button{cursor:auto!important}}.top-backup-btn{border:1px solid var(--rule);color:var(--ink);letter-spacing:.08em;background:0 0;border-radius:2px;padding:4px 10px;font-family:Inter Tight,sans-serif;font-size:11px;font-weight:700;transition:background-color .15s,color .15s}.top-backup-btn:hover{background:var(--ink);color:#fff}.auth-close-btn,.backup-close-btn,.share-close-btn{color:var(--muted);background:0 0;border:none;padding:4px 8px;font-size:16px;line-height:1;transition:color .15s}.auth-close-btn:hover,.backup-close-btn:hover,.share-close-btn:hover{color:var(--ink)}.landing-portal-wrapper,.landing-loading-state{z-index:1;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex;position:relative}.landing-loading-state{color:var(--muted);flex-direction:column}.landing-paper-card{background:var(--sheet);border:1px solid var(--rule);text-align:center;width:100%;max-width:600px;padding:clamp(24px,5vw,56px);box-shadow:0 24px 60px #1414141f}.landing-seal,.loading-flower{margin-bottom:20px;font-size:36px}.landing-kicker{letter-spacing:.14em;color:var(--cobalt);font-size:10px;font-weight:700}.landing-title{color:var(--ink);font-family:Newsreader,serif;font-size:clamp(24px,4vw,34px)}.landing-desc{color:var(--muted);font-size:14px;line-height:1.9}.landing-action-row{margin:28px 0}.landing-enter-btn{background:var(--ink);color:#fff;border:1px solid var(--ink);font:inherit;padding:12px 18px;font-size:13px;transition:background-color .15s}.landing-enter-btn:hover{background:var(--cobalt)}.landing-footer-note{border-top:1px solid var(--rule);color:var(--muted);padding-top:18px;font-size:10px;line-height:1.7}.landing-portal-wrapper{z-index:10;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.landing-paper-card{background:var(--sheet);border:1px solid var(--rule);text-align:center;border-radius:2px;flex-direction:column;align-items:center;width:100%;max-width:520px;padding:3.5rem 3rem;display:flex;box-shadow:0 35px 80px #00000073}.landing-seal{margin-bottom:.8rem;font-size:2.8rem;animation:3s ease-in-out infinite gentlePulse}@keyframes gentlePulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.landing-kicker{letter-spacing:.16em;color:var(--cobalt);margin-bottom:.4rem;font-size:10px;font-weight:700;display:block}.landing-title{color:var(--ink);margin:0 0 1rem;font-family:Newsreader,serif;font-size:clamp(28px,4vw,36px);line-height:1.15}.landing-desc{color:var(--muted);max-width:420px;margin:0 0 2rem;font-family:Newsreader,Noto Serif SC,serif;font-size:14.5px;line-height:1.8}.landing-action-row{justify-content:center;width:100%;display:flex}.landing-enter-btn{background:var(--cobalt);color:#fff;border:1px solid var(--cobalt);letter-spacing:.08em;cursor:pointer;border-radius:2px;padding:12px 28px;font-family:Inter Tight,sans-serif;font-size:12px;font-weight:700;transition:all .2s;box-shadow:0 4px 14px #1f3fb04d}.landing-enter-btn:hover{background:#142a7a;border-color:#142a7a;transform:translateY(-2px)}.landing-footer-note{color:var(--muted);letter-spacing:.04em;border-top:1px dashed #14141433;margin-top:2rem;padding-top:1.2rem;font-size:9.5px}.landing-loading-state{height:100vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-family:Newsreader,serif;font-size:13px;display:flex}.loading-flower{font-size:2rem;animation:8s linear infinite spinSlow}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shelf-mode-segmented{border:1px solid var(--rule);background:#1414140a;border-radius:2px;padding:1px;display:inline-flex}.mode-seg-btn{letter-spacing:.06em;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:1px;padding:4px 10px;font-family:Inter Tight,sans-serif;font-size:11px;font-weight:600;transition:all .2s}.mode-seg-btn:hover{color:var(--ink)}.mode-seg-btn.is-active{background:var(--ink);color:#fff;box-shadow:0 1px 3px #0003}.landing-portal-wrapper{gap:clamp(2rem,5vw,5rem)}.auth-entry-layout{align-items:center;gap:clamp(2rem,5vw,5rem);width:min(1080px,100%);display:flex}.auth-entry-layout .auth-paper-card{flex:1;min-width:0}.auth-bookshelf{min-width:0;max-width:510px;color:var(--ink);text-align:center;flex:1}.auth-modal-overlay{background:#eee4d1f5;overflow-y:auto}.auth-volume-row{perspective:1000px;border-bottom:9px solid #78634e;justify-content:center;align-items:flex-end;height:255px;padding:0 12px 12px;display:flex;box-shadow:0 16px 16px -15px #352b25}.auth-volume{cursor:pointer;text-align:center;background:0 0;border:0;flex:0 0 40px;height:208px;margin:0 4px;padding:0;transition:flex-basis .5s,transform .3s;position:relative}.auth-volume:nth-child(2n){height:224px}.auth-volume-spine,.auth-volume-cover{background:var(--volume-color);color:#f5e8ce;border:1px solid #ffffff3d;border-radius:2px 5px 5px 2px;position:absolute;inset:0;box-shadow:inset 5px 0 9px #0003,5px 5px 9px #0002}.auth-volume-spine{writing-mode:vertical-rl;letter-spacing:.3em;justify-content:center;align-items:center;font-family:Noto Serif SC,serif;display:flex}.auth-volume-cover{opacity:0;transform-origin:0;flex-direction:column;justify-content:space-between;align-items:center;padding:23px 12px;transition:transform .5s,opacity .3s;display:flex;transform:rotateY(-75deg)}.auth-volume-cover>span{writing-mode:vertical-rl;letter-spacing:.25em;font-family:Noto Serif SC,serif;font-size:23px}.auth-volume-cover small{letter-spacing:.12em;font-size:8px}.auth-volume.is-open{flex-basis:136px}.auth-volume.is-open .auth-volume-cover{opacity:1;transform:rotateY(-8deg)}.auth-volume:hover{transform:translateY(-8px)}.auth-volume:focus-visible{outline:2px solid var(--cobalt);outline-offset:5px}.auth-bookshelf-quote{letter-spacing:.08em;text-wrap:pretty;max-width:420px;margin:32px auto 0;font-family:Noto Serif SC,serif;font-size:clamp(16px,1.7vw,21px);line-height:2.2}@media (width<=800px){.landing-portal-wrapper,.auth-entry-layout{flex-direction:column}.landing-portal-wrapper{padding:2rem 1rem}.auth-bookshelf{flex:none;width:100%}.auth-entry-layout{gap:1.5rem;margin:auto}.auth-entry-layout .auth-paper-card{flex:none;max-height:none}.auth-modal-overlay{align-items:flex-start;padding:1.25rem}.auth-volume-row{height:195px}.auth-volume{flex-basis:29px;height:155px;margin:0 3px}.auth-volume:nth-child(2n){height:168px}.auth-volume.is-open{flex-basis:106px}.auth-bookshelf-quote{margin-top:20px;font-size:16px}}@media (prefers-reduced-motion:reduce){.auth-volume,.auth-volume-cover{transition:none}.auth-volume:hover{transform:none}}.auth-volume{perspective:800px;transform-style:preserve-3d;transition:flex-basis 2.8s cubic-bezier(.37,0,.25,1),transform 2.8s}.auth-volume-cover{backface-visibility:hidden;opacity:1;transition:transform 2.8s cubic-bezier(.37,0,.25,1);overflow:hidden;transform:rotateY(-88deg)}.auth-volume.is-open{transform:translateY(-7px)}.auth-volume.is-open .auth-volume-cover{transform:rotateY(-8deg)}.auth-volume-spine{transition:opacity 1.8s}.auth-volume.is-open .auth-volume-spine{opacity:0}.auth-cover-photo{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.auth-volume.has-photo .auth-volume-cover:after{content:"";pointer-events:none;background:linear-gradient(#0005,#0000 35%,#0002 60%,#000a);position:absolute;inset:0}.auth-volume.has-photo .auth-volume-cover>span,.auth-volume.has-photo .auth-volume-cover>small{z-index:1;text-shadow:0 1px 5px #000;position:relative}.auth-volume.has-photo .auth-volume-cover>span{align-self:flex-end;font-size:20px}.auth-shelf-navigation{color:var(--muted);justify-content:center;align-items:center;gap:18px;margin-top:22px;display:flex}.auth-shelf-navigation span{letter-spacing:.12em;min-width:120px;font-size:11px}.auth-shelf-navigation button{border:1px solid var(--rule);background:var(--sheet);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:50%}.auth-shelf-navigation button:hover{background:var(--ink);color:var(--sheet)}.auth-shelf-navigation button:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}@media (prefers-reduced-motion:reduce){.auth-volume,.auth-volume-cover,.auth-volume-spine{transition:none}.auth-volume.is-open{transform:none}}.auth-volume.has-photo .auth-volume-cover>small{color:#ffffffb8;letter-spacing:.18em;font-size:7px;font-weight:400}.auth-volume-row{--auth-height:208px;--auth-spine:32px;--auth-depth:136px;--auth-gap:9px;perspective:2200px;perspective-origin:50%;transform-style:preserve-3d;height:275px;display:block;position:relative}.auth-volume,.auth-volume:nth-child(2n),.auth-volume.is-open{perspective:none;width:0;height:0;transform-style:preserve-3d;flex:none;margin:0;padding:0;transition:transform 2.8s cubic-bezier(.37,0,.25,1);position:absolute;top:50%;left:50%}.auth-volume-spine,.auth-volume-cover{inset:auto;top:calc(var(--auth-height) * -.5);height:var(--auth-height);box-sizing:border-box;backface-visibility:hidden;border:none;border-radius:3px;transition:none}.auth-volume-spine,.auth-volume.is-open .auth-volume-spine{left:calc(var(--auth-spine) * -.5);width:var(--auth-spine);transform:translateZ(calc(var(--auth-depth) * .5));opacity:1;box-shadow:inset 1.5px 0 2px #ffffff40}.auth-volume-cover,.auth-volume.is-open .auth-volume-cover{left:calc(var(--auth-depth) * -.5);width:var(--auth-depth);transform-origin:50%;transform:rotateY(90deg) translateZ(calc(var(--auth-spine) * .5));opacity:1;box-shadow:0 14px 30px -14px #5a463229}.auth-volume:focus-visible{outline:none}.auth-volume:focus-visible .auth-volume-spine,.auth-volume:focus-visible .auth-volume-cover{outline:2px solid var(--cobalt);outline-offset:3px}@media (width<=800px){.auth-volume-row{--auth-height:168px;--auth-spine:24px;--auth-depth:106px;--auth-gap:5px;height:225px}}@media (prefers-reduced-motion:reduce){.auth-volume{transition:none}}.ai-assistant-overlay{z-index:3000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141414b3;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.ai-assistant-card{background:var(--sheet);border:1px solid var(--rule);border-radius:2px;flex-direction:column;width:100%;max-width:820px;max-height:90vh;padding:2.2rem 2.5rem;display:flex;overflow-y:auto;box-shadow:0 35px 80px #00000080}.ai-assistant-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.ai-kicker{letter-spacing:.12em;color:var(--cobalt);margin-bottom:.2rem;font-size:9.5px;font-weight:700;display:block}.ai-title{color:var(--ink);margin:0;font-family:Newsreader,serif;font-size:26px}.ai-lang-toggle{align-items:center;gap:6px;display:flex}.lang-btn{border:1px solid var(--rule);cursor:pointer;background:0 0;padding:4px 8px;font-size:10px;font-weight:600;transition:all .2s}.lang-btn.is-active{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}.ai-close-btn{cursor:pointer;color:var(--ink);background:0 0;border:none;margin-left:8px;font-size:16px}.ai-prompts-stack{flex-direction:column;gap:1.2rem;display:flex}.ai-prompt-row{background:#ffffff80;border:1px solid #14141426;border-radius:2px;grid-template-columns:220px 1fr;align-items:center;gap:16px;padding:10px 14px;display:grid}.prompt-label-col{flex-direction:column;gap:2px;display:flex}.prompt-num{color:var(--cobalt);letter-spacing:.1em;font-size:9px;font-weight:800}.prompt-label-col strong{color:var(--ink);font-size:11px}.prompt-label-col small{color:var(--muted);font-size:9px;font-style:italic}.prompt-input-col{align-items:center;gap:8px;display:flex}.ai-input{border:1px solid var(--rule);color:var(--ink);background:#fff;outline:none;flex:1;padding:8px 10px;font-family:Newsreader,Noto Serif SC,serif;font-size:14px}.ai-textarea{resize:vertical}.voice-mic-btn{border:1px solid var(--rule);color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:2px;padding:8px 12px;font-size:11px;font-weight:700;transition:all .2s}.voice-mic-btn:hover{border-color:var(--cobalt);background:#1f3fb014}.voice-mic-btn.is-recording{color:#fff;background:#d32f2f;border-color:#d32f2f;animation:1.2s infinite pulseMic}@keyframes pulseMic{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.04)}}.ai-action-center{justify-content:center;margin:1.5rem 0 1rem;display:flex}.ai-synthesize-btn{background:var(--cobalt);color:#fff;border:1px solid var(--cobalt);letter-spacing:.1em;cursor:pointer;padding:10px 24px;font-size:12px;font-weight:700;transition:transform .2s,background .2s}.ai-synthesize-btn:hover:not(:disabled){background:#142a7a;transform:translateY(-1px)}.ai-synthesize-btn:disabled{opacity:.5;cursor:not-allowed}.ai-result-box{border-left:4px solid var(--cobalt);border-top:1px solid var(--rule);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:#fff;margin-top:.5rem;padding:1.2rem 1.5rem}.result-header span{letter-spacing:.12em;color:var(--cobalt);font-size:9px;font-weight:800}.result-text{color:var(--ink);margin:8px 0 14px;font-family:Newsreader,Noto Serif SC,Songti SC,serif;font-size:17px;line-height:1.8}.insert-story-btn{background:var(--ink);color:#fff;cursor:pointer;border:none;padding:8px 16px;font-size:11px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s}.insert-story-btn:hover{background:var(--cobalt);transform:translateY(-1px);box-shadow:0 4px 12px #1f3fb033}.insert-story-btn:active{transform:translateY(0)scale(.98)}.insert-story-btn:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}@media (prefers-reduced-motion:reduce){.insert-story-btn{transition:none}.insert-story-btn:hover,.insert-story-btn:active{transform:none}}
