:root{--paper-outer: #f0ece2;--paper: #ffffff;--paper-light: #ffffff;--paper-card: #ffffff;--paper-card-end: #fafaf5;--paper-warm: #fbf8ef;--ink: #1a1a1a;--ink-2: #333333;--ink-3: #666666;--ink-4: #999999;--wine: #7a2e3a;--wine-dark: #5c1f2a;--wine-soft: #a64e5a;--gold: #b8952e;--gold-light: #d4b055;--green-deep: #3d4e3e;--rule: #c4b68a;--rule-soft: #d9cdb4}:root{--font-jp: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-display: "Playfair Display", Georgia, serif;--font-en: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-ui: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100%;font-family:var(--font-jp);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;font-size:16px}html{background-color:var(--paper-outer);background-image:url(/app/assets/bg-mobile.jpg?v=2);background-size:cover;background-position:center center;background-attachment:fixed;background-repeat:no-repeat}@media(min-width:900px){html{background-image:url(/app/assets/bg-pc.jpg?v=2)}}html.view-no-bg{background-image:none;background-color:var(--paper-outer)}body{display:flex;flex-direction:column;max-width:560px;margin:0 auto;min-height:100vh;height:100dvh;min-height:100dvh;background:transparent;box-shadow:0 0 30px #00000040}@media(min-width:900px){body{max-width:1080px;box-shadow:0 0 40px #0000001f}main{padding:0 18px}.home-block,.view>*{max-width:1040px;margin-left:auto;margin-right:auto}.book-grid{grid-template-columns:repeat(6,1fr);gap:18px 14px}#peopleList .book-grid,#tagsList .book-grid,#favoritesList .book-grid{grid-template-columns:repeat(6,1fr)}.home-books{grid-template-columns:repeat(6,1fr);max-width:100%;gap:16px 12px}.article-card{aspect-ratio:2 / 2.9}.article-card-inner{max-height:36%;min-height:auto;padding:6px 8px 7px}.article-card-inner .article-source,.article-card-inner .article-category{font-size:7px;padding:1px 4px}.article-card-inner .article-badges{margin-bottom:3px}.article-card-inner .article-title{font-size:9px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;letter-spacing:.02em;-webkit-line-clamp:unset}.article-card-inner .article-desc{font-size:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-align:center}.category-filter,.era-filter,.sort-filter{justify-content:center}.profile-cover{height:260px}#personDetail>.profile-cover,#personDetail>.profile-header,#personDetail>.routine-open-btn,#personDetail>.profile-tabs,#personDetail>.profile-tab-content{max-width:820px;margin-left:auto;margin-right:auto}#personDetail>.profile-header{padding-left:24px;padding-right:24px}.profile-avatar{width:120px;height:120px;margin-top:-60px;font-size:44px;border-width:4px}.profile-name{font-size:28px}.profile-handle{font-size:15px}.profile-bio{font-size:15px;line-height:1.9}.profile-meta{font-size:13px}.profile-stats{gap:28px;padding:14px 0}.profile-stat{font-size:14px}.profile-stat strong{font-size:20px;margin-right:4px}.profile-tabs{justify-content:center;gap:4px}.profile-tab{padding:14px 22px;font-size:14px}.profile-feed,.profile-tab-content{margin-left:auto;margin-right:auto;padding:0 24px}#personDetail>.profile-header .image-credit{font-size:12px;padding:8px 12px}.routine-modal-panel{width:min(92vw,760px)}}@media(min-width:1200px){body{max-width:1200px}.book-grid{grid-template-columns:repeat(6,1fr)}.home-block,.view>*{max-width:1160px}}@media(min-width:660px)and (max-width:899px){body{max-width:760px}.book-grid{grid-template-columns:1fr 1fr 1fr 1fr}}.app-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:14px 16px;background:linear-gradient(180deg,#5c1f2a,#4a1822);border-bottom:2px solid var(--gold);position:sticky;top:0;z-index:10;box-shadow:0 2px 6px #00000040}.app-header .header-left{justify-self:start;display:flex;align-items:center;gap:6px}.header-logo{color:var(--gold-light);font-size:11px;line-height:1;letter-spacing:.2em;font-family:var(--font-jp);display:inline-flex;align-items:center;gap:3px;padding:4px 8px;border:1px solid var(--gold);border-radius:14px;background:#0000002e;white-space:nowrap}.header-logo:before{content:"\25c6";font-size:8px;color:var(--gold)}.back-btn.visible~.header-logo{display:none}.app-header h1{font-size:19px;font-weight:700;letter-spacing:.2em;color:var(--gold-light);font-family:var(--font-jp);text-shadow:0 1px 2px rgba(0,0,0,.4);text-align:center;white-space:nowrap;margin:0}.app-header .header-right{display:flex;align-items:center;gap:6px;justify-self:end}.back-btn,.icon-btn{background:none;border:none;color:var(--gold-light);font-size:24px;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center}.back-btn{visibility:hidden}.back-btn.visible{visibility:visible}.tabs{display:flex;background:#382018;border-bottom:2px solid var(--gold);position:sticky;top:54px;z-index:9}.tabs.hidden{display:none}.tab{flex:1;min-width:0;padding:14px 0;background:none;border:none;color:#b89f6a;font-size:14px;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;font-family:inherit;letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:520px){.tab{font-size:12px;letter-spacing:.05em;padding:12px 2px}}@media(max-width:360px){.tab{font-size:11px;letter-spacing:.02em}}.tab.active{color:var(--gold-light);border-bottom-color:var(--gold);font-weight:600;background:linear-gradient(180deg,transparent 0%,rgba(184,149,46,.08) 100%)}.search-bar{display:flex;padding:10px 12px;background:#4a1822;gap:8px;border-bottom:1px solid var(--gold)}.search-bar.hidden{display:none}.search-bar input{flex:1;background:var(--paper-light);border:1px solid var(--rule);color:var(--ink);padding:8px 12px;border-radius:3px;font-size:14px;font-family:inherit}.search-bar input:focus{outline:none;border-color:var(--gold)}#searchClose{background:none;border:none;color:var(--gold-light);font-size:22px;cursor:pointer}main{flex:1;overflow-y:auto;overflow-x:hidden;background:#ffffffc7;scrollbar-gutter:stable both-edges}.view{display:none;padding:16px 18px 80px}.view.active{display:block}#view-people.active{padding-top:0}#view-favorites{background-color:#fffcf3;background-image:linear-gradient(90deg,transparent 0,transparent 22px,rgba(122,46,58,.3) 22px,rgba(122,46,58,.3) 23px,transparent 23px,transparent 100%),repeating-linear-gradient(to bottom,transparent 0px,transparent 31px,rgba(122,46,58,.14) 31px,rgba(122,46,58,.14) 32px)}.view.fade-enter{animation:view-fade-in .45s ease-out}@keyframes view-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.intro{color:var(--ink-3);font-size:14px;margin-bottom:16px;line-height:1.85;font-family:var(--font-jp)}.icon-img{display:inline-block;height:1.2em;width:auto;vertical-align:-.2em;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))}.icon-img-lg{height:1.6em}.icon-img-xl{height:2.4em}.hero-silhouette{position:relative;margin:-16px -18px 28px;max-width:none;width:auto;overflow:hidden;background:#2a0810}.hero-silhouette-img{display:block;width:100%;height:auto;object-fit:contain;object-position:center top}.hero-silhouette-overlay{padding:18px 22px 22px;text-align:center;background:linear-gradient(180deg,#fffdf7,#faf5e8);border-top:3px double var(--wine)}.hero-silhouette-tagline{font-family:var(--font-jp);font-size:15px;font-weight:700;color:var(--wine-dark);letter-spacing:.12em;margin-bottom:10px;line-height:1.7}.hero-silhouette-sub{font-family:var(--font-jp);font-size:12px;color:var(--ink-2);line-height:1.85;margin-bottom:28px}.hero-shortcut-row{display:flex;gap:10px;justify-content:center;margin:18px 0 6px;flex-wrap:wrap}.hero-shortcut-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#fff9ebe6;color:var(--wine-dark);border:1.5px solid var(--gold);border-radius:999px;font-family:var(--font-jp);font-size:13px;font-weight:700;cursor:pointer;letter-spacing:.04em;box-shadow:0 2px 8px #00000014;transition:transform .15s,box-shadow .15s}.hero-shortcut-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001f;background:#fff}.hero-shortcut-ic{font-size:15px}@media(max-width:560px){.hero-shortcut-btn{font-size:12px;padding:8px 14px}}.hero-silhouette-btn{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:12px 24px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1.5px solid var(--gold);border-radius:26px;font-family:var(--font-jp);font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.08em;box-shadow:0 4px 14px #7a2e3a4d;transition:all .2s}.hero-silhouette-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #7a2e3a73}.hero-silhouette-btn-icon{font-size:16px}.hero-silhouette-btn-arrow{font-size:14px;opacity:.8}@media(min-width:900px){.hero-silhouette-img{max-height:380px}.hero-silhouette-tagline{font-size:18px}.hero-silhouette-sub{font-size:14px}.hero-silhouette-btn{font-size:15px;padding:14px 30px}}@media(max-width:520px){.hero-silhouette-tagline{font-size:13px;letter-spacing:.08em}.hero-silhouette-sub{font-size:11px}.hero-silhouette-btn{font-size:13px;padding:10px 20px}}.hero{margin:-16px -18px 28px;max-width:none;width:auto;padding:10px;background:#fff;border-bottom:3px double var(--wine);position:relative;overflow:hidden}.hero.hero-image{padding:0;background:transparent;border-bottom:none;margin:-16px -18px 20px}.hero-img{display:block;width:100%;max-width:520px;height:auto;max-height:260px;object-fit:contain;background:#fff;margin:0 auto}@media(min-width:900px){.hero-img{max-width:680px;max-height:340px}}.hero-image:before{display:none}.hero-tagline-below{text-align:center;font-family:var(--font-jp);font-size:15px;font-weight:700;color:var(--wine);letter-spacing:.15em;margin:20px 14px 8px;line-height:1.7}.hero-sub-below{text-align:center;font-family:var(--font-jp);font-size:12px;color:var(--ink-3);letter-spacing:.05em;line-height:1.8;margin:0 18px 14px;padding-bottom:14px;border-bottom:1px solid var(--rule-soft)}@media(min-width:900px){.hero-tagline-below{font-size:18px}.hero-sub-below{font-size:14px}}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 15% 15%,rgba(184,149,46,.12) 0%,transparent 35%),radial-gradient(circle at 85% 85%,rgba(122,46,58,.1) 0%,transparent 40%);pointer-events:none}.hero-frame{border:2px solid var(--wine);padding:18px 18px 14px;text-align:center;position:relative;background:linear-gradient(180deg,#ffffff 0%,var(--paper-card) 55%,var(--paper-card-end) 100%);box-shadow:inset 0 0 0 1px var(--gold),inset 0 0 0 4px var(--wine),inset 0 0 0 5px var(--gold),0 4px 16px #0000002e}.hero-frame:before,.hero-frame:after{content:"\25c6";position:absolute;font-size:16px;color:var(--gold);background:transparent;padding:0 6px}.hero-frame:before{top:-12px;left:50%;transform:translate(-50%)}.hero-frame:after{bottom:-12px;left:50%;transform:translate(-50%)}.hero-ornament{font-size:11px;color:var(--gold);letter-spacing:.15em}.hero-ornament.top{margin-bottom:8px}.hero-ornament.bottom{margin-top:8px}.hero-title{font-size:22px;font-weight:800;letter-spacing:.25em;color:var(--wine-dark);margin-bottom:10px;font-family:var(--font-jp);text-shadow:0 1px 0 rgba(255,240,200,.7)}.hero-divider{display:flex;align-items:center;justify-content:center;margin:6px 0 8px}.hero-divider span{width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);position:relative}.hero-divider span:before{content:"\2756";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:10px;color:var(--wine);background:transparent;padding:0 8px}.hero-tagline{font-size:12px;color:var(--wine);letter-spacing:.18em;margin-bottom:16px;font-family:var(--font-jp);font-weight:600;line-height:1.8}.hero-sub{font-size:11px;color:var(--ink-2);line-height:1.9;letter-spacing:.08em;font-family:var(--font-jp);margin-bottom:12px;font-weight:400}.hero-stats{display:flex;justify-content:center;align-items:stretch;gap:0;margin:12px 0 2px;padding:10px 0;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);position:relative}.hero-stats:before,.hero-stats:after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--rule-soft)}.hero-stats:before{top:-3px}.hero-stats:after{bottom:-3px}.hero-stats>div:not(.hs-sep){flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}.hero-stats .hs-num{font-size:20px;font-weight:700;color:var(--wine-dark);font-family:var(--font-jp);line-height:1;text-shadow:0 1px 0 rgba(255,240,200,.6)}.hero-stats .hs-label{font-size:10px;color:var(--ink-3);letter-spacing:.25em}.hero-stats .hs-sep{width:1px;background:linear-gradient(180deg,transparent,var(--gold),transparent);flex:0 0 1px}.home-block{margin-bottom:34px}.home-block-label{display:flex;align-items:center;gap:10px;font-size:17px;color:#fff;letter-spacing:.1em;margin-bottom:18px;padding:10px 16px;background:linear-gradient(90deg,var(--wine) 0%,#5a1822 70%,rgba(90,24,34,.88) 100%);border-left:6px solid var(--gold);border-radius:0 6px 6px 0;line-height:1.3;font-family:var(--font-jp);font-weight:800;text-transform:none;box-shadow:2px 2px #8a5a1d26,0 2px 6px #00000014;position:relative}.home-block-label>.pr-tag{margin-left:auto;background:#fff3;color:#f5e6c8;border-color:#ffffff4d}.ij-icon{display:inline-block;width:1.1em;height:1.1em;vertical-align:-.18em;fill:currentColor;flex-shrink:0}.home-block-label .ij-icon{width:20px;height:20px;color:var(--gold);filter:drop-shadow(0 0 4px rgba(255,215,100,.3));margin-right:4px;vertical-align:-.2em}.oshi-today-quote-head .ij-icon,.oshi-today-book-head .ij-icon,.oshi-today-routine-head .ij-icon,.oshi-today-letter-head .ij-icon{width:14px;height:14px;color:var(--wine);vertical-align:-.15em;margin-right:4px}h2 .ij-icon,h3 .ij-icon{vertical-align:-.15em;margin-right:4px}.beginner-collapsible summary .ij-icon{width:18px;height:18px;color:#c1527a;margin-right:4px;vertical-align:-.18em}.era-page-h2 .ij-icon{width:18px;height:18px;color:var(--wine);margin-right:4px;vertical-align:-.18em}.qod-attrib{display:flex;align-items:center;gap:10px;cursor:pointer}.qod-avatar{width:44px;height:44px;border-radius:50%;background-size:cover;background-position:center;border:2px solid var(--gold);flex-shrink:0}.qod-avatar-noimg{display:flex;align-items:center;justify-content:center;background:var(--wine);color:var(--gold-light);font-family:var(--font-jp);font-weight:700;font-size:18px}.qod-attrib-text{display:flex;flex-direction:column;gap:2px}.qod-source{font-size:11px;color:var(--ink-4)}.quote-of-the-day{background:#fff;border:1px solid var(--rule);border-radius:4px;padding:24px 22px 18px;position:relative;box-shadow:inset 0 0 0 1px var(--gold),inset 0 0 0 2px #fffdf766,0 3px 10px #0000001a}.quote-of-the-day:before{content:"\201d";position:absolute;top:2px;left:12px;font-size:64px;color:var(--wine);opacity:.28;font-family:var(--font-display);font-weight:900;line-height:1}.qod-text{font-size:20px;line-height:2;color:var(--ink);font-family:var(--font-jp);padding-left:28px;margin-bottom:14px;letter-spacing:.05em;font-weight:500}@media(min-width:900px){.qod-text{font-size:22px}}.qod-attrib{text-align:right;font-size:13px;color:var(--ink-3);letter-spacing:.08em;cursor:pointer;padding-top:10px;border-top:1px solid var(--rule-soft)}.qod-attrib .qod-name{color:var(--wine);font-weight:700;font-size:12px;margin-right:6px}.person-of-the-day{position:relative;border-radius:4px;overflow:hidden;cursor:pointer;box-shadow:inset 0 0 0 1px var(--gold),0 6px 16px #00000038;border:2px solid var(--wine);transition:transform .15s}.person-of-the-day:active{transform:scale(.99)}.potd-image{width:100%;height:220px;background-size:contain;background-repeat:no-repeat;background-position:center top;background-color:#1a130c;position:relative}.potd-image:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#1f181200,#1f181226 40%,#1f1812cc 78%,#1f1812f2)}.potd-image.no-image{display:flex;align-items:center;justify-content:center;font-size:70px;color:var(--wine);font-family:var(--font-jp)}.potd-content{position:absolute;bottom:0;left:0;right:0;padding:16px 20px 18px;color:var(--paper-light);z-index:2}.potd-label-line{display:inline-block;font-size:10px;letter-spacing:.35em;color:var(--gold-light);padding-bottom:4px;border-bottom:1px solid var(--gold);margin-bottom:10px;font-weight:600}.potd-name{font-size:23px;font-weight:700;color:#fff;margin-bottom:5px;font-family:var(--font-jp);letter-spacing:.08em;text-shadow:0 2px 10px rgba(0,0,0,.6)}.potd-meta{font-size:11px;color:var(--gold-light);letter-spacing:.12em;margin-bottom:8px;text-shadow:0 1px 4px rgba(0,0,0,.5)}.potd-summary{font-size:12px;color:#f0e4c9;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 4px rgba(0,0,0,.6)}.quote-carousel{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:none;scroll-snap-type:x mandatory}.quote-carousel::-webkit-scrollbar{display:none}.qc-card{flex:0 0 78%;scroll-snap-align:start;background:#fff;border:1px solid var(--wine);border-radius:4px;padding:18px 16px 14px;position:relative;cursor:pointer;box-shadow:inset 0 0 0 1px var(--gold),inset 0 0 0 2px #fffdf766,0 3px 8px #0000001f;display:flex;flex-direction:column;min-height:150px}.qc-card:before{content:"\201d";position:absolute;top:-2px;left:10px;font-size:48px;color:var(--wine);opacity:.28;font-family:var(--font-display);font-weight:900;line-height:1}.qc-text{font-size:15px;line-height:1.95;color:var(--ink);font-family:var(--font-jp);padding-left:22px;padding-top:4px;flex:1;margin-bottom:10px;letter-spacing:.04em;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.qc-attrib{display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--rule-soft)}.qc-avatar{width:34px;height:34px;border-radius:50%;background-size:cover;background-position:center top;background-color:var(--paper-warm);border:1px solid var(--gold);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--wine);font-family:var(--font-jp)}.qc-meta-name{font-size:12px;color:var(--wine);font-weight:700;letter-spacing:.05em}.qc-meta-src{font-size:10px;color:var(--ink-3);line-height:1.5}.featured-tags{display:grid;grid-template-columns:1fr 1fr;gap:10px}.feat-tile{border-radius:4px;padding:18px 14px;color:var(--paper-light);cursor:pointer;text-align:center;box-shadow:inset 0 0 0 1px #d4b05580,0 3px 8px #00000038;transition:transform .1s;font-family:inherit;border:1px solid rgba(0,0,0,.3)}.feat-tile-wine{background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%)}.feat-tile-green{background:linear-gradient(135deg,var(--green-deep) 0%,#2a3a2b 100%)}.feat-tile:active{transform:scale(.97)}.feat-tile .ft-name{font-size:17px;font-weight:700;letter-spacing:.15em;margin-bottom:6px;font-family:var(--font-jp);text-shadow:0 1px 3px rgba(0,0,0,.4)}.feat-tile .ft-count{font-size:10px;opacity:.9;letter-spacing:.1em}.feat-tile .ft-desc{font-size:10px;opacity:.92;margin-top:6px;line-height:1.6;letter-spacing:.04em}.category-filter{display:flex;gap:6px;margin-bottom:14px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.category-filter::-webkit-scrollbar{display:none}.cat-chip{flex-shrink:0;padding:7px 15px;border-radius:18px;font-size:12px;background:var(--paper-light);border:1px solid var(--rule);color:var(--ink-2);cursor:pointer;font-family:inherit;letter-spacing:.05em;transition:all .15s;white-space:nowrap}.cat-chip.active{background:var(--wine);color:var(--gold-light);border-color:var(--wine);font-weight:700;box-shadow:0 2px 4px #00000026}.cat-chip .cat-count{font-size:10px;margin-left:5px;opacity:.7}.era-filter,.sort-filter{display:flex;gap:5px;margin-bottom:10px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none;flex-wrap:wrap}.era-filter:empty,.sort-filter:empty{display:none;margin:0}.era-filter::-webkit-scrollbar,.sort-filter::-webkit-scrollbar{display:none}.era-chip,.sort-chip{flex-shrink:0;padding:5px 12px;border-radius:14px;font-size:11px;background:transparent;border:1px solid var(--rule);color:var(--ink-2);cursor:pointer;font-family:inherit;letter-spacing:.04em;transition:all .15s;white-space:nowrap}.era-chip.active{background:var(--gold);color:#fff;border-color:var(--gold);font-weight:600}.era-chip .cat-count{font-size:9px;margin-left:4px;opacity:.7}.sort-chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:600}.aged-paper{background-color:var(--paper-card);background-image:radial-gradient(ellipse 60% 40% at 18% 22%,rgba(184,149,46,.1) 0%,transparent 55%),radial-gradient(ellipse 50% 35% at 82% 78%,rgba(122,46,58,.08) 0%,transparent 55%),radial-gradient(ellipse 40% 30% at 50% 95%,rgba(107,88,64,.08) 0%,transparent 60%),radial-gradient(circle 6px at 25% 65%,rgba(107,58,30,.12) 0%,transparent 100%),radial-gradient(circle 4px at 70% 30%,rgba(92,31,42,.1) 0%,transparent 100%),radial-gradient(circle 3px at 88% 55%,rgba(107,58,30,.08) 0%,transparent 100%),radial-gradient(circle 5px at 12% 85%,rgba(92,31,42,.07) 0%,transparent 100%),radial-gradient(circle 2px at 55% 18%,rgba(107,58,30,.1) 0%,transparent 100%),radial-gradient(circle 1px at 20% 40%,rgba(107,58,30,.1),transparent 100%),radial-gradient(circle 1px at 65% 75%,rgba(107,58,30,.08),transparent 100%),radial-gradient(circle 1px at 35% 20%,rgba(107,58,30,.09),transparent 100%),radial-gradient(circle 1px at 80% 12%,rgba(107,58,30,.07),transparent 100%),radial-gradient(circle 1px at 45% 90%,rgba(107,58,30,.09),transparent 100%),radial-gradient(circle 1px at 92% 88%,rgba(107,58,30,.08),transparent 100%),linear-gradient(180deg,#fffdf4 0%,var(--paper-card) 50%,#f5e8c8 100%)}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px;padding:8px 4px 16px;width:100%;box-sizing:border-box}.person-book{aspect-ratio:2 / 2.9;position:relative;cursor:pointer;border-radius:3px 6px 6px 3px;overflow:hidden;background-size:cover;background-position:center 15%;background-color:#2a2018;box-shadow:6px 8px 18px #00000059,2px 2px 5px #0000002e,inset 0 0 0 1px #00000040;transition:transform .15s}.person-book:active{transform:translateY(2px)}.person-book-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 40%,rgba(0,0,0,.55) 70%,rgba(0,0,0,.92) 100%);pointer-events:none}.person-book.no-img{background:linear-gradient(135deg,#3d5a80,#2c4363)}.person-book-placeholder{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);font-size:72px;color:#ffffff59;font-family:var(--font-jp)}.person-book-info{position:absolute;bottom:0;left:0;right:0;padding:10px 12px 12px;color:#fff;text-align:center;z-index:2}.person-book-en{font-size:10px;color:#f0d690;opacity:.85;letter-spacing:.05em;font-family:var(--font-display);font-style:italic;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.6)}.person-book-name{font-size:14px;font-weight:800;color:#fff;font-family:var(--font-jp);line-height:1.3;letter-spacing:.05em;margin-bottom:3px;text-shadow:0 2px 6px rgba(0,0,0,.7)}.person-book-meta{font-size:9px;color:#e5dcc4;line-height:1.3;letter-spacing:.03em;text-shadow:0 1px 3px rgba(0,0,0,.6);opacity:.88}.person-book .cover-bookmark{position:absolute;top:-2px;right:14px;z-index:5}.person-book-follow{position:absolute;top:8px;right:8px;padding:4px 10px;border-radius:14px;border:1px solid var(--gold);background:#fffdf7eb;color:var(--wine-dark);font-family:var(--font-jp);font-size:10.5px;font-weight:700;letter-spacing:.03em;cursor:pointer;z-index:10;box-shadow:0 2px 6px #00000040;transition:all .15s;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);white-space:nowrap}.person-book-follow:hover{background:#fff6e0;transform:translateY(-1px)}.person-book-follow.active{background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border-color:var(--gold)}.person-book-follow.active:hover{background:var(--wine-dark)}@media(max-width:400px){.person-book-follow{font-size:9.5px;padding:3px 8px;top:6px;right:6px}}.book-cover-card{aspect-ratio:2 / 2.9;border-radius:3px 6px 6px 3px;overflow:hidden;position:relative;cursor:pointer;border:none;background-color:#2a2018;display:flex;flex-direction:column;box-shadow:inset 0 0 0 1px #00000040,6px 8px 18px #0000004d,2px 2px 5px #00000026;transition:transform .2s cubic-bezier(.22,1,.36,1)}.book-cover-card:not(.tag-cover):not(.no-photo){background-color:#2c4363;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(-45deg,rgba(0,0,0,.04) 0px,rgba(0,0,0,.04) 1px,transparent 1px,transparent 3px),linear-gradient(135deg,#3d5a80,#2c4363);box-shadow:inset 0 0 0 1px #00000040,inset 2px 2px 6px #ffffff14,inset -2px -2px 6px #00000026,6px 8px 18px #0000004d,2px 2px 5px #00000026}.book-cover-card:not(.tag-cover):not(.no-photo):nth-child(3n+2){background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(-45deg,rgba(0,0,0,.04) 0px,rgba(0,0,0,.04) 1px,transparent 1px,transparent 3px),linear-gradient(135deg,#6d3340,#4d1f2a)}.book-cover-card:not(.tag-cover):not(.no-photo):nth-child(3n){background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(-45deg,rgba(0,0,0,.04) 0px,rgba(0,0,0,.04) 1px,transparent 1px,transparent 3px),linear-gradient(135deg,#4d5e3e,#2f3e2a)}.book-cover-card:active{transform:scale(.97)}.book-cover-card:before{display:none}.book-cover-card:after{display:none}.cover-card-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.06) 20%,transparent 40%),linear-gradient(180deg,transparent 0%,transparent 45%,rgba(15,10,5,.5) 72%,rgba(15,10,5,.88) 100%);z-index:2;pointer-events:none}.cover-card-frame{position:absolute;inset:0;border:1px solid rgba(0,0,0,.45);box-shadow:inset 0 0 0 1px #ffffff14,inset 1px 1px #ffffff1f,inset -1px -1px #00000026;z-index:4;pointer-events:none;border-radius:2px 6px 6px 2px}.cover-card-info{position:absolute;bottom:0;left:0;right:0;z-index:5;padding:8px 10px 10px}.cover-card-name-en{font-size:10px;color:#fff;opacity:.82;letter-spacing:.06em;font-family:var(--font-display);font-style:italic;font-weight:400;margin-bottom:4px;text-shadow:0 1px 4px rgba(0,0,0,.6)}.cover-card-name{font-size:15px;font-weight:800;color:#fff;letter-spacing:.08em;font-family:var(--font-jp);text-shadow:0 2px 10px rgba(0,0,0,.7);margin-bottom:8px;line-height:1.35}.cover-card-meta{font-size:9px;color:#fff;opacity:.8;letter-spacing:.02em;font-family:var(--font-en);font-weight:600;font-style:italic;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.book-cover-card.no-photo{display:flex;align-items:center;justify-content:center}.book-cover-card.no-photo .cover-card-overlay{background:none}.book-cover-card.tag-cover{display:flex;align-items:center;justify-content:center}.cover-card-tag-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:18px;z-index:3}.cover-tag-ornament{color:var(--gold-light);font-size:14px;opacity:.7}.cover-card-count{font-size:11px;color:var(--gold-light);opacity:.7;letter-spacing:.1em}.tag-cover .cover-card-name{font-size:17px;letter-spacing:.15em}.tag-featured-cover{position:relative;height:130px;border-radius:2px;overflow:hidden;cursor:pointer;margin-bottom:14px;box-shadow:6px 6px 16px #0006,2px 2px 4px #0003;transition:transform .2s}.tag-featured-cover:active{transform:scale(.98)}.tag-featured-cover:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:linear-gradient(90deg,rgba(0,0,0,.5) 0%,transparent 100%);z-index:4;pointer-events:none}.tag-featured-cover .cover-card-frame{inset:6px}.tfc-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px 24px;z-index:3}.tfc-ornament{color:var(--gold-light);font-size:14px;opacity:.65;margin-bottom:6px}.tfc-name{font-size:22px;font-weight:800;color:#fff;letter-spacing:.2em;font-family:var(--font-jp);text-shadow:0 2px 8px rgba(0,0,0,.6);margin-bottom:6px}.tfc-desc{font-size:11px;color:#f0e4c9;opacity:.85;line-height:1.6;letter-spacing:.06em;font-family:var(--font-jp);margin-bottom:4px}.tfc-count{font-size:10px;color:var(--gold-light);opacity:.75;letter-spacing:.15em;font-family:var(--font-en);font-style:italic}.shelf-face-cover{flex:2 0 90px;max-width:130px;height:155px;border-radius:2px;overflow:hidden;position:relative;cursor:pointer;border:1px solid rgba(0,0,0,.5);box-shadow:inset 0 0 0 1px #d4b05533,2px 2px 6px #0000004d;transition:transform .2s;display:flex;align-items:center;justify-content:center}.shelf-face-cover:active{transform:translateY(-10px)}.sfc-frame{position:absolute;inset:6px;border:1px solid rgba(212,176,85,.45);pointer-events:none;z-index:2}.sfc-content{position:relative;z-index:3;text-align:center;padding:8px;display:flex;flex-direction:column;align-items:center;gap:6px}.sfc-ornament{color:var(--gold-light);font-size:12px;opacity:.6}.sfc-name{font-size:16px;font-weight:800;color:#fff;letter-spacing:.15em;font-family:var(--font-jp);text-shadow:0 2px 6px rgba(0,0,0,.5);line-height:1.35}.sfc-count{font-size:10px;color:var(--gold-light);opacity:.8;font-family:var(--font-en);font-style:italic;letter-spacing:.1em}.cover-bookmark{position:absolute;top:-2px;right:14px;width:14px;height:26px;background:var(--gold);border-left:1px solid rgba(0,0,0,.3);border-right:1px solid rgba(0,0,0,.3);box-shadow:0 2px 4px #0006;z-index:8}.cover-bookmark:after{content:"";position:absolute;bottom:-7px;left:0;width:0;height:0;border-left:7px solid var(--gold);border-right:7px solid var(--gold);border-bottom:7px solid transparent}.people-list{display:flex;flex-direction:column;gap:11px}.person-card{background-color:var(--paper-card);background:#fff;border:1px solid var(--rule);border-left:3px solid var(--wine);border-radius:3px;padding:14px;cursor:pointer;transition:transform .15s,box-shadow .15s;display:flex;gap:14px;align-items:flex-start;box-shadow:inset 0 0 0 1px #fffdf780,0 2px 6px #00000014;position:relative}.person-card:active{transform:translateY(1px);box-shadow:inset 0 0 0 1px #fffdf780,0 1px 3px #0000000f}.person-avatar{width:80px;height:80px;border-radius:3px;background:linear-gradient(135deg,var(--paper-warm),var(--rule));display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--wine);flex-shrink:0;border:1px solid var(--gold);overflow:hidden;background-size:cover;background-position:center top;font-family:var(--font-jp);box-shadow:0 1px 3px #00000026}.person-avatar.has-image{background-color:transparent}.person-body{flex:1;min-width:0;padding-right:28px}.person-name{font-size:16px;font-weight:700;margin-bottom:4px;color:var(--ink);font-family:var(--font-jp);letter-spacing:.03em}.person-meta{font-size:11px;color:var(--ink-3);margin-bottom:8px;letter-spacing:.05em}.person-summary{font-size:13px;color:var(--ink-2);line-height:1.75;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tags-list{display:block}.tag-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 10px;min-height:72px;border-radius:4px;font-size:14px;cursor:pointer;background:var(--paper-card);border:1px solid var(--wine);color:var(--wine);transition:transform .1s,background .15s,color .15s;font-family:var(--font-jp);font-weight:700;letter-spacing:.08em;box-shadow:0 1px 3px #00000014;text-align:center}.tag-chip:active{transform:scale(.97);background:var(--wine);color:var(--gold-light)}.tag-count{font-size:10px;color:var(--ink-3);font-weight:400;letter-spacing:.05em}.tag-chip:active .tag-count{color:var(--gold-light)}.profile-cover{height:180px;background-size:cover;background-position:center 20%;position:relative;margin:-16px -18px 0;max-width:none;width:auto;border-radius:0;overflow:hidden}.profile-cover:not(.profile-cover-typo):after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000001a,#00000080)}.profile-cover-typo{background:linear-gradient(180deg,#5c1f2a,#4a1822);display:flex;align-items:center;justify-content:center;padding:20px}.profile-cover-typo:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(184,149,46,.04) 0px,rgba(184,149,46,.04) 1px,transparent 1px,transparent 40px),repeating-linear-gradient(-45deg,rgba(184,149,46,.04) 0px,rgba(184,149,46,.04) 1px,transparent 1px,transparent 40px);pointer-events:none}.profile-cover-frame{position:relative;text-align:center;color:var(--gold-light);padding:20px 30px 26px;border-top:1px solid rgba(184,149,46,.35);border-bottom:1px solid rgba(184,149,46,.35);max-width:90%}.profile-cover-orn-top,.profile-cover-orn-bot{position:absolute;left:50%;transform:translate(-50%);font-size:10px;color:#b8952eb3;letter-spacing:.4em;padding:0 10px;font-family:var(--font-en)}.profile-cover-orn-top{top:-7px;background:#5c1f2a}.profile-cover-orn-bot{bottom:-7px;background:#4a1822}.profile-cover-name{font-family:var(--font-jp);font-size:32px;font-weight:800;letter-spacing:.2em;color:var(--gold-light);text-shadow:0 2px 4px rgba(0,0,0,.6),0 0 20px rgba(184,149,46,.2);line-height:1.2;padding:8px 0 4px}.profile-cover-name-en{font-family:var(--font-en);font-style:italic;font-size:13px;letter-spacing:.12em;color:#f5deb3b3;margin-top:2px}.profile-cover-dates{font-family:var(--font-jp);font-size:11px;color:#f5deb3b3;letter-spacing:.08em;margin-top:6px;white-space:nowrap}@media(min-width:900px){.profile-cover-name{font-size:44px;letter-spacing:.25em}.profile-cover-name-en{font-size:16px}.profile-cover-dates{font-size:13px}.profile-cover-frame{padding:18px 48px}}@media(max-width:520px){.profile-cover{height:auto!important;min-height:160px}.profile-cover-typo{padding:22px 16px 26px}.profile-cover-frame{padding:10px 18px;max-width:100%}.profile-cover-orn-top,.profile-cover-orn-bot{font-size:8px;letter-spacing:.3em;padding:0 8px}.profile-cover-name{font-size:22px;letter-spacing:.12em;padding:2px 0;line-height:1.3}.profile-cover-name-en{font-size:10px;letter-spacing:.08em}.profile-cover-dates{font-size:9px;letter-spacing:.15em;margin-top:3px}}@media(max-width:360px){.profile-cover-name{font-size:18px}}.profile-cover-caption{position:absolute;left:14px;bottom:10px;z-index:2;color:#fff;background:#00000073;backdrop-filter:blur(4px);padding:4px 12px;border-radius:14px;font-size:11px;font-family:var(--font-jp);letter-spacing:.05em;text-shadow:0 1px 2px rgba(0,0,0,.5);max-width:calc(100% - 28px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-header{position:relative;padding:0 4px 12px;margin-bottom:0}.profile-avatar{width:80px;height:80px;border-radius:50%;background-size:cover;background-position:center top;background-color:var(--paper-warm);border:3px solid var(--paper);box-shadow:0 2px 8px #0003;margin-top:-40px;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--wine);font-family:var(--font-jp)}.profile-names{margin-top:8px}.profile-name{font-size:20px;font-weight:800;color:var(--ink);font-family:var(--font-jp);letter-spacing:.05em}.profile-handle{font-size:13px;color:var(--ink-4);font-family:var(--font-en);font-style:italic}.profile-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:12px;color:var(--ink-3);font-family:var(--font-jp)}.profile-meta span:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--ink-4);margin-right:4px;vertical-align:middle}.profile-bio{font-size:13px;line-height:1.8;color:var(--ink-2);margin:10px 0;font-family:var(--font-jp)}.profile-stats{display:flex;gap:16px;padding:10px 0;border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft);margin-bottom:12px}.profile-stat{font-size:12px;color:var(--ink-3);font-family:var(--font-jp)}.profile-stat strong{font-size:15px;color:var(--ink);font-weight:700;margin-right:2px}.profile-tabs-wrap{position:sticky;top:0;z-index:30;background:#faf6edf7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding-top:4px;padding-bottom:0;box-shadow:0 2px 8px #0000000f}.profile-tabs-wrap:after{content:"\203a";position:absolute;right:0;top:0;bottom:1px;width:36px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:20px;font-weight:700;color:var(--wine);background:linear-gradient(to right,rgba(250,245,230,0) 0%,var(--paper, #faf5e6) 60%);pointer-events:none;opacity:1;transition:opacity .2s;animation:profile-tabs-hint 2s ease-in-out infinite}.profile-tabs-wrap.scrolled-end:after{opacity:0;animation:none}.profile-tabs-wrap.no-scroll:after{display:none}@keyframes profile-tabs-hint{0%,to{transform:translate(0)}50%{transform:translate(4px)}}.profile-tabs{display:flex;border-bottom:1px solid var(--rule-soft);margin-bottom:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.profile-tabs::-webkit-scrollbar{display:none}.profile-tab{flex:0 0 auto;padding:10px 14px;text-align:center;font-size:13px;font-family:var(--font-jp);font-weight:600;color:var(--ink-3);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap;outline:none}.profile-tab:focus{outline:none}.profile-tab:focus-visible{outline:2px solid var(--gold);outline-offset:-2px;border-radius:3px}.profile-tab.active{color:var(--wine);border-bottom-color:var(--wine)}.profile-tab-content{display:none;padding-top:12px}.profile-tab-content.active{display:block}.profile-feed{background:#8caab5;border-radius:8px;padding:10px 8px}.person-header,.person-summary-full{display:none}.section-heading{font-size:13px;color:var(--wine);font-weight:700;letter-spacing:.3em;margin:26px 0 14px;padding-bottom:8px;border-bottom:2px solid var(--wine);position:relative;font-family:var(--font-jp)}.section-heading:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--gold)}.quotes-section{margin-bottom:10px}.quote{position:relative}.quote .fav-btn{position:absolute;top:8px;right:8px;font-size:18px;z-index:2}.quote{background:#fff;border:1px solid var(--rule);border-left:4px solid var(--wine);padding:18px 18px 14px;margin-bottom:14px;border-radius:2px;position:relative;box-shadow:inset 0 0 0 1px #b8952e4d,0 1px 4px #00000014}.quote:before{content:"\201d";position:absolute;top:-8px;left:10px;font-size:56px;color:var(--wine);opacity:.3;font-family:var(--font-display);font-weight:900;line-height:1}.quote-text{font-size:16px;line-height:1.95;color:var(--ink);font-family:var(--font-jp);padding-left:26px;margin-bottom:10px;letter-spacing:.03em}.quote-source{font-size:11px;color:var(--ink-3);text-align:right;letter-spacing:.05em;font-style:italic}.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--gold) 0%,var(--rule) 100%)}.event{position:relative;margin-bottom:24px}.event:before{content:"";position:absolute;left:-26px;top:8px;width:10px;height:10px;border-radius:50%;background:var(--wine);box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--gold)}.event-year{font-size:11px;color:var(--wine);margin-bottom:5px;letter-spacing:.1em;font-weight:700}.event-title{font-size:16px;font-weight:700;line-height:1.6;margin-bottom:8px;color:var(--ink);font-family:var(--font-jp);padding-right:32px}.event-detail{font-size:14px;color:var(--ink-2);line-height:1.9;margin-bottom:10px;font-family:var(--font-jp)}.event-tags{display:flex;flex-wrap:wrap;gap:5px}.event-tag{font-size:10px;padding:3px 10px;border-radius:10px;background:var(--paper-card);color:var(--wine);border:1px solid var(--wine);cursor:pointer;font-weight:600;letter-spacing:.05em}.line-chat{display:flex;flex-direction:column;gap:6px;background:#8caab5;border-radius:8px;padding:12px 10px}.line-date{text-align:center;font-size:11px;color:#fff;background:#00000026;border-radius:16px;padding:4px 12px;margin:8px auto;font-family:var(--font-en);width:fit-content}.line-msg{display:flex;align-items:flex-start;gap:8px;max-width:85%}.line-msg-avatar{cursor:pointer}.line-msg-avatar{width:38px;height:38px;border-radius:6px;background-size:cover;background-position:center top;background-color:var(--paper-warm);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--wine);font-family:var(--font-jp);border:1px solid rgba(255,255,255,.3)}.line-msg-content{display:flex;flex-direction:column;gap:2px;min-width:0}.line-msg-name{font-size:11px;color:#fff;font-family:var(--font-jp);font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2);padding-left:4px}.line-bubble{position:relative;background:#fff;border-radius:0 16px 16px;padding:10px 14px;font-size:13px;color:#333;font-family:var(--font-jp);line-height:1.75;box-shadow:0 1px 2px #00000014;word-break:break-word}.line-bubble:before{content:"";position:absolute;top:0;left:-8px;border-width:0 8px 8px 0;border-style:solid;border-color:transparent #fff transparent transparent}.line-bubble-title{font-weight:700;font-size:13px;margin-bottom:4px;color:#1a1a1a}.line-bubble-quote{font-size:14px;font-weight:600;color:#1a1a1a;letter-spacing:.03em;line-height:1.9}.line-bubble-source{font-size:10px;color:#999;font-family:var(--font-en);font-style:italic;text-align:right;margin-top:4px}.line-bubble-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.line-bubble-tags .event-tag{font-size:10px;padding:2px 8px;border-radius:10px;background:#7a2e3a14;color:var(--wine);cursor:pointer}.line-msg-meta{display:flex;align-items:flex-end;gap:4px;align-self:flex-end;flex-shrink:0;padding-bottom:2px}.line-msg-time{font-size:10px;color:#ffffffb3;font-family:var(--font-en);white-space:nowrap}.line-comment-btn{background:none;border:none;font-size:14px;cursor:pointer;color:#fff9;padding:2px;transition:color .2s}.line-comment-btn:hover{color:#fff}.line-comment-btn.has-comments{color:#ffe066}.line-msg-right{display:flex;justify-content:flex-end;gap:8px;max-width:85%;margin-left:auto}.line-bubble-green{position:relative;background:#8de86d;border-radius:16px 0 16px 16px;padding:10px 14px;font-size:13px;color:#1a1a1a;font-family:var(--font-jp);line-height:1.75;box-shadow:0 1px 2px #00000014;word-break:break-word}.line-bubble-green:before{content:"";position:absolute;top:0;right:-8px;border-width:0 0 8px 8px;border-style:solid;border-color:transparent transparent transparent #8de86d}.line-comment-time{font-size:10px;color:#ffffffb3;font-family:var(--font-en);align-self:flex-end;flex-shrink:0;padding-bottom:2px}.line-comment-input-area{display:none;padding:0 10px 0 54px;margin-top:4px}.line-comment-input-area.open{display:flex;gap:6px}.line-comment-input{flex:1;border:none;border-radius:20px;padding:8px 14px;font-size:13px;font-family:var(--font-jp);background:#fff;outline:none}.line-comment-send{background:#8de86d;border:none;border-radius:50%;width:34px;height:34px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.line-comment-send:active{background:#6bc74e}.routine-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.routine-legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);font-family:var(--font-jp);padding:4px 10px;background:#fffdf6;border:1px solid var(--rule);border-radius:14px}.routine-legend-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.routine-legend-label{font-size:12px}.routine-legend-del{background:none;border:none;color:var(--ink-4);font-size:14px;cursor:pointer;padding:0 2px;line-height:1}.routine-legend-del:hover{color:#e0245e}.routine-legend-add{padding:4px 10px;background:transparent;border:1px dashed var(--wine);border-radius:14px;font-size:12px;color:var(--wine);cursor:pointer;font-family:var(--font-jp)}.routine-legend-add:hover{background:var(--wine);color:#fff}.ad-slot{display:block;text-decoration:none;color:inherit;border:2px dashed var(--gold);border-radius:10px;padding:16px 18px;background:repeating-linear-gradient(45deg,rgba(184,149,46,.03) 0px,rgba(184,149,46,.03) 10px,transparent 10px,transparent 20px),#fffdf6;transition:all .2s;cursor:pointer}.ad-slot:hover{border-color:var(--wine);background:repeating-linear-gradient(45deg,rgba(122,46,58,.04) 0px,rgba(122,46,58,.04) 10px,transparent 10px,transparent 20px),#fff8e8;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.ad-slot-inner{display:flex;align-items:flex-start;gap:14px}.ad-slot-badge{flex-shrink:0;background:var(--gold);color:#fff;font-size:10px;font-weight:900;letter-spacing:.1em;padding:4px 10px;border-radius:4px;font-family:var(--font-en)}.ad-slot-main{flex:1;min-width:0}.ad-slot-title{font-family:var(--font-jp);font-weight:700;font-size:16px;color:var(--wine);margin-bottom:4px;letter-spacing:.05em}.ad-slot-sub{font-size:12px;color:var(--ink-3);font-family:var(--font-jp);line-height:1.6;margin-bottom:8px}.ad-slot-cta{display:inline-block;font-size:11px;color:var(--wine);font-family:var(--font-jp);text-decoration:none;font-weight:600}.happenings-intro{color:var(--ink-3);font-size:12px;margin:10px 0 14px;text-align:center;font-family:var(--font-jp)}.happenings-list{display:flex;flex-direction:column;gap:12px}.happening-card{background:#fffdf6;border:1px solid var(--rule);border-left:4px solid var(--wine);border-radius:6px;padding:14px 16px;box-shadow:0 2px 4px #0000000a}.happening-type{font-size:10px;color:var(--wine);letter-spacing:.08em;font-weight:700;margin-bottom:4px;font-family:var(--font-jp)}.happening-title{font-family:var(--font-jp);font-weight:700;font-size:15px;color:var(--ink);margin-bottom:6px}.happening-venue,.happening-period{font-size:12px;color:var(--ink-3);font-family:var(--font-jp);margin-bottom:2px}.happening-desc{font-size:12px;color:var(--ink-2);font-family:var(--font-jp);line-height:1.6;margin-top:6px}.happening-links{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.happening-btn{display:inline-block;padding:5px 12px;font-size:11px;background:#fff;border:1px solid var(--rule);border-radius:12px;text-decoration:none;color:var(--ink-2);font-family:var(--font-jp);white-space:nowrap}.happening-btn-main{background:var(--wine);color:#fff;border-color:var(--wine);font-weight:600}.happening-btn:hover{background:#fffdf6}.happening-btn-main:hover{background:var(--wine-dark);color:#fff}.happenings-empty{text-align:center;padding:30px 20px;background:#fffdf6;border:1px dashed var(--rule);border-radius:8px}.happenings-empty-icon{font-size:42px;margin-bottom:8px}.happenings-empty-title{font-family:var(--font-jp);font-weight:700;color:var(--ink);margin-bottom:8px;font-size:14px}.happenings-empty-text{font-size:12px;color:var(--ink-3);font-family:var(--font-jp);line-height:1.7;margin-bottom:14px}.happenings-empty-links{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}.happenings-ad-slot{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:#fff;border:2px dashed var(--gold);border-radius:8px;text-align:left;margin-top:16px}.routine-edit-btn-row{display:flex;gap:8px;margin:10px 0}.routine-edit-btn-row .routine-edit-add{flex:1;margin:0}.routine-edit-addcat{background:transparent!important;color:var(--gold)!important;border:1px dashed var(--gold)!important}.routine-edit-addcat:hover{background:var(--gold)!important;color:#fff!important}.account-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:#ffffff14;border:1px solid var(--gold);border-radius:14px;color:var(--gold-light);font-size:11px;font-family:var(--font-jp);cursor:pointer;transition:all .15s;margin-left:8px}.account-badge:hover{background:var(--gold);color:#fff}.account-badge.logged-in{background:var(--gold);color:#fff;border-color:var(--gold)}.acc-icon{font-size:13px}.acc-dot{width:7px;height:7px;border-radius:50%;background:#3fd18c;display:inline-block;box-shadow:0 0 4px #3fd18c}.acc-avatar{width:22px;height:22px;border-radius:50%;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#fff8ee;border:1.5px solid var(--gold);display:inline-block;vertical-align:middle;flex-shrink:0}.acc-name{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-modal{position:fixed;inset:0;z-index:10000;opacity:0;transition:opacity .2s;pointer-events:none}.auth-modal.open{opacity:1;pointer-events:auto}.auth-modal-backdrop{position:absolute;inset:0;background:#140f0a8c;backdrop-filter:blur(3px)}.auth-modal-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);transition:transform .2s;width:min(92vw,420px);max-height:92vh;overflow-y:auto;background:var(--paper);border-radius:12px;box-shadow:0 20px 60px #0006;padding:28px 28px 24px}.auth-modal.open .auth-modal-panel{transform:translate(-50%,-50%) scale(1)}.auth-modal-close{position:absolute;top:10px;right:14px;width:32px;height:32px;border:none;background:transparent;font-size:22px;color:var(--ink-3);cursor:pointer;line-height:1}.auth-head{text-align:center;margin-bottom:18px}.auth-title{font-family:var(--font-jp);font-weight:700;font-size:20px;color:var(--wine);letter-spacing:.1em;margin-bottom:6px}.auth-sub{font-size:12px;color:var(--ink-3);font-family:var(--font-jp);line-height:1.6}.auth-tabs{display:flex;gap:4px;border-bottom:1px solid var(--rule-soft);margin-bottom:18px}.auth-tab{flex:1;padding:10px 0;background:none;border:none;font-family:var(--font-jp);font-size:13px;color:var(--ink-3);cursor:pointer;font-weight:600;border-bottom:2px solid transparent;transition:all .15s}.auth-tab.active{color:var(--wine);border-bottom-color:var(--wine)}.auth-label{display:block;font-size:12px;color:var(--ink-3);font-family:var(--font-jp);margin-bottom:14px}.auth-label input{display:block;width:100%;padding:10px 12px;margin-top:5px;border:1px solid var(--rule);border-radius:8px;font-size:14px;font-family:var(--font-jp);box-sizing:border-box;outline:none}.auth-label input:focus{border-color:var(--wine)}.auth-submit{width:100%;padding:12px;background:var(--wine);color:#fff;border:none;border-radius:8px;font-size:14px;font-family:var(--font-jp);font-weight:700;cursor:pointer;letter-spacing:.1em}.auth-submit:hover{background:var(--wine-dark)}.auth-divider{display:flex;align-items:center;margin:16px 0;color:var(--ink-4);font-size:11px;font-family:var(--font-jp)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--rule)}.auth-divider span{padding:0 12px}.auth-google{width:100%;padding:11px;background:#fff;border:1px solid var(--rule);border-radius:8px;font-size:13px;font-family:var(--font-jp);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--ink)}.auth-google:hover{background:#fffdf6;border-color:var(--wine)}.auth-google-icon{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#4285f4,#ea4335 40%,#fbbc05 70%,#34a853);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-family:var(--font-en);font-size:12px}.auth-error{color:#c4302b;font-size:12px;font-family:var(--font-jp);margin-top:10px;text-align:center}.auth-footnote{font-size:10px;color:var(--ink-4);font-family:var(--font-jp);text-align:center;margin-top:14px;line-height:1.6}.auth-menu{display:flex;flex-direction:column;gap:8px;margin-top:8px}.auth-menu-btn{padding:12px;background:#fff;border:1px solid var(--rule);border-radius:8px;font-family:var(--font-jp);font-size:13px;cursor:pointer;color:var(--ink)}.auth-menu-btn:hover{background:#fffdf6}.auth-menu-danger{color:#c4302b;border-color:#c4302b}.auth-menu-danger:hover{background:#c4302b;color:#fff}.login-notice{display:flex;align-items:center;gap:12px;margin:12px 16px 0;padding:12px 14px;background:linear-gradient(135deg,#fff8e1,#ffe8b3);border:1px solid var(--gold);border-radius:10px;box-shadow:0 2px 8px #b8952e33;position:relative}.login-notice-icon{font-size:28px;flex-shrink:0}.login-notice-text{flex:1;min-width:0}.login-notice-title{font-family:var(--font-jp);font-weight:700;font-size:13px;color:var(--wine);margin-bottom:3px}.login-notice-sub{font-family:var(--font-jp);font-size:11px;color:var(--ink-2);line-height:1.6}.login-notice-btn{padding:8px 14px;background:var(--wine);color:#fff;border:none;border-radius:14px;font-family:var(--font-jp);font-size:11px;font-weight:700;cursor:pointer;flex-shrink:0}.login-notice-btn:hover{background:var(--wine-dark)}.login-notice-close{position:absolute;top:4px;right:6px;background:none;border:none;color:var(--ink-4);font-size:16px;cursor:pointer;line-height:1}@media(max-width:520px){.login-notice{flex-wrap:wrap;padding:10px 12px 12px}.login-notice-text{flex-basis:calc(100% - 40px)}.login-notice-btn{width:100%;padding:10px;font-size:12px;margin-top:6px}}.ai-consult-card{display:flex;align-items:center;gap:14px;width:100%;padding:18px 22px;background:linear-gradient(135deg,#4a1822,#7a2e3a 60%,#b8952e 180%);border:none;border-radius:12px;color:var(--gold-light);cursor:pointer;text-align:left;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 14px #7a2e3a4d;font-family:var(--font-jp)}.ai-consult-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #7a2e3a66}.ai-consult-icon{font-size:32px;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.ai-consult-texts{flex:1;min-width:0}.ai-consult-title{font-family:var(--font-jp);font-weight:700;font-size:15px;letter-spacing:.08em;color:var(--gold-light);margin-bottom:3px}.ai-consult-sub{font-size:11px;color:#fff0c8d9;letter-spacing:.05em}.ai-consult-arrow{font-size:22px;color:var(--gold-light);flex-shrink:0}.ai-panel{max-width:520px}.ai-label-text{font-family:var(--font-jp);font-size:12px;font-weight:700;color:var(--wine);letter-spacing:.1em;display:block;margin-top:10px;margin-bottom:6px}.ai-panel textarea{width:100%;padding:12px;border:1px solid var(--rule);border-radius:8px;font-family:var(--font-jp);font-size:14px;resize:vertical;outline:none;box-sizing:border-box}.ai-panel textarea:focus{border-color:var(--wine)}.ai-cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.ai-cat-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--rule);border-radius:12px;font-size:11px;color:var(--ink-3);background:#fff;cursor:pointer;font-family:var(--font-jp)}.ai-cat-chip:has(input:checked){background:var(--wine);color:#fff;border-color:var(--wine)}.ai-cat-chip input{display:none}.ai-gate,.ai-content,.ai-result{margin-top:4px}.ai-gate-block{text-align:center;padding:24px 12px}.ai-gate-icon{font-size:42px;margin-bottom:10px}.ai-gate-title{font-family:var(--font-jp);font-weight:700;color:var(--ink);font-size:16px;margin-bottom:10px}.ai-gate-text{font-size:13px;color:var(--ink-3);line-height:1.8;font-family:var(--font-jp);margin-bottom:16px}.ai-loading{text-align:center;padding:40px 0;font-size:18px;color:var(--wine);font-family:var(--font-jp);letter-spacing:.3em}.ai-result-intro{font-size:13px;color:var(--ink-2);font-family:var(--font-jp);margin-bottom:8px;line-height:1.6}.ai-result-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.ai-result-tag{font-size:11px;padding:2px 8px;background:#fff3e6;color:var(--wine);border-radius:10px;font-family:var(--font-jp)}.ai-result-message{font-size:14px;font-family:var(--font-jp);color:var(--ink);font-weight:700;margin:10px 0 14px}.ai-result-list{display:flex;flex-direction:column;gap:10px}.ai-result-card{display:grid;grid-template-columns:60px 1fr;gap:12px;padding:12px;background:#fffdf6;border:1px solid var(--rule-soft);border-radius:10px}.ai-result-avatar{width:60px;height:60px;border-radius:50%;background:var(--wine);background-size:cover;background-position:center top;color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-jp);font-weight:700;font-size:22px}.ai-result-body{display:flex;flex-direction:column;gap:3px;min-width:0}.ai-result-name{font-family:var(--font-jp);font-weight:700;font-size:15px;color:var(--ink)}.ai-result-field{font-size:11px;color:var(--ink-3);font-family:var(--font-jp)}.ai-result-reason{font-size:12px;color:var(--ink-2);font-family:var(--font-jp);line-height:1.5;margin-top:3px}.ai-result-open{align-self:flex-start;margin-top:8px;padding:5px 12px;background:var(--wine);color:#fff;border:none;border-radius:12px;font-size:11px;font-family:var(--font-jp);cursor:pointer}.ai-result-open:hover{background:var(--wine-dark)}.ai-result-footnote{font-size:10px;color:var(--ink-4);font-family:var(--font-jp);margin-top:14px;text-align:center;line-height:1.7}.ai-result-empty{text-align:center;padding:24px 0;color:var(--ink-3);font-family:var(--font-jp);font-size:13px}.support-card{position:relative;display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;padding:22px 22px 20px;background:#faf6ec;border:2px solid var(--gold);border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff80,0 4px 20px #b8952e40;overflow:hidden}.support-hero-img{display:block;width:90%;max-width:520px;height:auto;max-height:260px;object-fit:contain;object-position:center;background:transparent;flex-basis:100%;margin-left:auto;margin-right:auto;margin-bottom:8px}@media(min-width:900px){.support-hero-img{max-height:320px}}.support-card:before{content:"";position:absolute;top:-30px;right:-30px;width:120px;height:120px;background:radial-gradient(circle,rgba(212,176,85,.35) 0%,transparent 70%);pointer-events:none}.support-card:after{content:none}.support-icon{font-size:40px;flex-shrink:0;line-height:1;filter:drop-shadow(0 2px 4px rgba(184,149,46,.4))}.support-texts{flex:1 1 100%;min-width:0;position:relative;z-index:1;text-align:center}.support-title{font-family:var(--font-jp);font-weight:800;font-size:16px;color:var(--wine-dark);margin-bottom:6px;letter-spacing:.05em;line-height:1.5}.support-title:before{content:""}.support-sub{font-size:12.5px;color:var(--ink-2);font-family:var(--font-jp);line-height:1.75;margin-bottom:14px}.support-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.support-btn{display:inline-flex;align-items:center;gap:4px;padding:10px 18px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:#fff;text-decoration:none;font-family:var(--font-jp);font-size:13px;font-weight:700;border-radius:22px;letter-spacing:.06em;box-shadow:0 3px 10px #7a2e3a59,inset 0 1px #ffffff26;border:1px solid var(--gold);transition:all .2s ease;position:relative;overflow:hidden}.support-btn:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transition:left .7s ease}.support-btn:hover{background:linear-gradient(135deg,var(--wine-dark) 0%,#3a1019 100%);transform:translateY(-2px);box-shadow:0 5px 14px #7a2e3a73,inset 0 1px #ffffff40}.support-btn:hover:after{left:100%}.support-btn-coffee{background:#fd0;color:#2a2a2a}.support-btn-coffee:hover{background:#ffc400;color:#2a2a2a}.support-btn-sub{background:transparent;color:var(--ink-3);border:1px solid var(--rule)}.support-btn-sub:hover{background:#fff;color:var(--wine);border-color:var(--wine)}.home-block-ad-top{margin-top:4px;margin-bottom:14px}.ad-slot-compact{padding:10px 14px}.ad-slot-compact .ad-slot-title{font-size:13px;margin-bottom:2px}.ad-slot-compact .ad-slot-sub{font-size:11px;margin-bottom:0}.mood-ai-more{display:flex;align-items:center;gap:14px;width:100%;padding:18px 22px;margin-top:18px;background:#fffdf6;color:var(--ink);border:2px solid var(--wine);border-radius:12px;cursor:pointer;font-family:var(--font-jp);text-align:left;transition:all .18s;position:relative;box-shadow:0 3px 10px #00000014}.mood-ai-more:before{content:"NEW";position:absolute;top:-10px;right:16px;background:var(--gold);color:#fff;font-family:var(--font-en);font-size:10px;font-weight:900;padding:3px 10px;border-radius:10px;letter-spacing:.1em;box-shadow:0 2px 4px #00000026}.mood-ai-more:hover{background:var(--wine);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #7a2e3a4d}.mood-ai-more:hover .mood-ai-title,.mood-ai-more:hover .mood-ai-arrow{color:#fff}.mood-ai-more:hover .mood-ai-sub{color:#fff0dcd9}.mood-ai-icon{font-size:32px;flex-shrink:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.1))}.mood-ai-texts{flex:1;display:flex;flex-direction:column;min-width:0}.mood-ai-title{font-size:15px;font-weight:700;letter-spacing:.05em;color:var(--wine);line-height:1.4;margin-bottom:4px}.mood-ai-sub{font-size:11px;color:var(--ink-3);line-height:1.5}.mood-ai-arrow{font-size:20px;color:var(--wine);flex-shrink:0;font-weight:700}.search-section-desc{color:var(--ink-3);font-size:12px;margin:4px 0 14px;line-height:1.7;font-family:var(--font-jp);padding:0 4px}.routine-card{position:relative;background:var(--paper-card);border:1px solid #c4b68a;border-radius:8px;padding:16px;margin-bottom:18px;box-shadow:0 2px 6px #0000001f,0 4px 12px #00000014;cursor:pointer;transition:box-shadow .15s,transform .15s}.routine-card:active{transform:translateY(1px);box-shadow:0 1px 3px #0000001f,0 2px 6px #00000014}.routine-card .fav-btn{position:absolute;top:10px;right:12px;font-size:20px;z-index:2}.routine-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.routine-avatar{width:40px;height:40px;border-radius:50%;background-size:cover;background-position:center top;background-color:var(--paper-warm);border:2px solid var(--wine);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--wine);font-family:var(--font-jp);flex-shrink:0}.routine-card-info{flex:1}.routine-person-name{font-size:16px;color:var(--ink);font-family:var(--font-jp);font-weight:700;margin-bottom:2px}.routine-person-sub{font-size:13px;color:var(--ink-3);font-family:var(--font-jp)}.routine-bar{display:flex;height:18px;border-radius:9px;overflow:hidden;margin-bottom:10px}.routine-bar-seg{height:100%;position:relative}.routine-bar-seg-label{display:none}.routine-collapsible{margin:20px 0;border:1px solid var(--rule);border-radius:6px;background:#fff;overflow:hidden;transition:box-shadow .2s}.routine-collapsible[open]{box-shadow:0 4px 12px #00000014}.routine-summary{list-style:none;padding:14px 16px;cursor:pointer;display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#b8952e14,#7a2e3a0a);user-select:none;transition:background .15s}.routine-summary::-webkit-details-marker{display:none}.routine-summary:hover{background:linear-gradient(90deg,#b8952e26,#7a2e3a14)}.section-heading-inline{font-size:14px;font-weight:800;color:var(--wine);font-family:var(--font-jp);letter-spacing:.25em;flex:1}.routine-summary-hint{font-size:10px;color:var(--ink-4);font-family:var(--font-jp);font-style:italic}.routine-summary-arrow{color:var(--wine);font-size:16px;transition:transform .2s}.routine-collapsible[open] .routine-summary-arrow{transform:rotate(180deg)}.routine-collapsible[open] .routine-summary-hint{display:none}.routine-collapsible>.routine-story,.routine-collapsible>.routine-source,.routine-collapsible>.routine-bar,.routine-collapsible>.rcal-wrap{margin-left:16px;margin-right:16px}.routine-collapsible>.routine-bar{margin-top:16px}.routine-collapsible>.rcal-wrap{margin-bottom:16px}.rcal-wrap{margin-top:14px;max-height:520px;overflow-y:auto;border:1px solid var(--rule);border-radius:4px;background:#fffdf6;box-shadow:inset 0 0 0 1px #b8952e1a}.rcal{display:flex;position:relative;padding-top:10px;background:repeating-linear-gradient(180deg,transparent 0,transparent 43px,rgba(0,0,0,.06) 43px,rgba(0,0,0,.06) 44px);background-position:0 10px}.rcal-ruler{width:64px;flex-shrink:0;position:relative;border-right:1px solid var(--rule);background:#fffcf3}.rcal-hour-line{position:absolute;left:0;right:0;height:0;border-top:1px solid rgba(0,0,0,.08);pointer-events:none}.rcal-hour-label{position:absolute;top:-8px;right:8px;font-size:12px;font-weight:600;color:var(--ink-2);font-family:var(--font-en);background:#fffcf3;padding:1px 5px;letter-spacing:.03em;line-height:1}.rcal-events{flex:1;min-width:0;position:relative}.rcal-event{position:absolute;left:4px;right:8px;border-radius:3px;color:#fff;padding:4px 8px;font-family:var(--font-jp);overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff26,0 1px 3px #0003;transition:filter .15s;cursor:default}.rcal-event:hover{filter:brightness(1.08)}.rcal-event-time{font-size:11px;opacity:.95;font-family:var(--font-en);font-weight:700;letter-spacing:.04em;margin-bottom:3px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3)}.rcal-event-title{font-size:13px;font-weight:700;letter-spacing:.03em;line-height:1.3;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.3)}.rcal-event.rcal-event-compact{padding:3px 8px;display:flex;align-items:center;gap:8px}.rcal-event.rcal-event-compact .rcal-event-time{margin-bottom:0;font-size:10px;flex-shrink:0}.rcal-event.rcal-event-compact .rcal-event-title{font-size:12px}.routine-activities{display:flex;flex-direction:column;gap:0;margin-top:10px;padding-left:8px;position:relative}.routine-activities:before{content:"";position:absolute;left:12px;top:10px;bottom:10px;width:1px;background:var(--rule-soft)}.routine-act{display:grid;grid-template-columns:46px 14px 1fr;align-items:center;gap:10px;padding:8px 0;font-size:13px;color:var(--ink-2);font-family:var(--font-jp);line-height:1.6;border-bottom:1px dotted var(--rule-soft)}.routine-act>span:last-child{word-break:break-word}.routine-act:last-child{border-bottom:none}.routine-act-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--rule-soft);align-self:center;justify-self:center}.routine-act-time{font-family:var(--font-en);color:var(--wine);font-size:12px;font-weight:700;letter-spacing:0;text-align:right;white-space:nowrap}.routine-cat-sleep{background:#1e2a3a}.routine-cat-work{background:var(--wine)}.routine-cat-meal{background:var(--gold)}.routine-cat-exercise{background:#3d6b4b}.routine-cat-social{background:#3a5a8c}.routine-cat-rest{background:#a09080}.person-routine{margin:20px 0}.person-routine .routine-bar{height:32px;border-radius:6px}.person-routine .routine-bar-seg-label{font-size:9px}.routine-detail-list{margin-top:10px;display:flex;flex-direction:column;gap:4px}.routine-detail-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2);font-family:var(--font-jp)}.routine-detail-time{font-family:var(--font-en);color:var(--ink-3);font-size:11px;min-width:70px}.routine-detail-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.book-card{display:flex;gap:12px;background:var(--paper-card);border:1px solid var(--rule);border-radius:8px;padding:12px;margin-bottom:12px;box-shadow:0 1px 3px #0000000f}.book-card-cover{width:70px;height:100px;flex-shrink:0;border-radius:4px;background:#e8e0d0;background-size:cover;background-position:center;box-shadow:2px 2px 6px #00000026}.book-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.book-card-title{font-size:14px;font-weight:700;color:var(--ink);font-family:var(--font-jp);line-height:1.4}.book-card-author{font-size:11px;color:var(--ink-3);font-family:var(--font-jp)}.book-card-desc{font-size:12px;color:var(--ink-2);font-family:var(--font-jp);line-height:1.6;flex:1}.book-card-link{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:#f90;color:#fff;border:none;border-radius:4px;font-size:11px;font-weight:700;font-family:var(--font-jp);text-decoration:none;align-self:flex-start;transition:background .15s}.book-card-link:active{background:#e68a00}.home-books{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px 12px;padding:4px}@media(min-width:900px){.home-books{grid-template-columns:repeat(6,1fr);gap:16px 12px}}.home-book-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .15s}.home-book-card:active{transform:translateY(2px)}.home-book-cover{width:100%;aspect-ratio:2 / 2.9;background:linear-gradient(135deg,#fffdf6,#e8dcc8);border-radius:2px 5px 5px 2px;box-shadow:inset 0 0 0 1px #0003,4px 6px 14px #0000004d,2px 2px 4px #00000026;position:relative;overflow:hidden}.home-book-cover img{width:100%;height:100%;object-fit:cover;display:block}.home-book-fallback{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;padding:14px 10px;text-align:center;background:repeating-linear-gradient(45deg,rgba(122,46,58,.03) 0px,rgba(122,46,58,.03) 2px,transparent 2px,transparent 8px),linear-gradient(135deg,#fffdf6,#e8dcc8);border-top:4px solid var(--wine);border-bottom:4px solid var(--wine)}.home-book-cover.no-cover .home-book-fallback{display:flex}.home-book-fallback-ornament{font-size:18px;color:var(--gold);margin-bottom:8px}.home-book-fallback-title{font-family:var(--font-jp);font-weight:700;font-size:11px;color:var(--wine);line-height:1.4;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.home-book-fallback-author{font-family:var(--font-jp);font-size:9px;color:var(--ink-3);letter-spacing:.05em}.home-book-title{font-size:11px;font-weight:700;color:var(--ink);font-family:var(--font-jp);text-align:center;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-book-person{font-size:10px;color:var(--ink-4);font-family:var(--font-jp)}.home-book-stores{display:flex;gap:5px;margin-top:6px;justify-content:center}.home-book-store{flex:1;max-width:56px;text-align:center;font-size:10px;padding:4px 6px;border-radius:3px;text-decoration:none;font-weight:600;letter-spacing:.02em;border:1px solid transparent;transition:opacity .15s}.home-book-store:hover{opacity:.85}.home-book-store.home-book-amazon{background:#fff;color:var(--wine);border-color:var(--wine)}.home-book-store.home-book-rakuten{background:#bf0000;color:#fff}.theme-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.theme-tile{display:flex;gap:10px;padding:12px;background:linear-gradient(135deg,#fff,#fff5eb);border:1.5px solid var(--wine);border-radius:8px;cursor:pointer;text-align:left;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 5px #7a2e3a1a;position:relative;z-index:2;-webkit-appearance:none;appearance:none;font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:rgba(122,46,58,.2)}.theme-tile:active{transform:scale(.98)}.theme-tile>*{pointer-events:none}.theme-tiles{position:relative;z-index:2}.theme-tile:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7a2e3a33}.theme-tile-emoji{font-size:28px;flex-shrink:0;align-self:center;color:var(--wine)}.theme-tile-emoji .ij-icon{width:28px;height:28px;color:var(--wine)}.theme-tile-beginner .theme-tile-emoji,.theme-tile-beginner .theme-tile-emoji .ij-icon{color:#c1527a}.theme-tile-info{flex:1;min-width:0}.theme-tile-name{font-family:var(--font-jp);font-weight:800;font-size:14px;color:var(--wine);letter-spacing:.05em}.theme-tile-tag{font-size:10px;color:var(--ink-3);margin-top:2px;line-height:1.4;font-family:var(--font-jp)}.theme-tile-count{font-size:10px;color:var(--gold);margin-top:4px;font-weight:700;font-family:var(--font-en);letter-spacing:.05em}.theme-page-modal .era-page-hero-bg{background:linear-gradient(135deg,#8c1d2f,#c17a5a);opacity:.85}.theme-people-grid{display:flex;flex-direction:column;gap:10px;margin-top:10px}.theme-person-card{display:flex;gap:12px;align-items:center;padding:12px;background:#fff;border:1px solid rgba(122,46,58,.2);border-radius:6px;cursor:pointer;text-align:left;transition:all .15s;width:100%}.theme-person-card:hover{background:#fff5f0;border-color:var(--wine);transform:translate(3px)}.theme-person-av{width:56px;height:56px;border-radius:50%;background-size:cover;background-position:center top;background-color:#d9cdb4;border:2px solid var(--gold);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-jp);font-size:22px;color:var(--wine);font-weight:700}.theme-person-info{flex:1;min-width:0}.theme-person-name{font-family:var(--font-jp);font-weight:700;font-size:14px;color:var(--ink)}.theme-person-meta{font-size:10px;color:var(--ink-3);margin-top:2px;font-family:var(--font-en);font-style:italic}.theme-person-quote{font-size:11px;color:var(--ink-2);margin-top:5px;font-family:var(--font-jp);line-height:1.4;font-style:italic}.theme-person-go{font-size:18px;color:var(--wine);font-weight:700;flex-shrink:0}.theme-tile-beginner{background:linear-gradient(135deg,#fff5f8,#ffe6ef);border-color:#c1527a}.theme-tile-beginner .theme-tile-name,.theme-tile-beginner .theme-tile-count{color:#c1527a}.beginner-guide-modal .era-page-hero-bg{background:linear-gradient(135deg,#c1527a,#f0a1b8);opacity:.9}.beginner-route-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}.beginner-route{display:flex;gap:14px;align-items:flex-start;padding:14px;background:#fff;border:1.5px solid rgba(193,82,122,.3);border-radius:8px;cursor:pointer;text-align:left;transition:all .15s;width:100%}.beginner-route:hover{border-color:#c1527a;background:#fff5f8;transform:translate(3px)}.beginner-route-emoji{font-size:32px;flex-shrink:0}.beginner-route-body{flex:1;min-width:0}.beginner-route-title{font-family:var(--font-jp);font-weight:700;font-size:15px;color:#c1527a;margin-bottom:4px}.beginner-route-desc{font-family:var(--font-jp);font-size:12px;color:var(--ink-2);line-height:1.6}.beginner-book-list{font-family:var(--font-jp);font-size:13px;color:var(--ink);line-height:1.9;padding-left:20px}.beginner-book-list li{margin-bottom:4px}.beginner-book-list b{color:var(--wine)}.beginner-books{display:flex;flex-direction:column;gap:12px;margin-top:10px}.beginner-book{display:flex;gap:12px;padding:12px;background:#fff;border:1px solid rgba(193,82,122,.2);border-radius:8px;align-items:flex-start;transition:border-color .15s}.beginner-book:hover{border-color:#c1527a}.beginner-book-cover{position:relative;width:78px;aspect-ratio:2/2.9;flex-shrink:0;border-radius:2px 5px 5px 2px;overflow:hidden;box-shadow:2px 3px 8px #0003;background:linear-gradient(135deg,#fffdf6,#e8dcc8);display:block}.beginner-book-cover img{width:100%;height:100%;object-fit:cover;display:block}.beginner-book-fallback{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;padding:8px;text-align:center;background:linear-gradient(135deg,#fffdf6,#e8dcc8);border-top:3px solid var(--wine);border-bottom:3px solid var(--wine);color:var(--gold);font-size:14px}.beginner-book-cover.no-cover .beginner-book-fallback{display:flex}.beginner-book-fb-title{font-family:var(--font-jp);font-weight:700;font-size:10px;color:var(--wine);line-height:1.3;margin-top:4px}.beginner-book-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.beginner-book-title{font-family:var(--font-jp);font-weight:700;font-size:14px;color:var(--ink);line-height:1.35}.beginner-book-author{font-size:11px;color:var(--ink-3)}.beginner-book-desc{font-family:var(--font-jp);font-size:11px;color:var(--ink-2);line-height:1.55;margin-top:2px}.beginner-book-stores{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap}.beginner-book-store{font-size:11px;padding:5px 12px;border-radius:4px;text-decoration:none;font-weight:700;font-family:var(--font-jp);letter-spacing:.04em;transition:opacity .15s}.beginner-book-store.amz{background:#fff;color:var(--wine);border:1px solid var(--wine)}.beginner-book-store.rak{background:#bf0000;color:#fff}.beginner-book-store:hover{opacity:.85}.beginner-manga-stores{align-items:center;row-gap:6px}.beginner-manga-label{font-size:10px;color:var(--ink-3);font-weight:700;margin-right:2px}.beginner-manga-stores .beginner-book-store{padding:4px 10px;font-size:10.5px}.beginner-manga-stores .beginner-book-store+.beginner-manga-label{margin-left:8px}.travel-hero-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;background:linear-gradient(135deg,#fff,#fff5f0,#ffe6d6);border:2px solid #bf0000;border-radius:10px;box-shadow:0 4px 14px #bf00001f,inset 0 0 0 1px #fff9;text-decoration:none;margin:10px 0 14px;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}.travel-hero-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#bf0000,#ff8c5a,#bf0000);background-size:200% 100%;animation:heroShine 3.5s linear infinite}.travel-hero-banner:hover{transform:translateY(-1px);box-shadow:0 6px 22px #bf000033}.travel-hero-text{flex:1;min-width:0}.travel-hero-title{font-family:var(--font-jp);font-weight:800;font-size:15px;color:#bf0000;letter-spacing:.04em;margin-bottom:4px}.travel-hero-sub{font-family:var(--font-jp);font-size:11px;color:var(--ink-2);line-height:1.5}.travel-hero-img{display:block;flex-shrink:0;width:120px;height:60px;border-radius:4px}.travel-hero-cta{font-size:22px;color:#bf0000;flex-shrink:0;padding:4px 0 4px 8px;border-left:1px solid rgba(191,0,0,.25);font-weight:700}@media(max-width:420px){.travel-hero-banner{padding:12px 14px;gap:10px}.travel-hero-title{font-size:14px}.travel-hero-sub{font-size:10px}}.pilgrimage-list{font-family:var(--font-jp);font-size:12px;color:var(--ink);line-height:1.9;padding-left:18px;margin:6px 0 12px}.pilgrimage-list li{margin-bottom:4px}.pilgrimage-list b{color:var(--wine);margin-right:4px}.travel-intro{font-family:var(--font-jp);font-size:12px;color:var(--ink-3);margin:0 0 8px;line-height:1.6}.travel-hero-banner.jalan-banner{background:linear-gradient(135deg,#fff,#fff3ec,#ffe5d0);border-color:#ee7e1a}.travel-hero-banner.jalan-banner:before{background:linear-gradient(90deg,#ee7e1a,#ffc088,#ee7e1a);background-size:200% 100%}.travel-hero-banner.jalan-banner .travel-hero-title{color:#d66000}.travel-hero-banner.jalan-banner .travel-hero-cta{color:#ee7e1a;border-left-color:#ee7e1a40}.travel-hero-banner.tiktok-banner{background:linear-gradient(135deg,#0a0a0f,#15121f,#0a0a0f);border-color:#ff0050;color:#fff}.travel-hero-banner.tiktok-banner:before{background:linear-gradient(90deg,#ff0050,#00f2ea,#ff0050);background-size:200% 100%}.travel-hero-banner.tiktok-banner .travel-hero-title{color:#fff}.travel-hero-banner.tiktok-banner .travel-hero-sub{color:#ffffffbf}.travel-hero-banner.tiktok-banner .travel-hero-cta{color:#00f2ea;border-left-color:#00f2ea59;text-shadow:0 0 8px rgba(0,242,234,.6)}.travel-hero-banner.uranai-banner{background:linear-gradient(135deg,#1e1030,#2a1550,#1e1030);border-color:#c080ff;color:#fff}.travel-hero-banner.uranai-banner:before{background:linear-gradient(90deg,#c080ff,#ffd880,#c080ff);background-size:200% 100%}.travel-hero-banner.uranai-banner .travel-hero-title{color:#fff}.travel-hero-banner.uranai-banner .travel-hero-sub{color:#e6d2ffd9}.travel-hero-banner.uranai-banner .travel-hero-cta{color:#ffd880;border-left-color:#ffd88059;text-shadow:0 0 8px rgba(255,216,128,.6)}.travel-hero-banner.ottocast-banner{background:linear-gradient(135deg,#f0f4fa,#e2ebf8,#d4e2f4);border-color:#2a6bbd}.travel-hero-banner.ottocast-banner:before{background:linear-gradient(90deg,#2a6bbd,#7ba7de,#2a6bbd);background-size:200% 100%}.travel-hero-banner.ottocast-banner .travel-hero-title{color:#1e4c8a}.travel-hero-banner.ottocast-banner .travel-hero-cta{color:#2a6bbd;border-left-color:#2a6bbd40}.ottocast-store-row{display:flex;gap:8px;margin:8px 0 14px}.ottocast-store{flex:1;text-align:center;font-size:12px;font-weight:700;padding:8px 10px;border-radius:5px;text-decoration:none;font-family:var(--font-jp);letter-spacing:.03em;transition:opacity .15s}.ottocast-store:hover{opacity:.85}.ottocast-store.amz{background:#fff;color:var(--wine);border:1px solid var(--wine)}.ottocast-store.rak{background:#bf0000;color:#fff}.rekijo-goods-list{display:flex;flex-direction:column;gap:10px}.rekijo-good{display:flex;gap:12px;padding:12px;background:#fff;border:1px solid rgba(193,82,122,.22);border-radius:8px;transition:border-color .15s}.rekijo-good:hover{border-color:#c1527a}.rekijo-good-emoji{font-size:32px;flex-shrink:0;width:40px;text-align:center;line-height:1;padding-top:4px;color:var(--wine)}.rekijo-good-emoji .ij-icon{width:28px;height:28px;color:var(--wine)}.beginner-route-emoji{text-align:center;width:32px}.beginner-route-emoji .ij-icon{width:28px;height:28px;color:#c1527a}.travel-hero-title .ij-icon,.audible-hero-title .ij-icon{width:18px;height:18px;vertical-align:-.2em;margin-right:3px}.pilgrimage-list .ij-icon{width:14px;height:14px;vertical-align:-.15em;margin-right:2px;color:var(--wine)}.rekijo-good-body{flex:1;min-width:0}.rekijo-good-title{font-family:var(--font-jp);font-weight:800;font-size:14px;color:#c1527a;margin-bottom:4px}.rekijo-good-desc{font-family:var(--font-jp);font-size:11.5px;color:var(--ink-2);line-height:1.6;margin-bottom:6px}.rekijo-good-stores{display:flex;gap:6px;flex-wrap:wrap}.rekijo-good-store{font-size:10.5px;padding:5px 10px;border-radius:4px;text-decoration:none;font-weight:700;font-family:var(--font-jp);transition:opacity .15s}.rekijo-good-store:hover{opacity:.85}.rekijo-good-store.amz{background:#fff;color:var(--wine);border:1px solid var(--wine)}.rekijo-good-store.rak{background:#bf0000;color:#fff}.beginner-collapsible{cursor:pointer;border:1px solid rgba(193,82,122,.2);border-radius:8px;padding:0;margin:10px 0;background:#fff5f8;overflow:hidden}.beginner-collapsible>summary{list-style:none;padding:12px 14px;font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;color:#c1527a}.beginner-collapsible>summary::-webkit-details-marker{display:none}.beginner-coll-arrow{margin-left:auto;font-size:14px;transition:transform .2s;color:#c1527a}.beginner-collapsible[open] .beginner-coll-arrow{transform:rotate(180deg)}.beginner-collapsible[open]{background:#fff}.beginner-collapsible>*:not(summary){padding:0 14px 14px}.blog-posts-block{margin-bottom:20px}.blog-posts-head{margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--wine)}.blog-posts-title{font-family:var(--font-jp);font-size:18px;font-weight:800;color:var(--wine);margin:0 0 4px;letter-spacing:.03em}.blog-posts-sub{font-family:var(--font-jp);font-size:12px;color:var(--ink-3);margin:0}.blog-posts-grid{display:grid;gap:14px;grid-template-columns:1fr}@media(min-width:720px){.blog-posts-grid{grid-template-columns:1fr 1fr}}.blog-post-card{display:flex;flex-direction:column;gap:6px;padding:22px 18px 18px;border:none;border-radius:12px;color:#fff;cursor:pointer;text-align:left;font-family:inherit;box-shadow:0 4px 14px #00000026;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.blog-post-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #00000040}.blog-post-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#d4af37,#fff,#d4af37);background-size:200% 100%;animation:heroShine 4s linear infinite}.blog-post-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.15em;padding:3px 10px;background:#fff3;border-radius:3px;align-self:flex-start;color:#fff}.blog-post-emoji{font-size:32px;margin-top:2px}.blog-post-card-title{font-family:var(--font-jp);font-weight:800;font-size:15px;line-height:1.45;color:#fff}.blog-post-lead{font-family:var(--font-jp);font-size:11.5px;line-height:1.6;color:#ffffffe0;margin-top:2px}.blog-post-meta{font-family:var(--font-en);font-size:10px;color:#ffffffb3;margin-top:6px;letter-spacing:.05em}.blog-post-modal .era-page-hero{color:#fff;padding:32px 20px;border-radius:0}.blog-post-modal .era-page-hero-inner{color:#fff}.blog-post-modal .era-page-title{color:#fff!important}.blog-category-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;padding:4px 12px;background:#fff3;border-radius:4px;margin-bottom:10px;color:#fff}.blog-post-date{font-family:var(--font-en);font-size:11px;color:#fffc;margin-top:10px;letter-spacing:.06em}.blog-lead{font-family:var(--font-jp);font-size:14px;line-height:1.85;color:var(--ink);font-style:italic;padding:8px 12px;border-left:3px solid var(--wine);background:#fff9f1;border-radius:0 4px 4px 0}.blog-section{margin:20px 0}.blog-h2{font-family:var(--font-jp);font-size:16px;font-weight:800;color:var(--wine);margin:0 0 10px;padding-bottom:6px;border-bottom:1px dashed rgba(122,46,58,.3)}.blog-body{font-family:var(--font-jp);font-size:13px;line-height:1.85;color:var(--ink);margin:0}.blog-person-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.blog-person-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;background:#fff;border:1px solid rgba(122,46,58,.3);border-radius:20px;font-size:12px;font-family:var(--font-jp);cursor:pointer;color:var(--ink);transition:all .15s}.blog-person-chip:hover{background:var(--wine);color:#fff}.blog-person-av{width:26px;height:26px;border-radius:50%;background-size:cover;background-position:center top;background-color:#d9cdb4;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--wine);font-weight:700}.blog-cta{background:#fff5f0;padding:14px;border-radius:8px;border:1px dashed var(--wine)}.blog-cta-btn{width:100%;padding:12px;background:var(--wine);color:#fff;border:none;border-radius:6px;font-family:var(--font-jp);font-weight:700;font-size:13px;cursor:pointer;transition:opacity .15s}.blog-cta-btn:hover{opacity:.88}.audible-hero-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;background:linear-gradient(135deg,#0f1b3d,#1a2a5a,#0a1230);border:2px solid #f7a11c;border-radius:10px;box-shadow:0 4px 16px #0f1b3d4d,inset 0 0 0 1px #f7a11c26;text-decoration:none;margin:10px 0 14px;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}.audible-hero-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#f7a11c,#ffd27a,#f7a11c);background-size:200% 100%;animation:heroShine 3.5s linear infinite}.audible-hero-banner:hover{transform:translateY(-1px);box-shadow:0 6px 22px #0f1b3d73}.audible-hero-text{flex:1;min-width:0}.audible-hero-title{font-family:var(--font-jp);font-weight:800;font-size:15px;color:#fff;letter-spacing:.04em;margin-bottom:4px}.audible-hero-sub{font-family:var(--font-jp);font-size:11px;color:#ffd9a8;line-height:1.5}.audible-hero-img{display:block;flex-shrink:0;width:120px;height:60px;border-radius:4px}.audible-hero-cta{font-size:22px;color:#f7a11c;flex-shrink:0;padding:4px 0 4px 8px;border-left:1px solid rgba(247,161,28,.3);font-weight:700}@media(max-width:420px){.audible-hero-banner{padding:12px 14px;gap:10px}.audible-hero-title{font-size:14px}.audible-hero-sub{font-size:10px}}.home-toc-wrap{position:fixed;right:8px;left:auto;transform:none;bottom:56px;z-index:45}.home-toc-summary{width:40px!important;height:40px!important;font-size:16px!important}.chat-fab-wrap,.chat-fab,.back-to-top-fab{display:none!important}.home-toc{background:transparent;border:none}.home-toc-summary{width:48px;height:48px;border-radius:50%;padding:0;background:var(--wine);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;list-style:none;font-size:20px;box-shadow:0 4px 12px #00000040;transition:transform .15s}.home-toc-summary:hover{transform:scale(1.05)}.home-toc-summary::-webkit-details-marker{display:none}.home-toc-summary:after{display:none}.home-toc[open] .home-toc-summary{background:var(--gold);color:var(--wine)}.home-toc-list{position:absolute;right:0;bottom:58px;display:flex;flex-direction:column;gap:4px;padding:10px;background:#fffdf6fa;backdrop-filter:blur(8px);border:1px solid var(--wine);border-radius:10px;box-shadow:0 6px 22px #00000047;min-width:200px;max-width:calc(100vw - 40px);max-height:calc(100vh - 260px);overflow-y:auto}.home-toc-item{font-family:var(--font-jp);font-size:12px;font-weight:600;color:var(--wine);background:#fff;border:1px solid rgba(122,46,58,.2);border-radius:6px;padding:7px 10px;cursor:pointer;text-align:left;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.home-toc-item .ij-icon{width:14px;height:14px;color:var(--wine);flex-shrink:0}.home-toc-summary .ij-icon{width:22px;height:22px;color:#fff}.home-toc-item:hover{background:var(--wine);color:#fff;border-color:var(--wine)}.home-book-cover-wrap{position:relative;width:100%}.home-book-ribbon{position:absolute;top:6px;left:-4px;z-index:2;background:var(--wine);color:var(--gold-light);font-family:var(--font-jp);font-size:9px;font-weight:700;letter-spacing:.06em;padding:3px 7px 3px 6px;border-radius:0 2px 2px 0;box-shadow:2px 2px 4px #0003;white-space:nowrap}.home-book-ribbon:before{content:"";position:absolute;left:0;bottom:-4px;width:0;height:0;border:2px solid var(--wine-dark);border-left-color:transparent;border-bottom-color:transparent}.quote-of-the-day{position:relative}.qod-fav{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;background:transparent;border:none;color:var(--gold);font-size:18px;cursor:pointer;padding:0;line-height:1;transition:all .15s}.qod-fav:hover{transform:scale(1.2)}.qod-fav.active{color:var(--wine)}.qod-collection-link{display:inline-block;margin-top:10px;padding:5px 14px;font-size:11px;color:var(--wine);background:transparent;border:1px solid var(--wine);border-radius:14px;cursor:pointer;font-family:var(--font-jp);letter-spacing:.06em;transition:all .15s}.qod-collection-link:hover{background:var(--wine);color:#fff}.media-intro{color:var(--ink-3);font-size:12px;margin:10px 0 14px;text-align:center;font-family:var(--font-jp)}.media-list{display:flex;flex-direction:column;gap:14px}.media-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;background:#fffdf6;border:1px solid var(--rule);border-radius:6px;overflow:hidden;box-shadow:0 2px 6px #0000000f;padding:14px}.media-card:has(.media-info:only-child),.media-card:not(:has(.media-cover)){grid-template-columns:1fr}.media-cover{width:90px;display:block;text-decoration:none;flex-shrink:0;transition:transform .15s}.media-cover:hover{transform:translateY(-2px)}.media-cover img{width:100%;height:auto;display:block;border-radius:3px;box-shadow:inset 0 0 0 1px #0000001f,0 2px 6px #00000026;background:#e8e0d0}@media(max-width:520px){.media-cover{width:70px}}.media-thumb{background:#1a1a1a;background-size:cover;background-position:center;aspect-ratio:16 / 10;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;display:none}.media-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;background:#00000040;transition:background .15s}.media-thumb:hover .media-play{background:#00000080}.media-thumb-fallback{font-size:42px;color:#fff8}.media-iframe{width:100%;height:100%;border:0;display:block}.media-info{padding:10px 12px 10px 0;display:flex;flex-direction:column;gap:4px;min-width:0}.media-type{font-size:10px;letter-spacing:.08em;color:var(--wine);font-weight:700}.media-title{font-family:var(--font-jp);font-weight:700;color:var(--ink);font-size:14px;line-height:1.3}.media-cast{font-size:11px;color:var(--ink-3);font-family:var(--font-jp)}.media-desc{font-size:11px;color:var(--ink-2);font-family:var(--font-jp);line-height:1.5;margin-top:2px}.media-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.media-btn{display:inline-flex;align-items:center;gap:3px;padding:4px 9px;font-size:10px;border-radius:11px;border:1px solid var(--rule);background:#fff;color:var(--ink-2);text-decoration:none;font-family:var(--font-jp);white-space:nowrap}.media-btn-yt{background:#c4302b;color:#fff;border-color:#c4302b}.media-btn-sub{background:transparent;color:var(--ink-3)}.media-btn-amazon{background:#f90;color:#fff;border-color:#f90;font-weight:700}.media-btn-amazon:hover{background:#e88a00;color:#fff}.media-btn-rakuten{background:#bf0000;color:#fff;border-color:#bf0000;font-weight:700}.media-btn-rakuten:hover{background:#900;color:#fff}.media-btn-store{background:var(--wine);color:#fff;border-color:var(--wine);font-weight:700}.media-btn-store:hover{background:var(--wine-dark);color:#fff}.updates-feed{background:#fffdf6;border:1px solid var(--rule);border-radius:10px;padding:14px 16px}.updates-list{display:flex;flex-direction:column;gap:10px}.updates-item{padding:10px 0;border-bottom:1px dashed var(--rule-soft)}.updates-item:last-child{border-bottom:none}.updates-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}.updates-date{font-size:10px;color:var(--ink-4);font-family:var(--font-en);letter-spacing:.05em}.updates-tag{font-size:9px;padding:1px 7px;border-radius:10px;background:var(--ink-4);color:#fff;font-weight:700;letter-spacing:.08em;font-family:var(--font-jp)}.updates-tag-new{background:var(--wine)}.updates-tag-add{background:var(--gold)}.updates-tag-improve{background:#5e7254}.updates-tag-fix{background:#4a6b7a}.updates-title{font-family:var(--font-jp);font-weight:700;font-size:14px;color:var(--ink);margin-bottom:3px}.updates-body{font-size:12px;color:var(--ink-2);font-family:var(--font-jp);line-height:1.6}.updates-more{margin-top:4px}.updates-more summary{font-size:12px;color:var(--wine);cursor:pointer;text-align:center;padding:8px;font-family:var(--font-jp);list-style:none}.updates-more summary::-webkit-details-marker{display:none}.updates-more summary:hover{text-decoration:underline}.updates-list-more{margin-top:10px}.updates-empty{color:var(--ink-4);text-align:center;font-family:var(--font-jp);padding:10px;font-size:13px}.auth-legal{text-align:center;font-size:10px;color:var(--ink-4);margin-top:10px;font-family:var(--font-jp);line-height:1.6}.auth-legal a{color:var(--wine);text-decoration:underline}.home-footer{text-align:center;padding:20px 0;border-top:1px solid var(--rule-soft);margin-top:24px}.home-footer-links a{color:var(--ink-3);text-decoration:none;font-size:11px;font-family:var(--font-jp);letter-spacing:.05em}.home-footer-links a:hover{color:var(--wine);text-decoration:underline}.home-footer-sep{color:var(--ink-4);margin:0 4px;font-size:11px}@media(max-width:520px){*{max-width:100%;box-sizing:border-box}img,video{max-width:100%;height:auto}.book-card{grid-template-columns:80px 1fr;gap:12px;padding:12px}.book-card-cover-link{width:80px}.book-card-title-link{font-size:14px}.book-card-desc{font-size:11px}.book-card-actions{gap:4px}.book-card-link{font-size:10px;padding:4px 8px}.x-book-card{grid-template-columns:70px 1fr;gap:10px;padding:10px}.x-book-cover{width:70px}.x-book-title{font-size:13px}.x-book-amazon{padding:6px 14px;font-size:11px}.x-post{padding:10px 12px;gap:8px}.x-post-title{font-size:14px}.x-post-text{font-size:13px}.x-post-actions{gap:16px}.x-post-media{aspect-ratio:16/9}.media-card{grid-template-columns:70px 1fr;gap:10px;padding:10px}.media-cover{width:70px}.media-title{font-size:14px}.media-desc{font-size:11px}.media-links{gap:4px;flex-wrap:wrap}.media-btn{font-size:10px;padding:5px 10px}.routine-card-actions{gap:6px;flex-wrap:wrap}.routine-card-actions .routine-copy-btn,.routine-card-actions .routine-peek-btn{font-size:10px;padding:6px 8px}.happening-title{font-size:13px}.happening-desc{font-size:11px}.happening-btn{font-size:10px;padding:4px 10px}.happening-links{flex-wrap:wrap;gap:4px}.ai-consult-card{padding:14px 16px;gap:10px}.ai-consult-title{font-size:13px}.ai-consult-sub{font-size:10px}.support-card{padding:14px 16px;gap:10px}.support-title{font-size:13px}.support-sub{font-size:11px}.mood-ai-more{padding:14px 16px}.mood-ai-title{font-size:12px}.mood-ai-sub{font-size:9px}.howto-label{font-size:13px}.howto-body{padding:0 14px 14px}.howto-step-title{font-size:12px}.howto-step-desc{font-size:11px}.updates-title{font-size:13px}.updates-body{font-size:11px}.qod-text{font-size:17px;line-height:1.9;padding-left:20px}.qc-text{font-size:13px;padding-left:18px}.profile-cover{height:120px}.profile-cover-name{font-size:22px;letter-spacing:.12em;padding:6px 0 3px}.profile-cover-name-en{font-size:11px}.profile-cover-dates{font-size:10px}.hero-frame{padding:16px 12px 12px}.hero-title{font-size:19px;letter-spacing:.15em;margin-bottom:8px}.hero-ornament{font-size:9px;letter-spacing:.1em}.hero-tagline{font-size:13px;letter-spacing:.12em}.hero-sub{font-size:11px;line-height:1.7}.adv-search-toggle{padding:9px 12px;font-size:11px}.adv-search-panel{padding:10px 12px}.account-badge{padding:3px 7px;font-size:10px}.acc-name{max-width:44px;font-size:10px}.app-header{padding:14px 10px}.app-header .icon-btn{width:26px;height:26px;font-size:18px}.app-header .header-right{gap:4px}.app-header h1{font-size:16px;letter-spacing:.15em}.search-section-desc{font-size:11px;padding:0 8px}}@media(max-width:360px){.app-header h1{font-size:14px;letter-spacing:.1em}.account-badge .acc-name{display:none}.book-card{grid-template-columns:70px 1fr}.book-card-cover-link{width:70px}.profile-cover-name{font-size:18px}.qod-text{font-size:15px}}.home-footer-copyright{text-align:center;font-size:9px;color:var(--ink-4);font-family:var(--font-en);letter-spacing:.1em;margin-top:8px;opacity:.7}.home-footer-pr{text-align:center;font-size:10px;color:var(--ink-4);font-family:var(--font-jp);margin-top:12px;padding:8px 12px;background:#8a5a1d0f;border-radius:6px;line-height:1.6;opacity:.85}.book-of-day-block .book-of-day-content{display:flex;flex-direction:column;gap:12px}.book-day-person{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#8a5a1d0d;border:1px solid rgba(138,90,29,.12);border-radius:10px;cursor:pointer;font-family:var(--font-jp);text-align:left}.book-day-person:hover{background:#8a5a1d1a}.book-day-person-av{width:44px;height:44px;border-radius:50%;background-size:cover;background-position:center;background-color:#e0d8c4;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--wine)}.book-day-person-info{flex:1;min-width:0}.book-day-person-name{font-size:13px;font-weight:700;color:var(--wine)}.book-day-oshi-tag{display:inline-block;font-size:10px;font-weight:700;color:#c1527a;background:#ffe6ef;border-radius:10px;padding:2px 8px;margin-bottom:3px}.pr-tag{display:inline-block;font-size:9px;font-weight:700;color:#a87a3a;background:#a87a3a1f;border:1px solid rgba(168,122,58,.3);border-radius:3px;padding:1px 5px;margin-left:6px;letter-spacing:.04em;vertical-align:middle}.book-day-person-field{font-size:11px;color:var(--ink-3);margin-top:2px}.book-day-card{display:flex;gap:14px;padding:14px;background:#fff;border:1px solid var(--rule);border-radius:10px;box-shadow:0 2px 8px #0000000d}.book-day-cover{width:100px;aspect-ratio:2/3;background-size:cover;background-position:center;background-color:#e8dcc0;border-radius:4px;flex-shrink:0;box-shadow:0 4px 10px #00000026;display:flex;align-items:center;justify-content:center;font-size:36px}.book-day-cover.no-img{background:linear-gradient(135deg,#e8dcc0,#d9c896)}.book-day-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;font-family:var(--font-jp)}.book-day-title{font-size:14px;font-weight:700;color:var(--wine-dark);line-height:1.4}.book-day-author{font-size:11px;color:var(--ink-3)}.book-day-desc{font-size:11px;color:var(--ink-2);line-height:1.6;margin-top:4px}.book-day-stores{display:flex;gap:6px;margin-top:auto;padding-top:8px;flex-wrap:wrap}.book-day-store{flex:0 0 auto;padding:6px 12px;font-size:11px;font-weight:700;border-radius:6px;color:#fff;text-decoration:none;font-family:var(--font-jp);transition:filter .15s}.book-day-store:hover{filter:brightness(1.05)}.book-day-amazon{background:#f90}.book-day-rakuten{background:#bf0000}.tag-match-count{font-size:11px;color:var(--ink-3);font-weight:400;font-family:var(--font-jp);letter-spacing:.03em}.howto-card{background:linear-gradient(135deg,#fffdf6,#fbf3e0);border:1px solid var(--gold);border-radius:12px;overflow:hidden}.howto-summary{display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;font-family:var(--font-jp);list-style:none;transition:background .15s}.howto-summary::-webkit-details-marker{display:none}.howto-summary:hover{background:#b8952e14}.howto-icon{font-size:22px;flex-shrink:0}.howto-label{flex:1;font-size:14px;font-weight:700;color:var(--wine);letter-spacing:.05em}.howto-arrow{color:var(--wine);font-size:16px;transition:transform .25s}.howto-card[open] .howto-arrow{transform:rotate(180deg)}.howto-body{padding:0 20px 18px;border-top:1px dashed var(--rule);animation:howtoSlide .3s ease}@keyframes howtoSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.howto-intro{font-family:var(--font-jp);font-size:13px;color:var(--ink);line-height:1.8;margin:16px 0 20px;padding:12px 14px;background:#ffffffb3;border-left:3px solid var(--wine);border-radius:4px}.howto-step{display:grid;grid-template-columns:32px 1fr;gap:14px;margin-bottom:14px;align-items:flex-start}.howto-step-num{width:32px;height:32px;border-radius:50%;background:var(--wine);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-en);font-weight:800;font-size:15px;flex-shrink:0}.howto-step-title{font-family:var(--font-jp);font-weight:700;font-size:13px;color:var(--ink);margin-bottom:4px;letter-spacing:.03em}.howto-step-desc{font-family:var(--font-jp);font-size:12px;color:var(--ink-2);line-height:1.7}.howto-tips{margin-top:20px;padding:12px 14px;background:#fff9;border-radius:6px;border:1px dashed var(--gold)}.howto-tips-title{font-family:var(--font-jp);font-weight:700;font-size:13px;color:var(--wine);margin-bottom:8px;letter-spacing:.05em}.howto-tips ul{padding-left:1.2em;margin:0}.howto-tips li{font-family:var(--font-jp);font-size:11px;color:var(--ink-2);line-height:1.7;margin-bottom:5px}.howto-footer{font-family:var(--font-jp);font-size:11px;color:var(--ink-3);line-height:1.7;text-align:center;margin-top:18px;padding-top:14px;border-top:1px dashed var(--rule-soft)}.howto-footer a{color:var(--wine)}.place-card.has-image{padding:0;overflow:hidden}.place-image{width:100%;aspect-ratio:16 / 9;background-size:cover;background-position:center;background-color:#e8e0d0}.place-card.has-image .place-info{padding:12px 14px}.place-card.has-image .place-pin{display:none}.books-intro{color:var(--ink-3);font-size:12px;margin:10px 0 14px;text-align:center;font-family:var(--font-jp)}.book-card{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:14px;background:#fffdf6;border:1px solid var(--rule);border-radius:8px;margin-bottom:12px;align-items:start}.book-card-cover-link{display:block;text-decoration:none;width:100px;transition:transform .15s}.book-card-cover-link:hover{transform:translateY(-2px)}.book-card-cover-img{width:100%;aspect-ratio:2 / 2.9;object-fit:cover;border-radius:2px;box-shadow:inset 0 0 0 1px #0000001f,3px 4px 10px #0003}.book-card-cover-placeholder{width:100%;aspect-ratio:2 / 2.9;background:linear-gradient(135deg,#fffdf6,#e8dcc8);border:1px solid var(--rule);border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:36px;color:var(--ink-4)}.book-card-cover-link.no-cover .book-card-cover-placeholder{display:flex}.book-card-title-link{display:block;text-decoration:none;font-family:var(--font-jp);font-weight:700;font-size:15px;color:var(--ink);line-height:1.4;margin-bottom:4px}.book-card-title-link:hover{color:var(--wine)}.book-card-author{font-size:12px;color:var(--wine);font-family:var(--font-jp);margin-bottom:2px}.book-card-meta{font-size:11px;color:var(--ink-4);font-family:var(--font-jp);margin-bottom:6px;letter-spacing:.03em}.book-card-desc{font-size:12px;color:var(--ink-2);font-family:var(--font-jp);line-height:1.6;margin-bottom:10px}.book-card-actions{display:flex;gap:6px;flex-wrap:wrap}.book-card-link{display:inline-block;padding:5px 10px;font-size:11px;border-radius:4px;text-decoration:none;font-family:var(--font-jp);font-weight:600}.book-card-amazon{background:#f90;color:#fff}.book-card-amazon:hover{background:#e88a00;color:#fff}.book-card-rakuten{background:#bf0000;color:#fff}.book-card-rakuten:hover{background:#900;color:#fff}.book-card-sub{background:transparent;color:var(--ink-3);border:1px solid var(--rule)}.book-card-sub:hover{color:var(--wine);border-color:var(--wine)}.work-btn-search{background:#fff;color:var(--wine);border:1px solid var(--wine)}.work-btn-search:hover{background:var(--wine);color:#fff}.work-btn-musescore{background:#1f88be;color:#fff;border-color:#1f88be}.work-btn-imslp{background:#444;color:#fff;border-color:#444}.work-music-search{text-decoration:none;color:inherit}.work-thumb-placeholder{background:linear-gradient(135deg,#4a1822,#7a2e3a,#4a1822);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold-light);position:relative;overflow:hidden}.work-thumb-placeholder:before{content:"\266a";position:absolute;font-size:80px;color:#b8952e26;font-family:var(--font-en)}.work-thumb-placeholder .work-play{font-size:24px;background:#ffffff1f;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(184,149,46,.5);z-index:1}.work-thumb-label{font-size:11px;color:#f5deb3cc;font-family:var(--font-jp);margin-top:8px;letter-spacing:.08em;z-index:1}.work-iframe-fallback{position:absolute;left:0;right:0;bottom:0;padding:5px 8px;font-size:10px;background:#000000bf;color:#fff;text-decoration:none;text-align:center;font-family:var(--font-jp)}.work-iframe-fallback:hover{background:#000000e6;color:#fd0}.work-thumb{position:relative}.x-feed{background:#fff;border:1px solid var(--rule-soft);border-radius:0}.x-post{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:14px 16px;border-bottom:1px solid var(--rule-soft);transition:background .15s;cursor:default}.x-post:hover{background:#7a2e3a08}.x-post:last-child{border-bottom:none}.x-avatar{width:44px;height:44px;border-radius:50%;background-color:var(--paper-warm);background-size:cover;background-position:center top;flex-shrink:0}.x-avatar-fallback{display:flex;align-items:center;justify-content:center;font-family:var(--font-jp);color:var(--wine);font-weight:700;font-size:18px}.x-post-body{min-width:0;display:flex;flex-direction:column;gap:4px}.x-post-head{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:13px}.x-post-name{font-family:var(--font-jp);font-weight:800;color:var(--ink)}.x-post-verified{color:#1d9bf0;font-size:13px;font-weight:900}.x-post-handle{color:var(--ink-4);font-family:var(--font-en);font-style:italic;font-size:12px}.x-post-dot{color:var(--ink-4);margin:0 2px}.x-post-time{color:var(--ink-4);font-size:12px;font-family:var(--font-jp)}.x-post-type{margin-left:auto;font-size:10px;padding:2px 8px;border-radius:10px;background:#7a2e3a14;color:var(--wine);font-family:var(--font-jp);letter-spacing:.05em;white-space:nowrap}.x-post-title{font-family:var(--font-jp);font-weight:700;font-size:15px;color:var(--ink);line-height:1.4;margin-top:2px}.x-post-text{font-family:var(--font-jp);font-size:14px;color:var(--ink-2);line-height:1.7;white-space:pre-wrap;word-break:break-word}.x-post-source{font-size:12px;color:var(--ink-4);font-family:var(--font-jp);margin-top:2px}.x-post-media{margin-top:8px;width:100%;aspect-ratio:16 / 9;background:#1a1a1a;background-size:cover;background-position:center;border-radius:14px;border:1px solid var(--rule-soft)}.x-post-embed-link{display:inline-block;margin-top:8px;color:#1d9bf0;font-size:13px;font-family:var(--font-jp);text-decoration:none;font-weight:600}.x-book-card{display:grid;grid-template-columns:90px 1fr;gap:14px;margin-top:8px;padding:12px;background:#fffdf6;border:1px solid var(--rule-soft);border-radius:10px}.x-book-cover{width:90px;aspect-ratio:2 / 2.9;background:#e8e0d0;background-size:cover;background-position:center;border-radius:2px 5px 5px 2px;box-shadow:inset 0 0 0 1px #00000026,3px 4px 10px #0003;text-decoration:none;transition:transform .15s}.x-book-cover:hover{transform:translateY(-2px) scale(1.02)}.x-book-info{display:flex;flex-direction:column;gap:3px;min-width:0}.x-book-title{font-family:var(--font-jp);font-weight:700;font-size:15px;color:var(--ink);line-height:1.3}.x-book-author{font-family:var(--font-jp);font-size:12px;color:var(--ink-3)}.x-book-desc{font-family:var(--font-jp);font-size:12px;color:var(--ink-2);line-height:1.6;margin-top:3px}.x-book-amazon{display:inline-block;padding:8px 18px;background:#f90;color:#fff;text-decoration:none;font-family:var(--font-jp);font-weight:700;font-size:12px;border-radius:6px;align-self:flex-start;margin-top:8px}.x-book-amazon:hover{background:#e88a00}.x-book-stores{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.x-book-store{flex:0 0 auto;padding:7px 14px;text-decoration:none;font-family:var(--font-jp);font-weight:700;font-size:11px;border-radius:6px;color:#fff;transition:filter .15s}.x-book-store.x-book-amazon{background:#f90;margin-top:0}.x-book-store.x-book-amazon:hover{background:#e88a00;filter:none}.x-book-store.x-book-rakuten{background:#bf0000;color:#fff}.x-book-store.x-book-rakuten:hover{background:#900}.qc-card{position:relative}.qc-fav{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;background:transparent;border:none;color:var(--gold);font-size:18px;cursor:pointer;padding:0;line-height:1;transition:all .15s;z-index:2}.qc-fav:hover{transform:scale(1.2);background:#b8952e14}.qc-fav.active{color:var(--wine)}.x-post-embed-link:hover{text-decoration:underline}.x-post-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.x-post-tags .event-tag{font-size:11px;padding:2px 8px;background:#fffdf6;border:1px solid var(--rule);color:var(--wine);border-radius:10px;cursor:pointer}.x-post-actions{display:flex;gap:28px;margin-top:8px;font-size:13px;color:var(--ink-4);font-family:var(--font-en);align-items:center}.x-action{background:none;border:none;color:var(--ink-4);font-family:inherit;font-size:13px;cursor:pointer;padding:4px 6px;border-radius:14px;display:inline-flex;align-items:center;gap:4px;text-decoration:none;transition:all .15s}.x-action:hover{background:#7a2e3a14;color:var(--wine)}.x-action.liked{color:#e0245e}.x-action-like.liked{background:#e0245e14}.x-action-share:hover{color:#1d9bf0;background:#1d9bf014}.x-action-count{font-size:12px}.x-post-comments{margin-top:10px;padding-top:10px;border-top:1px solid var(--rule-soft)}.x-post-comments.hidden{display:none}.x-comments-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.x-comments-empty{font-size:12px;color:var(--ink-4);text-align:center;font-family:var(--font-jp);padding:6px 0}.x-comment{background:#fffdf6;padding:8px 10px;border-radius:10px;border:1px solid var(--rule-soft)}.x-comment-text{font-family:var(--font-jp);font-size:13px;color:var(--ink);line-height:1.5;word-break:break-word}.x-comment-meta{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.x-comment-date{font-size:10px;color:var(--ink-4);font-family:var(--font-en)}.x-comment-delete{background:none;border:none;color:var(--ink-4);font-size:10px;cursor:pointer;font-family:var(--font-jp);padding:2px 6px;border-radius:8px}.x-comment-delete:hover{color:#e0245e;background:#e0245e14}.x-comment-form{display:flex;gap:6px}.x-comment-input{flex:1;padding:7px 10px;border:1px solid var(--rule);border-radius:14px;font-size:13px;font-family:var(--font-jp);outline:none}.x-comment-input:focus{border-color:var(--wine)}.x-comment-send{padding:7px 14px;background:var(--wine);color:#fff;border:none;border-radius:14px;font-size:12px;cursor:pointer;font-family:var(--font-jp)}.x-comment-send:hover{background:var(--wine-dark)}.letter-report-btn{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--ink-4);font-size:10px;cursor:pointer;font-family:var(--font-jp);padding:4px 8px;border-radius:10px;opacity:.5;transition:all .15s}.letter-report-btn:hover{opacity:1;color:#e0245e;background:#e0245e14}.letter-card{position:relative}.open-page-left{position:relative;overflow:hidden}.book-ornament{position:absolute;pointer-events:none;opacity:.85;filter:drop-shadow(2px 3px 4px rgba(0,0,0,.2))}.book-ink{width:48px;height:48px;left:18px;bottom:28px;transform:rotate(-6deg)}.book-pen{width:110px;height:auto;right:-12px;top:52px;transform:rotate(18deg)}.book-pen:after{content:"";position:absolute;left:2px;top:42px;width:4px;height:4px;background:radial-gradient(circle,#4a1822 20%,transparent 70%);border-radius:50%}@media(max-width:520px){.book-ink{width:36px;height:36px;left:10px;bottom:18px}.book-pen{width:80px;right:-8px;top:32px}}.profile-feed.line-chat{background:transparent!important;padding:0!important}.profile-feed .line-bubble,.profile-feed .line-date,.profile-feed .line-msg-avatar{display:none!important}.adv-search-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;margin-top:10px;background:#fff;border:1px dashed var(--rule);border-radius:8px;color:var(--ink-2);font-family:var(--font-jp);font-size:12px;cursor:pointer;letter-spacing:.05em;transition:all .15s}.adv-search-toggle:hover{border-style:solid;border-color:var(--wine);color:var(--wine)}.adv-search-toggle.open{background:var(--wine);border-color:var(--wine);color:#fff;border-style:solid}.adv-search-arrow{transition:transform .25s;font-size:14px}.adv-search-toggle.open .adv-search-arrow{transform:rotate(180deg)}.adv-search-panel{margin-top:10px;padding:12px 14px;background:#fffdf6;border:1px solid var(--rule);border-radius:8px;animation:advSlideDown .25s ease}.adv-search-panel.hidden{display:none}@keyframes advSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.adv-search-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.adv-search-row:last-child{margin-bottom:0}.adv-search-row-label{flex-shrink:0;font-size:11px;color:var(--wine);font-weight:700;letter-spacing:.1em;font-family:var(--font-jp);padding-top:6px;min-width:56px}.adv-search-row .era-filter,.adv-search-row .sort-filter{flex:1;margin:0}@media(max-width:520px){.adv-search-row{flex-direction:column;gap:4px}.adv-search-row-label{padding-top:0}}.routine-open-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;margin:14px 0;background:linear-gradient(135deg,#fffdf6,#faf4e5);border:1px solid var(--rule);border-radius:8px;cursor:pointer;font-family:var(--font-jp);font-size:13px;color:var(--ink);transition:all .15s;box-shadow:0 1px 3px #0000000d}.routine-open-btn:hover{border-color:var(--gold);transform:translateY(-1px);box-shadow:0 3px 8px #0000001a}.routine-open-icon{font-size:18px}.routine-open-label{flex:1;text-align:left;margin-left:10px;font-weight:600;letter-spacing:.04em}.routine-open-arrow{color:var(--gold);font-weight:700}.routine-modal{position:fixed;inset:0;z-index:9999;opacity:0;transition:opacity .2s;pointer-events:none}.routine-modal.open{opacity:1;pointer-events:auto}.routine-modal-backdrop{position:absolute;inset:0;background:#140f0a8c;backdrop-filter:blur(2px)}.routine-modal-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);transition:transform .2s;width:min(92vw,560px);max-height:86vh;overflow-y:auto;background:var(--paper);border-radius:10px;box-shadow:0 20px 60px #0006;padding:20px 22px 24px}.routine-modal.open .routine-modal-panel{transform:translate(-50%,-50%) scale(1)}.routine-modal-close{position:absolute;top:8px;right:12px;width:32px;height:32px;border:none;background:transparent;font-size:22px;color:var(--ink-3);cursor:pointer;line-height:1}.routine-modal-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--rule)}.routine-modal-avatar{width:44px;height:44px;border-radius:50%;background:var(--wine);background-size:cover;background-position:center;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-jp);flex-shrink:0}.routine-modal-name{font-family:var(--font-jp);font-weight:700;font-size:16px;color:var(--ink)}.routine-modal-sub{font-size:11px;color:var(--ink-3);letter-spacing:.08em}.routine-modal-body{font-family:var(--font-jp)}.chat-fab-wrap{position:fixed;right:18px;bottom:18px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.chat-fab-wrap .chat-fab{position:static}.chat-call-bubble{background:#fffdf6;border:1px solid var(--rule);border-radius:14px 14px 2px;padding:10px 14px;max-width:220px;box-shadow:0 6px 16px #0000002e;font-family:var(--font-jp);cursor:pointer;transform:translateY(8px);opacity:0;transition:transform .25s cubic-bezier(.2,1.2,.4,1),opacity .25s;position:relative}.chat-call-bubble.pop{transform:translateY(0);opacity:1}.chat-call-bubble.hidden{display:none}.chat-call-bubble:after{content:"";position:absolute;right:20px;bottom:-6px;width:12px;height:12px;background:#fffdf6;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transform:rotate(45deg)}.chat-call-text{font-size:13px;color:var(--ink);line-height:1.4;font-weight:600}.chat-call-who{font-size:10px;color:var(--wine);margin-top:4px;letter-spacing:.04em}.routine-card[data-peek-id]{cursor:pointer}.routine-avatar-link{border:none;padding:0;cursor:pointer;transition:transform .15s,box-shadow .15s}.routine-avatar-link:hover{transform:scale(1.08);box-shadow:0 2px 8px #0003}.routine-person-name-link{background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-jp);font-size:15px;font-weight:700;color:var(--ink);text-align:left}.routine-person-name-link:hover{color:var(--wine);text-decoration:underline}.routine-card[data-peek-id]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.routine-card-hint{text-align:center;font-size:10px;color:var(--ink-4);font-family:var(--font-jp);letter-spacing:.08em;margin-top:8px;padding-top:6px;border-top:1px dashed var(--rule)}.routine-card-actions{display:flex;gap:8px;margin-top:10px}.routine-card-actions .routine-copy-btn,.routine-card-actions .routine-peek-btn{flex:1;padding:7px 10px;font-size:11px;font-family:var(--font-jp);border-radius:14px;border:1px solid var(--rule);background:#fff;color:var(--ink-2);cursor:pointer}.routine-card-actions .routine-peek-btn{background:var(--wine);color:#fff;border-color:var(--wine)}.timeline-list .event{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--wine);border-radius:3px;padding:12px 14px;margin-bottom:10px;box-shadow:inset 0 0 0 1px #fffdf780,0 1px 4px #00000014}.timeline-list .event:before{display:none}.timeline-list .event-person{font-size:12px;color:var(--wine);margin-bottom:4px;font-weight:700;letter-spacing:.05em}.tag-detail-header{padding:22px 0;text-align:center;border-bottom:2px solid var(--wine);margin-bottom:20px;position:relative}.tag-detail-header:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--gold)}.tag-detail-header .big-chip{display:inline-block;padding:12px 28px;border-radius:24px;font-size:17px;color:var(--paper-light);margin-bottom:12px;font-weight:700;letter-spacing:.1em;box-shadow:inset 0 0 0 1px var(--gold),0 3px 6px #0003}.tag-detail-header .tag-desc{font-size:13px;color:var(--ink-2);line-height:1.8;padding:0 18px;font-family:var(--font-jp)}.tag-book-card.article-card{aspect-ratio:2 / 2.9;display:flex;flex-direction:column;align-items:stretch;text-decoration:none;color:inherit;cursor:pointer}.tag-book-count{font-size:10px!important;color:#f0d690!important;letter-spacing:.15em!important;padding:10px 6px 4px!important;font-style:italic;opacity:.75}.tag-book-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px 8px 10px}.tag-book-center .cover-tag-ornament{color:var(--gold-light);font-size:12px;opacity:.7}.tag-book-name{font-size:clamp(10px,4cqw,18px);font-weight:800;color:#fff;font-family:var(--font-jp);letter-spacing:.02em;text-shadow:0 2px 6px rgba(0,0,0,.45);line-height:1.15;text-align:center;max-width:100%;padding:0 2px;white-space:nowrap;overflow:hidden}.tag-book-card{container-type:inline-size}.tag-book-inner{padding:10px 8px!important;height:72px!important;min-height:72px!important;max-height:72px!important;display:flex;align-items:center;justify-content:center;background:#fff!important;border-top:2px solid rgba(0,0,0,.3)!important;position:relative;overflow:hidden;box-shadow:inset 0 3px 0 -2px #b8952e66,inset 0 -3px 0 -2px #b8952e66,0 -2px 6px #00000026!important}.tag-book-inner:before,.tag-book-inner:after{content:"";position:absolute;left:6px;right:6px;height:1px;background:#b8952e99}.tag-book-inner:before{top:5px}.tag-book-inner:after{bottom:5px}.tag-book-desc{font-size:10px;color:var(--ink-2);line-height:1.5;letter-spacing:.03em;font-family:var(--font-jp);text-align:center;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:0 4px}.tag-book-page{background:#fff;border:1px solid var(--rule);padding:36px 28px 40px;box-shadow:inset 0 0 0 1px #b8952e26,0 4px 14px #0000001a;position:relative}.tag-book-page:before,.tag-book-page:after{content:"";position:absolute;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.tag-book-page:before{top:14px}.tag-book-page:after{bottom:14px}.tag-book-chapter{text-align:center;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--rule-soft)}.tag-book-chapter-label{font-size:10px;color:var(--gold);letter-spacing:.4em;font-family:var(--font-en);font-style:italic;margin-bottom:10px}.tag-book-chapter-title{font-size:32px;font-weight:800;color:var(--wine-dark);font-family:var(--font-jp);letter-spacing:.2em;margin-bottom:12px}.tag-book-chapter-line{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--wine),transparent);margin:0 auto 16px;position:relative}.tag-book-chapter-line:before{content:"\2756";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:11px;color:var(--wine);background:#fff;padding:0 8px}.tag-book-chapter-desc{font-size:14px;color:var(--ink-2);line-height:1.95;letter-spacing:.06em;font-family:var(--font-jp);margin-bottom:18px;padding:0 20px}.tag-book-section-title{text-align:center;margin-bottom:20px;position:relative}.tag-book-section-title span{display:inline-block;padding:0 20px;background:#fff;position:relative;z-index:1;font-size:12px;color:var(--wine);font-family:var(--font-jp);font-weight:700;letter-spacing:.2em}.tag-book-section-title:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--rule)}.tag-people-grid{display:flex;flex-direction:column;gap:22px}.tpg-item{display:flex;flex-direction:column;align-items:stretch}.tpg-person-header{display:flex;align-items:center;gap:12px;padding:10px 12px;background:linear-gradient(90deg,#b8952e1a,#7a2e3a0d);border-bottom:2px solid var(--wine);cursor:pointer;transition:background .15s}.tpg-person-header:active{background:linear-gradient(90deg,#b8952e2e,#7a2e3a1a)}.tpg-avatar{width:48px;height:48px;border-radius:50%;background-size:cover;background-position:center top;background-color:var(--paper-warm);border:2px solid var(--gold);box-shadow:inset 0 0 0 2px #fff,0 2px 5px #00000026;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--wine);font-family:var(--font-jp)}.tpg-name{font-size:15px;font-weight:700;color:var(--ink);font-family:var(--font-jp);letter-spacing:.05em}.tpg-events{display:flex;flex-direction:column;gap:8px;padding:10px 0 0}.tpg-event{background:#fff;border:1px solid var(--rule-soft);border-left:3px solid var(--wine);border-radius:3px;padding:10px 12px;cursor:pointer;transition:background .15s,transform .15s;box-shadow:0 1px 3px #0000000a}.tpg-event:active{background:#b8952e0f;transform:translate(2px)}.tpg-year{font-size:10px;color:var(--wine);font-family:var(--font-en);font-style:italic;margin-bottom:4px;letter-spacing:.08em;font-weight:700}.tpg-event-title{font-size:13px;color:var(--ink);font-family:var(--font-jp);line-height:1.55;letter-spacing:.03em;font-weight:600}.event.highlight-flash{animation:highlight-pulse 2.5s ease-out}@keyframes highlight-pulse{0%{background:#b8952e66;box-shadow:0 0 0 4px #b8952e4d}30%{background:#b8952e40}to{background:transparent;box-shadow:none}}.fav-tag-btn{display:inline-block;margin-top:14px;padding:8px 18px;border:1px solid var(--gold);border-radius:3px;background:var(--paper-card);color:var(--wine);font-size:12px;font-family:var(--font-jp);font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s}.fav-tag-btn.active{background:var(--wine);color:var(--gold-light);border-color:var(--wine)}.tag-event{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--wine);border-radius:3px;padding:14px;margin-bottom:11px;cursor:pointer;box-shadow:inset 0 0 0 1px #fffdf766,0 1px 4px #00000014}.tag-event .tag-event-person{font-size:12px;color:var(--wine);margin-bottom:4px;font-weight:700;letter-spacing:.05em}.tag-event .event-year{margin-bottom:5px}.tag-event .event-title{font-size:14px;padding-right:28px}.tag-event .event-detail{font-size:12px}.articles-author{text-align:center;padding:20px 16px;margin-bottom:20px;border-bottom:2px solid var(--wine);position:relative}.articles-author:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--gold)}.articles-author-name{font-size:22px;font-weight:800;color:var(--ink);font-family:var(--font-jp);letter-spacing:.2em;margin-bottom:6px}.articles-author-bio{font-size:13px;color:var(--ink-3);font-family:var(--font-jp);letter-spacing:.1em;margin-bottom:12px;font-style:italic}.articles-author-link{display:inline-block;padding:7px 18px;border:1px solid var(--gold);border-radius:3px;background:var(--paper-card);color:var(--wine);font-size:12px;font-family:var(--font-jp);font-weight:600;letter-spacing:.08em;text-decoration:none;transition:all .2s}.articles-author-link:active{background:var(--wine);color:var(--gold-light)}.articles-coming-soon{position:relative;margin:16px auto 20px;max-width:640px;padding:16px 18px 14px;background:linear-gradient(135deg,#fffaf0,#fff6e0);border:1px dashed var(--gold);border-radius:6px;text-align:center}.articles-coming-soon-badge{display:inline-block;padding:3px 10px;background:var(--wine);color:var(--gold-light);font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.15em;border-radius:2px;margin-bottom:8px}.articles-coming-soon-title{font-family:var(--font-jp);font-size:13px;font-weight:700;color:var(--wine-dark);line-height:1.6;margin-bottom:6px}.articles-coming-soon-sub{font-family:var(--font-jp);font-size:11px;color:var(--ink-3);line-height:1.7}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px;padding:8px 4px 16px;width:100%;box-sizing:border-box}@media(min-width:900px){.article-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 14px}}.article-card-empty{pointer-events:none;opacity:.55;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(-45deg,rgba(0,0,0,.04) 0px,rgba(0,0,0,.04) 1px,transparent 1px,transparent 3px),linear-gradient(135deg,#8a7f6b,#6b5f4d)}.article-card-empty-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.article-card-empty-ornament{font-size:20px;color:#f0d69099}.article-card-empty-text{font-size:11px;color:#ffffff8c;letter-spacing:.25em;font-family:var(--font-en);font-style:italic}.article-card-wrap{display:flex;flex-direction:column;gap:8px}.article-caption{text-decoration:none;color:inherit;text-align:center;padding:0 4px;font-family:var(--font-jp);display:flex;flex-direction:column;gap:4px;align-items:center}.article-caption .article-badges{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;margin-bottom:2px}.article-caption .article-source,.article-caption .article-category{font-size:9px;padding:1px 6px;border-radius:3px;background:var(--wine);color:#fff;letter-spacing:.05em;font-weight:600}.article-caption .article-category{background:#fffdf6;color:var(--wine);border:1px solid var(--wine)}.article-caption .article-title{font-size:12px;font-weight:700;color:var(--ink);line-height:1.4;letter-spacing:.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}.article-caption .article-desc{font-size:10px;color:var(--ink-3);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}.article-caption .article-date{font-size:9px;color:var(--ink-4);font-family:var(--font-en);margin-top:2px}.article-card-wrap .article-card-inner{display:none}.article-card{text-decoration:none;color:inherit;margin:0;position:relative;min-width:0;width:100%;aspect-ratio:2 / 2.9;overflow:hidden;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(-45deg,rgba(0,0,0,.04) 0px,rgba(0,0,0,.04) 1px,transparent 1px,transparent 3px),linear-gradient(135deg,#3d5a80,#2c4363);border-radius:3px 6px 6px 3px;box-shadow:inset 0 0 0 1px #00000040,inset 2px 2px 6px #ffffff14,inset -2px -2px 6px #00000026,6px 8px 18px #0000004d,2px 2px 5px #00000026;transition:transform .15s;display:flex;flex-direction:column}.article-card-inner{margin-top:auto;background:#fffdf7f7;border-top:1px solid rgba(0,0,0,.25);padding:6px 8px 7px;box-shadow:0 -2px 6px #00000026;max-height:33%;overflow:hidden}.article-card-inner .article-badges{margin-bottom:3px;line-height:1}.article-card-inner .article-source,.article-card-inner .article-category{font-size:7px;padding:1px 4px;letter-spacing:.05em}.article-card-inner .article-title{font-size:9px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}.article-card-inner .article-desc{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:8px;line-height:1.4;color:var(--ink-3);margin-bottom:0;text-align:center}.article-card-inner .article-meta,.article-card-inner .article-relations{display:none}.article-card:before,.article-card:after{display:none}.article-card:before{content:"";position:absolute;left:12px;top:14px;bottom:14px;width:2px;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.3) 10%,rgba(0,0,0,.3) 90%,transparent 100%);border-right:1px solid rgba(255,255,255,.06);pointer-events:none;z-index:2}.article-card:after{content:"";position:absolute;right:-5px;top:8px;bottom:8px;width:7px;background:repeating-linear-gradient(180deg,#e8ddc0 0px 1px,#d4c8a4 1px 2px,#bcb088 2px 3px);border:1px solid rgba(0,0,0,.35);border-radius:0 2px 2px 0;box-shadow:inset 2px 0 4px #0000004d,2px 1px 4px #00000040;pointer-events:none}.article-card:active{transform:translateY(2px)}.article-card:nth-child(3n+1){background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(-45deg,rgba(0,0,0,.04) 0px,rgba(0,0,0,.04) 1px,transparent 1px,transparent 3px),linear-gradient(135deg,#3d5a80,#2c4363)}.article-card:nth-child(3n+2){background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(-45deg,rgba(0,0,0,.04) 0px,rgba(0,0,0,.04) 1px,transparent 1px,transparent 3px),linear-gradient(135deg,#6d3340,#4d1f2a)}.article-card:nth-child(3n){background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(-45deg,rgba(0,0,0,.04) 0px,rgba(0,0,0,.04) 1px,transparent 1px,transparent 3px),linear-gradient(135deg,#4d5e3e,#2f3e2a)}.article-author-name{text-align:center;font-size:10px;font-weight:900;color:#f0d690;letter-spacing:.05em;font-family:var(--font-display);text-shadow:0 1px 0 rgba(0,0,0,.5),0 2px 3px rgba(0,0,0,.4);padding:10px 8px 4px;line-height:1;font-style:italic}.article-thumb{margin:12px 12px 8px;flex:1 1 auto;min-height:0;max-height:60%;background-size:cover;background-position:center;background-color:#f5ead0;position:relative;border:1px solid rgba(0,0,0,.35);box-shadow:0 2px 5px #0000004d,inset 0 0 0 1px #ffffff40}.article-card-wrap .article-thumb{margin:12px;flex:1;aspect-ratio:auto;min-height:60%}.article-card-wrap .article-card{display:flex;flex-direction:column}.article-card-inner{position:relative;padding:8px 10px 10px;margin-top:auto;max-height:33%;background:#fffdf7f7;border-top:1px solid rgba(0,0,0,.25);box-shadow:0 -2px 6px #00000026;overflow:hidden}.article-card:active .article-card-inner{transform:translateY(1px)}.article-card-footer{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;font-size:11px}.article-badges{text-align:center;margin-bottom:6px}.article-source{display:inline-block;font-size:9px;font-weight:700;color:#fff;background:var(--wine);padding:2px 8px;border-radius:2px;letter-spacing:.12em;text-transform:uppercase}.article-category{display:inline-block;font-size:10px;color:var(--wine);border:1px solid var(--wine);padding:1px 8px;border-radius:2px;letter-spacing:.08em;font-weight:600;margin-left:4px}.article-date{color:var(--ink-4);font-family:var(--font-en);font-style:italic;letter-spacing:.05em}.article-title{font-size:13px;font-weight:800;color:var(--ink);font-family:var(--font-jp);line-height:1.4;letter-spacing:.02em;margin-bottom:4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.article-desc{font-size:11px;color:var(--ink-2);font-family:var(--font-jp);line-height:1.6;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-align:center}.article-meta{font-size:10px;color:var(--ink-4);font-family:var(--font-en);font-style:italic;letter-spacing:.05em;margin-bottom:0;text-align:center}.article-relations{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;padding-top:8px;margin-top:10px}.article-tag{font-size:10px;padding:2px 9px;border-radius:10px;background:#fff;color:var(--wine);border:1px solid var(--wine);font-weight:600;letter-spacing:.04em}.article-person{font-size:10px;padding:2px 9px;border-radius:10px;background:var(--wine);color:#fff;cursor:pointer;font-weight:600;letter-spacing:.04em}.image-credit{font-size:10px;color:var(--ink-4);padding:6px 10px;margin:8px 0 12px;background:#00000008;border-left:2px solid var(--rule-soft);border-radius:2px;line-height:1.6;letter-spacing:.03em;font-family:var(--font-en);font-style:italic}.image-credit a{color:var(--wine);text-decoration:none;border-bottom:1px dotted var(--wine)}.image-credit-source{color:var(--ink-4);margin-left:6px;opacity:.7}.empty{text-align:center;color:var(--ink-3);padding:40px 20px;font-size:13px;line-height:1.9;font-family:var(--font-jp)}.hidden{display:none!important}.bookshelf{background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 6%),repeating-linear-gradient(90deg,#4a2e1a,#3a220e,#4a2e1a 2px,#5c3820,#4a2e1a 6px),linear-gradient(180deg,#5c3820,#3a220e);border-radius:4px;padding:18px 8px 4px;box-shadow:inset 0 0 0 1px #00000080,inset 0 0 24px #00000073,0 3px 10px #00000040;margin-bottom:14px;position:relative;overflow:hidden}.bookshelf:before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(180deg,#1a0f05 0%,transparent 100%);pointer-events:none}.shelf-row{display:flex;align-items:flex-end;justify-content:flex-start;gap:2px;padding:0 4px;min-height:170px;border-bottom:10px solid #1a0f05;box-shadow:0 2px #0a0502,0 5px 10px #00000059,inset 0 -1px #ffffff0f;margin-bottom:14px;overflow-x:auto;scrollbar-width:none}.shelf-row::-webkit-scrollbar{display:none}.shelf-row:last-child{margin-bottom:4px}.book-spine{flex:1 0 45px;max-width:80px;height:200px;position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;border:1px solid rgba(0,0,0,.5);box-shadow:inset -3px 0 6px #00000059,inset 3px 0 4px #00000040,inset 0 1px #ffffff1a;transition:transform .25s cubic-bezier(.22,1,.36,1);padding:0;will-change:transform}.book-spine:active{transform:translateY(-14px) rotate(-1deg);filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}.book-spine.tag-book{min-width:42px;max-width:65px;height:155px}.spine-wine{background:linear-gradient(90deg,rgba(0,0,0,.35) 0%,transparent 8%,transparent 92%,rgba(0,0,0,.35) 100%),linear-gradient(180deg,#8a3a48 0%,var(--wine) 50%,var(--wine-dark) 100%)}.spine-green{background:linear-gradient(90deg,rgba(0,0,0,.35) 0%,transparent 8%,transparent 92%,rgba(0,0,0,.35) 100%),linear-gradient(180deg,#4d604e 0%,var(--green-deep) 50%,#2a3a2b 100%)}.spine-navy{background:linear-gradient(90deg,rgba(0,0,0,.35) 0%,transparent 8%,transparent 92%,rgba(0,0,0,.35) 100%),linear-gradient(180deg,#364660,#253245,#141d2e)}.spine-brown{background:linear-gradient(90deg,rgba(0,0,0,.35) 0%,transparent 8%,transparent 92%,rgba(0,0,0,.35) 100%),linear-gradient(180deg,#6d4628,#4a2f1a,#2e1c0d)}.spine-ink{background:linear-gradient(90deg,rgba(0,0,0,.35) 0%,transparent 8%,transparent 92%,rgba(0,0,0,.35) 100%),linear-gradient(180deg,#322820,#1a130c)}.spine-ochre{background:linear-gradient(90deg,rgba(0,0,0,.35) 0%,transparent 8%,transparent 92%,rgba(0,0,0,.35) 100%),linear-gradient(180deg,#8a6a2e,#6b5020,#483318)}.spine-band{width:100%;height:7px;background:linear-gradient(180deg,#e4c36a 0%,var(--gold) 50%,#8a6820 100%);border-top:1px solid rgba(0,0,0,.4);border-bottom:1px solid rgba(0,0,0,.4);flex-shrink:0}.spine-band.top{margin-top:16px}.spine-band.bottom{margin-bottom:16px}.spine-title{writing-mode:vertical-rl;color:#f2d898;font-size:12px;font-weight:700;letter-spacing:.12em;font-family:var(--font-jp);text-shadow:0 1px 2px rgba(0,0,0,.6);line-height:1.15;flex:1;display:flex;align-items:center;justify-content:center;padding:8px 0;text-align:center;white-space:nowrap;overflow:hidden}.book-spine.tag-book .spine-title{font-size:13px;letter-spacing:.18em}.spine-meta{writing-mode:vertical-rl;font-size:9px;color:#d4b76a;opacity:.65;letter-spacing:.15em;line-height:1.2;margin-bottom:6px}.spine-bookmark{position:absolute;top:-2px;left:50%;transform:translate(-50%);width:10px;height:18px;background:var(--gold);border-left:1px solid rgba(0,0,0,.3);border-right:1px solid rgba(0,0,0,.3);box-shadow:0 1px 2px #0006;z-index:2}.spine-bookmark:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:0;border-left:5px solid var(--gold);border-right:5px solid var(--gold);border-bottom:5px solid transparent}.shelf-empty{text-align:center;color:#d4b76a;padding:60px 20px;font-size:13px;font-family:var(--font-jp);opacity:.7}.book-flip{position:fixed;inset:0;z-index:200;background:#0f0a0500;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none;animation:bg-dim-in .55s cubic-bezier(.22,1,.36,1) forwards}.book-flip.closing{animation:bg-dim-out .5s cubic-bezier(.4,0,.6,1) forwards}@keyframes bg-dim-in{0%{background-color:#0f0a0500}to{background-color:#0f0a05e0}}@keyframes bg-dim-out{0%{background-color:#0f0a05e0}to{background-color:#0f0a0500}}.book{width:min(260px,70vw);aspect-ratio:2 / 3;height:auto;position:relative;animation:book-zoom-in .7s cubic-bezier(.25,.8,.3,1) forwards;animation-delay:50ms;opacity:0;transform:scale(.6)}@keyframes book-zoom-in{0%{opacity:0;transform:scale(.55) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.book-flip.closing .book{animation:book-zoom-out .5s cubic-bezier(.4,0,.6,1) forwards}@keyframes book-zoom-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}.book-page-static{display:none}.book:before{display:none}.book-flipper{position:absolute;inset:0;border-radius:3px 8px 8px 3px;overflow:hidden;box-shadow:0 20px 50px #0000008c,0 8px 20px #0006}.book-flipper-back{display:none}.book-flipper-front{position:absolute;inset:0}.book-flipper-front,.book-flipper-back{position:absolute;inset:0;backface-visibility:hidden}.book-flipper-front{background:radial-gradient(ellipse at 30% 25%,rgba(184,149,46,.12) 0%,transparent 55%),linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);display:flex;align-items:center;justify-content:center;padding:24px;box-shadow:inset 0 0 0 1px #d4b05540}.book-cover-inner{border:1px solid var(--gold);padding:40px 22px;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;box-shadow:inset 0 0 0 1px #d4b05573,inset 0 0 40px #0003}.book-cover-ornament{font-size:18px;color:var(--gold-light);letter-spacing:.3em;opacity:.85}.book-cover-name{font-size:28px;color:var(--gold-light);font-weight:800;letter-spacing:.22em;font-family:var(--font-jp);line-height:1.6;text-shadow:0 2px 8px rgba(0,0,0,.6);margin:8px 0}.book-cover-dates{font-size:14px;color:var(--gold-light);opacity:.85;letter-spacing:.1em;font-family:var(--font-en);font-style:italic;font-weight:600}.book-flipper-front.cover-with-photo{padding:0;overflow:hidden;background:var(--wine-dark)}.cover-photo{position:absolute;inset:0;background-size:cover;background-position:center 20%;z-index:1}.cover-photo-frame{position:absolute;inset:18px;border:1px solid var(--gold-light);box-shadow:inset 0 0 0 1px #0000004d,0 0 0 1px #0000004d;z-index:4;pointer-events:none}.cover-photo-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#5c1f2a26,#1f18121f 35%,#1f1812a6 68%,#1f1812eb);z-index:2}.cover-text{position:absolute;bottom:0;left:0;right:0;z-index:5;padding:24px 26px 30px;text-align:center}.cover-text .book-cover-ornament{opacity:.7;margin-bottom:10px}.cover-text .book-cover-name{font-size:32px;text-shadow:0 3px 12px rgba(0,0,0,.7);letter-spacing:.25em;margin-bottom:10px;font-weight:800}.cover-text .book-cover-dates{font-size:15px;text-shadow:0 1px 6px rgba(0,0,0,.6);letter-spacing:.12em;font-family:var(--font-en);font-style:italic;font-weight:600}.book-flipper-back{background:linear-gradient(180deg,#ffffff 0%,var(--paper-card) 55%,var(--paper-card-end) 100%);transform:rotateY(180deg);box-shadow:inset 0 0 0 1px #b8952e1f}.fav-btn{background:none;border:none;color:var(--rule);font-size:22px;cursor:pointer;padding:2px 6px;transition:transform .15s,color .15s;line-height:1;font-family:inherit}.fav-btn.active{color:var(--gold)}.fav-btn:active{transform:scale(1.25)}.person-card{position:relative}.person-card .fav-btn{position:absolute;top:10px;right:10px}.person-header .fav-btn{font-size:30px;margin-top:10px}.event{position:relative}.event .fav-btn{position:absolute;top:-2px;right:0;font-size:18px}.timeline-list .event .fav-btn{top:8px;right:8px}.tag-event{position:relative}.tag-event .fav-btn{position:absolute;top:8px;right:8px;font-size:18px}.fav-section-title{font-size:13px;color:var(--wine);margin:22px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--wine);position:relative;font-weight:700;letter-spacing:.2em;font-family:var(--font-jp)}.fav-section-title:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--gold)}.fav-section-title:first-child{margin-top:0}.my-book-empty{text-align:center;padding:30px 20px 40px}.my-book-empty-cover{width:180px;aspect-ratio:2 / 3;margin:0 auto 20px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);border-radius:2px 6px 6px 2px;display:flex;align-items:center;justify-content:center;padding:10px;box-shadow:6px 8px 16px #0006,0 3px #e8ddc6,0 5px #d4c8a4,0 7px #bcb088,0 9px #a49870,0 11px 6px #0000004d}.my-book-empty-inner{border:1px solid var(--gold);padding:20px 14px;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.my-book-empty-ornament{color:var(--gold-light);font-size:16px;opacity:.7}.my-book-empty-title{font-size:18px;font-weight:800;color:var(--gold-light);letter-spacing:.18em;font-family:var(--font-jp);white-space:nowrap}.my-book-empty-sub{font-size:10px;color:var(--gold-light);opacity:.7;letter-spacing:.1em;font-family:var(--font-en);font-style:italic}.my-book-empty-text{font-size:13px;color:var(--ink-3);line-height:2;letter-spacing:.05em;font-family:var(--font-jp);text-align:center}.my-book-empty-hero{font-size:15px;color:var(--wine-dark);line-height:1.95;margin:18px 0 14px;font-weight:600;letter-spacing:.08em}.my-book-empty-body{margin-bottom:12px}.my-book-empty-poem{font-size:12px;color:var(--ink-4);font-style:italic;margin-top:18px;letter-spacing:.08em}.my-book-empty-btn{display:inline-flex;align-items:center;gap:6px;margin-top:20px;padding:12px 24px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold);border-radius:24px;font-family:var(--font-jp);font-size:14px;font-weight:700;letter-spacing:.08em;cursor:pointer;box-shadow:0 4px 12px #7a2e3a4d;transition:all .2s}.my-book-empty-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #7a2e3a66}.my-book-empty-note{margin-top:10px;font-size:10px;color:var(--ink-4);letter-spacing:.05em}.mood-picker{text-align:center;padding:20px 14px 18px;background:#fff;border:1px solid var(--rule);border-radius:6px;box-shadow:0 2px 10px #00000014}.mood-picker-title{font-size:17px;font-weight:800;color:var(--wine-dark);font-family:var(--font-jp);letter-spacing:.15em;margin-bottom:6px}.mood-picker-sub{font-size:11px;color:var(--ink-3);font-family:var(--font-jp);margin-bottom:16px;letter-spacing:.05em}.mood-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.mood-section{margin-top:14px}.mood-section-label{text-align:center;font-family:var(--font-jp);font-size:11px;font-weight:700;letter-spacing:.2em;margin-bottom:10px;padding-bottom:6px;border-bottom:1px dashed var(--rule)}.mood-section-positive{color:#c9a857}.mood-section-negative{color:var(--wine)}.mood-chip{padding:8px 14px;border-radius:18px;border:1px solid rgba(0,0,0,.2);color:#fff;font-family:var(--font-jp);font-size:13px;font-weight:700;letter-spacing:.08em;cursor:pointer;box-shadow:inset 0 0 0 1px #d4b0554d,0 2px 4px #00000026}.mood-chip:active{transform:scale(.95)}.mood-result-label{text-align:center;font-size:12px;color:var(--wine);font-family:var(--font-jp);font-weight:700;letter-spacing:.15em;margin-bottom:10px}.mood-reset{display:block;margin:12px auto 0;background:transparent;border:none;color:var(--ink-3);font-size:11px;font-family:var(--font-jp);cursor:pointer;text-decoration:underline;letter-spacing:.05em}.oshi-empty{background:#fff;border:1px dashed var(--wine);border-radius:6px;padding:20px 16px;text-align:center}.oshi-empty-text{font-size:12px;color:var(--ink-3);font-family:var(--font-jp);line-height:1.9}.oshi-card{display:flex;align-items:center;gap:14px;padding:14px;background:linear-gradient(135deg,#fff,#fff5f0);border:2px solid var(--wine);border-radius:6px;cursor:pointer;box-shadow:inset 0 0 0 1px var(--gold),0 3px 10px #7a2e3a26}.oshi-image{width:72px;height:72px;border-radius:50%;background-size:cover;background-position:center top;background-color:#d9cdb4;border:2px solid var(--gold);box-shadow:0 2px 6px #0003;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--wine);font-family:var(--font-jp)}.oshi-info{flex:1;min-width:0}.oshi-label{font-size:10px;color:var(--wine);letter-spacing:.2em;font-weight:700;margin-bottom:3px}.oshi-name{font-size:18px;font-weight:800;color:var(--ink);font-family:var(--font-jp);letter-spacing:.05em}.oshi-meta{font-size:11px;color:var(--ink-3);font-family:var(--font-en);font-style:italic}.oshi-goto{font-size:20px;color:var(--wine);font-weight:700;align-self:center;margin-left:4px}.oshi-rich{display:flex;flex-direction:column;gap:10px}.oshi-today-quote{background:#fff;border:1px solid rgba(122,46,58,.18);border-left:4px solid var(--wine);border-radius:6px;padding:11px 14px}.oshi-today-quote-head{font-size:10px;font-weight:700;color:var(--wine);letter-spacing:.15em;margin-bottom:5px}.oshi-today-quote-text{font-size:14px;font-family:var(--font-jp);color:var(--ink);line-height:1.7;font-weight:500}.oshi-today-quote-src{font-size:10px;color:var(--ink-3);font-style:italic;margin-top:4px;text-align:right}.oshi-today-book{background:#fff;border:1px solid rgba(122,46,58,.18);border-radius:6px;padding:11px 12px}.oshi-today-book-head{font-size:10px;font-weight:700;color:var(--wine);letter-spacing:.15em;margin-bottom:8px}.oshi-today-book-card{display:flex;gap:12px;align-items:flex-start}.oshi-book-cover{position:relative;width:72px;aspect-ratio:2/2.9;flex-shrink:0;border-radius:2px 5px 5px 2px;overflow:hidden;box-shadow:2px 3px 8px #0003;background:linear-gradient(135deg,#fffdf6,#e8dcc8);display:block}.oshi-book-cover img{width:100%;height:100%;object-fit:cover;display:block}.oshi-book-fallback{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;padding:6px;text-align:center;background:repeating-linear-gradient(45deg,rgba(122,46,58,.03) 0,rgba(122,46,58,.03) 2px,transparent 2px,transparent 7px),linear-gradient(135deg,#fffdf6,#e8dcc8);border-top:3px solid var(--wine);border-bottom:3px solid var(--wine)}.oshi-book-cover.no-cover .oshi-book-fallback{display:flex}.oshi-book-fallback-orn{color:var(--gold);font-size:11px;margin-bottom:3px}.oshi-book-fallback-title{font-family:var(--font-jp);font-weight:700;font-size:9px;color:var(--wine);line-height:1.3}.oshi-book-fallback-author{font-family:var(--font-jp);font-size:8px;color:var(--ink-3);margin-top:2px}.oshi-book-info{flex:1;min-width:0}.oshi-book-title{font-family:var(--font-jp);font-weight:700;font-size:13px;color:var(--ink);line-height:1.4}.oshi-book-author{font-size:11px;color:var(--ink-3);margin-top:2px}.oshi-book-stores{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.oshi-book-store{font-size:10px;padding:4px 9px;border-radius:4px;background:var(--wine);color:#fff;text-decoration:none;font-weight:600}.oshi-book-store:nth-child(2){background:#bf0000}.oshi-today-routine{background:#fff;border:1px solid rgba(122,46,58,.18);border-radius:6px;padding:11px 12px}.oshi-today-routine-head{font-size:10px;font-weight:700;color:var(--wine);letter-spacing:.15em;margin-bottom:8px}.oshi-today-routine-list{display:flex;flex-direction:column;gap:6px}.oshi-routine-row{display:flex;align-items:center;gap:10px;padding:6px 8px;background:linear-gradient(90deg,rgba(168,122,58,.06),transparent);border-radius:4px}.oshi-routine-time{font-family:var(--font-en);font-size:10px;color:var(--ink-3);font-weight:600;min-width:72px}.oshi-routine-ic{font-size:14px}.oshi-routine-act{font-family:var(--font-jp);font-size:12px;color:var(--ink);line-height:1.4;flex:1}.oshi-today-letter{background:linear-gradient(135deg,#fff9e6,#fff2d4);border:1px solid #d4b87a;border-radius:6px;padding:12px 14px;position:relative;box-shadow:0 2px 5px #a87a3a26}.oshi-today-letter:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px;background:repeating-linear-gradient(90deg,#bf0000 0 6px,#fff 6px 12px,#0050a0 12px 18px,#fff 18px 24px);border-radius:6px 6px 0 0}.oshi-today-letter-head{font-size:11px;font-weight:700;color:#8a5a1d;margin-bottom:7px;padding-top:4px}.oshi-today-letter-body{font-family:var(--font-jp);font-size:13px;color:#4a3820;line-height:1.75}.oshi-today-letter-sign{font-family:var(--font-jp);font-size:11px;color:#8a5a1d;text-align:right;font-style:italic;margin-top:6px}.oshi-rich{animation:oshiFadeIn .5s ease}@keyframes oshiFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.profile-action-btns{display:flex;flex-direction:column;gap:6px;align-items:flex-end;margin-top:4px}.oshi-set-btn{padding:4px 10px;background:transparent;border:1px solid var(--wine);color:var(--wine);border-radius:3px;font-family:var(--font-jp);font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.oshi-set-btn.active{background:var(--wine);color:var(--gold-light)}.person-share-btn{background:transparent;border:1px solid var(--rule);color:var(--ink-3);width:30px;height:30px;border-radius:50%;font-size:13px;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}.person-share-btn:hover{background:#8a5a1d14;color:var(--wine);border-color:var(--wine)}.x-recipe-card{background:#fff7e6;border-left:3px solid #c07d4e;border-radius:8px;padding:12px 14px;font-family:var(--font-jp)}.x-recipe-header{margin-bottom:10px}.x-recipe-title{font-size:15px;font-weight:700;color:#4a2d12}.x-recipe-tagline{font-size:11px;color:var(--ink-3);font-style:italic;margin-top:2px}.x-recipe-section{background:#fff;border-radius:6px;padding:6px 12px;margin-bottom:6px;font-size:12px}.x-recipe-section summary{cursor:pointer;color:var(--wine);font-weight:700;padding:4px 0}.x-recipe-section[open] summary{border-bottom:1px solid rgba(138,90,29,.15);margin-bottom:6px;padding-bottom:4px}.x-recipe-list,.x-recipe-steps{margin:4px 0 4px 20px;color:var(--ink-2);line-height:1.7;font-size:12px}.x-recipe-steps li{margin-bottom:4px}.x-recipe-note{font-size:11px;color:#6a4a2a;padding:6px 10px;background:#c07d4e1a;border-radius:6px;margin:6px 0;line-height:1.6}.x-recipe-copy{display:block;width:100%;margin-top:10px;padding:8px 12px;background:linear-gradient(135deg,#c07d4e,#8a5a1d);color:#fff7e6;border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;font-family:var(--font-jp)}.x-recipe-copy:hover{filter:brightness(1.05)}.x-recipe-copy.copied{background:linear-gradient(135deg,#7ea769,#5a7e4a)}.x-depth-card{padding:14px 16px;border-radius:8px;font-family:var(--font-jp);line-height:1.9}.x-depth-conflict{background:linear-gradient(135deg,#f5f0e5,#ede2cf);border-left:3px solid var(--wine)}.x-depth-turning{background:linear-gradient(135deg,#fff7e6,#f9e9c8);border-left:3px solid #c07d4e}.x-depth-unknown{background:linear-gradient(135deg,#f0edf5,#e5dff0);border-left:3px solid #6a4a8a}.x-depth-title{font-size:14px;font-weight:700;color:#4a2d12;margin-bottom:4px}.x-depth-period,.x-depth-year{font-size:11px;color:var(--ink-3);font-style:italic;letter-spacing:.05em;margin-bottom:8px}.x-depth-body{font-size:13px;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere}.places-intro{font-size:12px;color:var(--ink-3);text-align:center;margin-bottom:16px;font-family:var(--font-jp);font-style:italic;letter-spacing:.05em}.places-grid{display:flex;flex-direction:column;gap:10px}.place-card{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border:1px solid var(--rule);border-left:3px solid var(--wine);border-radius:3px;text-decoration:none;color:inherit;box-shadow:0 1px 3px #0000000f;transition:transform .15s,box-shadow .15s}.place-card:hover{transform:translate(2px);box-shadow:0 3px 8px #0000001f;border-left-color:var(--gold)}.place-pin{font-size:26px;flex-shrink:0}.place-info{flex:1;min-width:0}.place-name{font-size:14px;font-weight:800;color:var(--ink);font-family:var(--font-jp);margin-bottom:3px;letter-spacing:.04em}.place-location{font-size:11px;color:var(--wine);font-weight:700;font-family:var(--font-jp);letter-spacing:.08em;margin-bottom:4px}.place-note{font-size:12px;color:var(--ink-2);line-height:1.6;font-family:var(--font-jp);letter-spacing:.02em}.place-arrow{color:var(--wine);font-size:20px;font-weight:700;flex-shrink:0}.place-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.place-link{display:inline-block;padding:4px 10px;background:var(--wine);color:var(--gold-light);border-radius:14px;font-size:10px;font-family:var(--font-jp);font-weight:700;letter-spacing:.05em;text-decoration:none;border:1px solid var(--wine-dark);transition:background .15s}.place-link:hover{background:var(--wine-dark)}.place-link.place-link-sub{background:transparent;color:var(--wine);border:1px solid var(--wine)}.place-link.place-link-sub:hover{background:var(--wine);color:var(--gold-light)}.person-relations{margin:24px 0}.relations-grid{display:flex;flex-direction:column;gap:10px}.relation-item{display:flex;gap:12px;padding:12px 14px;background:#fff;border:1px solid var(--rule);border-left:3px solid var(--wine);border-radius:3px;box-shadow:0 1px 3px #0000000d;transition:transform .15s,box-shadow .15s}.relation-item.linked{cursor:pointer;background:linear-gradient(90deg,#fff5e8,#fff)}.relation-item.linked:hover{box-shadow:0 3px 8px #0000001f;border-left-color:var(--gold)}.relation-item.linked:active{transform:translate(2px)}.relation-avatar{width:48px;height:48px;border-radius:50%;background-size:contain;background-repeat:no-repeat;background-position:center top;background-color:#fff8ee;border:1px solid var(--rule);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--wine);font-family:var(--font-jp);font-weight:700}.relation-avatar.no-img{background-color:#e8dcc0}.relation-info{flex:1;min-width:0}.relation-name{font-size:14px;font-weight:800;color:var(--ink);font-family:var(--font-jp);letter-spacing:.04em;margin-bottom:3px}.relation-linked-badge{color:var(--wine);font-size:14px;font-weight:400}.relation-role{font-size:11px;color:var(--wine);font-weight:700;font-family:var(--font-jp);letter-spacing:.05em;margin-bottom:4px}.relation-note{font-size:12px;color:var(--ink-2);line-height:1.65;font-family:var(--font-jp);letter-spacing:.02em}.chat-fab{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;background:transparent;border:none;color:inherit;cursor:pointer;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));z-index:90;display:flex;align-items:center;justify-content:center;transition:transform .2s;padding:0}.chat-fab:hover{transform:scale(1.08) rotate(-4deg)}.chat-fab-icon{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.chat-fab-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#ff4757;color:#fff;border:2px solid #fff;font-size:11px;font-weight:800;font-family:var(--font-en);display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 4px #0000004d;animation:chat-fab-pulse 1.8s infinite}@keyframes chat-fab-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.chat-panel{position:fixed;right:20px;bottom:20px;width:min(370px,calc(100vw - 24px));height:min(560px,calc(100dvh - 32px));background:#fffcf3;border:2px solid var(--wine);border-radius:10px;box-shadow:0 10px 40px #0006;z-index:95;display:flex;flex-direction:column;overflow:hidden}.chat-panel-header{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(90deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border-bottom:1px solid var(--gold)}.chat-panel-head-avatar{width:36px;height:36px;border-radius:50%;background-size:cover;background-position:center top;background-color:var(--paper-warm);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--wine);font-weight:700;font-family:var(--font-jp);font-size:14px;flex-shrink:0}.chat-panel-head-info{flex:1;min-width:0}.chat-panel-head-name{font-size:14px;font-weight:800;color:#fff;font-family:var(--font-jp);letter-spacing:.05em}.chat-panel-head-status{font-size:10px;color:#b9ef9d;letter-spacing:.08em}.chat-panel-close{background:none;border:none;color:var(--gold-light);font-size:22px;cursor:pointer;line-height:1;padding:0 6px}.chat-panel-body{flex:1;overflow-y:auto;padding:12px 10px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 27px,rgba(122,46,58,.06) 27px,rgba(122,46,58,.06) 28px),#fffcf3}.chat-panel-empty{text-align:center;color:var(--ink-3);font-size:12px;font-family:var(--font-jp);line-height:1.9;padding:40px 20px;font-style:italic}.chat-msg{display:flex;align-items:flex-end;gap:6px;margin-bottom:8px}.chat-msg-them{justify-content:flex-start}.chat-msg-me{justify-content:flex-end}.chat-msg-avatar-sm{width:28px;height:28px;border-radius:50%;background-size:cover;background-position:center top;background-color:var(--paper-warm);display:flex;align-items:center;justify-content:center;color:var(--wine);font-size:11px;font-weight:700;font-family:var(--font-jp);flex-shrink:0;border:1px solid var(--rule)}.chat-msg-bubble{max-width:75%;background:#fff;padding:8px 12px;border-radius:12px 12px 12px 2px;box-shadow:0 1px 2px #0000001a;font-family:var(--font-jp);font-size:13px;line-height:1.65;color:var(--ink);border:1px solid var(--rule-soft)}.chat-msg-title{font-weight:700;color:var(--wine);margin-bottom:3px;font-size:12px}.chat-msg-src{font-size:10px;color:var(--ink-4);font-style:italic;text-align:right;margin-top:4px}.chat-msg-time{font-size:9px;color:var(--ink-4);font-family:var(--font-en);font-style:italic}.chat-msg-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px;gap:8px}.chat-msg-fav{background:none;border:none;color:#c4b68a;font-size:14px;cursor:pointer;padding:0 4px;line-height:1;transition:transform .15s,color .15s}.chat-msg-fav:active{transform:scale(1.3)}.chat-msg-fav.active{color:var(--gold)}.chat-msg-bubble-me{max-width:75%;background:linear-gradient(135deg,#8aa870,#6b8a55);color:#fff;padding:8px 12px;border-radius:12px 12px 2px;font-family:var(--font-jp);font-size:13px;line-height:1.6;box-shadow:0 1px 2px #00000026}.chat-msg-time-me{font-size:9px;color:#fffc;font-family:var(--font-en);font-style:italic;text-align:right;margin-top:3px}.chat-waiting-mini{display:flex;align-items:center;gap:8px;padding:10px 14px;color:var(--ink-4);font-size:11px;font-family:var(--font-jp);font-style:italic}.chat-panel-form{display:flex;padding:12px 10px;background:linear-gradient(180deg,#faf2d8,#fff);border-top:2px solid var(--wine);gap:8px;flex-shrink:0;box-shadow:0 -4px 8px #00000014}.chat-panel-input{flex:1;padding:10px 14px;border:1.5px solid var(--wine);border-radius:20px;font-family:var(--font-jp);font-size:13px;color:var(--ink);background:#fff;min-width:0}.chat-panel-input::placeholder{color:var(--wine);opacity:.6}.chat-panel-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px #b8952e33}.chat-panel-send{padding:0 18px;background:var(--wine);color:var(--gold-light);border:1.5px solid var(--wine-dark);border-radius:20px;cursor:pointer;font-size:16px;font-weight:700;flex-shrink:0}.chat-panel-send:active{background:var(--wine-dark)}.chat-empty{text-align:center;padding:50px 20px;background:#fff;border:1px dashed var(--wine);border-radius:6px}.chat-empty-title{font-size:15px;font-weight:800;color:var(--wine);font-family:var(--font-jp);letter-spacing:.1em;margin-bottom:10px}.chat-empty-text{font-size:12px;color:var(--ink-3);line-height:2;font-family:var(--font-jp);margin-bottom:16px}.chat-empty-btn{padding:8px 18px;background:var(--wine);color:var(--gold-light);border:1px solid var(--wine-dark);border-radius:3px;font-family:var(--font-jp);font-size:12px;font-weight:700;letter-spacing:.1em;cursor:pointer}.chat-header{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1px solid var(--rule);border-radius:6px;cursor:pointer;margin-bottom:16px;box-shadow:0 2px 8px #00000014}.chat-header:active{transform:translateY(1px)}.chat-head-avatar{width:42px;height:42px;border-radius:50%;background-size:cover;background-position:center top;background-color:var(--paper-warm);border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--wine);font-family:var(--font-jp);flex-shrink:0}.chat-head-name{font-size:15px;font-weight:800;color:var(--ink);font-family:var(--font-jp)}.chat-head-sub{font-size:10px;color:#55a855;font-weight:700;letter-spacing:.1em}.chat-waiting{display:flex;align-items:center;gap:10px;padding:14px 12px;margin:14px 20px;color:var(--ink-4);font-size:12px}.chat-typing{display:inline-flex;gap:4px}.chat-typing span{width:8px;height:8px;border-radius:50%;background:var(--ink-4);animation:chat-typing-bounce 1.2s infinite}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chat-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-6px);opacity:1}}.chat-waiting-text{font-family:var(--font-jp);letter-spacing:.03em}.letters-empty{text-align:center;color:var(--ink-4);padding:30px 20px;font-size:12px;line-height:1.9;font-family:var(--font-jp);font-style:italic}.letter-card{background:#fffcf3;border:1px solid var(--rule);border-left:4px solid var(--wine);border-radius:3px;padding:14px 16px 12px;margin-bottom:12px;box-shadow:0 1px 3px #0000000f}.letter-date{font-size:11px;color:var(--wine);font-family:var(--font-en);font-style:italic;font-weight:700;letter-spacing:.08em;padding-bottom:6px;margin-bottom:8px;border-bottom:1px dashed var(--rule-soft)}.letter-text{font-size:13px;color:var(--ink);line-height:1.85;font-family:var(--font-jp);white-space:pre-wrap}.search-panel{margin-bottom:18px}.search-box{width:100%;padding:12px 16px;background:#fff;border:1px solid var(--rule);border-radius:4px;font-size:14px;font-family:var(--font-jp);color:var(--ink);box-shadow:inset 0 1px 3px #0000000f;margin-bottom:12px;letter-spacing:.03em}.search-box:focus{outline:none;border-color:var(--wine)}.search-filters{display:flex;flex-wrap:wrap;gap:6px}.search-filter{padding:6px 14px;background:#fff;border:1px solid var(--wine);color:var(--wine);border-radius:16px;font-size:12px;font-family:var(--font-jp);font-weight:700;letter-spacing:.08em;cursor:pointer;transition:all .15s}.search-filter.active{background:var(--wine);color:var(--gold-light)}.search-filter:hover{background:var(--paper-warm)}.search-filter.active:hover{background:var(--wine-dark)}.search-section-label{font-size:13px;font-weight:700;color:var(--wine);font-family:var(--font-jp);letter-spacing:.25em;text-align:center;margin:22px 0 14px;padding-bottom:6px;border-bottom:1px solid var(--rule);position:relative}.search-section-label:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--gold);opacity:.5}.open-book{display:flex;max-width:680px;margin:16px auto 36px;background:#fffcf3;border:2px solid var(--wine-dark);border-radius:4px;box-shadow:inset 0 0 0 1px var(--gold),0 10px 30px #00000040,0 20px 40px #0000001f;position:relative;overflow:hidden}.open-book:before,.open-book:after{content:"";position:absolute;background-image:url(/app/assets/stain.png);background-size:contain;background-repeat:no-repeat;background-position:center;mix-blend-mode:multiply;pointer-events:none;opacity:.85;z-index:1}.open-book:before{width:180px;height:180px;top:8%;left:4%;z-index:5}.open-book:after{width:160px;height:160px;bottom:6%;right:6%;z-index:5}.open-book:before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:34px;background:linear-gradient(90deg,#0000,#0000001f 30%,#00000052 48%,#0000006b,#00000052 52%,#0000001f 70%,#0000);pointer-events:none;z-index:2}.open-page{flex:1;min-width:0;padding:36px 24px 32px;position:relative;background:radial-gradient(ellipse 80% 60% at 50% 50%,#fffcf3,#f5ead0)}.open-page-left{padding-right:36px}.open-page-right{padding-left:36px}@media(max-width:520px){.open-book{flex-direction:column;max-width:360px}.open-book:before{display:none}.open-page{padding:24px 20px}.open-page-left{border-bottom:1px solid var(--rule)}}.title-page{text-align:center;font-family:var(--font-jp);display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:340px}.title-page-top,.title-page-bottom{color:var(--gold);font-size:11px;letter-spacing:.6em;opacity:.55;display:flex;align-items:center;justify-content:center;gap:10px}.title-page-top:before,.title-page-top:after,.title-page-bottom:before,.title-page-bottom:after{content:"";flex:0 0 40px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(184,149,46,.45) 50%,transparent 100%)}.title-page-title{font-size:30px;font-weight:800;color:var(--wine-dark);letter-spacing:.25em;margin:22px 0 6px;text-shadow:0 1px 0 rgba(255,255,255,.7);line-height:1.35}.title-page-title .book-title-badge{display:inline-block;font-size:16px;letter-spacing:.18em;color:var(--gold-dark);margin-bottom:4px}.title-page-title .book-title-name{display:inline-block}.title-page-sub{font-size:11px;color:var(--ink-3);letter-spacing:.12em;font-family:var(--font-display);font-style:italic;margin-bottom:18px}.title-page-divider{display:flex;justify-content:center;margin:10px 0 18px}.title-page-divider span{width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--wine),transparent);position:relative}.title-page-divider span:before{content:"\2756";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:11px;color:var(--wine);background:#fffcf3;padding:0 6px}.title-page-meta{display:flex;justify-content:center;margin-bottom:8px}.title-page-meta-item{display:flex;align-items:baseline;gap:6px;font-family:var(--font-jp)}.title-page-meta-item strong{font-size:28px;color:var(--wine);font-weight:800}.title-page-meta-item span{font-size:12px;color:var(--ink-3);letter-spacing:.1em}.title-page-date{font-size:11px;color:var(--ink-4);font-family:var(--font-en);font-style:italic;letter-spacing:.1em;margin-bottom:18px}.title-page-edit-name{background:transparent;border:1px solid var(--wine);color:var(--wine);padding:6px 16px;border-radius:3px;font-family:var(--font-jp);font-size:11px;font-weight:700;letter-spacing:.1em;cursor:pointer;align-self:center;margin-bottom:18px;transition:all .15s}.title-page-edit-name:active{background:var(--wine);color:var(--gold-light)}.my-book-header{display:none;display:flex;gap:0;padding:20px 10px 28px;margin:0 auto 32px;position:relative;max-width:640px}@media(max-width:520px){.my-book-header{flex-direction:column;align-items:center;gap:16px;padding:20px 4px 28px}.my-book-header:before{display:none}.my-book-header-left{padding:0;justify-content:center}.my-book-header-right{padding:14px 16px;border-radius:4px;box-shadow:2px 3px 8px #0000001f;width:100%;max-width:320px}}.my-book-header:before{content:"";position:absolute;top:20px;bottom:28px;left:50%;transform:translate(-50%);width:30px;background:linear-gradient(90deg,#0000,#0003 45%,#00000059,#0003 55%,#0000);pointer-events:none;z-index:1}.my-book-header-left,.my-book-header-right{flex:1;min-width:0;position:relative}.my-book-header-left{display:flex;align-items:center;justify-content:flex-end;padding-right:10px}.my-book-header-right{padding-left:14px;background:linear-gradient(90deg,rgba(0,0,0,.08) 0%,transparent 8%,transparent 95%,rgba(0,0,0,.03) 100%),#fffcf3;border:1px solid var(--rule);border-radius:0 4px 4px 0;box-shadow:inset 10px 0 15px -12px #00000040,2px 3px 8px #0000001f}.my-book-cover{width:100%;max-width:200px;aspect-ratio:2 / 3;margin:0 auto;background:radial-gradient(ellipse at 30% 25%,rgba(184,149,46,.15) 0%,transparent 55%),linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);border-radius:2px 8px 8px 2px;display:flex;align-items:center;justify-content:center;padding:12px;box-shadow:inset 0 0 0 1px #d4b05533,6px 8px 20px #00000073,0 3px #e8ddc6,0 5px #d4c8a4,0 7px #bcb088,0 9px #a49870,0 11px #988c64,0 13px 7px #00000059}.my-book-cover-inner{border:1px solid var(--gold-light);padding:22px 14px;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;box-shadow:inset 0 0 0 1px #d4b05559,inset 0 0 30px #0003}.my-book-cover-ornament{color:var(--gold-light);font-size:11px;opacity:.75;letter-spacing:.1em}.my-book-cover-title{font-size:20px;font-weight:800;color:var(--gold-light);letter-spacing:.2em;font-family:var(--font-jp);text-shadow:0 2px 6px rgba(0,0,0,.4);margin:6px 0 2px;white-space:nowrap}.my-book-cover-sub{font-size:9px;color:var(--gold-light);opacity:.7;letter-spacing:.08em;font-family:var(--font-en);font-style:italic;margin-bottom:8px}.my-book-cover-meta{font-size:10px;color:var(--gold-light);opacity:.65;letter-spacing:.1em;font-family:var(--font-en)}.my-book-stats{display:none}.my-book-toc{padding:18px 20px 20px 12px;font-family:var(--font-jp)}.my-book-toc-head{font-size:20px;font-weight:800;color:var(--wine-dark);letter-spacing:.4em;text-align:center;margin-bottom:4px}.my-book-toc-line{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 auto 14px;width:70%;position:relative}.my-book-toc-line:before{content:"\2756";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:10px;color:var(--wine);background:#fffcf3;padding:0 6px}.my-book-toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.my-book-toc-list li{display:block}.my-book-toc-link{display:grid;grid-template-columns:46px 1fr auto;align-items:baseline;gap:8px;padding:8px 4px;text-decoration:none;color:var(--ink);font-size:13px;font-family:var(--font-jp);border-bottom:1px dotted var(--rule);cursor:pointer;transition:color .15s,background .15s}.my-book-toc-link:hover{color:var(--wine);background:#b8952e14}.toc-num{color:var(--wine);font-weight:700;font-size:11px;letter-spacing:.1em}.toc-title{font-weight:700;letter-spacing:.05em}.toc-count{color:var(--ink-4);font-size:11px;font-family:var(--font-en);font-style:italic}.my-book-stat{display:none}.my-book-chapter{text-align:center;margin:26px 0 18px;position:relative}.my-book-chapter-label{font-size:10px;color:var(--gold);letter-spacing:.4em;font-family:var(--font-en);font-style:italic;margin-bottom:4px}.my-book-chapter-title{font-size:18px;font-weight:800;color:var(--wine-dark);letter-spacing:.2em;font-family:var(--font-jp)}.my-book-chapter-line{width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:8px auto 0;position:relative}.my-book-chapter-line:before{content:"\2756";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:9px;color:var(--wine);background:var(--paper);padding:0 6px}.my-book-quote{cursor:pointer}.works-intro{font-size:12px;color:var(--ink-3);text-align:center;margin-bottom:16px;font-family:var(--font-jp);letter-spacing:.05em;font-style:italic}.works-list{display:flex;flex-direction:column;gap:14px}.work-card{display:flex;gap:14px;background:#fff;border:1px solid var(--rule);border-left:3px solid var(--wine);border-radius:3px;padding:12px;cursor:pointer;text-decoration:none;color:inherit;box-shadow:0 2px 6px #0000000f;transition:transform .15s,box-shadow .15s;overflow:hidden}.work-card:active{transform:translateY(1px);box-shadow:0 1px 3px #0000000a}.work-thumb{width:120px;height:90px;flex-shrink:0;background-size:cover;background-position:center;background-color:#e8e0d0;border-radius:3px;position:relative;box-shadow:0 1px 3px #00000026}.work-thumb.book-thumb{width:80px;height:110px;background-size:cover}.work-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;text-shadow:0 2px 6px rgba(0,0,0,.7);background:#0000002e;transition:background .15s}.work-music:hover .work-play{background:#00000059}.work-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.work-type{font-size:10px;color:var(--gold);font-family:var(--font-en);font-style:italic;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.work-title{font-size:14px;font-weight:700;color:var(--ink);font-family:var(--font-jp);line-height:1.4;letter-spacing:.03em}.work-desc{font-size:12px;color:var(--ink-2);line-height:1.65;font-family:var(--font-jp);letter-spacing:.02em}.work-link{margin-top:auto;font-size:11px;color:var(--wine);font-weight:700;letter-spacing:.05em}.work-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.work-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:10px;font-family:var(--font-jp);font-weight:700;letter-spacing:.05em;border-radius:3px;text-decoration:none;transition:transform .1s,filter .1s}.work-btn:active{transform:scale(.95)}.work-btn-icon{font-size:11px;line-height:1}.work-btn-yt{background:#c4302b;color:#fff;border:1px solid #8b1f1b}.work-btn-yt:hover{filter:brightness(1.1)}.work-btn-imslp{background:#fff;color:var(--wine);border:1px solid var(--wine)}.work-btn-imslp:hover{background:var(--wine);color:#fff}.work-iframe{width:100%;aspect-ratio:16 / 9;border:none;display:block;background:#000}.work-music.playing{padding:0}.image-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:300;cursor:pointer;padding:20px}.image-overlay img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 4px 30px #00000080}.image-overlay-close{position:absolute;top:15px;right:20px;background:none;border:none;color:#fff;font-size:32px;cursor:pointer;line-height:1}.my-routine-section{background:linear-gradient(135deg,#b8952e14,#7a2e3a0d);border:2px solid var(--wine);border-radius:8px;padding:18px 16px 16px;margin-bottom:28px;box-shadow:inset 0 0 0 1px var(--gold)}.my-routine-heading{font-size:16px;font-weight:800;color:var(--wine-dark);font-family:var(--font-jp);letter-spacing:.15em;text-align:center;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--gold)}.routine-slots{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:8px}.routine-slot{padding:8px 6px;background:#fff;border:1px solid var(--wine);border-radius:4px;color:var(--wine);cursor:pointer;font-family:var(--font-jp);display:flex;flex-direction:column;align-items:center;gap:2px;transition:all .15s}.routine-slot.active{background:var(--wine);color:var(--gold-light);box-shadow:0 2px 6px #00000026}.routine-slot-name{font-size:12px;font-weight:700;letter-spacing:.05em}.routine-slot-hint{font-size:9px;opacity:.7;letter-spacing:.08em}.routine-slot-rename{display:block;margin:0 auto 12px;padding:4px 12px;background:transparent;border:none;color:var(--ink-3);font-size:11px;font-family:var(--font-jp);cursor:pointer;text-decoration:underline}.routine-slot-rename:active{color:var(--wine)}.my-routine-empty{text-align:center;color:var(--ink-3);padding:16px;font-size:13px;font-family:var(--font-jp);font-style:italic;line-height:1.7}.my-routine-card{margin-bottom:12px!important;border-color:var(--wine)!important;background:#fff!important}.my-avatar{background:var(--wine)!important;color:var(--gold-light)!important;font-size:22px!important}.my-routine-edit-btn{width:100%;padding:10px 14px;background:var(--wine);color:var(--gold-light);border:1px solid var(--wine-dark);border-radius:4px;font-family:var(--font-jp);font-size:13px;font-weight:700;letter-spacing:.1em;cursor:pointer}.my-routine-edit-btn:active{background:var(--wine-dark)}.routines-section-heading{font-size:14px;font-weight:700;color:var(--wine);font-family:var(--font-jp);letter-spacing:.2em;margin-bottom:4px;text-align:center}.routines-section-sub{font-size:11px;color:var(--ink-3);text-align:center;margin-bottom:14px;font-family:var(--font-jp);font-style:italic}.routine-search-wrap{margin:0 auto 18px;max-width:680px;padding:0 8px}.routine-search-input{width:100%;padding:10px 14px;border:1px solid var(--rule);border-radius:22px;font-size:14px;background:#fff;font-family:var(--font-jp);box-shadow:0 2px 8px #0000000a inset;outline:none;box-sizing:border-box}.routine-search-input:focus{border-color:var(--wine);box-shadow:0 0 0 3px #8a5a1d1a}.routine-search-chips{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:10px 0 4px;scrollbar-width:none}.routine-search-chips::-webkit-scrollbar{display:none}.routine-chip{flex:0 0 auto;padding:6px 14px;border:1px solid var(--rule);border-radius:16px;background:#fff;font-size:12px;color:var(--ink-2);cursor:pointer;font-family:var(--font-jp);white-space:nowrap;transition:all .15s}.routine-chip.active{background:var(--wine);color:#fff;border-color:var(--wine)}.routine-chip:hover:not(.active){background:#8a5a1d0f}.routine-empty-filter{text-align:center;padding:40px 20px;color:var(--ink-3);font-size:13px;font-family:var(--font-jp)}.routine-source{font-size:10px;color:var(--ink-4);font-family:var(--font-en);font-style:italic;text-align:right;margin:-6px 0 12px;letter-spacing:.03em;padding-right:6px}.routine-story{background:#fffcf3;border-left:3px solid var(--gold);padding:10px 12px;margin:10px 0;font-size:12px;line-height:1.8;color:var(--ink-2);font-family:var(--font-jp);letter-spacing:.02em;border-radius:2px}.routine-copy-btn{width:100%;margin-top:10px;padding:8px 14px;background:transparent;color:var(--wine);border:1px dashed var(--wine);border-radius:3px;font-family:var(--font-jp);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.routine-copy-btn:active{background:var(--wine);color:var(--gold-light)}.routine-edit-overlay{position:fixed;inset:0;background:#0009;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}.support-sub,.support-title,.articles-coming-soon-title,.articles-coming-soon-sub,.sponsor-card-body,.sponsor-card-title,.howto-step-desc,.howto-step-title,.howto-intro,.howto-footer,.my-book-empty-body,.my-book-empty-hero,.my-book-empty-poem,.guide-chara-text,.key-popup-sub,.hero-silhouette-sub,.intro,.match-intro,.letter-hint{text-wrap:pretty;line-break:strict;word-break:normal;overflow-wrap:anywhere}.person-book-name,.today-birthday-name,.cal-name,.profile-cover-name,.oshi-name,.social-list-name{text-wrap:pretty;line-break:strict;word-break:keep-all;overflow-wrap:anywhere}.guide-chara{display:flex;align-items:center;gap:10px;margin:8px 0 14px;padding:0;max-width:100%;background:none;border:none}.guide-chara-video-wrap{flex-shrink:0;border-radius:50%;overflow:hidden;background:#fffaf0;border:1.5px solid var(--gold);box-shadow:0 2px 6px #7a1b2f1a;position:relative}.guide-chara-video{display:block;width:100%;height:100%;object-fit:cover}.guide-chara-bubble{position:relative;flex:1;min-width:0;padding:9px 12px 10px;background:#fffdf7;border:1px solid var(--rule-soft);border-radius:10px;box-shadow:0 2px 6px #0000000a}.guide-chara-bubble-tail{position:absolute;left:-7px;top:16px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:8px solid #fffdf7;filter:drop-shadow(-1px 0 0 var(--rule-soft))}.guide-chara-name{font-family:var(--font-jp);font-size:10.5px;font-weight:700;color:var(--wine);letter-spacing:.1em;margin-bottom:2px}.guide-chara-name:before{content:"\258e";color:var(--gold);margin-right:3px}.guide-chara-text{font-family:var(--font-jp);font-size:12.5px;line-height:1.65;color:var(--ink-1);letter-spacing:.02em}.guide-size-sm .guide-chara-video-wrap{width:56px;height:56px}.guide-size-md .guide-chara-video-wrap{width:86px;height:86px}.guide-size-lg .guide-chara-video-wrap{width:120px;height:120px;border-width:2px}.guide-size-lg .guide-chara-text{font-size:14px}.guide-layout-below{flex-direction:column;align-items:center;text-align:center;gap:8px}.guide-layout-below .guide-chara-bubble-tail{left:50%;top:-7px;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid #fffdf7;border-top:none;filter:drop-shadow(0 -1px 0 var(--rule-soft))}.guide-layout-below .guide-chara-bubble{max-width:340px}.guide-hero-wrap{position:relative;max-width:640px;margin:16px auto 0;padding:18px 20px 16px;background:linear-gradient(180deg,#fffaf0,#fff6e0);border:1px solid var(--gold);border-radius:10px;box-shadow:0 4px 14px #af873c1f;text-align:center}.guide-hero-wrap .guide-chara{margin:0 auto;justify-content:center}.guide-hero-dismiss{position:absolute;top:6px;right:8px;background:transparent;border:none;font-family:var(--font-jp);font-size:10.5px;color:var(--ink-3);cursor:pointer;padding:4px 8px;border-radius:12px}.guide-hero-dismiss:hover{background:#0000000d;color:var(--wine)}@media(max-width:600px){.guide-chara{gap:8px;margin:6px 0 10px}.guide-size-sm .guide-chara-video-wrap{width:48px;height:48px}.guide-size-md .guide-chara-video-wrap{width:68px;height:68px}.guide-size-lg .guide-chara-video-wrap{width:96px;height:96px}.guide-chara-text{font-size:12px}.guide-hero-wrap{margin:12px 10px 0;padding:14px 14px 12px}}.home-block-label+.guide-chara{margin-top:4px}.key-popup-panel .guide-chara{margin:10px 0 14px;padding:8px 10px;background:#fffaf0;border:1px dashed var(--rule);border-radius:8px}.howto-slides{position:fixed;inset:0;z-index:10020;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .24s ease;pointer-events:none}.howto-slides.open{opacity:1;pointer-events:auto}.howto-slides-backdrop{position:absolute;inset:0;background:#1e0f16c7;backdrop-filter:blur(3px)}.howto-slides-panel{position:relative;width:min(540px,94%);max-height:92vh;background:linear-gradient(180deg,#fffdf6,#fffaf0);border:1px solid var(--gold);border-radius:14px;box-shadow:0 20px 60px #00000080;padding:14px 14px 56px;overflow:hidden;transform:scale(.96);transition:transform .24s ease}.howto-slides.open .howto-slides-panel{transform:scale(1)}.howto-slides-close{position:absolute;top:10px;right:10px;width:36px;height:36px;background:#fffdf7f2;border:1px solid var(--rule);border-radius:50%;font-size:20px;color:var(--ink-2);cursor:pointer;padding:0;line-height:1;z-index:5;box-shadow:0 2px 6px #0003}.howto-slides-close:hover{background:var(--wine);color:var(--gold-light);border-color:var(--gold)}.howto-slides-viewport{overflow:hidden;width:100%;max-height:calc(92vh - 80px);border-radius:8px;background:#fffcf3;touch-action:pan-y}.howto-slides-track{display:flex;transition:transform .35s cubic-bezier(.2,.8,.2,1);width:100%}.howto-slide{flex:0 0 100%;width:100%}.howto-slide img{display:block;width:100%;height:auto;object-fit:contain}.howto-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;background:#fffdf7eb;border:1px solid var(--gold);border-radius:50%;font-size:24px;color:var(--wine-dark);cursor:pointer;padding:0;line-height:1;box-shadow:0 3px 8px #00000040;z-index:4;font-weight:700}.howto-nav:hover{background:var(--wine);color:var(--gold-light)}.howto-nav-prev{left:6px}.howto-nav-next{right:6px}.howto-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:8px}.howto-dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--gold);background:#b8952e33;cursor:pointer;padding:0;transition:all .15s}.howto-dot:hover{background:var(--gold)}.howto-dot.active{background:var(--wine);border-color:var(--wine-dark);transform:scale(1.3)}.howto-counter{position:absolute;top:14px;left:16px;font-family:var(--font-jp);font-size:11px;font-weight:700;color:var(--wine);background:#fffdf7eb;padding:3px 10px;border-radius:12px;border:1px solid var(--gold);z-index:5}@media(max-width:600px){.howto-slides-panel{padding:10px 10px 50px;border-radius:10px}.howto-nav{width:36px;height:36px;font-size:20px}.howto-slides-close{width:32px;height:32px;font-size:18px;top:8px;right:8px}}.howto-banner-btn{display:block;width:100%;padding:0;border:1px solid var(--gold);border-radius:10px;background:#fffcf3;overflow:hidden;cursor:pointer;box-shadow:0 3px 10px #0000001f;transition:transform .2s,box-shadow .2s}.howto-banner-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #7a1b2f40}.howto-banner-img{display:block;width:100%;height:auto;object-fit:cover}.menu-burger{position:relative;width:40px;height:40px;padding:0;background:#b8952e14;border:1px solid var(--gold);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s}.menu-burger:hover{background:#b8952e33;transform:scale(1.05)}.burger-lines{display:flex;flex-direction:column;gap:4px;width:18px}.burger-lines span{display:block;height:2px;background:var(--gold-light);border-radius:2px;transition:transform .2s,opacity .2s}.burger-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:#e05a5a;border:1.5px solid var(--wine-dark);box-shadow:0 0 6px #e05a5a99}.settings-drawer .auth-modal-backdrop{background:#00000073}.settings-drawer .settings-drawer-panel{position:fixed;top:0;right:0;width:min(380px,100%);height:100vh;height:100dvh;background:linear-gradient(180deg,#fffdf6,#fffaf0);border-left:1px solid var(--gold);box-shadow:-4px 0 20px #0000004d;padding:18px 18px 40px;overflow-y:auto;transform:translate(100%);transition:transform .26s cubic-bezier(.2,.8,.2,1)}.settings-drawer.open .settings-drawer-panel{transform:translate(0)}.settings-drawer-close{position:absolute;top:10px;right:12px;width:36px;height:36px;background:transparent;border:none;font-size:24px;color:var(--ink-2);cursor:pointer;line-height:1;padding:0;border-radius:50%}.settings-drawer-close:hover{background:#0000000d}.settings-user{display:flex;align-items:center;gap:12px;padding:14px 8px 16px;margin-top:12px;border-bottom:1px solid var(--rule-soft);margin-bottom:14px}.settings-user-av{width:52px;height:52px;border-radius:50%;background-size:cover;background-position:center;background-color:#f1ead9;border:2px solid var(--gold);flex-shrink:0}.settings-user-av.guest-av{background-size:180%;background-position:center center;background-color:#7a9a8a}.settings-user-av.no-img{display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--wine-dark);font-family:var(--font-jp);font-weight:700;background:#fff6e0}.settings-user-info{min-width:0;flex:1}.settings-user-name{font-family:var(--font-jp);font-size:15px;font-weight:700;color:var(--wine-dark)}.settings-user-sub{font-size:11px;color:var(--ink-3);margin-top:2px}.settings-login-btn{display:block;width:100%;padding:12px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold);border-radius:24px;font-family:var(--font-jp);font-weight:700;font-size:13px;cursor:pointer;margin-bottom:16px;letter-spacing:.05em}.settings-sec-title{font-family:var(--font-jp);font-size:11px;font-weight:700;color:var(--wine);letter-spacing:.15em;margin:14px 4px 6px}.settings-list{display:flex;flex-direction:column;gap:4px;padding:4px;background:#fffdf7;border:1px solid var(--rule-soft);border-radius:8px}.settings-item{display:flex;align-items:center;gap:12px;padding:11px 12px;background:transparent;border:none;cursor:pointer;font:inherit;color:inherit;text-align:left;border-radius:6px;transition:background .12s}.settings-item:hover:not(.disabled){background:#b8952e1a}.settings-item.disabled{opacity:.5;cursor:default}.settings-item-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0}.settings-item-body{flex:1;min-width:0;display:flex;flex-direction:column}.settings-item-body b{font-family:var(--font-jp);font-size:13px;font-weight:700;color:var(--ink-1)}.settings-item-body small{font-size:10.5px;color:var(--ink-3);margin-top:2px;line-height:1.4}.settings-item-arrow{color:var(--ink-3);font-size:18px;flex-shrink:0}.settings-item-danger b{color:#b03040}.settings-item-toggle{cursor:default}.settings-toggle{appearance:none;-webkit-appearance:none;width:36px;height:20px;background:#d6c8a4;border-radius:10px;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}.settings-toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 2px #00000040}.settings-toggle:checked{background:var(--wine)}.settings-toggle:checked:after{transform:translate(16px)}.sns-form{display:flex;flex-direction:column;gap:10px;padding:6px 2px 4px}.sns-field{display:flex;flex-direction:column;gap:4px}.sns-label{font-family:var(--font-jp);font-size:11px;font-weight:700;color:var(--wine);letter-spacing:.05em}.sns-field input,.sns-field select{padding:8px 10px;border:1px solid var(--rule);border-radius:4px;font-family:var(--font-jp);font-size:13px;background:#fffdf7;color:var(--ink-1)}.sns-actions{display:flex;gap:10px;margin-top:8px}.sns-cancel,.sns-save{flex:1;padding:10px;border-radius:20px;font-family:var(--font-jp);font-weight:700;font-size:13px;cursor:pointer}.sns-cancel{background:transparent;border:1px solid var(--rule);color:var(--ink-2)}.sns-save{background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold)}.hist-head{text-align:center;padding:18px 16px 10px;border-bottom:1px dashed var(--rule-soft);margin-bottom:14px}.hist-title{font-family:var(--font-jp);font-size:22px;font-weight:800;color:var(--wine-dark);letter-spacing:.12em;margin:0 0 4px}.hist-sub{font-family:var(--font-jp);font-size:12px;color:var(--ink-3);margin:0}.hist-modes{display:flex;gap:6px;padding:10px 12px 14px;justify-content:center;position:sticky;top:0;background:var(--paper);z-index:5}.hist-mode{padding:8px 16px;background:#fffdf7;border:1px solid var(--rule-soft);border-radius:20px;font-family:var(--font-jp);font-weight:700;font-size:13px;color:var(--ink-2);cursor:pointer;transition:all .15s}.hist-mode:hover{background:#fff6e0}.hist-mode.active{background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border-color:var(--gold)}.tl-era-jump{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 14px;justify-content:center}.tl-jump-btn{padding:5px 12px;background:transparent;border:1px solid var(--rule);border-radius:14px;font-family:var(--font-jp);font-size:11px;color:var(--wine-dark);cursor:pointer}.tl-jump-btn:hover{background:#fff6e0;border-color:var(--gold)}.tl-intro{text-align:center;font-size:11px;color:var(--ink-3);margin:0 0 16px;padding:0 16px}.tl-intro strong{color:var(--wine-dark)}.tl-era,.tl-genre{padding:16px 14px 24px;border-bottom:2px double var(--rule-soft)}.tl-era-head,.tl-genre-head{text-align:center;margin-bottom:14px;padding:10px 0;position:relative}.tl-era-head:before,.tl-genre-head:before{content:"";position:absolute;left:50%;top:0;width:60px;height:1px;background:var(--gold);transform:translate(-50%)}.tl-era-head:after,.tl-genre-head:after{content:"";position:absolute;left:50%;bottom:0;width:60px;height:1px;background:var(--gold);transform:translate(-50%)}.tl-era-name,.tl-genre-name{font-family:var(--font-jp);font-size:20px;font-weight:800;color:var(--wine-dark);letter-spacing:.15em;margin:4px 0 2px}.tl-era-years,.tl-genre-count{font-family:var(--font-en);font-size:11px;color:var(--ink-3);letter-spacing:.1em}.tl-era-desc{font-family:var(--font-jp);font-size:11.5px;color:var(--ink-2);margin-top:4px}.tl-era-count{display:inline-block;margin-top:6px;padding:2px 10px;font-size:11px;color:var(--gold-light);background:var(--wine);border-radius:10px;letter-spacing:.05em}.tl-cat,.tl-gera{margin-top:14px;padding:0 2px}.tl-cat-head,.tl-gera-head{font-family:var(--font-jp);font-size:12px;font-weight:700;color:var(--wine);letter-spacing:.08em;margin-bottom:8px;padding-left:8px;border-left:3px solid var(--gold)}.tl-cat-count{display:inline-block;margin-left:6px;padding:1px 6px;font-size:10px;color:var(--ink-3);background:#b8952e26;border-radius:8px}.tl-person-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.tl-person{position:relative;aspect-ratio:3 / 4;border:1px solid var(--rule-soft);border-radius:4px;overflow:hidden;background-size:cover;background-position:center top;background-color:#f1ead9;cursor:pointer;padding:0;font:inherit;color:inherit;transition:transform .15s,box-shadow .15s}.tl-person:hover{transform:translateY(-2px);box-shadow:0 6px 14px #00000040;z-index:2}.tl-person.no-img{display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(180deg,#fff6e0,#f1ead9 70%)}.tl-person-ph{position:absolute;top:20%;left:50%;transform:translate(-50%);font-family:var(--font-jp);font-size:28px;color:var(--wine);opacity:.6}.tl-person-shade{position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.7) 100%);pointer-events:none}.tl-person-name{position:absolute;bottom:18px;left:6px;right:6px;font-family:var(--font-jp);font-size:11.5px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);line-height:1.25;text-align:left;z-index:2;word-break:keep-all;overflow-wrap:anywhere}.tl-person-year{position:absolute;bottom:4px;left:6px;font-family:var(--font-en);font-size:10px;color:#fffc;letter-spacing:.05em;text-shadow:0 1px 2px rgba(0,0,0,.6);z-index:2}.tl-person-central{border:2px solid var(--gold);box-shadow:0 0 0 1px #b8952e59,0 3px 10px #af873c40}.tl-person-crown{position:absolute;top:6px;right:6px;width:22px;height:22px;background:var(--wine);color:var(--gold-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;z-index:3;box-shadow:0 2px 4px #0000004d}.tl-century{padding:12px 14px 18px;border-bottom:1px dashed var(--rule-soft)}.tl-century-label{font-family:var(--font-jp);font-size:14px;font-weight:700;color:var(--wine-dark);letter-spacing:.05em;margin-bottom:8px}.tl-century-count{display:inline-block;margin-left:6px;padding:1px 8px;font-size:10px;color:var(--ink-3);background:#b8952e1f;border-radius:8px}@media(max-width:600px){.hist-title{font-size:18px}.hist-mode{font-size:12px;padding:7px 12px}.tl-person-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.tl-person-name{font-size:10.5px;bottom:16px}.tl-era-name,.tl-genre-name{font-size:17px}}.logout-modal{z-index:10010}.logout-panel{max-width:420px;background:linear-gradient(180deg,#fffdf6,#fffaf0);border:1px solid var(--gold);padding:0;overflow:hidden}.logout-head{text-align:center;padding:20px 20px 16px;background:linear-gradient(180deg,#fff6e0,#fffcf3);border-bottom:1px solid var(--rule-soft)}.logout-ornament{color:var(--gold);font-size:14px;margin-bottom:4px;opacity:.75}.logout-title{font-family:var(--font-jp);font-size:18px;font-weight:700;color:var(--wine-dark);letter-spacing:.15em;margin:0 0 4px}.logout-sub{font-family:var(--font-jp);font-size:11px;color:var(--ink-3);letter-spacing:.03em}.logout-choices{padding:16px 18px 8px;display:flex;flex-direction:column;gap:10px}.logout-choice{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:#fffdf7;border:1px solid var(--rule-soft);border-radius:8px;cursor:pointer;font:inherit;color:inherit;text-align:left;transition:all .15s}.logout-choice:hover{border-color:var(--gold);background:#fff6e0;transform:translate(2px)}.logout-choice-icon{font-size:22px;flex-shrink:0;line-height:1.1}.logout-choice-body{flex:1;min-width:0}.logout-choice-title{font-family:var(--font-jp);font-size:13.5px;font-weight:700;color:var(--wine-dark);margin-bottom:3px}.logout-choice-desc{font-size:11px;color:var(--ink-3);line-height:1.65}.logout-choice-danger .logout-choice-title{color:#b03040}.logout-choice-danger:hover{border-color:#b03040;background:#fff5f5}.logout-cancel{display:block;width:calc(100% - 36px);margin:8px 18px 18px;padding:10px;background:transparent;border:1px solid var(--rule);border-radius:20px;font-family:var(--font-jp);font-size:12px;color:var(--ink-2);cursor:pointer}.logout-cancel:hover{background:#00000008}.title-picker-modal{max-width:460px;padding:0;overflow:hidden;background:linear-gradient(180deg,#fffdf6,#fffaf0);border:1px solid var(--gold);box-shadow:0 20px 60px #00000059}.title-picker-head{position:relative;padding:18px 20px 14px;text-align:center;background:linear-gradient(180deg,#fff6e0,#fffcf3);border-bottom:1px solid var(--rule-soft)}.title-picker-head-ornament{font-family:var(--font-display);color:var(--gold);font-size:11px;letter-spacing:.2em;margin-bottom:6px}.title-picker-title{font-family:var(--font-jp);font-size:18px;color:var(--wine-dark);font-weight:700;letter-spacing:.15em;margin:0 0 4px}.title-picker-sub{font-family:var(--font-jp);font-size:11px;color:var(--ink-3)}.title-picker-sub strong{color:var(--wine);font-size:14px;letter-spacing:.05em}.title-picker-close{position:absolute!important;top:8px!important;right:10px!important}.title-picker-list{padding:14px 16px;display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto}.title-picker-item{position:relative;text-align:left;padding:12px 44px 12px 14px;background:#fffdf7;border:1px solid var(--rule-soft);border-radius:6px;cursor:pointer;font:inherit;color:inherit;transition:all .15s}.title-picker-item:hover:not(.locked){border-color:var(--gold);background:#fff6e0;transform:translate(2px)}.title-picker-item.selected{border-color:var(--wine);background:linear-gradient(135deg,#fff6e0,#fffcf3);box-shadow:0 2px 8px #7a1b2f26}.title-picker-item.locked{opacity:.5;cursor:not-allowed;background:#f5f1e8}.title-picker-item-name{font-family:var(--font-jp);font-size:14px;font-weight:700;color:var(--wine-dark);letter-spacing:.05em}.title-picker-item-desc{font-size:11px;color:var(--ink-3);margin-top:3px}.title-picker-item-check{position:absolute;top:50%;right:14px;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:var(--wine);color:var(--gold-light);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.title-picker-foot{padding:10px 20px 16px;text-align:center;font-size:10.5px;color:var(--ink-3);letter-spacing:.05em;border-top:1px dashed var(--rule-soft);background:#fffaf0}.social-list-modal{max-width:560px;padding:0;overflow:hidden;display:flex;flex-direction:column}.social-list-head-name{padding:10px 44px 6px 18px;font-family:var(--font-jp);font-size:13px;font-weight:700;color:var(--wine-dark);background:#fffaf0;border-bottom:1px solid var(--rule-soft)}.social-list-item-user{background:linear-gradient(135deg,#fff6e0,#fffcf3)!important;border-color:var(--gold)!important;cursor:default}.social-list-item-realuser{background:#f7f3ea!important;cursor:default}.social-list-subhead{font-family:var(--font-jp);font-size:11px;font-weight:700;color:var(--wine-dark);letter-spacing:.05em;margin:10px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--rule-soft)}.social-list-subhead:first-child{margin-top:0}.social-list-loading{padding:8px 0;font-size:11px;color:var(--ink-3);text-align:center}.social-list-userfollowers:empty{display:none}.profile-x-social{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px;padding-top:10px;border-top:1px solid var(--rule-soft)}.profile-x-social-item{flex:1;background:none;border:none;padding:6px 4px;cursor:pointer;font:inherit;color:inherit;display:flex;align-items:baseline;justify-content:center;gap:4px;border-radius:4px;transition:background .15s}.profile-x-social-item:hover{background:#7a1b2f14}.profile-x-social-num{font-family:var(--font-display);font-size:15px;font-weight:800;color:var(--wine-dark)}.profile-x-social-lbl{font-family:var(--font-jp);font-size:11px;color:var(--ink-3)}.social-list-tabs{display:flex;align-items:stretch;position:relative;border-bottom:1px solid var(--rule);background:#fffaf0}.social-list-tab{flex:1;background:none;border:none;padding:12px 8px 10px;cursor:pointer;font:inherit;color:var(--ink-2);display:flex;flex-direction:column;align-items:center;gap:2px;border-bottom:3px solid transparent;transition:background .15s,color .15s,border-color .15s}.social-list-tab:hover{background:#7a1b2f0d}.social-list-tab.active{color:var(--wine-dark);border-bottom-color:var(--wine);background:#fff}.social-list-tab-num{font-family:var(--font-display);font-size:18px;font-weight:800;line-height:1}.social-list-tab-lbl{font-family:var(--font-jp);font-size:11px;letter-spacing:.08em}.social-list-close{position:absolute;top:6px;right:8px;background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink-3);padding:4px 8px;line-height:1}.social-list-close:hover{color:var(--wine-dark)}.social-list-body{padding:16px 18px 20px;overflow-y:auto;max-height:calc(90vh - 80px)}.social-list-item.no-link{cursor:default;opacity:.85}.social-list-item.no-link:hover{background:#fffcf3;border-color:var(--rule-soft)}.social-list-empty{padding:24px 8px;text-align:center;color:var(--ink-3);font-size:13px;line-height:1.8}.social-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.social-list-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fffcf3;border:1px solid var(--rule-soft);border-radius:4px;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background .15s,border-color .15s}.social-list-item:hover{background:#fff6e0;border-color:var(--wine)}.social-list-avatar{width:40px;height:40px;border-radius:50%;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#fff8ee;flex-shrink:0;border:1px solid var(--rule-soft)}.social-list-avatar.no-img{display:flex;align-items:center;justify-content:center;font-family:var(--font-jp);font-size:18px;color:var(--wine);background-color:#f1ead9}.social-list-meta{min-width:0;flex:1}.social-list-name{font-family:var(--font-jp);font-size:14px;color:var(--ink-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.social-list-sub{font-size:11px;color:var(--ink-3);margin-top:2px}.routine-edit-modal{background:#fff;border-radius:6px;padding:20px;max-width:580px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0006}.routine-edit-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);padding-bottom:10px;margin-bottom:12px}.routine-edit-head h3{font-size:16px;color:var(--wine);font-family:var(--font-jp)}.routine-edit-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink-3)}.routine-edit-desc{font-size:12px;color:var(--ink-3);margin-bottom:12px;line-height:1.7}.routine-edit-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.re-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 8px;background:#fffcf3;border:1px solid var(--rule-soft);border-radius:3px}.re-start,.re-end{width:50px}.re-row input,.re-row select{padding:4px 6px;border:1px solid var(--rule);border-radius:2px;font-family:inherit;font-size:12px}.re-activity{flex:1;min-width:100px}.re-del{background:none;border:none;color:var(--wine);font-size:18px;cursor:pointer;padding:0 6px}.routine-edit-add{width:100%;padding:8px;background:transparent;border:1px dashed var(--rule);border-radius:3px;cursor:pointer;font-family:var(--font-jp);font-size:12px;color:var(--ink-3);margin-bottom:14px}.routine-edit-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--rule);padding-top:12px}.routine-edit-cancel,.routine-edit-save{padding:8px 18px;border-radius:3px;font-family:var(--font-jp);font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.1em}.routine-edit-cancel{background:#fff;border:1px solid var(--rule);color:var(--ink-3)}.routine-edit-save{background:var(--wine);border:1px solid var(--wine-dark);color:var(--gold-light)}.event-note{margin-top:10px;padding:10px 12px 8px;background:#fff5b8;border:1px solid #e6d88f;box-shadow:2px 2px 6px #0000001a,inset 0 0 0 1px #fff6;position:relative;transform:rotate(-.5deg);border-radius:1px 6px 2px 4px}.event-note:before{content:"";position:absolute;top:-3px;left:50%;transform:translate(-50%) rotate(3deg);width:28px;height:10px;background:#b8952e40;box-shadow:0 1px 2px #00000026}.event-note-text{font-size:12px;color:#4a3a20;font-family:var(--font-jp);line-height:1.75;letter-spacing:.03em;white-space:pre-wrap;padding-right:24px}.event-note-edit{position:absolute;top:6px;right:6px;background:none;border:none;color:#8b7030;font-size:13px;cursor:pointer;padding:2px 6px}.event-note-add{margin-top:8px;padding:4px 12px;background:transparent;border:1px dashed var(--rule);border-radius:3px;color:var(--ink-4);font-size:11px;font-family:var(--font-jp);cursor:pointer;letter-spacing:.05em;transition:all .15s}.event-note-add:active{background:#fff5b8;color:var(--wine);border-color:var(--wine)}.diary-section{margin-bottom:24px}.diary-form{margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.diary-section{background:#fff;border:1px solid var(--rule);border-radius:6px;padding:18px 16px 16px!important;margin:0 0 24px!important;box-shadow:0 2px 10px #00000014}.diary-input{width:100%;min-height:110px;padding:14px 16px;background:#fff;border:1px solid var(--rule);border-radius:3px;font-family:var(--font-jp);font-size:14px;line-height:1.9;color:var(--ink);resize:vertical;letter-spacing:.03em;box-shadow:inset 0 1px 3px #0000000a}.diary-input:focus{outline:none;border-color:var(--wine);box-shadow:inset 0 1px 3px #00000014}.diary-submit{align-self:flex-end;padding:8px 22px;background:var(--wine);color:var(--gold-light);border:1px solid var(--wine-dark);border-radius:3px;font-family:var(--font-jp);font-size:12px;font-weight:700;letter-spacing:.15em;cursor:pointer;transition:background .15s}.diary-submit:active{background:var(--wine-dark)}.diary-empty{text-align:center;color:var(--ink-4);padding:20px;font-size:13px;font-family:var(--font-jp);font-style:italic}.diary-entries{display:flex;flex-direction:column;gap:14px}.diary-entry{background:#fff;border:1px solid var(--rule);border-left:4px solid var(--wine);border-radius:3px;padding:14px 16px 12px;box-shadow:0 2px 6px #00000014;position:relative}.diary-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed var(--rule-soft)}.diary-date{font-size:11px;color:var(--wine);font-family:var(--font-en);font-style:italic;font-weight:700;letter-spacing:.08em}.diary-delete{background:none;border:none;color:var(--ink-4);font-size:18px;cursor:pointer;padding:0 6px;line-height:1}.diary-delete:active{color:var(--wine)}.diary-text{font-size:14px;line-height:1.95;color:var(--ink);font-family:var(--font-jp);letter-spacing:.03em}.my-book-colophon{margin-top:36px;padding:18px 0;text-align:center}.colophon-line{width:60px;height:1px;background:var(--rule);margin:8px auto}.colophon-text{font-size:11px;color:var(--ink-3);line-height:2.1;letter-spacing:.08em;font-family:var(--font-jp);font-style:italic}.fav-intro{font-size:12px;color:var(--ink-2);background:var(--paper-light);border:1px solid var(--rule);border-left:4px solid var(--wine);padding:12px 16px;margin-bottom:18px;border-radius:2px;line-height:1.8;font-family:var(--font-jp);box-shadow:inset 0 0 0 1px #b8952e33}.key-popup{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .25s}.key-popup.open{pointer-events:auto;opacity:1}.key-popup-backdrop{position:absolute;inset:0;background:#1e0c108c;backdrop-filter:blur(4px)}.key-popup-panel{position:relative;width:min(90vw,400px);padding:32px 26px 22px;background:linear-gradient(180deg,#fffdf7,#faf5e8);border:2px solid var(--gold);border-radius:14px;box-shadow:0 12px 40px #00000059,0 0 0 1px #b8952e4d;font-family:var(--font-jp);text-align:center;transform:translateY(10px) scale(.96);transition:transform .25s ease}.key-popup.open .key-popup-panel{transform:translateY(0) scale(1)}.key-popup-icon{font-size:42px;margin-bottom:14px;filter:drop-shadow(0 2px 6px rgba(184,149,46,.4))}.key-popup-title{font-size:17px;font-weight:800;color:var(--wine-dark);margin-bottom:16px;letter-spacing:.08em;line-height:1.5}.key-popup-sub{font-size:12.5px;line-height:1.9;color:var(--ink-2);margin-bottom:22px;letter-spacing:.04em}.key-popup-sub b{color:var(--wine-dark)}.key-popup-actions{display:flex;gap:10px;margin-bottom:14px}.key-popup-no,.key-popup-yes{flex:1;padding:12px 6px;border-radius:24px;font-family:var(--font-jp);font-size:12.5px;font-weight:700;cursor:pointer;letter-spacing:.02em;white-space:nowrap;transition:all .15s}.key-popup-no{background:transparent;border:1px solid var(--rule);color:var(--ink-3)}.key-popup-no:hover{background:#00000008}.key-popup-yes{background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold);box-shadow:0 3px 10px #7a2e3a4d}.key-popup-yes:hover{transform:translateY(-1px);box-shadow:0 5px 14px #7a2e3a66}.key-popup-never{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:10px;font-family:var(--font-jp);font-size:11px;color:var(--ink-3);cursor:pointer;user-select:none}.key-popup-never input[type=checkbox]{width:14px;height:14px;accent-color:var(--wine);cursor:pointer}.key-popup-note{font-size:10px;color:var(--ink-4);line-height:1.7;letter-spacing:.02em}@media(max-width:360px){.key-popup-panel{padding:24px 18px 16px}.key-popup-title{font-size:15px}.key-popup-sub{font-size:11.5px}}.title-page-social{display:flex;justify-content:center;gap:24px;margin:12px 0 8px}.title-page-social-item{text-align:center;background:none;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;transition:background .15s;font:inherit;color:inherit}.title-page-social-item:hover{background:#7a1b2f14}.title-page-social-num{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--wine-dark);line-height:1}.title-page-social-lbl{font-family:var(--font-jp);font-size:10px;color:var(--ink-3);margin-top:2px;letter-spacing:.1em}.title-page-stamp-count{margin-top:10px;font-family:var(--font-jp);font-size:11px;color:var(--ink-3);letter-spacing:.05em}.title-page-stamp-count strong{color:var(--wine);font-size:14px;margin:0 4px}.match-card{background:linear-gradient(180deg,#fffdf7,#faf5e8);border:1px solid var(--gold);border-radius:10px;overflow:hidden;margin-bottom:14px}.match-summary{list-style:none;display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;font-family:var(--font-jp);font-size:13px;font-weight:700;color:var(--wine-dark)}.match-summary::-webkit-details-marker{display:none}.match-summary:hover{background:#b8952e0d}.match-summary-icon{font-size:16px}.match-summary-text{flex:1;letter-spacing:.05em}.match-summary-arrow{font-size:12px;color:var(--gold);transition:transform .2s}.match-card[open] .match-summary-arrow{transform:rotate(180deg)}.match-body{padding:10px 16px 14px;border-top:1px dashed var(--rule)}.match-intro{font-size:11.5px;color:var(--ink-3);line-height:1.7;margin-bottom:12px}.match-profile{margin-top:10px;padding:10px 12px;background:#fffaf0;border:1px dashed var(--rule);border-radius:6px}.match-profile-locked{text-align:center;padding:14px 12px}.match-profile-lock-head{font-family:var(--font-jp);font-size:12px;color:var(--wine);font-weight:700;margin-bottom:4px}.match-profile-lock-sub{font-size:11px;color:var(--ink-3);margin-bottom:10px}.match-profile-login-btn{padding:7px 18px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold);border-radius:16px;font-family:var(--font-jp);font-size:12px;cursor:pointer}.match-profile-row{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:6px}.match-profile-label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--ink-2);font-family:var(--font-jp);flex:1;min-width:140px}.match-profile-inline{display:flex;gap:6px}.match-profile-input{padding:5px 8px;border:1px solid var(--rule);border-radius:3px;font-family:var(--font-jp);font-size:12px;background:#fff;color:var(--ink-1);min-width:0;flex:1}.match-birthday{background:linear-gradient(135deg,#fff6e0,#fffcf3);border:1px solid var(--gold);border-radius:6px;padding:10px 12px}.match-score-birth{background:var(--gold)!important;color:var(--wine-dark)!important}.match-cat{margin-top:10px}.match-cat-label{font-size:11px;font-weight:700;color:var(--wine);letter-spacing:.1em;margin-bottom:6px}.match-chips{display:flex;flex-wrap:wrap;gap:6px}.match-chip{padding:5px 12px;background:#fff;border:1px solid var(--rule);border-radius:14px;font-family:var(--font-jp);font-size:11px;color:var(--ink-2);cursor:pointer;transition:all .15s}.match-chip:hover{border-color:var(--gold);background:#fffbef}.match-chip.active{background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border-color:var(--gold);font-weight:700}.match-clear{margin-top:12px;padding:8px 16px;background:transparent;border:1px solid var(--rule);border-radius:16px;font-family:var(--font-jp);font-size:11px;color:var(--ink-3);cursor:pointer}.match-results{margin-top:14px}.match-results-label{font-family:var(--font-jp);font-size:12px;font-weight:700;color:var(--wine);letter-spacing:.05em;margin-bottom:8px}.match-empty{padding:10px 12px;background:#00000005;border-radius:4px;font-size:11px;color:var(--ink-3);text-align:center}.match-score{position:absolute;top:6px;left:6px;z-index:5;padding:2px 8px;background:var(--gold);color:var(--wine-dark);font-family:var(--font-en);font-size:10px;font-weight:700;border-radius:10px;letter-spacing:.03em}.rel-tabs{display:flex;gap:4px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--rule)}.rel-tab{padding:7px 14px;background:transparent;border:1px solid transparent;border-radius:16px;font-family:var(--font-jp);font-size:12px;color:var(--ink-3);cursor:pointer;transition:all .15s}.rel-tab:hover{background:#b8952e14}.rel-tab.active{background:var(--wine);color:var(--gold-light);border-color:var(--gold);font-weight:700}.rel-section{display:none}.rel-section.active{display:block}.rel-section-head{font-family:var(--font-jp);font-size:12px;color:var(--ink-3);letter-spacing:.08em;margin-bottom:10px}.rel-section-block{color:var(--wine)}.rel-subhead{font-family:var(--font-jp);font-size:11px;color:var(--wine);font-weight:700;letter-spacing:.1em;margin:12px 0 6px}.rel-empty-user{padding:10px 12px;background:#00000005;border-radius:4px;font-size:11px;color:var(--ink-3);text-align:center;font-style:italic;margin-bottom:8px}.relation-item.blocked{background:#7a2e3a0d;border:1px dashed rgba(122,46,58,.3)}.relation-user{background:#b8952e1f!important;border:1px solid var(--gold)!important}.follow-toast{position:fixed;top:14px;left:50%;transform:translate(-50%) translateY(-120%);z-index:300;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#281418f5;color:#fff;border:1.5px solid var(--gold);border-radius:12px;box-shadow:0 10px 30px #0006;font-family:var(--font-jp);width:min(94vw,380px);cursor:pointer;transition:transform .35s cubic-bezier(.2,.9,.3,1.2)}.follow-toast.show{transform:translate(-50%) translateY(0)}.follow-toast-avatar{width:44px;height:44px;border-radius:50%;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#fff8ee;border:2px solid var(--gold);flex-shrink:0}.follow-toast-avatar.no-img{display:flex;align-items:center;justify-content:center;background:var(--wine);color:var(--gold-light);font-weight:700;font-size:18px}.follow-toast-body{flex:1;min-width:0}.follow-toast-title{font-weight:700;font-size:13px;letter-spacing:.05em;color:var(--gold-light)}.follow-toast-msg{font-size:11px;color:#e8dec8;margin-top:2px}.follow-toast-close{background:none;border:none;color:#ccc;font-size:18px;cursor:pointer}.name-edit-panel{padding:28px 28px 22px}.name-edit-intro{font-size:12px;color:var(--ink-3);line-height:1.7;margin-bottom:14px}.name-edit-input{font-size:16px;padding:12px 14px;text-align:center;font-family:var(--font-jp);letter-spacing:.05em}.name-edit-actions{gap:8px;justify-content:space-between}.name-edit-cancel{padding:10px 20px;background:transparent;border:1px solid var(--rule);border-radius:20px;color:var(--ink-3);font-family:var(--font-jp);font-size:12px;cursor:pointer}.settings-modal{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .25s}.settings-modal.open{pointer-events:auto;opacity:1}.settings-backdrop{position:absolute;inset:0;background:#1e0c108c;backdrop-filter:blur(4px)}.settings-panel{position:relative;width:min(92vw,520px);max-height:90vh;overflow-y:auto;background:linear-gradient(180deg,#fffdf7,#faf5e8);border:2px solid var(--gold);border-radius:12px;padding:22px 22px 18px;box-shadow:0 12px 40px #00000059;font-family:var(--font-jp)}.settings-close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:24px;color:var(--ink-3);cursor:pointer}.settings-head{font-size:16px;font-weight:800;color:var(--wine-dark);letter-spacing:.1em;padding-bottom:10px;border-bottom:1px solid var(--rule);margin-bottom:14px}.settings-section{margin-bottom:14px}.settings-sec-label{font-size:12px;font-weight:700;color:var(--wine);letter-spacing:.08em;margin-bottom:8px}.settings-chips{display:flex;flex-wrap:wrap;gap:6px}.settings-birthday{display:flex;gap:10px}.settings-birthday select{flex:1;padding:8px 10px;border:1px solid var(--rule);border-radius:6px;font-family:var(--font-jp);font-size:13px;background:#fff}.settings-input{width:100%;padding:8px 10px;border:1px solid var(--rule);border-radius:6px;font-family:var(--font-jp);font-size:13px;background:#fff;box-sizing:border-box}.settings-avatar-row{display:flex;align-items:center;gap:14px}.settings-avatar-preview{width:72px;height:72px;border-radius:50%;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#fff8ee;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:36px;color:var(--ink-4);flex-shrink:0}.settings-avatar-actions{display:flex;flex-direction:column;gap:6px}.settings-avatar-upload{padding:8px 14px;background:var(--wine);color:var(--gold-light);border:1px solid var(--gold);border-radius:16px;font-size:12px;font-weight:700;cursor:pointer;text-align:center}.settings-avatar-clear{padding:6px 12px;background:transparent;border:1px solid var(--rule);border-radius:14px;color:var(--ink-3);font-size:11px;cursor:pointer}.settings-actions{display:flex;justify-content:flex-end;margin-top:16px}.settings-save{padding:10px 24px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold);border-radius:20px;font-family:var(--font-jp);font-size:13px;font-weight:700;cursor:pointer;letter-spacing:.05em}.app-title-btn{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;max-width:200px;margin:0 auto}.app-title-logo{height:28px;width:auto;object-fit:contain;transition:transform .2s}.app-title-btn:hover .app-title-logo{transform:scale(1.04)}@media(min-width:900px){.app-title-logo{height:38px}}.map-popup{position:fixed;inset:0;z-index:270;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .25s}.map-popup.open{pointer-events:auto;opacity:1}.map-popup-backdrop{position:absolute;inset:0;background:#1e0c1099;backdrop-filter:blur(4px)}.map-popup-panel{position:relative;width:min(92vw,440px);max-height:90vh;overflow-y:auto;background:repeating-linear-gradient(0deg,rgba(122,79,42,.04) 0 1px,transparent 1px 6px),linear-gradient(180deg,#fdf8ec,#f4ead0);border:2px solid #7a4f2a;border-radius:6px;padding:22px 20px 18px;box-shadow:inset 0 0 0 1px #d4b055,0 14px 40px #0006;font-family:var(--font-jp)}.map-popup-close{position:absolute;top:8px;right:12px;background:none;border:none;font-size:22px;color:#7a4f2a;cursor:pointer}.map-popup-head{font-size:14px;font-weight:800;color:#4a2f1a;letter-spacing:.2em;text-align:center;margin-bottom:14px;padding-bottom:8px;border-bottom:1px dashed #7a4f2a}.map-popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.map-popup-grid .map-tile:nth-child(5){grid-column:1 / -1}.map-tile{background:transparent;border:1px solid #7a4f2a;border-radius:4px;padding:6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;transition:all .15s;font-family:var(--font-jp)}.map-tile:hover{background:#7a4f2a0f;transform:translateY(-1px);box-shadow:0 3px 8px #0000001f}.map-tile-svg{width:100%;height:72px;margin-bottom:4px}.map-tile-label{text-align:center;padding-top:4px}.map-tile-title{font-size:14px;font-weight:700;color:#4a2f1a;letter-spacing:.08em}.map-tile-sub{font-size:10px;color:#7a4f2a;margin-top:2px;font-style:italic}.howto-card-btn{display:block;width:100%;border:1px solid var(--gold);background:linear-gradient(180deg,#fffdf7,#faf5e8);border-radius:8px;padding:0;text-align:left;cursor:pointer;font-family:inherit}.howto-card-btn:hover{background:#b8952e14}.howto-card-btn .howto-summary{display:flex;align-items:center;gap:10px;padding:14px 18px;font-family:var(--font-jp);font-size:14px;font-weight:700;color:var(--wine-dark)}.howto-card-btn .howto-label{flex:1;letter-spacing:.05em}.howto-card-btn .howto-arrow{color:var(--wine);font-size:14px}.howto-popup-source{display:none!important}.howto-modal{position:fixed;inset:0;z-index:260;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .25s}.howto-modal.open{pointer-events:auto;opacity:1}.howto-modal-backdrop{position:absolute;inset:0;background:#1e0c108c;backdrop-filter:blur(4px)}.howto-modal-panel{position:relative;width:min(92vw,560px);max-height:90vh;overflow-y:auto;background:linear-gradient(180deg,#fffdf7,#faf5e8);border:2px solid var(--gold);border-radius:12px;padding:22px 22px 18px;box-shadow:0 12px 40px #00000059;font-family:var(--font-jp)}.howto-modal-close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:24px;color:var(--ink-3);cursor:pointer}.howto-modal-head{font-size:17px;font-weight:800;color:var(--wine-dark);letter-spacing:.1em;padding-bottom:10px;border-bottom:1px solid var(--rule);margin-bottom:14px}.place-card.checked{background:#b8952e14;border-color:var(--gold)}.place-card.checked .place-pin{color:var(--gold);font-weight:700}.place-visited{display:inline-block;padding:2px 8px;background:var(--gold);color:var(--wine-dark);border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.05em;margin-left:6px;font-family:var(--font-en)}.place-checkin-btn{padding:5px 12px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold);border-radius:14px;font-family:var(--font-jp);font-size:11px;font-weight:700;cursor:pointer;letter-spacing:.03em}.place-checkin-btn:hover{transform:translateY(-1px)}.place-checkin-btn.done{background:#fff;color:var(--wine);border-color:var(--wine)}.follow-btn{padding:6px 14px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold);border-radius:18px;font-family:var(--font-jp);font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.04em;transition:all .15s}.follow-btn:hover{transform:translateY(-1px)}.follow-btn.active{background:#fff;color:var(--wine);border-color:var(--wine)}.follow-btn.follow-btn-compact{width:34px;height:34px;padding:0;border-radius:50%;font-size:16px;font-weight:700;line-height:32px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:0}.follow-btn.follow-btn-compact.disabled{width:34px;height:34px}.follow-btn.disabled{background:#eee;color:var(--ink-4);border-color:#ccc;cursor:pointer;opacity:.85}.follow-btn.disabled:hover{background:#f0ece2;color:var(--ink-3)}.cal-date-head{text-align:center;font-family:var(--font-jp);font-weight:700;font-size:13px;color:var(--wine-dark);margin-bottom:10px;letter-spacing:.1em}.cal-label.event{background:#7a2e3a1a;color:var(--wine)}.cal-event-title{font-size:13px;font-weight:700;color:var(--ink);margin:2px 0}.cal-event-detail{font-size:11px;color:var(--ink-3);line-height:1.6}.cal-list-more.hidden{display:none}.cal-more-btn{display:block;width:100%;margin-top:8px;padding:9px;background:#b8952e1a;border:1px dashed var(--gold);border-radius:6px;color:var(--wine);font-family:var(--font-jp);font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.05em}.cal-more-btn:hover{background:#b8952e2e}.profile-xmeta{display:flex;flex-wrap:wrap;gap:12px;padding:8px 0;font-family:var(--font-jp);font-size:12px;color:var(--ink-3);border-bottom:1px dashed var(--rule-soft);margin-bottom:8px}.profile-xmeta-item{display:inline-flex;align-items:center;gap:4px;letter-spacing:.03em}.profile-social{padding:6px 0 10px;border-bottom:1px dashed var(--rule-soft);margin-bottom:10px}.profile-follow-badge{display:inline-block;padding:6px 14px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold);border-radius:20px;font-family:var(--font-jp);font-size:12px;font-weight:700;letter-spacing:.04em}.profile-follow-hint{font-size:11px;color:var(--ink-4);font-family:var(--font-jp);font-style:italic}.profile-followers{margin-top:10px}.profile-followers-label{font-size:10px;color:var(--ink-4);letter-spacing:.1em;margin-bottom:4px}.profile-followers-list{display:flex;flex-wrap:wrap;gap:6px}.profile-follower-chip{display:inline-block;padding:3px 10px;background:#b8952e1f;color:var(--wine);border-radius:12px;font-size:11px;font-family:var(--font-jp)}.profile-stamps{margin:10px auto 0;max-width:820px;padding:14px 18px 12px;background:linear-gradient(180deg,#fffdf7,#faf5e8);border:1px solid var(--gold);border-radius:8px;font-family:var(--font-jp)}.profile-stamps-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.profile-stamps-title{font-size:13px;font-weight:700;color:var(--wine-dark);letter-spacing:.05em}.profile-stamps-count{font-size:12px;color:var(--gold);font-weight:700;font-family:var(--font-en)}.profile-stamps-row{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}.stamp-seal{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);display:flex;align-items:center;justify-content:center;font-size:16px;border:2px solid var(--gold);box-shadow:0 2px 4px #0003}.profile-stamps-empty{padding:10px 0;font-size:11px;color:var(--ink-4);text-align:center;font-style:italic}.stamp-breakdown{margin-top:10px;padding:8px 10px;background:#b8952e14;border:1px solid var(--rule-soft);border-radius:4px}.stamp-breakdown-head{font-size:11px;font-weight:700;color:var(--wine);letter-spacing:.05em;margin-bottom:4px}.stamp-breakdown-item{display:flex;justify-content:space-between;font-size:12px;padding:2px 0;color:var(--ink-2)}.stamp-breakdown-src{font-family:var(--font-jp)}.stamp-breakdown-num{font-weight:700;color:var(--wine-dark)}.profile-stamps-criteria{margin-top:10px;padding-top:10px;border-top:1px dashed var(--rule);font-size:11.5px;color:var(--ink-3);line-height:1.8}.stamp-criteria-head{font-weight:700;color:var(--wine);margin-bottom:4px;letter-spacing:.05em}.stamp-criteria-goal{margin-top:6px;padding:4px 8px;background:#b8952e1a;border-radius:4px;color:var(--wine);font-size:11px}.stamp-criteria-goal b{font-size:13px}.stamp-criteria-box{padding:12px 16px;background:#fffdf6;border:1px solid var(--rule);border-radius:6px;margin-bottom:14px;font-family:var(--font-jp)}.stamp-criteria-title{font-size:12px;font-weight:700;color:var(--wine);margin-bottom:8px;letter-spacing:.08em}.stamp-criteria-list{display:flex;flex-wrap:wrap;gap:6px}.stamp-criteria-row{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#f0e9d2;border-radius:12px;font-size:11px;color:var(--ink-3)}.stamp-criteria-row.met{background:#b8952e40;color:var(--wine-dark);font-weight:700}.stamp-criteria-min{font-family:var(--font-en);opacity:.7}.stamp-book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;padding:8px 0}.stamp-book-card{background:#fffdf6;border:1px solid var(--rule);border-radius:8px;padding:10px 8px;text-align:center;cursor:pointer;transition:transform .15s}.stamp-book-card:hover{transform:translateY(-2px);box-shadow:0 3px 10px #00000014}.stamp-book-avatar{width:56px;height:56px;margin:0 auto 6px;border-radius:50%;background-size:cover;background-position:center;border:2px solid var(--gold)}.stamp-book-avatar.noimg{display:flex;align-items:center;justify-content:center;background:var(--wine);color:var(--gold-light);font-family:var(--font-jp);font-size:22px;font-weight:700}.stamp-book-name{font-family:var(--font-jp);font-size:11.5px;font-weight:700;color:var(--ink-2);margin-bottom:2px;line-height:1.3}.stamp-book-level{font-size:11px;color:var(--wine);font-family:var(--font-en);font-weight:700}.stamp-book-seals{font-size:12px;color:var(--gold);letter-spacing:1px;margin-top:2px}.quiz-open-btn{display:flex;align-items:center;gap:10px;width:100%;max-width:820px;margin:10px auto 0;padding:14px 18px;background:linear-gradient(180deg,#fff7e8,#faecc8);border:1.5px solid var(--gold);border-radius:8px;font-family:var(--font-jp);font-size:14px;font-weight:700;color:var(--wine-dark);cursor:pointer;letter-spacing:.05em;transition:all .15s}.quiz-open-btn:hover{background:linear-gradient(180deg,#faecc8,#f5e0a9);transform:translateY(-1px);box-shadow:0 4px 12px #b8952e40}.quiz-open-icon{font-size:18px}.quiz-open-label{flex:1;text-align:left}.quiz-open-level{font-size:11px;background:var(--wine);color:var(--gold-light);padding:3px 10px;border-radius:10px;letter-spacing:.05em;font-family:var(--font-en)}.quiz-open-arrow{font-size:14px;color:var(--wine);opacity:.7}.quiz-modal{position:fixed;inset:0;z-index:210;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}.quiz-modal.open{opacity:1;pointer-events:auto}.quiz-backdrop{position:absolute;inset:0;background:#2d14198c;backdrop-filter:blur(3px)}.quiz-panel{position:relative;width:min(92vw,500px);max-height:90vh;overflow-y:auto;background:linear-gradient(180deg,#fffdf7,#faf5e8);border:2px solid var(--gold);border-radius:12px;padding:28px 24px 22px;box-shadow:0 12px 40px #0000004d;font-family:var(--font-jp);text-align:center}.quiz-close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:22px;color:var(--ink-3);cursor:pointer}.quiz-head-title{font-size:17px;font-weight:800;color:var(--wine-dark);letter-spacing:.08em;margin-bottom:6px}.quiz-head-sub{font-size:12px;color:var(--ink-3);margin-bottom:20px}.quiz-progress-info{padding:10px 14px;margin:12px 0 8px;background:#fffaf0;border:1px solid var(--rule-soft);border-radius:4px;font-family:var(--font-jp);font-size:12px;color:var(--ink-2);text-align:center}.quiz-progress-info b{color:var(--wine);font-size:15px;margin:0 3px}.quiz-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0 14px}.quiz-picker-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.quiz-reset-btn{padding:10px 16px;background:transparent;border:1px solid var(--rule);border-radius:20px;font-family:var(--font-jp);font-size:12px;color:var(--ink-2);cursor:pointer}.quiz-reset-btn:hover{background:#00000008}.quiz-reset-btn-small{display:block;margin:10px auto 0;padding:6px 12px;background:transparent;border:1px dashed var(--rule);border-radius:14px;font-family:var(--font-jp);font-size:10.5px;color:var(--ink-3);cursor:pointer}.quiz-reset-btn-small:hover{background:#00000008;color:var(--wine)}.quiz-stamp-muted{background:#00000008!important;border:1px dashed var(--rule)!important;color:var(--ink-3)!important}.quiz-stamp-muted .quiz-stamp-name{color:var(--ink-3)!important;font-size:11px!important}.quiz-pick-btn{padding:12px 16px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold);border-radius:22px;font-family:var(--font-jp);font-weight:700;font-size:14px;cursor:pointer;letter-spacing:.08em;transition:all .15s}.quiz-pick-btn:hover{transform:translateY(-1px)}.quiz-note{font-size:11px;color:var(--ink-4);margin-top:8px}.quiz-progress{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink-3);margin-bottom:16px;font-family:var(--font-en)}.quiz-progress-bar{flex:1;height:4px;background:#b8952e33;border-radius:2px;overflow:hidden}.quiz-progress-bar span{display:block;height:100%;background:var(--wine);transition:width .3s}.quiz-question{font-size:15px;line-height:1.8;color:var(--ink);margin:14px 0 20px;font-weight:600;text-align:left;white-space:pre-wrap}.quiz-options{display:flex;flex-direction:column;gap:8px}.quiz-option{padding:11px 14px;background:#fff;border:1.5px solid var(--rule);border-radius:8px;font-family:var(--font-jp);font-size:13px;color:var(--ink);cursor:pointer;text-align:left;transition:all .15s}.quiz-option:hover:not(:disabled){border-color:var(--gold);background:#fffbef}.quiz-option.correct{background:#e8f5e9;border-color:#4caf50;color:#2e7d32;font-weight:700}.quiz-option.wrong{background:#ffebee;border-color:#d32f2f;color:#c62828}.quiz-result{padding:10px 0}.quiz-result-score{font-size:36px;font-weight:800;color:var(--wine-dark);font-family:var(--font-display);margin-bottom:10px}.quiz-result-msg{font-size:13px;line-height:1.85;color:var(--ink-2);margin-bottom:16px}.quiz-stamp{padding:14px;background:#b8952e1f;border:1px dashed var(--gold);border-radius:8px;margin-bottom:16px}.quiz-stamp-visual{font-size:36px;margin-bottom:6px}.quiz-stamp-name{font-size:13px;font-weight:700;color:var(--wine-dark)}.quiz-retry,.quiz-done{padding:10px 24px;margin:4px 6px;border-radius:20px;font-family:var(--font-jp);font-size:13px;font-weight:700;cursor:pointer}.quiz-retry{background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold)}.quiz-done{background:transparent;border:1px solid var(--rule);color:var(--ink-3)}.letter-write-btn{display:flex;align-items:center;gap:10px;width:100%;max-width:820px;margin:10px auto 0;padding:14px 18px;background:url(/app/assets/stain.png) right center / 120px auto no-repeat,linear-gradient(180deg,#fffdf7,#faf5e8);border:1.5px solid var(--gold);border-radius:8px;font-family:var(--font-jp);font-size:14px;font-weight:700;color:var(--wine-dark);cursor:pointer;letter-spacing:.05em;transition:all .15s;position:relative;overflow:hidden}.letter-write-btn:hover{background:linear-gradient(180deg,#fbf3e0,#f6edd4);transform:translateY(-1px);box-shadow:0 4px 12px #b8952e33}.letter-write-icon{font-size:18px;color:var(--gold)}.letter-write-label{flex:1;text-align:left}.letter-write-beta{font-size:9px;font-weight:700;color:#fff;background:#c08040;padding:2px 8px;border-radius:10px;letter-spacing:.1em;font-family:var(--font-en)}.letter-write-arrow{font-size:14px;color:var(--wine);opacity:.7}.letter-beta-notice{background:#fffaf0;border:1px dashed #c08040;border-radius:4px;padding:10px 12px;margin-bottom:14px;font-size:11px;color:#8a5a2a;line-height:1.7}.letter-beta-badge{display:inline-block;font-size:9px;font-weight:700;color:#fff;background:#c08040;padding:2px 8px;border-radius:10px;letter-spacing:.1em;margin-right:8px;font-family:var(--font-en)}.letter-reply-beta{font-size:9px;font-weight:700;color:#fff;background:#c08040;padding:2px 7px;border-radius:9px;letter-spacing:.1em;margin-left:auto;font-family:var(--font-en);cursor:help}.letter-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .2s}.letter-modal.open{opacity:1;pointer-events:auto}.letter-modal-backdrop{position:absolute;inset:0;background:#2d14198c;backdrop-filter:blur(3px)}.letter-modal-panel{position:relative;background:#fffdf6;width:min(92vw,540px);max-height:92vh;overflow-y:auto;border-radius:10px;padding:28px 24px 20px;box-shadow:0 8px 30px #0000004d;background-image:url(/app/assets/stain.png),repeating-linear-gradient(to bottom,transparent 0 33px,rgba(184,149,46,.1) 33px 34px);background-size:180px auto,auto;background-position:right -30px top -20px,0 0;background-repeat:no-repeat,repeat;font-family:var(--font-jp)}.letter-modal-close{position:absolute;top:8px;right:12px;background:none;border:none;font-size:24px;color:var(--ink-3);cursor:pointer}.letter-modal-head{text-align:center;margin-bottom:16px}.letter-modal-to{font-size:11px;color:var(--gold);letter-spacing:.3em;margin-bottom:6px}.letter-modal-name{font-size:20px;font-weight:800;color:var(--wine-dark);letter-spacing:.1em;margin-bottom:3px}.letter-modal-sub{font-size:11px;color:var(--ink-4);letter-spacing:.05em}.letter-textarea{width:100%;border:1px dashed var(--rule);background:transparent;padding:12px;font-family:var(--font-jp);font-size:14px;line-height:1.95;color:var(--ink);resize:vertical;min-height:180px;border-radius:4px;box-sizing:border-box}.letter-textarea:focus{outline:none;border-color:var(--gold)}.letter-footer-date{text-align:right;font-size:11px;color:var(--ink-4);margin-top:10px;font-family:var(--font-en)}.letter-hint{font-size:10px;color:var(--ink-4);margin-top:10px;line-height:1.6}.letter-modal-actions{display:flex;gap:10px;margin-top:18px}.letter-btn-cancel,.letter-btn-send{flex:1;padding:11px;border:none;border-radius:22px;font-family:var(--font-jp);font-size:13px;font-weight:700;cursor:pointer;letter-spacing:.05em}.letter-btn-cancel{background:#eee;color:var(--ink-3)}.letter-btn-cancel:hover{background:#e0e0e0}.letter-btn-send{background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold)}.letter-btn-send:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7a2e3a4d}.letter-sent{text-align:center;padding:30px 10px 20px}.letter-sent-icon{font-size:48px;color:var(--gold);margin-bottom:14px}.letter-sent-title{font-size:18px;font-weight:800;color:var(--wine-dark);margin-bottom:12px;letter-spacing:.1em}.letter-sent-sub{font-size:13px;color:var(--ink-2);line-height:1.9;margin-bottom:18px}.letter-sent-hint{font-size:11px;color:var(--ink-3);background:#b8952e14;padding:10px 14px;border-radius:4px;margin-bottom:14px;line-height:1.7}.letter-sent-login-btn{padding:10px 22px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold);border-radius:22px;font-family:var(--font-jp);font-weight:700;font-size:13px;cursor:pointer;margin-bottom:14px}.letter-sent-done{background:none;border:1px solid var(--rule);padding:8px 20px;border-radius:20px;color:var(--ink-3);font-family:var(--font-jp);font-size:12px;cursor:pointer}.letter-entry{padding:16px 18px 14px;margin-bottom:14px;background:#fffdf6;border:1px dashed var(--gold);border-radius:6px;position:relative;font-family:var(--font-jp)}.letter-entry-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed var(--rule)}.letter-entry-to{font-weight:700;font-size:14px;color:var(--wine-dark);letter-spacing:.08em}.letter-entry-delete{background:none;border:none;font-size:18px;color:var(--ink-4);cursor:pointer;padding:0 4px}.letter-entry-delete:hover{color:var(--wine)}.letter-entry-text{font-size:13px;line-height:2;color:var(--ink-2);margin-bottom:10px;white-space:pre-wrap}.letter-entry-date{text-align:right;font-size:10px;color:var(--ink-4);font-family:var(--font-en)}.letter-reply-pending{margin-top:12px;padding:12px 14px;background:#b8952e14;border:1px dashed var(--gold);border-radius:4px;font-family:var(--font-jp);font-size:12px;color:var(--wine);display:flex;align-items:center;gap:10px}.letter-reply-pending-icon{font-size:18px;animation:letter-fly 2.5s ease-in-out infinite}@keyframes letter-fly{0%,to{transform:translate(0)}50%{transform:translate(6px)}}.letter-reply-pending-text{flex:1;line-height:1.6}.letter-reply{margin-top:14px;padding:16px 18px 14px;background:linear-gradient(180deg,#fffaf0,#fbf3e0);border:1.5px solid var(--gold);border-radius:6px;position:relative;font-family:var(--font-jp)}.letter-reply:before{content:"";position:absolute;top:-8px;left:20px;width:16px;height:16px;background:#fffaf0;border-top:1.5px solid var(--gold);border-left:1.5px solid var(--gold);transform:rotate(45deg)}.letter-reply-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(184,149,46,.3)}.letter-reply-badge{font-size:11px;font-weight:700;color:var(--wine);background:#b8952e33;padding:3px 10px;border-radius:12px;letter-spacing:.08em}.letter-reply-from{font-size:11px;color:var(--ink-3);font-style:italic}.letter-reply-text{font-size:13px;line-height:2;color:var(--ink);white-space:pre-wrap;margin-bottom:10px}.letter-reply-date{text-align:right;font-size:10px;color:var(--ink-4);font-family:var(--font-en)}.fav-work-card{padding:14px 16px 12px;margin-bottom:10px;background:#fffdf6;border:1px solid var(--rule);border-left:3px solid var(--gold);border-radius:4px;position:relative;font-family:var(--font-jp);cursor:pointer}.fav-work-card:hover{box-shadow:0 2px 8px #00000014}.fav-work-person{font-size:11px;color:var(--ink-4);letter-spacing:.08em;margin-bottom:4px}.fav-work-type{display:inline-block;font-size:10px;color:var(--wine);background:#b8952e1a;padding:2px 8px;border-radius:10px;margin-bottom:6px}.fav-work-title{font-size:14px;font-weight:700;color:var(--wine-dark);margin-bottom:4px}.fav-work-desc{font-size:11.5px;color:var(--ink-3);line-height:1.7}.fav-work-card .fav-btn{position:absolute;top:10px;right:10px}.tweet-entry{padding:12px 14px 10px;margin-bottom:10px;background:#fffdf6;border-left:3px solid var(--gold);border-radius:4px;font-family:var(--font-jp)}.tweet-entry-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.tweet-entry-date{font-size:10px;color:var(--ink-4);font-family:var(--font-en)}.tweet-entry-delete{background:none;border:none;font-size:14px;color:var(--ink-4);cursor:pointer;padding:0 4px}.tweet-entry-delete:hover{color:var(--wine)}.tweet-entry-text{font-size:13px;line-height:1.9;color:var(--ink-2);white-space:pre-wrap}.routine-adopt-section{margin-top:18px;padding:14px 16px 16px;background:linear-gradient(180deg,#fffdf7,#faf5e8);border:1px solid var(--gold);border-radius:8px}.routine-adopt-label{font-family:var(--font-jp);font-size:13px;font-weight:700;color:var(--wine-dark);margin-bottom:10px;letter-spacing:.05em}.routine-adopt-buttons{display:flex;flex-wrap:wrap;gap:8px}.routine-adopt-btn{flex:1 1 30%;min-width:90px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:9px 10px;background:var(--wine);color:var(--gold-light);border:1px solid var(--gold);border-radius:20px;font-family:var(--font-jp);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.routine-adopt-btn:hover{background:var(--wine-dark);transform:translateY(-1px)}.routine-adopt-btn.done{background:#3d4e3e;color:#fff}.routine-adopt-icon{font-size:14px}.life-digest{margin:12px 0 0;background:linear-gradient(180deg,#fffdf7,#faf5e8);border:1px solid var(--rule);border-radius:6px;overflow:hidden}.life-digest-summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:10px 14px;font-family:var(--font-jp);font-size:13px;font-weight:600;color:var(--wine);transition:background .15s}.life-digest-summary::-webkit-details-marker{display:none}.life-digest-summary:hover{background:#b8952e14}.life-digest-icon{font-size:16px}.life-digest-label{flex:1;letter-spacing:.05em}.life-digest-arrow{font-size:12px;color:var(--gold);transition:transform .2s}.life-digest[open] .life-digest-arrow{transform:rotate(180deg)}.life-digest-body{padding:12px 16px 16px;font-family:var(--font-jp);font-size:13px;line-height:1.85;color:var(--ink-2);border-top:1px dashed var(--rule);margin-top:2px}@media(min-width:900px){.life-digest-summary{font-size:14px;padding:12px 18px}.life-digest-body{font-size:14px;padding:14px 20px 18px}}.line-group-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(180deg,#fffdf7,#faf5e8);border-bottom:1px solid var(--gold);position:sticky;top:0;z-index:2}.line-group-avatars{display:flex}.line-avatar-mini{width:30px;height:30px;border-radius:50%;background-size:cover;background-position:center;border:2px solid #fff;box-shadow:0 1px 2px #00000026}.line-avatar-mini.no-img{display:flex;align-items:center;justify-content:center;background:var(--wine);color:var(--gold-light);font-family:var(--font-jp);font-size:12px;font-weight:700}.line-group-info{flex:1;min-width:0}.line-group-name{font-family:var(--font-jp);font-size:13px;font-weight:700;color:var(--wine-dark)}.line-group-sub{font-size:10px;color:var(--ink-3);margin-top:2px}.line-feed{display:flex;flex-direction:column;gap:2px;padding:10px 8px;background:#d8dde3;min-height:300px}.line-date-sep{align-self:center;background:#00000040;color:#fff;font-size:10px;padding:3px 12px;border-radius:12px;margin:8px 0 4px;letter-spacing:.05em}.line-msg{display:flex;gap:8px;margin-top:4px}.line-msg-them{align-items:flex-start}.line-msg-me{justify-content:flex-end}.line-avatar{width:36px;height:36px;border-radius:50%;background-size:cover;background-position:center;flex-shrink:0;border:1px solid #ccc;cursor:pointer}.line-avatar.no-img{display:flex;align-items:center;justify-content:center;background:var(--wine);color:var(--gold-light);font-family:var(--font-jp);font-weight:700}.line-avatar-spacer{width:36px;flex-shrink:0}.line-msg-inner{min-width:0;max-width:calc(100% - 44px)}.line-msg-name{font-family:var(--font-jp);font-size:11px;color:#555;margin-bottom:2px;padding-left:4px}.line-msg-row{display:flex;align-items:flex-end;gap:4px}.line-msg-bubble{background:#fff;padding:8px 12px;border-radius:4px 16px 16px;font-family:var(--font-jp);font-size:13px;line-height:1.6;color:#1a1a1a;box-shadow:0 1px 1px #0000001a;white-space:pre-wrap;word-break:break-word;cursor:pointer;max-width:100%}.line-msg-src{font-size:10px;color:var(--ink-4);margin-top:4px;font-style:italic}.line-msg-time{font-size:9px;color:#00000073;white-space:nowrap}.line-msg-wrap{display:flex;align-items:flex-end;gap:4px;max-width:80%}.line-msg-bubble-me{background:#a4d88b;padding:8px 12px;border-radius:16px 4px 16px 16px;font-family:var(--font-jp);font-size:13px;line-height:1.6;color:#1a1a1a;box-shadow:0 1px 1px #0000001a;white-space:pre-wrap;word-break:break-word}.line-msg-time-me{font-size:9px;color:#00000073;white-space:nowrap}.square-intro{font-family:var(--font-jp);font-size:12px;color:var(--ink-3);line-height:1.7;padding:0 4px 10px}.square-compose{padding:12px 14px;background:linear-gradient(180deg,#fffdf7,#faf5e8);border:1px solid var(--gold);border-radius:8px;margin-bottom:14px}.square-compose-input{width:100%;border:1px solid var(--rule);border-radius:4px;padding:8px 10px;font-family:var(--font-jp);font-size:13px;line-height:1.7;color:var(--ink);resize:vertical;box-sizing:border-box;background:#fff}.square-compose-input:focus{outline:none;border-color:var(--gold)}.square-compose-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:8px}.square-compose-note{font-size:10px;color:var(--ink-4)}.square-compose-send{padding:8px 18px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold);border-radius:18px;font-family:var(--font-jp);font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.05em}.square-compose-send:hover{transform:translateY(-1px)}.square-feed{display:flex;flex-direction:column;gap:8px}.square-item{display:flex;gap:10px;padding:12px;background:#fffdf6;border:1px solid var(--rule);border-radius:6px;cursor:pointer;transition:box-shadow .15s}.square-item:hover{box-shadow:0 2px 8px #00000014}.square-item-self{background:#b8952e14;border-color:var(--gold);cursor:default}.square-avatar{width:42px;height:42px;border-radius:50%;background-size:cover;background-position:center;border:2px solid var(--gold);flex-shrink:0}.square-avatar.no-img,.square-avatar-self{display:flex;align-items:center;justify-content:center;background:var(--wine);color:var(--gold-light);font-family:var(--font-jp);font-weight:700;font-size:18px}.square-body{flex:1;min-width:0}.square-head{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-family:var(--font-jp);flex-wrap:wrap}.square-name{font-weight:700;font-size:13px;color:var(--wine-dark)}.square-handle{font-size:11px;color:var(--ink-4);font-family:var(--font-en)}.square-time{font-size:11px;color:var(--ink-4);font-family:var(--font-en);margin-left:auto}.square-self-delete{background:none;border:none;color:var(--ink-4);font-size:16px;cursor:pointer;padding:0 4px}.square-self-delete:hover{color:var(--wine)}.square-text{font-family:var(--font-jp);font-size:13px;line-height:1.85;color:var(--ink);white-space:pre-wrap}.square-source{font-size:10px;color:var(--ink-4);margin-top:4px;font-style:italic}.square-actions{display:flex;gap:10px;margin-top:8px;padding-top:6px;border-top:1px dashed var(--rule-soft)}.square-reply,.square-view{background:none;border:1px solid var(--rule);padding:4px 10px;border-radius:12px;font-family:var(--font-jp);font-size:11px;color:var(--wine);cursor:pointer;letter-spacing:.03em}.square-reply:hover,.square-view:hover{background:#7a2e3a0f}.mute-toggle{position:fixed!important;inset:auto 56px 30px auto!important;width:40px;height:40px;border-radius:50%;background:#4a1822e6;color:var(--gold-light);border:1.5px solid var(--gold);font-size:18px;cursor:pointer;z-index:99;box-shadow:0 3px 10px #00000040;transition:all .15s;display:flex;align-items:center;justify-content:center;padding:0}.mute-toggle:hover{transform:scale(1.05)}.mute-toggle.muted{background:#3c3c3cd9;color:#bbb;border-color:#888}.sponsor-card{display:block;padding:22px 22px 18px;background:radial-gradient(ellipse at top right,rgba(212,176,85,.15) 0%,transparent 60%),linear-gradient(180deg,#fffdf7,#faf5e8);border:1.5px dashed var(--gold);border-radius:10px;text-decoration:none;color:inherit;transition:all .2s;cursor:pointer}.sponsor-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #b8952e33;border-style:solid}.sponsor-card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.sponsor-card-badge{font-size:10px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--gold) 0%,#b08530 100%);padding:3px 10px;border-radius:10px;letter-spacing:.1em;font-family:var(--font-en)}.sponsor-card-title{font-family:var(--font-jp);font-weight:800;font-size:16px;color:var(--wine-dark);letter-spacing:.06em}.sponsor-card-body{font-family:var(--font-jp);font-size:12.5px;color:var(--ink-2);line-height:1.85;margin-bottom:14px}.sponsor-card-cta{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1px solid var(--gold);border-radius:18px;font-family:var(--font-jp);font-size:12px;font-weight:700;letter-spacing:.05em}.sponsor-card-arrow{font-size:14px}@media(min-width:900px){.sponsor-card-title{font-size:18px}.sponsor-card-body{font-size:13.5px}}.traits-card{margin:8px auto 0;max-width:820px;background:linear-gradient(180deg,#fffdf7,#faf5e8);border:1px solid var(--rule);border-radius:6px;overflow:hidden}.traits-summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:10px 14px;font-family:var(--font-jp);font-size:13px;font-weight:600;color:var(--wine);transition:background .15s}.traits-summary::-webkit-details-marker{display:none}.traits-summary:hover{background:#b8952e14}.traits-icon{font-size:16px}.traits-label{flex:1;letter-spacing:.05em}.traits-arrow{font-size:12px;color:var(--gold);transition:transform .2s}.traits-card[open] .traits-arrow{transform:rotate(180deg)}.traits-body{padding:8px 16px 14px;border-top:1px dashed var(--rule)}.traits-section{margin-top:12px}.traits-sec-label{font-family:var(--font-jp);font-size:11px;font-weight:700;color:var(--wine-dark);letter-spacing:.1em;margin-bottom:6px}.traits-sec-text{font-family:var(--font-jp);font-size:12.5px;line-height:1.85;color:var(--ink-2)}.traits-sec-chips{display:flex;flex-wrap:wrap;gap:6px}.traits-chip{display:inline-block;padding:4px 10px;background:#b8952e26;color:var(--wine);border-radius:14px;font-size:11px;font-family:var(--font-jp)}.traits-chip-neg{background:#7a2e3a1a;color:var(--wine-dark)}.traits-cat-grid{display:flex;flex-direction:column;gap:10px;padding:4px 0 2px}.traits-cat-row{padding:8px 10px;background:#fffdf799;border-left:2px solid var(--gold);border-radius:3px}.traits-cat-label{font-family:var(--font-jp);font-size:10.5px;font-weight:700;color:var(--wine);letter-spacing:.08em;margin-bottom:6px;opacity:.85}.mission-card{position:relative;background:linear-gradient(180deg,#fffdf7,#faf5e8);border:1px solid var(--gold);border-radius:6px;padding:16px 16px 14px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 10px #7a2e3a14}.mission-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #7a2e3a24}.mission-head{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(184,149,46,.3);margin-bottom:12px}.mission-avatar{width:46px;height:46px;border-radius:50%;background-size:cover;background-position:center;border:2px solid var(--gold);flex-shrink:0}.mission-avatar.no-img{display:flex;align-items:center;justify-content:center;background:var(--wine);color:var(--gold-light);font-family:var(--font-jp);font-size:22px;font-weight:700}.mission-head-text{flex:1;min-width:0}.mission-date{font-size:11px;color:var(--ink-3);font-family:var(--font-en);letter-spacing:.08em;margin-bottom:2px}.mission-person{font-family:var(--font-jp);font-weight:700;font-size:16px;color:var(--wine);letter-spacing:.05em}.mission-person-en{display:inline-block;margin-left:6px;font-family:var(--font-en);font-style:italic;font-weight:400;font-size:11px;color:var(--ink-4);letter-spacing:.02em}.mission-body{padding:2px 2px 10px}.mission-label{display:inline-block;font-size:10px;color:var(--wine);background:#b8952e26;padding:2px 8px;border-radius:2px;letter-spacing:.15em;margin-bottom:8px;font-family:var(--font-jp);font-weight:600}.mission-text{font-family:var(--font-jp);font-size:15px;line-height:1.75;color:var(--ink);font-weight:600;margin-bottom:6px}.mission-sub{font-family:var(--font-jp);font-size:12px;line-height:1.7;color:var(--ink-3);margin-bottom:12px}.mission-challenge{font-family:var(--font-jp);font-size:13px;line-height:1.7;color:var(--wine-dark);padding:10px 12px;background:#b8952e14;border-left:3px solid var(--gold);border-radius:0 4px 4px 0;margin-top:10px}.mission-actions{display:flex;justify-content:flex-end}.mission-btn{background:var(--wine);color:var(--gold-light);border:none;padding:8px 16px;border-radius:18px;font-size:12px;font-family:var(--font-jp);font-weight:600;cursor:pointer;letter-spacing:.05em}.mission-btn:hover{background:var(--wine-dark)}@media(max-width:520px){.mission-card{padding:14px 14px 12px}.mission-text{font-size:14px}.mission-sub{font-size:11px}.mission-challenge{font-size:12px;padding:9px 10px}}.today-birthday-list{background:linear-gradient(135deg,#fff6e0,#fffcf3 60%,#fff1d6);border:1px solid var(--gold);border-radius:8px;padding:14px 16px 16px;box-shadow:0 2px 8px #af873c1f}.today-birthday-date{font-family:var(--font-jp);font-size:13px;font-weight:700;color:var(--wine-dark);letter-spacing:.05em;margin-bottom:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.today-birthday-same{display:inline-block;padding:3px 10px;background:var(--wine);color:var(--gold-light);border-radius:14px;font-size:11px;font-weight:700}.today-birthday-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.today-birthday-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fffdf7;border:1px solid var(--rule-soft);border-radius:6px;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:all .15s}.today-birthday-card:hover{border-color:var(--wine);transform:translateY(-1px);box-shadow:0 4px 12px #7a1b2f26}.today-birthday-avatar{width:52px;height:52px;border-radius:50%;background-size:cover;background-position:center;background-color:#f1ead9;flex-shrink:0;border:2px solid var(--gold)}.today-birthday-avatar.no-img{display:flex;align-items:center;justify-content:center;font-family:var(--font-jp);font-size:22px;color:var(--wine)}.today-birthday-info{min-width:0;flex:1}.today-birthday-name{font-family:var(--font-jp);font-size:14px;font-weight:700;color:var(--ink-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-birthday-meta{font-size:11px;color:var(--ink-3);margin-top:2px}.today-birthday-years{font-size:11px;color:var(--wine-dark);font-weight:700;margin-top:3px}.cal-card{display:flex;align-items:center;gap:14px;padding:14px;background:#fffdf7;border:1px solid var(--rule);border-radius:6px;margin-bottom:10px;cursor:pointer;transition:all .15s ease}.cal-card:hover{transform:translateY(-1px);box-shadow:0 3px 10px #7a2e3a1a}.cal-avatar{width:56px;height:56px;border-radius:50%;background-size:cover;background-position:center;border:2px solid var(--gold);flex-shrink:0}.cal-avatar.no-img{display:flex;align-items:center;justify-content:center;background:var(--wine);color:var(--gold-light);font-family:var(--font-jp);font-size:24px;font-weight:700}.cal-body{flex:1;min-width:0}.cal-label{display:inline-block;font-size:10px;padding:2px 8px;border-radius:2px;letter-spacing:.1em;margin-bottom:4px;font-family:var(--font-jp);font-weight:600}.cal-label.birth{background:#b8952e26;color:var(--wine)}.cal-label.death{background:#3d4e3e26;color:var(--green-deep)}.cal-name{font-family:var(--font-jp);font-size:16px;font-weight:700;color:var(--ink);margin-bottom:3px}.cal-meta{font-size:11px;color:var(--ink-3);font-family:var(--font-jp)}.cal-years{font-size:11px;color:var(--wine);font-family:var(--font-en);letter-spacing:.05em;margin-top:3px}.guide-hello-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .26s ease;pointer-events:none}.guide-hello-modal.show{opacity:1;pointer-events:auto}.guide-hello-modal.closing{opacity:0}.guide-hello-backdrop{position:absolute;inset:0;background:#1e0a148c;backdrop-filter:blur(2px)}.guide-hello-card{position:relative;background:var(--paper-inner, #fff8ee);border:1.5px solid var(--gold);border-radius:18px;padding:28px 22px 22px;max-width:360px;width:calc(100% - 40px);box-shadow:0 20px 60px #0006;text-align:center;transform:translateY(8px) scale(.98);transition:transform .26s ease}.guide-hello-modal.show .guide-hello-card{transform:none}.guide-hello-close{position:absolute;top:8px;right:10px;background:none;border:none;font-size:22px;color:var(--ink-3);cursor:pointer;line-height:1}.guide-hello-ok{margin-top:14px;background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border:1.5px solid var(--gold);border-radius:999px;padding:10px 28px;font-size:14px;letter-spacing:.1em;cursor:pointer}.guide-hello-ok:hover{transform:translateY(-1px)}.person-book-follow{position:absolute;top:8px;left:8px;z-index:3;padding:4px 10px;background:#781e32e6;color:var(--gold-light);border:1px solid var(--gold);border-radius:999px;font-size:10px;letter-spacing:.06em;cursor:pointer;backdrop-filter:blur(2px);transition:transform .15s ease,background .15s ease}.person-book-follow.active{background:#785a1eeb;color:#fff}.person-book-follow:hover{transform:translateY(-1px)}.settings-sns-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.settings-sns-ic{width:22px;text-align:center;font-size:15px;color:var(--ink-3)}.settings-sec-hint{font-size:11px;color:var(--ink-4);margin-top:6px;line-height:1.5}.users-dir-list{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto;margin-top:12px}.users-dir-empty{text-align:center;padding:30px;color:var(--ink-4);font-size:13px}.users-dir-card{display:flex;gap:12px;padding:10px 12px;background:#fff8ee;border:1px solid #e7dcc2;border-radius:10px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.users-dir-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.users-dir-av{width:44px;height:44px;border-radius:50%;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#fff8ee;flex-shrink:0}.users-dir-av.no-img{display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--wine);font-weight:700}.users-dir-main{flex:1;min-width:0}.users-dir-name{font-size:14px;font-weight:700;color:var(--ink)}.users-dir-title{font-size:11px;color:var(--gold-dark);letter-spacing:.08em;margin-right:4px}.users-dir-me{font-size:11px;color:var(--wine)}.users-dir-meta{font-size:11px;color:var(--ink-3);margin-top:2px}.users-dir-sns-row{margin-top:6px;display:flex;gap:8px}.users-dir-sns{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:#fff;border:1px solid var(--rule-soft);border-radius:50%;text-decoration:none;color:var(--ink);font-size:13px}.users-dir-sns:hover{background:var(--gold-light)}.user-prof-head{display:flex;gap:14px;align-items:center;margin-bottom:16px}.user-prof-av{width:64px;height:64px;border-radius:50%;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#fff8ee;flex-shrink:0}.user-prof-av.no-img{display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--wine);font-weight:700}.user-prof-name{font-size:18px;font-weight:700}.user-prof-meta{font-size:12px;color:var(--ink-3);margin-top:2px}.user-prof-row{margin-bottom:10px;font-size:13px;line-height:1.7}.user-prof-row b{display:block;font-size:11px;color:var(--ink-3);letter-spacing:.1em;margin-bottom:4px;font-weight:600}.user-prof-chips{display:flex;flex-wrap:wrap;gap:5px}.user-prof-chip{display:inline-block;padding:2px 10px;background:#fff8ee;border:1px solid #e7dcc2;border-radius:999px;font-size:11px}.user-prof-empty{font-size:11px;color:var(--ink-4)}.user-prof-sns-row{display:flex;flex-wrap:wrap;gap:6px}.user-prof-sns{font-size:12px;padding:4px 10px;background:#fff;border:1px solid var(--rule-soft);border-radius:6px;color:var(--wine);text-decoration:none}.user-prof-sns:hover{background:var(--gold-light)}.user-prof-ijin-list{display:flex;flex-wrap:wrap;gap:5px}.user-prof-ijin{padding:3px 10px;background:#fff;border:1px solid var(--rule-soft);border-radius:999px;font-size:11px;color:var(--wine);cursor:pointer}.user-prof-ijin:hover{background:var(--gold-light)}.users-dir-search-row{display:flex;gap:6px;margin-top:10px}.users-dir-search{flex:1;padding:8px 10px;border:1px solid var(--rule-soft);border-radius:8px;font-size:13px;background:#fff}.users-dir-id-jump{padding:8px 14px;border:1px solid var(--wine);background:var(--wine);color:var(--gold-light);border-radius:8px;font-size:12px;cursor:pointer;white-space:nowrap}.users-dir-id-jump:hover{background:var(--wine-dark)}.share-qr-wrap{text-align:center;margin:14px 0}.share-qr{width:200px;height:200px;border:1px solid var(--rule-soft);border-radius:8px;background:#fff;padding:6px}.share-row{margin-bottom:12px}.share-label{font-size:11px;color:var(--ink-3);letter-spacing:.1em;margin-bottom:4px;font-weight:600}.share-field{display:flex;gap:6px}.share-field input{flex:1;padding:8px 10px;border:1px solid var(--rule-soft);border-radius:6px;font-size:12px;background:#fff8ee;color:var(--ink);font-family:monospace}.share-copy{padding:8px 14px;border:1px solid var(--wine);background:#fff;color:var(--wine);border-radius:6px;font-size:12px;cursor:pointer;white-space:nowrap}.share-copy:hover{background:var(--wine);color:var(--gold-light)}.share-native{display:block;width:100%;margin-top:6px;padding:10px;border:1.5px solid var(--gold);background:linear-gradient(135deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-light);border-radius:999px;font-size:13px;letter-spacing:.1em;cursor:pointer}.user-prof-follow{display:block;width:100%;margin:6px 0 14px;padding:10px;border:1.5px solid var(--wine);background:var(--wine);color:var(--gold-light);border-radius:999px;font-size:13px;letter-spacing:.1em;cursor:pointer;transition:transform .15s ease,background .15s ease}.user-prof-follow:hover{transform:translateY(-1px);background:var(--wine-dark)}.user-prof-follow.active{background:#fff;color:var(--wine);border-color:var(--gold)}.user-prof-follow.sm{width:auto;display:inline-block;margin:0;padding:5px 12px;font-size:11px;letter-spacing:.04em;align-self:center;flex-shrink:0}.social-list-subhead{font-size:11px;color:var(--ink-3);letter-spacing:.1em;margin:10px 0 6px;padding-left:4px;font-weight:600}.settings-title-btn{width:100%;padding:10px 14px;background:#fff8ee;border:1px solid var(--rule-soft);border-radius:8px;text-align:left;font-size:13px;color:var(--ink);cursor:pointer}.settings-title-btn:hover{border-color:var(--gold)}.settings-trait-section{cursor:default}.settings-trait-summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px}.settings-trait-summary::-webkit-details-marker{display:none}.settings-trait-summary:after{content:"\25be";margin-left:auto;transition:transform .2s;font-size:11px;color:var(--ink-3)}.settings-trait-section[open] .settings-trait-summary:after{transform:rotate(180deg)}.settings-trait-count{display:inline-block;min-width:18px;padding:1px 6px;background:var(--wine);color:var(--gold-light);border-radius:999px;font-size:10px;font-weight:700;text-align:center}.settings-trait-groups{margin-top:8px;display:flex;flex-direction:column;gap:10px}.settings-trait-group{background:#fff8ee;border:1px solid #e7dcc2;border-radius:8px;padding:8px 10px}.settings-trait-sub{font-size:11px;color:var(--wine-dark);letter-spacing:.05em;margin-bottom:6px;font-weight:600}.settings-trait-group .settings-chips{display:flex;flex-wrap:wrap;gap:4px}.phone-menu{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.phone-menu.open{opacity:1;pointer-events:auto}.phone-menu-backdrop{position:absolute;inset:0;background:#0a1414a6;backdrop-filter:blur(3px)}.phone-frame{position:relative;width:340px;max-width:92vw;aspect-ratio:400 / 748;transform:translateY(40px) scale(.9);transition:transform .4s cubic-bezier(.2,.9,.3,1.2)}.phone-menu.open .phone-frame{transform:translateY(0) scale(1)}.phone-frame-img{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.phone-screen{position:absolute;inset:7% 8%;display:flex;flex-direction:column;background:radial-gradient(ellipse at center top,rgba(188,196,170,.5) 0%,transparent 60%),linear-gradient(180deg,#a7b09d,#8a9584 55%,#6e7a6c);border-radius:4px;overflow:hidden;opacity:0;transition:opacity .5s ease .2s;font-family:-apple-system,SF Pro Display,Hiragino Sans,Yu Gothic UI,system-ui,sans-serif}.phone-menu.open .phone-screen{opacity:1}.phone-navbar{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-around;height:40px;background:#fff;border-top:1px solid rgba(0,0,0,.15);box-shadow:0 -1px 3px #00000014;flex-shrink:0}.phone-nav-btn{background:transparent;border:0;padding:0;width:52px;height:100%;display:flex;align-items:center;justify-content:center;color:#111;cursor:pointer;border-radius:6px;transition:background .15s}.phone-nav-btn svg{width:24px;height:24px}.phone-nav-home svg{width:22px;height:22px}.phone-nav-btn:hover{background:#0000000f}.phone-nav-btn:active{background:#00000024}.phone-nav-home svg rect{stroke-width:2.4}.phone-status{display:flex;justify-content:space-between;align-items:center;padding:6px 12px 4px;font-size:11px;color:#1b2a1f;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums}.phone-status-left,.phone-status-right{display:flex;align-items:center;gap:6px}.phone-clock{font-size:13px;font-weight:700;letter-spacing:.03em}.phone-notif{display:inline-flex;align-items:center;gap:2px;background:#c93a4a;color:#fff;border-radius:10px;padding:1px 6px 1px 5px;font-size:9px;font-weight:700}.phone-notif-ic{font-size:10px}.phone-signal{display:inline-flex;align-items:center;gap:3px}.phone-signal svg{fill:currentColor}.phone-carrier{font-size:9px;letter-spacing:.04em;font-weight:600}.phone-battery{display:inline-flex;align-items:center;gap:3px}.phone-battery-pct{font-size:10px;font-weight:600}.phone-battery-icon{display:inline-block;position:relative;width:22px;height:11px;border:1px solid #1b2a1f;border-radius:2px;padding:1px}.phone-battery-icon:after{content:"";position:absolute;right:-3px;top:3px;width:2px;height:5px;background:#1b2a1f;border-radius:0 1px 1px 0}.phone-battery-fill{display:block;height:100%;background:#1b2a1f;border-radius:1px;width:100%;transition:width .3s ease,background .3s ease}.phone-battery.low .phone-battery-fill{background:#c9543a}.phone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 4px;padding:14px 8px 10px;width:100%;box-sizing:border-box;flex:1 1 auto;min-height:0;align-content:start;justify-items:center;overflow-y:auto;-webkit-overflow-scrolling:touch}.phone-grid::-webkit-scrollbar{width:0}.phone-grid .phone-icon{min-width:0;width:100%;max-width:72px;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.phone-grid .phone-icon img,.phone-grid .phone-icon span{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:none}.phone-grid .phone-icon img{width:46px;height:46px}.phone-grid .phone-icon-emoji{width:38px!important;height:38px!important;font-size:22px!important}.phone-grid .phone-icon span{font-size:10px}.phone-icon.dragging{opacity:.55;transform:scale(1.08);z-index:30}.phone-icon.drag-target{transform:scale(.9);opacity:.75}@keyframes phone-icon-wiggle{0%,to{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}.phone-grid.reorder-mode .phone-icon:not(.dragging){animation:phone-icon-wiggle .3s ease-in-out infinite}.phone-grid.reorder-mode .phone-icon:after{content:"\22ee\22ee";position:absolute;top:-4px;right:-2px;font-size:10px;color:#00000080;background:#ffffffd9;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;pointer-events:none}.phone-icon-oshi-slot{background:none;border:none;padding:0}.phone-icon-oshi-slot[hidden]{display:none}.phone-quote-banner{padding:6px 12px 7px;text-align:center;color:#263026;border-bottom:1px solid rgba(0,0,0,.12);flex-shrink:0;max-height:60px;overflow:hidden}.phone-quote-text{font-size:11.5px;line-height:1.55;font-weight:500;letter-spacing:.02em}.phone-quote-src{font-size:10px;color:#435447;margin-top:3px;letter-spacing:.04em}.quote-actions{display:inline-flex;gap:4px;align-items:center}.phone-pin-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px;line-height:1;opacity:.6;transition:opacity .15s,transform .15s}.phone-pin-btn:hover{opacity:1;transform:scale(1.15)}.phone-pin-btn.active{opacity:1;filter:drop-shadow(0 0 3px rgba(100,180,220,.7))}.phone-pin-remove-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.phone-pin-remove-item{text-align:left;padding:10px 14px;background:#fff8ee;border:1px solid var(--rule-soft);border-radius:8px;cursor:pointer;transition:border-color .15s,transform .15s}.phone-pin-remove-item:hover{border-color:var(--wine);transform:translateY(-1px)}.phone-pin-remove-text{font-size:13px;color:var(--ink);font-weight:600}.phone-pin-remove-src{font-size:11px;color:var(--ink-3);margin-top:3px}.phone-icon{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;background:none;border:none;cursor:pointer;color:#1f2b1f;transition:transform .15s ease}.phone-icon:hover{transform:translateY(-2px)}.phone-icon:active{transform:scale(.94)}.phone-icon img{width:58px;height:58px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.phone-icon{position:relative}.phone-icon-badge{position:absolute;top:-4px;right:2px;background:#c93a4a;color:#fff;border:1.5px solid #fff8ee;border-radius:999px;min-width:20px;height:20px;font-size:12px;font-weight:700;line-height:17px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000004d;z-index:2}.phone-icon-badge[hidden]{display:none}.phone-icon span{font-family:SF Pro Display,-apple-system,Hiragino Sans,Yu Gothic UI,system-ui,sans-serif;font-size:11px;letter-spacing:.04em;font-weight:700;color:#1a1e1a;text-shadow:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.line-msg-sticker img{width:100px;height:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.phone-oshi-avatar{width:46px;height:46px;border-radius:12px;background-size:cover;background-position:center;background-color:#e8dcc0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--wine);border:2px solid #d9c896;box-shadow:0 2px 4px #0000004d}.phone-icon-oshi span:last-child{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-home-btn{position:absolute;left:50%;bottom:6.5%;transform:translate(-50%);width:22%;aspect-ratio:1;background:transparent;border:none;border-radius:50%;cursor:pointer}.phone-home-btn:hover{background:radial-gradient(circle,rgba(240,210,120,.25) 0%,transparent 70%)}.phone-close-btn{position:absolute;top:-18px;right:-18px;width:40px;height:40px;border-radius:50%;background:#fff8ee;border:2px solid var(--gold);color:var(--wine);font-size:22px;line-height:1;cursor:pointer;z-index:10;box-shadow:0 4px 10px #00000059;display:flex;align-items:center;justify-content:center;padding:0;transition:transform .15s ease}.phone-close-btn:hover{transform:scale(1.1)}.power-hint-anim{position:fixed!important;inset:auto auto 14px 14px!important;width:56px!important;height:56px!important;margin:0!important;transform:none!important;width:56px;height:56px;z-index:49;padding:0;background:transparent;border:none;cursor:pointer;transition:opacity .2s}body.modal-open .power-hint-anim{opacity:0!important;pointer-events:none!important}body:has(.phone-menu.open) .power-hint-anim{opacity:0!important;pointer-events:none!important}body:has(#welcomeIntro:not([hidden])) .power-hint-anim{opacity:0!important;pointer-events:none!important}.power-hint-anim[hidden]{display:none}.power-hint-video{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}video.power-hint-video{mix-blend-mode:multiply}img.power-hint-video{mix-blend-mode:normal!important}.power-hint-close{display:none}.power-hint-close{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:#fffffff2;border:1px solid var(--rule-soft);color:var(--ink-3);font-size:11px;line-height:1;cursor:pointer;pointer-events:auto;padding:0}.welcome-intro{position:fixed;left:82px;bottom:22px;width:56px;height:56px;z-index:60;display:block;overflow:visible;animation:welcome-fade-in .4s ease;pointer-events:none}.welcome-intro[hidden]{display:none}.welcome-intro-video{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(100,70,30,.2))}video.welcome-intro-video{mix-blend-mode:multiply}img.welcome-intro-video{mix-blend-mode:normal!important}.welcome-intro-skip{display:none}.welcome-intro-bubble{position:absolute;left:8px;bottom:62px;transform-origin:20px bottom;white-space:nowrap;padding:6px 20px 6px 14px;min-width:180px;background:#fffdf6;border:1.5px solid var(--gold);border-radius:14px;font-size:10px;line-height:1.4;color:var(--wine-dark);font-weight:600;box-shadow:0 3px 10px #0003;font-family:var(--font-jp);letter-spacing:0;animation:welcome-bubble-pop .6s cubic-bezier(.3,1.4,.5,1) .15s both;pointer-events:none;z-index:2}.welcome-intro-bubble:after{content:"";position:absolute;left:20px;bottom:-8px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:8px solid var(--gold)}.welcome-intro-bubble:before{content:"";position:absolute;left:21px;bottom:-6px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #fffdf6;z-index:2}@keyframes welcome-bubble-pop{0%{opacity:0;transform:translateY(10px) scale(0)}60%{opacity:1;transform:translateY(-4px) scale(1.08)}80%{transform:translateY(0) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes welcome-fade-in{0%{opacity:0}to{opacity:1}}@keyframes welcome-fade-out{0%{opacity:1}to{opacity:0}}.bottom-fade{position:fixed;left:0;right:0;bottom:0;height:180px;pointer-events:none;z-index:40;background:linear-gradient(180deg,#fffdf800,#fffdf840,#fffdf899,#fffdf8e6,#fffdf8)}.power-btn{position:fixed;left:18px;bottom:18px;width:56px;height:56px;padding:0;border:none;background:transparent;cursor:pointer;z-index:50;transition:transform .15s ease,filter .2s ease;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3))}.power-btn:hover{transform:translateY(-2px);filter:drop-shadow(0 4px 10px rgba(200,160,40,.5))}.power-btn:active{transform:translateY(0) scale(.96)}.power-btn img{width:100%;height:100%;display:block}.era-categories{padding:12px;display:flex;flex-direction:column;gap:10px}.era-cat{background:#fff8ee;border:1px solid #e7dcc2;border-radius:10px;overflow:hidden}.era-cat-head{display:flex;align-items:center;gap:8px;padding:14px 16px;cursor:pointer;list-style:none;font-family:var(--font-jp);color:var(--wine-dark)}.era-cat-head::-webkit-details-marker{display:none}.era-cat-icon{font-size:24px}.era-cat-icon-svg{width:38px;height:38px;object-fit:contain;flex-shrink:0;opacity:.85}.era-cat-icon-png{width:44px;height:44px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}.era-page-cat-icon{width:22px;height:22px;object-fit:contain;vertical-align:middle;margin-right:6px;flex-shrink:0}.era-page-title-icon{width:36px;height:36px;object-fit:contain;vertical-align:middle;margin-right:8px;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.era-page-cat{display:inline-flex;align-items:center;gap:4px}.era-page-title{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.era-cat-name{font-size:17px;font-weight:700;letter-spacing:.04em;flex:1}.era-cat-sub{font-size:11px;color:var(--ink-4);letter-spacing:.1em}.era-cat-arrow{transition:transform .2s;color:var(--ink-3)}.era-cat[open] .era-cat-arrow{transform:rotate(180deg)}.era-cat-body{padding:0 12px 14px}.era-timeline{display:flex;flex-direction:column;gap:8px;position:relative;padding-left:18px}.era-timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--gold) 0%,#e7dcc2 100%)}.era-card{position:relative;text-align:left;background:#fff;border:1px solid var(--rule-soft);border-radius:8px;padding:10px 14px;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s;font-family:var(--font-jp)}.era-card:before{content:"";position:absolute;left:-18px;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--gold);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--gold)}.era-card:hover{transform:translateY(-1px);border-color:var(--wine);box-shadow:0 4px 10px #781e3214}.era-card-period{font-size:11px;color:var(--ink-4);letter-spacing:.08em;font-family:var(--font-en);font-weight:600}.era-card-name{font-size:15px;font-weight:700;color:var(--wine-dark);margin:2px 0 4px}.era-card-desc{font-size:12px;color:var(--ink-2);line-height:1.6}.era-card-people-count{font-size:11px;color:var(--wine);margin-top:6px;font-weight:600}.era-modal-panel{max-width:520px}.era-modal-cat{font-size:12px;color:var(--ink-3);letter-spacing:.1em;margin-bottom:4px}.era-modal-title{font-size:22px;font-weight:700;color:var(--wine-dark)}.era-modal-period{font-size:13px;color:var(--ink-4);margin:4px 0 10px;font-family:var(--font-en);letter-spacing:.06em}.era-modal-desc{font-size:13px;line-height:1.8;color:var(--ink);margin-bottom:12px}.era-modal-keywords{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:16px}.era-keyword{display:inline-block;padding:3px 10px;background:#fff8ee;border:1px solid #e7dcc2;border-radius:999px;font-size:11px;color:var(--wine)}.era-modal-section-head{font-size:12px;color:var(--ink-3);letter-spacing:.1em;margin:14px 0 8px;font-weight:600}.era-modal-people{display:flex;flex-direction:column;gap:6px;max-height:40vh;overflow-y:auto}.era-modal-empty{font-size:12px;color:var(--ink-4);text-align:center;padding:14px}.era-person-card{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fff8ee;border:1px solid #e7dcc2;border-radius:8px;cursor:pointer;text-align:left;transition:transform .15s,border-color .15s}.era-person-card:hover{transform:translateY(-1px);border-color:var(--wine)}.era-person-av{width:40px;height:40px;border-radius:50%;background-size:cover;background-position:center;background-color:#e8dcc0;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--wine)}.era-person-name{font-size:13px;font-weight:700;color:var(--ink)}.era-person-sub{font-size:11px;color:var(--ink-3);margin-top:2px}.follow-hint-block{padding:0;background:none}.follow-hint-inner{display:flex;gap:14px;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#fff8eee6,#f8e6c8cc);border:1px solid var(--gold);border-radius:12px;box-shadow:0 1px 3px #78501414}.follow-hint-icon{font-size:28px;color:var(--wine);flex-shrink:0}.follow-hint-title{font-size:13px;font-weight:700;color:var(--wine-dark);letter-spacing:.04em;margin-bottom:4px}.follow-hint-text{font-size:11px;color:var(--ink-3);line-height:1.7}.settings-preset-label{font-size:11px;color:var(--ink-3);letter-spacing:.1em;margin:14px 0 6px;font-weight:600}.settings-preset-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.settings-preset-item{position:relative;padding:4px;border:2px solid transparent;background:#fff8ee;border-radius:10px;cursor:pointer;transition:transform .15s ease,border-color .15s ease;display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;overflow:hidden}.settings-preset-item img{width:100%;height:100%;object-fit:contain;display:block}.settings-preset-item:hover{transform:translateY(-1px);border-color:var(--gold)}.settings-preset-item.selected{border-color:var(--wine);background:#fff;box-shadow:0 0 0 2px #781e3226}.settings-preset-item.selected:after{content:"\2713";position:absolute;top:-6px;right:-6px;background:var(--wine);color:var(--gold-light);border-radius:50%;width:18px;height:18px;font-size:11px;display:flex;align-items:center;justify-content:center}.today-echo-block{background:linear-gradient(135deg,#3c28140a,#8c643c14);border-left:4px solid #8a5a1d;border-radius:0 12px 12px 0;padding:16px 18px}.today-echo-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;flex-wrap:wrap}.today-echo-date{font-size:16px;font-weight:700;color:#5a3a14;font-family:Georgia,Yu Mincho,serif;letter-spacing:.05em}.today-echo-label{font-size:11.5px;color:#8a7050;letter-spacing:.15em}.today-echo-list{display:flex;flex-direction:column;gap:8px}.today-echo-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff9;border:1px solid rgba(0,0,0,.08);border-radius:10px;cursor:pointer;text-align:left;font-family:inherit;transition:transform .12s,background .12s}.today-echo-item:hover{background:#fffffff2;transform:translateY(-1px)}.today-echo-item.death{border-left:3px solid #7a2a2a}.today-echo-item.birth{border-left:3px solid #2a7a4a}.today-echo-av{width:44px;height:44px;border-radius:50%;background-size:cover;background-position:center;background-color:#d9cdb3;display:flex;align-items:center;justify-content:center;font-weight:700;color:#5a4a33;flex-shrink:0}.today-echo-info{flex:1;min-width:0}.today-echo-years{font-size:11.5px;color:#8a6a40;font-family:Georgia,Yu Mincho,serif;letter-spacing:.05em}.today-echo-name{font-size:14.5px;font-weight:700;color:#2a1e0f;margin:2px 0}.today-echo-kind{display:inline-block;font-size:10.5px;padding:1px 6px;border-radius:3px;margin-left:4px;font-weight:600}.today-echo-item.birth .today-echo-kind{background:#2a7a4a26;color:#1e5a30}.today-echo-item.death .today-echo-kind{background:#7a2a2a26;color:#6a1a1a}.today-echo-field{font-size:11.5px;color:#7a6a54}.mirror-block{background:linear-gradient(180deg,#281e3c0a,#3c285014);border-radius:12px;padding:16px 18px}.mirror-block>.home-block-label{margin-left:-18px;margin-right:-18px;margin-top:-16px;border-top-left-radius:12px;border-top-right-radius:12px}.mirror-hint{font-size:12.5px;color:#6a5a80;margin:4px 0 14px;letter-spacing:.05em;font-style:italic}.history-mirror-list{display:flex;flex-direction:column;gap:14px}.mirror-pair{background:#ffffffa6;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:14px 14px 12px;box-shadow:0 1px 4px #0000000d}.mirror-theme{font-size:13.5px;font-weight:700;color:#4a3a6a;letter-spacing:.08em;margin-bottom:12px;padding-bottom:8px;border-bottom:1px dashed rgba(0,0,0,.12);text-align:center;font-family:Yu Mincho,Hiragino Mincho Pro,serif}.mirror-figures{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:start}.mirror-fig{background:transparent;border:0;padding:6px;cursor:pointer;text-align:center;font-family:inherit;border-radius:8px;transition:background .12s}.mirror-fig:hover{background:#0000000a}.mirror-fig-av{width:56px;height:56px;margin:0 auto 6px;border-radius:50%;background-size:cover;background-position:center;background-color:#e0d6be;border:2px solid #c9b78a;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:#5a4a33}.mirror-fig-name{font-size:13px;font-weight:700;color:#2a1e0f;line-height:1.3;margin-bottom:2px}.mirror-fig-year{font-size:11px;color:#8a7050;font-family:Georgia,Yu Mincho,serif;margin-bottom:4px}.mirror-fig-note{font-size:10.5px;color:#6a5030;line-height:1.5}.mirror-vs{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 2px 0;min-width:56px}.mirror-vs-icon{font-size:20px;opacity:.7}.mirror-vs-years{font-size:9.5px;color:#6a5080;text-align:center;margin-top:4px;font-family:Georgia,Yu Mincho,serif;line-height:1.3}.mirror-body{margin:12px 0 0;font-size:12.5px;line-height:1.8;color:#3a2d1c;padding:10px 12px;background:#00000008;border-radius:6px}@media(max-width:500px){.mirror-figures{grid-template-columns:1fr;gap:6px}.mirror-vs{flex-direction:row;gap:10px;padding:6px 0}}.profile-era-jump{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 14px;margin:8px 0 14px;background:linear-gradient(90deg,#7a5a3814,#7a5a3805);border-left:3px solid #8a5a1d;border-radius:0 8px 8px 0}.profile-era-jump-label{font-size:12.5px;color:#5a3a14;font-weight:600;letter-spacing:.05em;margin-right:4px}.profile-era-jump-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:#ffffffd9;border:1px solid rgba(138,90,29,.3);border-radius:999px;font-size:12.5px;color:#5a3a14;cursor:pointer;font-family:inherit;transition:background .12s,transform .12s}.profile-era-jump-btn:before{content:"\2192";font-size:11px;opacity:.7}.profile-era-jump-btn:hover{background:#fff;transform:translateY(-1px);box-shadow:0 2px 6px #8a5a1d26}.profile-info-card{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin:10px 0 12px;padding:14px 16px;background:linear-gradient(180deg,#fff8ea99,#f5e8d066);border:1px solid rgba(138,90,29,.15);border-radius:12px;font-family:var(--font-jp)}.profile-info-item{display:flex;align-items:baseline;gap:6px;padding:6px 8px;min-width:0}.profile-info-ic{font-size:14px;flex-shrink:0;opacity:.75;width:18px;text-align:center}.profile-info-label{font-size:11px;color:var(--ink-4);letter-spacing:.12em;flex-shrink:0;min-width:24px}.profile-info-value{font-size:13.5px;font-weight:600;color:var(--ink);flex:1;min-width:0;line-height:1.5;word-break:normal;overflow-wrap:anywhere;line-break:strict}.profile-info-item{align-items:flex-start}.profile-info-age{font-size:11.5px;color:var(--ink-4);font-weight:400;margin-left:2px}.profile-info-visit{grid-column:1 / -1;justify-content:center;border-top:1px dashed rgba(138,90,29,.15);margin-top:4px;padding-top:10px;font-size:11.5px;color:var(--ink-4)}.profile-info-visit .profile-info-value{font-size:11.5px;font-weight:500;color:var(--ink-4)}@media(max-width:480px){.profile-info-card{grid-template-columns:1fr;padding:12px 14px}.profile-info-visit{border-top:1px dashed rgba(138,90,29,.15)}}.stamp-toast{position:fixed;top:80px;right:16px;z-index:10000;display:flex;align-items:center;gap:12px;padding:12px 14px 12px 12px;background:linear-gradient(135deg,#fff8e8,#f5e6c8);border:1px solid #c9a760;border-left:4px solid #a8842a;border-radius:10px;box-shadow:0 6px 24px #50320a40;max-width:340px;min-width:260px;opacity:0;transform:translate(30px);transition:opacity .3s ease,transform .3s ease;cursor:pointer;font-family:var(--font-jp)}.stamp-toast.show{opacity:1;transform:translate(0)}.stamp-toast-av{width:42px;height:42px;border-radius:50%;background-size:cover;background-position:center top;background-color:#e0d6be;border:2px solid #c9a760;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;color:#5a4a33}.stamp-toast-av.no-img{background-color:#fff8e8}.stamp-toast-body{flex:1;min-width:0}.stamp-toast-head{display:flex;align-items:center;gap:6px;margin-bottom:3px}.stamp-toast-seal{color:#a8842a;font-size:14px;animation:stampSealPop .5s .1s both cubic-bezier(.3,1.5,.5,1)}@keyframes stampSealPop{0%{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(0)}}.stamp-toast-kind{font-size:11.5px;color:#8a6a20;font-weight:700;letter-spacing:.08em}.stamp-toast-msg{font-size:12.5px;color:#3a2d1c;line-height:1.5}.stamp-toast-close{background:transparent;border:0;font-size:16px;color:#8a6a20;cursor:pointer;padding:0 4px;flex-shrink:0;align-self:flex-start}@media(max-width:480px){.stamp-toast{top:64px;right:8px;left:8px;max-width:none}}.profile-info-visit-sep{color:var(--ink-4);opacity:.5}.rekitto-bubble{background:#fff!important;border:1px solid #cfd8d0;position:relative}.rekitto-link-row{margin-top:10px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.15)}.rekitto-link-btn{display:inline-block;padding:7px 14px;background:linear-gradient(180deg,#7a9a8a,#5a7a6a);color:#fff;border:0;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.04em;cursor:pointer;font-family:inherit;box-shadow:0 2px 4px #4a6a5a4d}.rekitto-link-btn:hover{background:linear-gradient(180deg,#8aaa9a,#6a8a7a);transform:translateY(-1px);box-shadow:0 3px 6px #4a6a5a66}.rekitto-video-av{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;pointer-events:none;background:#7a9a8a}.rekitto-line-avatar{width:40px;height:40px;overflow:hidden;border-radius:50%;background:#7a9a8a}.rekitto-line-avatar .rekitto-video-av{border-radius:50%}.rekitto-bubble{word-break:normal;overflow-wrap:anywhere;line-break:strict}.follow-hint-block{padding:0!important;background:transparent!important;border:0!important}.follow-hint-banner{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 4px 16px #50320a33}.home-details{padding:0!important;overflow:hidden}.home-details>.home-details-summary{display:flex;align-items:center;gap:8px;padding:14px 16px;cursor:pointer;list-style:none;background:linear-gradient(90deg,rgba(138,90,29,.04),transparent);border-bottom:1px solid transparent;transition:background .15s}.home-details>.home-details-summary::-webkit-details-marker{display:none}.home-details>.home-details-summary:hover{background:linear-gradient(90deg,rgba(138,90,29,.08),transparent)}.home-details[open]>.home-details-summary{border-bottom:1px solid rgba(138,90,29,.12)}.home-details .home-block-label{padding:0;margin:0;flex:1}.home-details-label{flex:1;font-size:14px;font-weight:700;color:var(--wine);letter-spacing:.04em;line-height:1.3;font-family:var(--font-jp);padding-left:12px;border-left:4px double var(--wine);word-break:normal;overflow-wrap:anywhere;line-break:strict;min-width:0}.home-details-hint{font-size:11px;color:var(--ink-4);margin-right:4px;letter-spacing:.03em}.home-details-arrow{font-size:16px;color:var(--ink-3);transition:transform .2s;flex-shrink:0}.home-details[open] .home-details-arrow{transform:rotate(180deg)}.home-details>*:not(summary){padding:14px 16px}.home-details-hero{border:2px solid var(--gold);background:linear-gradient(135deg,#fff8ed,#fff0d9);box-shadow:0 4px 14px #8a5a1d2e,inset 0 0 0 1px #ffffffb3;position:relative;overflow:hidden}.home-details-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--wine),var(--gold),var(--wine));background-size:200% 100%;animation:heroShine 3.5s linear infinite}@keyframes heroShine{0%{background-position:0% 0}to{background-position:-200% 0}}.home-details-hero>.home-details-summary{padding:16px 18px;background:transparent}.home-details-hero>.home-details-summary:hover{background:linear-gradient(135deg,rgba(255,255,255,.4),transparent)}.home-details-hero-icon{font-size:28px;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(138,90,29,.3))}.home-details-hero-label{flex:1;display:flex;flex-direction:column;gap:2px;padding-left:12px;border-left:4px double var(--wine);min-width:0}.home-details-hero-title{font-family:var(--font-jp);font-weight:800;font-size:16px;color:var(--wine);letter-spacing:.04em;line-height:1.3}.home-details-hero-sub{font-family:var(--font-jp);font-size:11px;color:var(--ink-3);line-height:1.4}.home-details-hero .home-details-arrow{color:var(--wine);font-size:18px;font-weight:700}.home-details-news>*:not(summary){padding:10px 16px 14px}@media(max-width:480px){.home-details>.home-details-summary{padding:12px 14px}.home-details>*:not(summary){padding:12px 14px}.home-details-hint{display:none}}.mirror-more{margin-top:10px}.mirror-more-summary{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;background:#4a3a6a14;border:1px dashed rgba(74,58,106,.25);border-radius:10px;cursor:pointer;list-style:none;font-size:12.5px;font-weight:600;color:#4a3a6a;transition:background .15s}.mirror-more-summary::-webkit-details-marker{display:none}.mirror-more-summary:hover{background:#4a3a6a24}.mirror-more[open] .mirror-more-summary{margin-bottom:10px}.mirror-more-arrow{transition:transform .2s}.mirror-more[open] .mirror-more-arrow{transform:rotate(180deg)}.mirror-more-body{display:flex;flex-direction:column;gap:14px}@keyframes wvIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:520px){.worldview-panel{margin:0;border-radius:0;max-height:100vh;max-height:100dvh;width:100%;height:100%}.worldview-hero{padding:48px 20px 24px}.worldview-title{font-size:26px}.worldview-section{padding:20px}.worldview-chara{flex-direction:column;align-items:center;text-align:center}.worldview-chara-avatar{width:88px;height:88px}.worldview-chara-traits{text-align:left;align-self:stretch}}.home-rabin-greet,.magic-topbook-rabin{display:none!important}.home-rabin-greet-disabled{margin:0 0 14px;padding:16px 18px;background:linear-gradient(135deg,#fff8ea99,#f5e8d066);border:1px solid rgba(138,90,29,.15);border-radius:12px;box-shadow:0 1px 3px #8a5a1d14}.home-rabin-greet .guide-chara{margin:0}.home-rabin-greet .guide-chara-bubble{background:#ffffffe6}@keyframes worldviewRabbitBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.portal-transition{position:fixed;inset:0;z-index:9999;background:#000;opacity:0;pointer-events:none;transition:opacity .3s ease}.portal-transition[hidden]{display:none}.portal-transition.active{opacity:1;pointer-events:auto}.portal-video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.05);animation:portalZoom 1.2s cubic-bezier(.25,.5,.3,1) forwards}@keyframes portalZoom{0%{transform:scale(1);filter:brightness(.4) blur(2px)}20%{filter:brightness(1) blur(0)}70%{transform:scale(1.18);filter:brightness(1)}to{transform:scale(1.35);filter:brightness(1.1) saturate(1.2)}}.phone-menu.portal-zooming .phone-frame{animation:phoneZoomIn .25s cubic-bezier(.4,0,.3,1) forwards}.phone-menu.portal-zooming .phone-menu-backdrop{animation:backdropFadeBlack .25s ease forwards}@keyframes phoneZoomIn{0%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.9;filter:brightness(1.3)}to{transform:scale(2.2);opacity:0;filter:brightness(2)}}@keyframes backdropFadeBlack{to{background:#000}}.phone-tool-app{position:absolute;inset:0 0 40px;background:#f5f0e5;z-index:25;overflow:hidden;display:flex;flex-direction:column}.phone-tool-app[hidden]{display:none!important}.tool-app-head{background:#3a2d1c!important;color:#f5e8c8!important}.tool-app-back{background:none;border:none;color:#f5e8c8;font-size:22px;line-height:1;cursor:pointer;padding:0 8px}.phone-icon-tool .phone-icon-emoji{font-size:30px;display:flex;align-items:center;justify-content:center;width:100%;height:44px}.calc-app{flex:1;display:flex;flex-direction:column;padding:10px;background:linear-gradient(180deg,#2a2420,#1a1410);color:#fff}.calc-display{flex:0;min-height:70px;padding:14px 12px;background:#111;color:#f5f0d0;border-radius:8px;font-size:32px;font-weight:300;text-align:right;font-family:SF Mono,Consolas,monospace;letter-spacing:.03em;box-shadow:inset 0 2px 8px #00000080;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calc-keys{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.calc-key{background:#5a5148;color:#fff;border:0;border-radius:50%;font-size:18px;font-weight:500;cursor:pointer;aspect-ratio:1;transition:background .1s,transform .05s;font-family:inherit}.calc-key:active{transform:scale(.95);background:#6a6058}.calc-key.calc-fn{background:#a8a098;color:#2a2420}.calc-key.calc-fn:active{background:#c8c0b8}.calc-key.calc-op{background:#e69a2a;color:#fff;font-size:22px}.calc-key.calc-op:active{background:#ffb44a}.calc-key.calc-eq{background:#e69a2a;color:#fff;font-size:22px}.calc-key.calc-eq:active{background:#ffb44a}.calc-key.calc-zero{grid-column:span 2;aspect-ratio:2/1;border-radius:100px}.memo-app{flex:1;display:flex;flex-direction:column;padding:12px;background:repeating-linear-gradient(180deg,transparent 0,transparent 23px,#e0d4b4 23px,#e0d4b4 24px),#fdf6e3}.memo-textarea{flex:1;width:100%;border:0;background:transparent;resize:none;font-family:var(--font-jp);font-size:14px;line-height:24px;color:#2a1e0f;outline:none}.memo-status{font-size:11px;color:#8a6a40;padding:6px 0 0;text-align:right;min-height:16px}.memo-save-btn{margin-left:auto;background:transparent;border:0;color:#f5e8c8;font-size:16px;cursor:pointer;padding:4px 10px}.timer-app{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:20px;background:linear-gradient(180deg,#f5f0e5,#e8ddc4)}.timer-display{font-size:56px;font-weight:300;color:#3a2d1c;font-family:SF Mono,Consolas,monospace;letter-spacing:.05em;padding:20px 32px;background:#ffffffb3;border-radius:16px;border:2px solid rgba(138,90,29,.2);box-shadow:inset 0 2px 8px #0000000f}.timer-preset{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.timer-preset-btn{padding:6px 14px;background:#fff9;border:1px solid rgba(138,90,29,.25);border-radius:999px;font-size:12px;color:#5a3a14;cursor:pointer;font-family:inherit}.timer-preset-btn.active{background:#8a5a1d;color:#fff;border-color:#8a5a1d}.timer-controls{display:flex;gap:10px}.timer-btn{padding:10px 22px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;border:0;font-family:inherit}.timer-start{background:#8a5a1d;color:#fff}.timer-reset{background:#8a5a1d1f;color:#5a3a14}.timer-hint{font-size:11.5px;color:#8a6a40;font-style:italic;letter-spacing:.04em}.music-app{flex:1;display:flex;flex-direction:column;position:relative;color:#e8f4ff;min-height:0;overflow:hidden;height:100%;perspective:1200px;background:radial-gradient(ellipse at 20% 0%,rgba(120,80,255,.4) 0%,transparent 55%),radial-gradient(ellipse at 80% 90%,rgba(0,220,255,.25) 0%,transparent 55%),radial-gradient(ellipse at 50% 50%,rgba(255,80,180,.12) 0%,transparent 70%),linear-gradient(180deg,#0a0520,#060214,#000008)}.phone-tool-app#phoneMusicApp{overflow:hidden;background:#000008!important;z-index:25}.phone-navbar{z-index:50!important;position:relative}body:has(#phoneMusicApp:not([hidden])) .power-hint-anim,body:has(#phoneMusicApp:not([hidden])) .home-toc-wrap,body:has(#phoneMusicApp:not([hidden])) .mute-toggle,body:has(#phoneMusicApp:not([hidden])) .chat-fab-wrap{opacity:0!important;pointer-events:none!important}.phone-tool-app#phoneMusicApp .tool-app-head{background:linear-gradient(90deg,#0a0520,#060214)!important;color:#e8f4ff!important;border-bottom:1px solid rgba(0,220,255,.15)}.phone-tool-app#phoneMusicApp .tool-app-back{color:#00dcff;text-shadow:0 0 8px rgba(0,220,255,.5)}.phone-tool-app#phoneMusicApp .plaza-app-title{color:#fff;text-shadow:0 0 10px rgba(0,220,255,.4)}.phone-icon-emoji{font-size:28px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto 4px;background:linear-gradient(145deg,#fff7e6,#ffd699);border-radius:12px;box-shadow:0 2px 5px #00000026}.phone-icon-me-emoji{background:linear-gradient(145deg,#efe6ff,#c4b6e8)!important}.user-prof-mybook{background:linear-gradient(90deg,#fff7e6,#fdf0d2);border-left:3px solid var(--wine);padding:12px 16px!important;margin:8px 0}.user-prof-private{font-size:10px;color:var(--ink-4);font-weight:400;margin-left:6px}.user-prof-mybook-btn{display:block;width:100%;margin-top:8px;padding:10px 14px;background:var(--wine);color:#fff7e6;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--font-jp);text-align:left}.user-prof-mybook-btn:hover{filter:brightness(1.1)}@keyframes otayori-shine{0%,to{left:-50%}50%{left:120%}}.phone-tool-app#phoneOtayoriApp{overflow:hidden;flex-direction:column;background:#fff8ee}.phone-tool-app#phoneOtayoriApp[hidden]{display:none!important}.music-tracklist{min-height:0;-webkit-overflow-scrolling:touch}.music-btn.music-toggle{background:transparent;color:#c9a760;border:1px solid rgba(201,167,96,.4);width:32px;height:32px;min-width:32px;max-width:32px;font-size:12px;aspect-ratio:1}.music-btn.music-toggle.active{background:#c9a760;color:#1e1a2a}.music-nowplaying{position:relative;z-index:2;padding:10px 12px 8px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;border-bottom:1px solid rgba(0,220,255,.15);background:linear-gradient(180deg,rgba(6,2,20,.2),transparent);backdrop-filter:blur(2px);flex-shrink:0}.music-nowplaying:before{content:"\266a";display:block;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#000 0%,#000 22%,transparent 22.5%),conic-gradient(from 0deg,#7a3cff,#00dcff,#ff50b4,#7a3cff);color:#ffffffe6;font-size:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #ffffff1a,0 0 18px #00dcff80,0 0 36px #7a3cff4d,inset 0 0 18px #0009;transform:rotateX(12deg) rotateY(-8deg);animation:musicDiscSpin 8s linear infinite;transform-style:preserve-3d;margin-bottom:2px}.music-app.playing .music-nowplaying:before{animation:musicDiscSpin 3s linear infinite}@keyframes musicDiscSpin{0%{transform:perspective(400px) rotateX(12deg) rotateY(-8deg) rotate(0)}to{transform:perspective(400px) rotateX(12deg) rotateY(-8deg) rotate(360deg)}}.music-nowplaying-label{font-family:Cormorant Garamond,serif;font-size:10px;letter-spacing:.4em;color:#00dcff;text-transform:uppercase;text-shadow:0 0 10px rgba(0,220,255,.6);margin:2px 0 0}.music-nowplaying-title{font-size:13px;font-weight:800;color:#fff;line-height:1.3;letter-spacing:.02em;max-width:100%;word-break:break-word;overflow-wrap:anywhere;padding:0 4px;text-shadow:0 0 6px rgba(255,255,255,.6),0 0 18px rgba(0,220,255,.5),0 0 30px rgba(122,60,255,.4);background:linear-gradient(135deg,#fff,#b8e8ff,#e0a8ff 80%,#fff);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:holoShine 4s ease-in-out infinite}@keyframes holoShine{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.music-nowplaying-desc{font-size:11px;color:#e8f4ff99;max-width:100%;overflow-wrap:anywhere;padding:0 4px;line-height:1.4}.music-viz{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:18px;margin-top:4px}.music-viz span{display:block;width:3px;background:linear-gradient(180deg,#00dcff,#7a3cff);border-radius:2px;box-shadow:0 0 6px #00dcffcc;animation:vizBar .9s ease-in-out infinite}.music-viz span:nth-child(1){animation-delay:0s;height:40%}.music-viz span:nth-child(2){animation-delay:.12s;height:80%}.music-viz span:nth-child(3){animation-delay:.24s;height:60%}.music-viz span:nth-child(4){animation-delay:.36s;height:100%}.music-viz span:nth-child(5){animation-delay:.48s;height:50%}@keyframes vizBar{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.music-app:not(.playing) .music-viz span{animation-play-state:paused;transform:scaleY(.3)}.music-controls{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-bottom:1px solid rgba(0,220,255,.1);flex-wrap:nowrap;background:linear-gradient(180deg,transparent,rgba(0,0,0,.3));flex-shrink:0}.music-btn{width:36px;height:36px;min-width:36px;max-width:36px;border-radius:50%;background:linear-gradient(145deg,#00dcff26,#7a3cff26);color:#fff;border:1px solid rgba(0,220,255,.5);font-size:13px;cursor:pointer;flex:0 0 auto;aspect-ratio:1;padding:0;font-weight:700;backdrop-filter:blur(10px);box-shadow:0 0 0 1px #ffffff14 inset,0 4px 12px #0006,0 0 15px #00dcff40;transition:transform .18s cubic-bezier(.3,1.4,.5,1),box-shadow .2s,background .2s;transform-style:preserve-3d}.music-btn:hover:not(:disabled){transform:translateZ(8px) scale(1.08);box-shadow:0 0 0 1px #ffffff26 inset,0 6px 18px #00000080,0 0 28px #00dcffb3}.music-btn:active:not(:disabled){transform:translateZ(4px) scale(.94)}.music-btn.music-play{width:48px;height:48px;min-width:48px;max-width:48px;font-size:17px;background:linear-gradient(145deg,#00dcff,#7a3cff);border:2px solid rgba(255,255,255,.4);color:#fff;text-shadow:0 0 12px rgba(255,255,255,.8);box-shadow:0 0 0 2px #ffffff1a inset,0 6px 20px #00000080,0 0 30px #00dcff99,0 0 50px #7a3cff66;animation:musicPlayPulse 2.5s ease-in-out infinite}@keyframes musicPlayPulse{0%,to{box-shadow:0 0 0 2px #ffffff1a inset,0 6px 20px #00000080,0 0 30px #00dcff99,0 0 50px #7a3cff66}50%{box-shadow:0 0 0 2px #ffffff26 inset,0 6px 24px #0009,0 0 45px #00dcffd9,0 0 75px #7a3cff8c}}.music-btn:disabled{opacity:.3;cursor:default;box-shadow:none;animation:none}.music-btn.music-toggle{background:#0a052066;color:#00dcffb3;border:1px solid rgba(0,220,255,.3);width:32px;height:32px;min-width:32px;max-width:32px;font-size:12px;box-shadow:0 0 0 1px #ffffff0d inset,0 2px 8px #0000004d}.music-btn.music-toggle.active{background:linear-gradient(145deg,#00dcff,#7a3cff);color:#fff;border-color:#ffffff80;box-shadow:0 0 0 1px #fff3 inset,0 0 18px #00dcff99}.music-volume{flex:1;min-width:50px;height:4px;accent-color:#00dcff}.music-tracklist{position:relative;z-index:2;flex:1;list-style:none;margin:0;padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;min-height:0}.music-track{display:flex;align-items:center;padding:10px 12px;cursor:pointer;border-radius:10px;background:#0a052073;border:1px solid rgba(0,220,255,.12);backdrop-filter:blur(8px);transition:transform .2s cubic-bezier(.3,1.4,.5,1),background .2s,border-color .2s,box-shadow .2s;position:relative;overflow:hidden;transform-style:preserve-3d}.music-track:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#00dcff,#7a3cff,#ff50b4);opacity:0;transition:opacity .2s}.music-track:hover{transform:translate(4px) translateZ(6px);background:#0a0520b3;border-color:#00dcff59;box-shadow:0 6px 20px #0006,0 0 18px #00dcff26}.music-track:hover:before{opacity:.6}.music-track.playing{background:linear-gradient(90deg,#00dcff2e,#7a3cff1f 50%,#0a052080);border-color:#00dcff99;box-shadow:0 6px 24px #00000080,0 0 30px #00dcff59,0 0 50px #7a3cff33}.music-track.playing:before{opacity:1}.music-track-info{flex:1;min-width:0;overflow:hidden}.music-track-title{font-size:12.5px;font-weight:700;color:#fff;margin-bottom:2px;line-height:1.35;word-break:break-word;overflow-wrap:anywhere;text-shadow:0 0 8px rgba(255,255,255,.2)}.music-track.playing .music-track-title{background:linear-gradient(90deg,#00dcff,#fff,#ff50b4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none}.music-track-desc{font-size:10px;color:#e8f4ff80;line-height:1.4;word-break:break-word;overflow-wrap:anywhere}.music-track-icon{font-size:14px;color:#00dcff;flex-shrink:0;margin-left:10px;text-shadow:0 0 8px rgba(0,220,255,.6)}.music-volume{flex:1;min-width:50px;accent-color:#c9a760;height:4px}.music-track.playing .music-track-icon{animation:musicNote 1.2s ease-in-out infinite}@keyframes musicNote{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}#view-history,#view-tags,#view-routines,#view-articles,#view-favorites,#view-people,#view-person,.era-page{padding-bottom:80px}.float-nav{position:fixed;left:50%;transform:translate(-50%);bottom:16px;z-index:10002;display:flex;gap:6px;padding:6px;background:#3a2d1ceb;border-radius:999px;box-shadow:0 4px 14px #00000073,inset 0 1px #ffffff1a;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:auto}.float-nav-btn{width:40px;height:40px;background:transparent;color:#f5e8c8;border:1px solid rgba(245,232,200,.25);border-radius:50%;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,opacity .15s;padding:0;line-height:1}.float-nav-btn:hover:not(.disabled){background:#f5e8c826;color:#fff}.float-nav-btn:active:not(.disabled){transform:scale(.92)}.float-nav-btn.disabled{opacity:.45;cursor:default}#floatBackBtn.disabled{opacity:.55;pointer-events:auto}@media(max-width:480px){.float-nav{bottom:12px}.float-nav-btn{width:36px;height:36px;font-size:12px}}.float-nav.hide-for-phone{display:none}.profile-visitors-section{margin:14px 0;padding:12px 14px;background:linear-gradient(180deg,#8a5a1d0a,#8a5a1d03);border-radius:10px;border:1px solid rgba(138,90,29,.12)}.profile-visitors-head{display:flex;align-items:center;gap:6px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed rgba(138,90,29,.15)}.profile-visitors-ic{font-size:16px}.profile-visitors-title{font-size:13px;font-weight:700;color:#5a3a14;letter-spacing:.1em}.visitors-empty{text-align:center;padding:16px 8px;color:#8a7050;font-size:12.5px;line-height:1.8}.visitors-empty-ic{font-size:28px;opacity:.45;margin-bottom:6px}.visitors-hint{font-size:11px;color:#8a7050;margin-bottom:8px;letter-spacing:.04em}.visitors-list{display:flex;flex-direction:column;gap:6px}.visitor-card{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#ffffffbf;border:1px solid rgba(138,90,29,.1);border-radius:8px;cursor:pointer;transition:background .12s,transform .1s}.visitor-card:hover{background:#fff;transform:translate(2px)}.visitor-av{width:36px;height:36px;border-radius:50%;background-size:cover;background-position:center;background-color:#e0d6be;display:flex;align-items:center;justify-content:center;font-weight:700;color:#5a4a33;flex-shrink:0}.visitor-info{flex:1;min-width:0}.visitor-name{font-size:13px;font-weight:600;color:#2a1e0f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visitor-meta{font-size:10.5px;color:#8a7050;font-family:Georgia,Yu Mincho,serif}.visitor-actions{display:flex;gap:4px;flex-shrink:0}.visitor-btn{width:30px;height:30px;background:transparent;border:1px solid rgba(138,90,29,.25);border-radius:50%;font-size:13px;color:#5a3a14;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;font-family:inherit;font-weight:700}.visitor-btn:hover{background:#8a5a1d14}.visitor-like.active{color:#c93a4a;border-color:#c93a4a}.visitor-follow.active{background:#8a5a1d;color:#fff;border-color:#8a5a1d}.history-app{flex:1;display:flex;flex-direction:column;background:#f5efe2;color:#3a2d1c;overflow:hidden;min-height:0}.history-head-note{padding:12px 14px;font-size:12px;color:#6a4a1a;background:#8a5a1d0f;border-bottom:1px solid rgba(138,90,29,.12)}.history-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px;text-align:center;color:#8a7050;font-size:12.5px;line-height:1.9}.history-empty-ic{font-size:40px;margin-bottom:10px;opacity:.4}.history-list{flex:1;overflow-y:auto;padding:4px 0;min-height:0}.history-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:0;border-bottom:1px solid rgba(138,90,29,.08);cursor:pointer;text-align:left;font-family:inherit;transition:background .12s}.history-item:hover{background:#8a5a1d0f}.history-av{width:38px;height:38px;border-radius:50%;background-size:cover;background-position:center;background-color:#d9cdb3;display:flex;align-items:center;justify-content:center;font-weight:700;color:#5a4a33;flex-shrink:0}.history-info{flex:1;min-width:0}.history-name{font-size:13px;font-weight:700;color:#2a1e0f}.history-sub{font-size:11px;color:#8a7050}.history-arrow{color:#8a7050;font-size:18px;flex-shrink:0}.updates-action{margin-top:8px}.updates-jump-btn{padding:6px 14px;background:var(--wine);color:#fff;border:0;border-radius:999px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:inherit;letter-spacing:.04em}.updates-jump-btn:hover{background:var(--wine-dark)}.visitor-badge-self{display:inline-block;font-size:9.5px;padding:1px 7px;background:#8a5a1d;color:#fff;border-radius:999px;margin-left:4px;font-weight:700;letter-spacing:.05em;vertical-align:middle}.visitor-badge-guest{display:inline-block;font-size:9.5px;padding:1px 7px;background:#8a5a1d26;color:#5a3a14;border-radius:999px;margin-left:4px;letter-spacing:.05em;vertical-align:middle}.visitor-card.is-self{background:linear-gradient(90deg,#8a5a1d1f,#ffffffbf)!important;border-color:#8a5a1d4d!important}*{-webkit-tap-highlight-color:rgba(0,0,0,.05)}button,a,[role=button]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea,.memo-textarea{-webkit-user-select:text;user-select:text}video::-webkit-media-controls,video::-webkit-media-controls-panel,video::-webkit-media-controls-play-button,video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none!important}.mist-overlay{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden;border-radius:inherit}.mist-overlay:before,.mist-overlay:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 40%,rgba(240,240,245,.85),transparent 60%),radial-gradient(ellipse at 70% 60%,rgba(220,225,235,.75),transparent 65%),linear-gradient(135deg,#dce1eb99,#f0f0f580);animation:mistDrift 8s ease-in-out infinite alternate}.mist-overlay:after{animation-duration:12s;animation-delay:-3s;background:radial-gradient(ellipse at 60% 30%,rgba(230,230,240,.7),transparent 55%),radial-gradient(ellipse at 20% 70%,rgba(245,245,250,.6),transparent 60%);mix-blend-mode:screen}@keyframes mistDrift{0%{transform:translate(0) scale(1);opacity:.8}50%{transform:translate(8px,-4px) scale(1.04);opacity:.95}to{transform:translate(-6px,6px) scale(1.02);opacity:.75}}.mist-overlay-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.mist-overlay-text{color:#3a3a5a;font-size:13px;letter-spacing:.25em;font-family:var(--font-jp);text-shadow:0 1px 3px rgba(255,255,255,.8);padding:8px 16px;background:#fff6;border-radius:999px;backdrop-filter:blur(2px)}.mist-overlay.mist-fading{animation:mistClearOut 2s ease forwards}@keyframes mistClearOut{to{opacity:0;filter:blur(12px)}}.mist-notice{margin:10px 16px 14px;padding:12px 14px;background:linear-gradient(90deg,#b4b4c826,#dcdceb1a);border:1px solid rgba(100,100,130,.25);border-left:4px solid #7a7a9a;border-radius:0 8px 8px 0;display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:#3a3a5a;line-height:1.7;font-family:var(--font-jp)}.mist-notice.mist-untouched{background:linear-gradient(90deg,#c8aa641f,#dcbe8c14);border-left-color:#c9a760;color:#5a3a14}.mist-notice-ic{font-size:18px;flex-shrink:0;opacity:.7}.mist-notice-text{flex:1}.mist-notice-text strong{color:#1a1a2a;font-weight:700}.match-cat-grouped{margin-bottom:10px;border:1px solid rgba(138,90,29,.15);border-radius:8px;overflow:hidden}.match-cat-summary{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;list-style:none;background:#8a5a1d0f;transition:background .12s}.match-cat-summary::-webkit-details-marker{display:none}.match-cat-summary:hover{background:#8a5a1d1a}.match-cat-grouped[open]>.match-cat-summary{border-bottom:1px dashed rgba(138,90,29,.2)}.match-cat-summary .match-cat-label{flex:1;font-size:13px;font-weight:700;color:#5a3a14;letter-spacing:.04em}.match-cat-count{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#8a5a1d26;color:#5a3a14;font-size:11px;font-weight:700;line-height:22px;text-align:center}.match-cat-grouped[open] .match-cat-count{background:#8a5a1d;color:#fff}.match-cat-arrow{font-size:14px;color:#8a7050;transition:transform .2s}.match-cat-grouped[open] .match-cat-arrow{transform:rotate(180deg)}.match-subcats{padding:10px 14px 14px;display:flex;flex-direction:column;gap:12px}.match-subcat-label{font-size:11.5px;font-weight:600;color:#7a5a30;margin-bottom:6px;letter-spacing:.06em}.settings-textarea{min-height:80px;resize:vertical;font-family:inherit}.settings-career-list,.settings-quotes-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.settings-career-item{padding:10px 12px;background:#fff8ea99;border:1px solid rgba(138,90,29,.15);border-radius:8px;display:flex;flex-direction:column;gap:6px}.settings-career-year{max-width:140px;font-weight:600}.settings-career-detail{min-height:40px}.settings-career-del{align-self:flex-end;padding:3px 10px;background:transparent;border:1px solid rgba(180,60,70,.4);color:#a03040;border-radius:999px;font-size:11px;cursor:pointer;font-family:inherit}.settings-career-del:hover{background:#b43c4614}.settings-career-add{width:100%;padding:10px;background:transparent;border:1px dashed rgba(138,90,29,.4);color:#5a3a14;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit}.settings-career-add:hover{background:#8a5a1d0f}.user-prof-panel{padding:0!important}.user-prof-panel .settings-close{position:absolute;top:10px;right:14px;z-index:10;width:36px;height:36px;border-radius:50%;background:#00000073;color:#f5e8c8;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(245,232,200,.3)}.user-prof-panel .settings-close:hover{background:#000000b3}.user-prof-cover{background:linear-gradient(180deg,#3a2d1c,#2a1e0f);color:#f5e8c8;padding:40px 24px 20px;text-align:center;border-radius:14px 14px 0 0;position:relative}.user-prof-cover-ornament{font-size:14px;opacity:.5;margin-bottom:4px}.user-prof-cover-name{font-family:Yu Mincho,Hiragino Mincho Pro,serif;font-size:28px;font-weight:700;letter-spacing:.06em;margin:4px 0}.user-prof-cover-title{font-size:12px;color:#c9a760;letter-spacing:.15em}.user-prof-cover-dates{font-size:13px;color:#f5e8c8cc;margin-top:10px;font-family:Georgia,serif}.user-prof-panel .user-prof-head,.user-prof-panel .user-prof-row,.user-prof-panel .user-prof-bio,.user-prof-panel .user-prof-career,.user-prof-panel .user-prof-section,.user-prof-panel .user-prof-visitors{padding:12px 20px}.user-prof-section-label{font-size:12px;font-weight:700;color:#6a4a2a;letter-spacing:.15em;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(138,90,29,.15);display:flex;align-items:center;gap:6px}.user-prof-bio p{font-size:13.5px;line-height:1.9;color:#3a2d1c;margin:0}.user-prof-career-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;position:relative}.user-prof-career-item{display:flex;gap:12px;padding-left:12px;border-left:2px solid rgba(138,90,29,.2);position:relative}.user-prof-career-item:before{content:"";position:absolute;left:-5px;top:6px;width:8px;height:8px;background:#8a5a1d;border-radius:50%}.user-prof-career-year{font-size:12px;font-weight:700;color:#8a5a1d;min-width:60px;font-family:Georgia,serif}.user-prof-career-body{flex:1;min-width:0}.user-prof-career-title{font-size:14px;font-weight:700;color:#2a1e0f;margin-bottom:4px}.user-prof-career-detail{font-size:12px;color:#5a4a30;line-height:1.7}.user-prof-quote{margin:0 0 10px;padding:10px 14px;background:#8a5a1d0d;border-left:3px solid #c9a760;border-radius:0 6px 6px 0;font-size:13px;line-height:1.8;color:#3a2d1c;font-style:italic}.user-prof-quote cite{display:block;font-size:11px;color:#8a7050;font-style:normal;margin-top:4px}.phone-tool-app#phoneMeshiruApp{overflow:hidden;flex-direction:column;background:#faf6ed}.phone-tool-app#phoneMeshiruApp[hidden]{display:none!important}.meshiru-head{background:linear-gradient(135deg,#c07d4e,#8a5a1d);color:#fff7e6}.meshiru-tagline{font-size:10px;opacity:.75;margin-left:8px;font-style:italic}.meshiru-app{flex:1;display:flex;flex-direction:column;min-height:0}.meshiru-tabs{display:flex;background:#fff;border-bottom:1px solid rgba(138,90,29,.15)}.meshiru-tab{flex:1;padding:10px 0;background:transparent;border:none;cursor:pointer;font-size:12px;font-family:var(--font-jp);color:var(--ink-3);border-bottom:2px solid transparent}.meshiru-tab.active{color:var(--wine);font-weight:700;border-bottom-color:var(--wine)}.meshiru-feed,.meshiru-saved{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 10px 40px;min-height:0}.meshiru-intro{text-align:center;padding:12px 8px 18px}.meshiru-intro-title{font-size:16px;font-weight:700;color:var(--wine);letter-spacing:.08em;margin-bottom:4px;font-family:var(--font-jp)}.meshiru-intro-sub{font-size:11px;color:var(--ink-3);line-height:1.6;font-family:var(--font-jp)}.meshiru-card{background:#fff;border-radius:14px;padding:12px 14px;margin-bottom:14px;box-shadow:0 2px 10px #0000000f;font-family:var(--font-jp)}.meshiru-card-head{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(138,90,29,.1);margin-bottom:10px}.meshiru-av-btn{background:none;border:none;padding:0;cursor:pointer}.meshiru-av{width:40px;height:40px;border-radius:50%;background-size:cover;background-position:center;background-color:#ddd}.meshiru-av.no-img{display:flex;align-items:center;justify-content:center;background:var(--wine);color:#fff7e6;font-weight:700;font-size:16px}.meshiru-head-info{flex:1;min-width:0}.meshiru-person-name{background:none;border:none;padding:0;font-size:13px;font-weight:700;color:var(--wine);cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;font-family:var(--font-jp)}.meshiru-person-field{font-size:10px;color:var(--ink-3);margin-top:2px}.meshiru-recipe-title{font-size:16px;font-weight:700;color:#4a2d12;margin:0 0 4px;letter-spacing:.02em}.meshiru-tagline-in{font-size:11px;color:var(--ink-3);font-style:italic;margin:0 0 10px;line-height:1.6}.meshiru-image-hint{font-size:10px;color:var(--ink-4);padding:6px 10px;background:#f8f0e0;border-radius:6px;margin-bottom:10px}.meshiru-details{background:#faf6ed;border-radius:8px;padding:8px 12px;margin-bottom:8px;font-size:12px}.meshiru-details summary{cursor:pointer;font-weight:700;color:var(--wine);padding:4px 0;list-style:none}.meshiru-details summary::-webkit-details-marker{display:none}.meshiru-details[open] summary{border-bottom:1px solid rgba(138,90,29,.15);margin-bottom:8px;padding-bottom:6px}.meshiru-ingredients,.meshiru-steps{margin:4px 0 0;padding-left:20px;color:var(--ink-2);line-height:1.8}.meshiru-steps li{margin-bottom:6px}.meshiru-note{font-size:11px;color:#6a4a2a;background:#fff7e6;border-left:3px solid #c09060;padding:8px 12px;border-radius:0 6px 6px 0;margin:8px 0;line-height:1.7}.meshiru-card-foot{display:flex;gap:8px;padding-top:8px;border-top:1px solid rgba(138,90,29,.1)}.meshiru-btn{flex:1;padding:8px 12px;background:#fff;border:1px solid rgba(138,90,29,.3);border-radius:20px;font-size:12px;color:var(--ink-2);cursor:pointer;font-family:var(--font-jp);transition:all .15s}.meshiru-btn.active{background:var(--wine);color:#fff7e6;border-color:var(--wine)}.meshiru-btn.meshiru-addmine{flex:2}.meshiru-btn.meshiru-addmine.active{background:linear-gradient(135deg,#c07d4e,#8a5a1d);color:#fff7e6;border-color:#8a5a1d}.meshiru-btn:hover:not(.active){background:#8a5a1d0f}.meshiru-empty{text-align:center;padding:60px 20px;color:var(--ink-3);font-size:12px;line-height:1.8;font-family:var(--font-jp)}.meshiru-gate{text-align:center;padding:40px 20px;font-family:var(--font-jp)}.meshiru-gate-ic{font-size:48px;margin-bottom:14px}.meshiru-gate-title{font-size:16px;font-weight:700;color:var(--wine);margin-bottom:12px}.meshiru-gate-body{font-size:12px;color:var(--ink-3);line-height:1.8;margin-bottom:24px}.meshiru-gate-btn{padding:12px 24px;background:linear-gradient(135deg,#c07d4e,#8a5a1d);color:#fff7e6;border:none;border-radius:24px;font-size:14px;font-weight:700;cursor:pointer;font-family:var(--font-jp);box-shadow:0 3px 10px #8a5a1d4d}.meshiru-gate-btn:hover{filter:brightness(1.05)}.meshiru-gate-note{font-size:10px;color:var(--ink-4);margin-top:14px}.meshiru-plan,.meshiru-shopping,.meshiru-saved{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 10px 40px;min-height:0}.meshiru-plan-grid{display:flex;flex-direction:column;gap:10px}.meshiru-plan-day{background:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 1px 6px #0000000d;font-family:var(--font-jp)}.meshiru-plan-day.today{border:2px solid #c07d4e}.meshiru-plan-day-head{font-size:13px;font-weight:700;color:var(--wine);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(138,90,29,.12);display:flex;gap:4px;align-items:baseline}.meshiru-plan-day-num{font-size:14px}.meshiru-plan-day-name{font-size:11px;color:var(--ink-3)}.meshiru-plan-slot{display:flex;align-items:center;gap:10px;padding:6px 4px;min-height:30px}.meshiru-plan-meal-label{flex:0 0 42px;font-size:11px;color:var(--ink-3)}.meshiru-plan-add{flex:1;padding:6px 10px;background:#faf6ed;border:1px dashed rgba(138,90,29,.3);border-radius:8px;font-size:11px;color:var(--ink-3);cursor:pointer;font-family:var(--font-jp);text-align:left}.meshiru-plan-add:hover{background:#fff7e6;border-color:var(--wine)}.meshiru-plan-recipe{flex:1;display:flex;align-items:center;gap:6px;padding:6px 10px;background:linear-gradient(90deg,#fff7e6,#faf0d8);border-radius:8px;border-left:3px solid #c07d4e}.meshiru-plan-recipe-name{flex:1;font-size:12px;font-weight:700;color:#4a2d12}.meshiru-plan-recipe-person{font-size:10px;color:var(--ink-3);font-style:italic}.meshiru-plan-clear{background:none;border:none;color:var(--ink-4);font-size:16px;cursor:pointer;padding:0 4px}.meshiru-plan-clear:hover{color:#c07d4e}.meshiru-shop-list{list-style:none;padding:0;margin:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 6px #0000000d}.meshiru-shop-item{padding:10px 14px;border-bottom:1px solid rgba(138,90,29,.08);font-family:var(--font-jp);transition:background .15s}.meshiru-shop-item:last-child{border-bottom:none}.meshiru-shop-item.checked{background:#f5f0e5}.meshiru-shop-item.checked .meshiru-shop-text{text-decoration:line-through;color:var(--ink-4)}.meshiru-shop-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--ink-2)}.meshiru-shop-check{width:18px;height:18px;accent-color:#c07d4e;cursor:pointer}.meshiru-shop-text{flex:1}.meshiru-shop-meta{font-size:10px;color:var(--ink-4);margin-top:4px;margin-left:28px}.meshiru-shop-clear{display:block;width:100%;margin-top:14px;padding:10px;background:#fff;border:1px solid rgba(138,90,29,.2);border-radius:8px;color:var(--ink-3);font-size:12px;cursor:pointer;font-family:var(--font-jp)}.meshiru-shop-clear:hover{background:#fff7e6;color:var(--wine)}.meshiru-pick-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;font-family:var(--font-jp)}.meshiru-pick-backdrop{position:absolute;inset:0;background:#00000080}.meshiru-pick-panel{position:relative;background:#fff;border-radius:16px;width:90%;max-width:360px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #0000004d}.meshiru-pick-head{padding:14px 16px;background:linear-gradient(135deg,#c07d4e,#8a5a1d);color:#fff7e6;display:flex;align-items:center;justify-content:space-between}.meshiru-pick-title{font-weight:700;font-size:14px}.meshiru-pick-close{background:none;border:none;color:#fff7e6;font-size:22px;cursor:pointer}.meshiru-pick-list{overflow-y:auto;padding:6px}.meshiru-pick-item{display:block;width:100%;text-align:left;padding:10px 14px;background:#fff;border:none;border-bottom:1px solid rgba(138,90,29,.08);cursor:pointer;transition:background .15s}.meshiru-pick-item:hover{background:#fff7e6}.meshiru-pick-item-name{font-size:13px;font-weight:700;color:#4a2d12;margin-bottom:2px}.meshiru-pick-item-person{font-size:10px;color:var(--ink-3);font-style:italic}.meshiru-my{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 10px 40px;min-height:0}.meshiru-import-card{display:flex;gap:8px;padding:10px 6px 16px}.meshiru-import-btn{flex:1;padding:12px 10px;background:linear-gradient(135deg,#c07d4e,#8a5a1d);color:#fff7e6;border:none;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;font-family:var(--font-jp);box-shadow:0 2px 6px #8a5a1d33}.meshiru-manual-btn{background:#fff;color:var(--wine);border:1px solid rgba(138,90,29,.3)}.meshiru-import-btn:hover{filter:brightness(1.05)}.meshiru-my-list{display:flex;flex-direction:column;gap:10px}.meshiru-my-card{border-left:3px solid #c07d4e}.meshiru-my-actions{display:flex;gap:4px}.meshiru-my-edit,.meshiru-my-del{background:none;border:1px solid rgba(138,90,29,.2);border-radius:6px;padding:4px 8px;font-size:12px;cursor:pointer;color:var(--ink-3)}.meshiru-my-edit:hover,.meshiru-my-del:hover{background:#fff7e6;color:var(--wine)}.meshiru-source-link{font-size:10px;color:#8a5a1d;text-decoration:none;display:inline-block;margin-top:2px}.meshiru-source-link:hover{text-decoration:underline}.meshiru-editor-panel{max-width:420px;max-height:85vh}.meshiru-editor-body{padding:14px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}.meshiru-field{margin-bottom:14px}.meshiru-field label{display:block;font-size:12px;font-weight:700;color:var(--wine);margin-bottom:6px;font-family:var(--font-jp)}.meshiru-field input[type=text],.meshiru-field input[type=url],.meshiru-field textarea{width:100%;padding:8px 10px;border:1px solid rgba(138,90,29,.3);border-radius:8px;font-size:13px;font-family:var(--font-jp);background:#faf6ed;box-sizing:border-box;resize:vertical}.meshiru-field input:focus,.meshiru-field textarea:focus{outline:none;border-color:var(--wine);background:#fff;box-shadow:0 0 0 2px #8a5a1d1a}.meshiru-field-hint{font-size:10px;color:var(--ink-4);margin-top:4px}.meshiru-field-open{margin-top:6px;padding:5px 10px;background:#fff;border:1px solid rgba(138,90,29,.3);border-radius:6px;font-size:11px;cursor:pointer;color:var(--wine);font-family:var(--font-jp)}.meshiru-field-info{font-size:11px;color:var(--ink-3);background:#fff7e6;padding:8px 12px;border-radius:6px;margin-top:6px;line-height:1.6}.meshiru-editor-foot{display:flex;gap:8px;padding:12px 14px;background:#fff;border-top:1px solid rgba(138,90,29,.12)}.meshiru-editor-cancel{flex:1;padding:10px;background:#fff;border:1px solid rgba(138,90,29,.3);border-radius:8px;cursor:pointer;font-family:var(--font-jp);color:var(--ink-2)}.meshiru-editor-save{flex:2;padding:10px;background:linear-gradient(135deg,#c07d4e,#8a5a1d);color:#fff7e6;border:none;border-radius:8px;cursor:pointer;font-family:var(--font-jp);font-weight:700}.phone-otayori-banner{display:flex;align-items:center;gap:10px;padding:8px 12px;background:linear-gradient(90deg,#3a2d1c,#5a3d22,#8a5a1d);color:#f5e8c8;border:none;border-top:1px solid rgba(245,232,200,.15);border-bottom:1px solid rgba(0,0,0,.25);cursor:pointer;font-family:var(--font-jp);position:relative;z-index:15;flex-shrink:0;overflow:hidden}.phone-otayori-banner:before{content:"";position:absolute;top:0;left:-50%;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);animation:otayori-shine 4s ease-in-out infinite;pointer-events:none}.phone-otayori-banner:hover{filter:brightness(1.15)}.phone-otayori-banner:active{filter:brightness(.95)}.phone-otayori-ic{font-size:20px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f5e8c826;border-radius:50%;flex-shrink:0}.phone-otayori-text{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;min-width:0}.phone-otayori-title{font-size:12px;font-weight:700;letter-spacing:.04em}.phone-otayori-sub{font-size:9.5px;opacity:.75;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.phone-otayori-arrow{font-size:20px;opacity:.6;flex-shrink:0}.otayori-head{background:linear-gradient(135deg,#5a3d22,#3a2d1c);color:#f5e8c8}.otayori-tagline{font-size:10px;opacity:.7;margin-left:8px;font-style:italic}.otayori-app{flex:1;display:flex;flex-direction:column;min-height:0}.otayori-tabs{display:flex;background:#fff;border-bottom:1px solid rgba(138,90,29,.15)}.otayori-tab{flex:1;padding:10px 0;background:transparent;border:none;cursor:pointer;font-size:12px;font-family:var(--font-jp);color:var(--ink-3);border-bottom:2px solid transparent}.otayori-tab.active{color:var(--wine);font-weight:700;border-bottom-color:var(--wine)}.otayori-write,.otayori-mine{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 12px 40px;min-height:0}.otayori-intro{text-align:center;padding:10px 0 16px}.otayori-intro-title{font-size:15px;font-weight:700;color:var(--wine);margin-bottom:4px;font-family:var(--font-jp)}.otayori-intro-sub{font-size:11px;color:var(--ink-3);line-height:1.6;font-family:var(--font-jp)}.otayori-form{background:#fff;border-radius:12px;padding:14px 14px 16px;box-shadow:0 2px 8px #0000000f;font-family:var(--font-jp)}.otayori-field{margin-bottom:12px}.otayori-field label{display:block;font-size:12px;font-weight:700;color:var(--wine);margin-bottom:6px}.otayori-req{color:#c0392b}.otayori-field input[type=text],.otayori-field textarea{width:100%;padding:8px 10px;border:1px solid rgba(138,90,29,.3);border-radius:8px;font-size:13px;font-family:var(--font-jp);background:#fffaf0;box-sizing:border-box;resize:vertical}.otayori-field input:focus,.otayori-field textarea:focus{outline:none;border-color:var(--wine);background:#fff;box-shadow:0 0 0 2px #8a5a1d1a}.otayori-cats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.otayori-cat-chip{position:relative;padding:8px 10px;border:1px solid rgba(138,90,29,.2);border-radius:8px;cursor:pointer;font-size:12px;text-align:center;transition:all .15s;background:#fffaf0;display:flex;align-items:center;justify-content:center}.otayori-cat-chip input{position:absolute;opacity:0}.otayori-cat-chip:has(input:checked){background:linear-gradient(135deg,#c07d4e,#8a5a1d);color:#fff7e6;border-color:#8a5a1d}.otayori-submit{width:100%;padding:12px;background:linear-gradient(135deg,#c07d4e,#8a5a1d);color:#fff7e6;border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;font-family:var(--font-jp);box-shadow:0 2px 6px #8a5a1d33}.otayori-submit:hover:not(:disabled){filter:brightness(1.05)}.otayori-submit:disabled{opacity:.6;cursor:wait}.otayori-list{display:flex;flex-direction:column;gap:10px}.otayori-card{background:#fff;border-radius:10px;padding:12px 14px;box-shadow:0 1px 4px #0000000d;font-family:var(--font-jp);border-left:3px solid var(--rule)}.otayori-card.otayori-status-doing{border-left-color:#d9a84c}.otayori-card.otayori-status-done{border-left-color:#7ea769;opacity:.85}.otayori-card.otayori-status-declined{border-left-color:#a08b7a;opacity:.7}.otayori-card.otayori-status-reviewing{border-left-color:#c07d4e}.otayori-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px}.otayori-cat-label{font-weight:700;color:var(--wine)}.otayori-card-status{font-size:10px;color:var(--ink-3);background:#faf3e6;padding:3px 8px;border-radius:12px}.otayori-card-body{font-size:13px;line-height:1.7;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere}.otayori-card-note{margin-top:8px;padding:6px 10px;background:#fff7e6;border-left:2px solid #c07d4e;font-size:11px;color:#6a4a2a;border-radius:0 6px 6px 0}.otayori-card-foot{display:flex;justify-content:space-between;margin-top:8px;font-size:10px;color:var(--ink-4)}.otayori-card-local{background:#fff0e0;color:#a66a3a;padding:2px 6px;border-radius:8px}.otayori-loading,.otayori-empty{text-align:center;padding:40px 20px;color:var(--ink-3);font-size:12px}.otayori-admin-actions{display:flex;gap:6px;margin-bottom:14px}.otayori-admin-copy,.otayori-admin-exit{flex:1;padding:8px 10px;background:#fff;border:1px solid rgba(138,90,29,.3);border-radius:8px;font-size:11px;cursor:pointer;font-family:var(--font-jp);color:var(--wine)}.otayori-admin-copy:hover{background:#fff7e6}.otayori-admin-btn{display:block;width:100%;margin-top:14px;padding:10px;background:#3a2d1c;color:#f5e8c8;border:none;border-radius:8px;font-size:12px;cursor:pointer;font-family:var(--font-jp)}.otayori-admin-meta{font-size:10px;color:var(--ink-4);margin-bottom:6px}.otayori-admin-status{font-size:10px;padding:3px 6px;border:1px solid rgba(138,90,29,.2);border-radius:6px;background:#faf3e6;cursor:pointer;font-family:var(--font-jp)}.worldview-banner{width:100%;padding:0;background:linear-gradient(135deg,#2a1f3a,#1a1424,#0d0b15);border:1px solid rgba(200,170,100,.25);border-radius:12px;cursor:pointer;overflow:hidden;position:relative;box-shadow:0 4px 14px #0000004d;transition:transform .15s,box-shadow .15s;font-family:var(--font-jp)}.worldview-banner:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0006}.worldview-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(200,170,100,.15),transparent 50%),radial-gradient(ellipse at 80% 90%,rgba(180,120,160,.1),transparent 55%);pointer-events:none}.worldview-banner-inner{position:relative;padding:24px 22px;color:#f5e8d4;text-align:left}.worldview-banner-title{font-size:18px;font-weight:800;letter-spacing:.05em;margin-bottom:6px}.worldview-banner-sub{font-size:12px;color:#e6d2b4d9;letter-spacing:.1em;line-height:1.6}.worldview-banner-arrow{position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:18px;color:#c8aa64b3}.worldview-modal{position:fixed;inset:0;z-index:9200;opacity:0;pointer-events:none;transition:opacity .24s;overflow:hidden;font-family:var(--font-jp);display:flex;align-items:flex-start;justify-content:center}.worldview-modal.open{opacity:1;pointer-events:auto}.worldview-backdrop{position:absolute;inset:0;background:#0a0812bf;backdrop-filter:blur(6px)}.worldview-panel{position:relative;z-index:2;width:100%;max-width:720px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);margin:24px;background:linear-gradient(180deg,#f6ecd5,#efe3c8);color:#2a1e0f;border-radius:18px;box-shadow:0 24px 60px #0000008c;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border:1px solid rgba(138,90,29,.3);animation:wvIn .36s cubic-bezier(.2,.8,.2,1)}.worldview-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;background:#ffffffd9;border:1px solid rgba(0,0,0,.1);font-size:22px;cursor:pointer;z-index:10}.worldview-hero{padding:56px 28px 28px;text-align:center;background:linear-gradient(180deg,#3a2a14,#2a1e0f);color:#f0dab0;position:relative}.worldview-hero:before,.worldview-hero:after{content:"\2501\2501\2501\2501";display:block;font-size:10px;letter-spacing:.5em;color:#f0dab080;margin:4px 0}.worldview-hero-ornament{font-size:18px;opacity:.5}.worldview-title{font-family:Yu Mincho,Hiragino Mincho Pro,\6e38\660e\671d,serif;font-size:32px;font-weight:800;letter-spacing:.08em;margin:10px 0 6px}.worldview-subtitle{font-size:13px;letter-spacing:.2em;color:#f0dab0cc;font-style:italic}.worldview-section{padding:24px 28px;border-bottom:1px solid rgba(138,90,29,.15)}.worldview-section:last-of-type{border-bottom:0}.worldview-section p{margin:0 0 10px;line-height:1.95;font-size:14px;color:#33291c}.worldview-section p:last-child{margin-bottom:0}.worldview-intro{text-align:center;background:#fff8ea80;font-family:Yu Mincho,Hiragino Mincho Pro,serif}.worldview-intro p{font-size:15px;color:#3a2d1c;line-height:2.2}.worldview-chara{display:flex;gap:20px;align-items:flex-start}.worldview-chara-avatar{flex-shrink:0;width:96px;height:96px;border-radius:50%;overflow:hidden;border:3px solid #c9a760;box-shadow:0 4px 12px #8a5a1d4d;background:#7a9a8a}.worldview-chara-avatar .rekitto-video-av,.worldview-chara-avatar .worldview-chara-video{width:100%;height:100%;object-fit:cover;display:block}.worldview-chara-body{flex:1;min-width:0}.worldview-chara-role{font-size:11px;letter-spacing:.2em;color:#8a6a40;font-weight:600}.worldview-chara-name{font-family:Yu Mincho,Hiragino Mincho Pro,serif;font-size:24px;margin:4px 0 10px;color:#2a1e0f;letter-spacing:.04em}.worldview-chara-bio{font-size:13.5px;line-height:1.9;margin-bottom:12px!important}.worldview-chara-traits{display:flex;flex-direction:column;gap:4px;font-size:12px;padding:10px 12px;background:#8a5a1d0f;border-radius:6px}.worldview-chara-traits>div{display:grid;grid-template-columns:60px 1fr;gap:8px;align-items:baseline}.worldview-chara-traits>div>span:first-child{font-weight:700;color:#8a6a40;font-size:11px;letter-spacing:.1em}.worldview-rekitto{background:linear-gradient(90deg,rgba(122,154,138,.08),transparent)}.worldview-rabin{background:linear-gradient(90deg,rgba(138,90,29,.08),transparent)}.worldview-bond{text-align:center;background:linear-gradient(180deg,#2a1e3c0f,#2a1e3c05)}.worldview-bond-head{font-family:Yu Mincho,Hiragino Mincho Pro,serif;font-size:16px;font-weight:700;color:#4a2a6a;margin-bottom:14px;letter-spacing:.1em}.worldview-message{text-align:center;padding:32px 28px;background:linear-gradient(180deg,rgba(138,90,29,.05),transparent)}.worldview-message-lead{font-family:Yu Mincho,Hiragino Mincho Pro,serif;font-size:20px!important;font-weight:700;color:#5a3a14;letter-spacing:.08em;margin-bottom:14px!important;padding:10px 20px;display:inline-block;border-top:1px solid rgba(138,90,29,.4);border-bottom:1px solid rgba(138,90,29,.4)}.worldview-message-body{font-size:13.5px!important;color:#4a3a24}.worldview-signature{margin-top:18px;font-size:13px;color:#6a4a2a;font-style:italic;letter-spacing:.1em}.worldview-foot{padding:20px;text-align:center;background:#8a5a1d0a}.worldview-back-btn{padding:10px 28px;background:transparent;border:1px solid rgba(138,90,29,.4);border-radius:999px;font-size:13px;color:#3a2d1c;cursor:pointer;font-family:inherit;letter-spacing:.08em}.worldview-back-btn:hover{background:#8a5a1d14}.worldview-rabin-avatar{background:linear-gradient(180deg,#f5efe2,#e8ddc8);border-color:#d4c8b8;display:flex;align-items:center;justify-content:center}.worldview-rabbit-svg{width:88%;height:88%;animation:worldviewRabbitBreathe 3s ease-in-out infinite;transform-origin:center 85%}body,.view,main,.visitors-list,.history-list,.era-page,.era-page-modal,.worldview-modal,.music-tracklist,.plaza-chat-body{-webkit-overflow-scrolling:touch}.power-hint-video,.guide-chara-video,.worldview-chara-video,.rekitto-video-av,.welcome-intro-video,.portal-video{pointer-events:none}.phone-plaza-app{position:absolute;inset:0 0 40px;display:flex;flex-direction:column;background:#f5f5e8;z-index:25;overflow:hidden;font-family:-apple-system,Hiragino Sans,sans-serif}.phone-plaza-app[hidden]{display:none}.plaza-app-head{display:flex;align-items:center;gap:4px;padding:8px 10px;background:#06c755;color:#fff;font-weight:700}.plaza-app-back{background:none;border:none;color:#fff;font-size:22px;line-height:1;padding:0 4px;cursor:pointer}.plaza-app-title{font-size:13px;letter-spacing:.05em}.plaza-app-body{flex:1;overflow-y:auto;background:#fff;position:relative}.plaza-tab-panel{padding:0}.plaza-tab-panel[hidden]{display:none}.plaza-friends-head{padding:8px 12px 4px;font-size:10px;color:#888;letter-spacing:.08em;background:#f9f9f4;border-bottom:1px solid #eaeada;font-weight:600}.plaza-friends-list,.plaza-talks-list{display:flex;flex-direction:column}.plaza-friend-item,.plaza-talk-item{display:flex;align-items:center;gap:10px;padding:8px 44px 8px 12px;background:none;border:none;border-bottom:1px solid #f0f0e4;cursor:pointer;text-align:left;position:relative}.plaza-friend-item:hover,.plaza-talk-item:hover{background:#f9f9f4}.plaza-friend-av{width:36px;height:36px;border-radius:50%;background-size:cover;background-position:center;background-color:#e0d8c4;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#6d4b1c}.plaza-friend-info,.plaza-talk-info{flex:1;min-width:0}.plaza-friend-name{font-size:12px;color:#222;font-weight:600}.plaza-friend-status{font-size:10px;color:#999;margin-top:2px}.plaza-talk-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.plaza-talk-name{font-size:12px;color:#222;font-weight:600}.plaza-talk-date{font-size:9px;color:#aaa;flex-shrink:0}.plaza-talk-preview{font-size:10px;color:#666;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plaza-empty{text-align:center;padding:30px 14px;font-size:11px;color:#888;line-height:1.8}.plaza-app-tabs{display:flex;border-top:1px solid #e0e0d0;background:#fff}.plaza-app-tab{flex:1;padding:6px 4px 8px;background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9px;color:#888;cursor:pointer;font-family:inherit}.plaza-app-tab-ic{font-size:18px}.plaza-app-tab.active{color:#06c755;font-weight:700}.plaza-chat-panel{position:absolute;inset:0;display:flex;flex-direction:column;background:#7a9ec5;z-index:5}.plaza-chat-body,.plaza-chat-body .line-chat,.plaza-chat-body .line-msg-list,.plaza-chat-body .line-group-body{background:#7a9ec5!important}.plaza-chat-head{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#06c755;color:#fff;font-weight:700}.plaza-chat-back{background:none;border:none;color:#fff;font-size:22px;line-height:1;padding:0 4px;cursor:pointer}.plaza-chat-title{font-size:12px;letter-spacing:.04em}.plaza-chat-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;scrollbar-width:none;-ms-overflow-style:none}.plaza-chat-body::-webkit-scrollbar{display:none}.plaza-chat-body .line-group-header,.plaza-chat-body .line-group-title-wrap,.plaza-chat-body .line-typing,.plaza-chat-body .chat-waiting-mini,.plaza-chat-body .line-call-bubble,.plaza-chat-body .chat-typing,.plaza-chat-body .chat-call-mini{display:none!important}.plaza-chat-body>div:first-child{margin-top:0}.plaza-chat-body .line-group-body,.plaza-chat-body .line-msg-list,.plaza-chat-body *{scrollbar-width:none!important;-ms-overflow-style:none!important}.plaza-chat-body .line-group-body::-webkit-scrollbar,.plaza-chat-body *::-webkit-scrollbar{display:none!important;width:0!important}.plaza-group-av{position:relative;width:52px;height:36px;flex-shrink:0}.plaza-group-av-layer{position:absolute;top:0;width:22px;height:22px;border-radius:50%;background-size:cover;background-position:center;background-color:#e0d8c4;border:1.5px solid #fff;box-shadow:0 1px 2px #0003}.plaza-group-count{display:inline-block;margin-left:4px;color:#888;font-size:10px;font-weight:500}.plaza-group-item .plaza-friend-av{display:none}.plaza-chat-body .line-msg-bubble,.plaza-chat-body .line-msg-bubble-me{font-size:11px!important;padding:6px 9px!important}.plaza-chat-body .line-avatar,.plaza-chat-body .line-avatar-mini{width:26px!important;height:26px!important}.plaza-chat-body .line-date-sep{font-size:9px!important}.plaza-chat-form{display:flex;gap:4px;padding:4px 6px;background:#f0f0e4;border-top:1px solid #d0d0c0}.plaza-chat-input{flex:1;padding:6px 10px;border:1px solid #d0d0c0;border-radius:14px;font-size:11px;background:#fff;font-family:inherit;resize:none;line-height:1.5;min-height:26px;max-height:100px;overflow-y:auto;scrollbar-width:none}.plaza-chat-input::-webkit-scrollbar{display:none}.plaza-chat-form{align-items:flex-end}.plaza-chat-send{flex-shrink:0;align-self:flex-end;margin-bottom:0}.plaza-chat-send{padding:4px 10px;background:#06c755;color:#fff;border:none;border-radius:14px;font-size:10px;cursor:pointer;font-weight:600}.plaza-chat-sticker-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:0 4px;flex-shrink:0}.plaza-sticker-panel{background:#fff;border-top:1px solid #e0e0d0;max-height:220px;overflow-y:auto}.plaza-sticker-panel[hidden]{display:none}.plaza-sticker-tabs{display:flex;border-bottom:1px solid #e0e0d0;position:sticky;top:0;background:#fff;z-index:1}.plaza-sticker-tab{flex:1;padding:6px 4px;background:none;border:none;font-size:10px;color:#888;cursor:pointer;font-family:inherit;border-bottom:2px solid transparent}.plaza-sticker-tab.active{color:#06c755;font-weight:700;border-bottom-color:#06c755}.plaza-sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px}.plaza-sticker-grid[hidden]{display:none}.plaza-sticker-item{background:#fff8ee;border:1px solid #e7dcc2;border-radius:8px;padding:4px;cursor:pointer;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.plaza-sticker-item img{max-width:100%;max-height:100%;object-fit:contain}.plaza-sticker-item:hover{background:#ffe8d0}.plaza-rekitto-item{position:relative}.plaza-rekitto-av{position:relative;width:46px;height:46px;background:linear-gradient(135deg,#7a9a8a,#4a6a5a);border-radius:50%;overflow:hidden;flex-shrink:0}.plaza-rekitto-badge{position:absolute;inset:0;background-color:#7a9a8a}.plaza-talk-role{display:inline-block;font-size:10px;padding:1px 6px;margin-left:4px;background:#7a9a8a33;color:#3a5a4a;border-radius:999px;font-weight:500;letter-spacing:.04em;vertical-align:middle}.plaza-unread-badge{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:#c93a4a;color:#fff;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;border-radius:999px;text-align:center}.plaza-friend-section-label{padding:8px 14px 4px;font-size:10.5px;color:#7a6a54;letter-spacing:.15em;font-weight:600;background:#00000005}.plaza-friend-rekitto{background:linear-gradient(90deg,rgba(122,154,138,.06),transparent)}.plaza-rekitto-av{overflow:hidden}.back-btn .ij-icon{width:24px;height:24px}.blog-post-emoji .ij-icon{width:36px;height:36px}.blog-category-badge .ij-icon{width:14px;height:14px;vertical-align:-.15em}.oshi-routine-ic .ij-icon,.oshi-routine-ic svg{width:14px;height:14px;color:var(--wine)}.hero-shortcut-gacha{background:linear-gradient(135deg,#d4af3740,#7a2e3a40)!important;border-color:var(--gold)!important;animation:gachaShimmer 2.5s ease-in-out infinite;position:relative;overflow:hidden}.hero-shortcut-gacha:after{content:"";position:absolute;top:-50%;left:-20%;width:30%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:skew(-20deg);animation:gachaSwipe 3s ease-in-out infinite}@keyframes gachaShimmer{0%,to{box-shadow:0 0 8px #d4af374d}50%{box-shadow:0 0 18px #d4af3799}}@keyframes gachaSwipe{0%{left:-20%}to{left:120%}}
