@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--bg-app:#f3e8ff;--bg-main-area:#faf5ff;--bg-card:#fff;--bg-input:#fff;--text-primary:#1e1b4b;--text-secondary:#4c1d95;--border-color:#1e1b4b;--border-width:2.5px;--border-radius:8px;--box-shadow:5px 5px 0px 0px #1e1b4b;--accent-color:#a855f7;--accent-hover:#9333ea;--accent-bg-glow:#fed7aa;--font-family:"Outfit", "Inter", -apple-system, sans-serif;--card-padding:1.5rem;--transition-speed:.2s;--main-area-bg-image:radial-gradient(#1e1b4b 12%, transparent 13%);--main-area-bg-size:18px 18px}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;font-family:var(--font-family);background:var(--bg-app);color:var(--text-primary);margin:0;padding:0;overflow-x:hidden}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-area-container{flex:1;justify-content:center;align-items:center;min-height:100vh;padding:.6rem 1rem 1.1rem;display:flex;position:relative}.main-area-backdrop{background-image:var(--main-area-bg-image);background-size:var(--main-area-bg-size);opacity:.8;z-index:1;pointer-events:none;position:absolute;inset:0}.main-area-window{z-index:2;width:100%;max-width:1100px;position:relative}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--accent-color);border:2px solid #fff;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}@media (width<=768px){.main-area-container{padding:1.25rem var(--border-width)!important}.main-area-window{height:calc(100vh - 2.5rem);box-shadow:none!important;width:100%!important;max-width:100%!important}}@media (width>=769px){.main-area-window{height:calc(100vh - 1.7rem)}}.main-area-layout{height:100%;min-height:inherit;background:var(--bg-main-area);color:var(--text-primary);font-family:var(--font-family);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);flex-direction:column;display:flex;overflow:hidden;box-shadow:8px 8px #2e1065}.main-area-navbar{border-bottom:var(--border-width) solid var(--border-color);z-index:10;background:#fff;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex;position:relative}.main-area-nav-logo{letter-spacing:-.01em;color:var(--text-primary);align-items:center;gap:.6rem;font-size:1.25rem;font-weight:800;display:flex}.nav-logo-icon{color:var(--text-primary)}.main-area-workspace{flex:1;align-items:stretch;min-height:0;display:flex}.resize-active,.resize-active *,.resize-active :before,.resize-active :after{transition:none!important}.main-area-sidebar{border-right:var(--border-width) solid var(--border-color);background:#f5eefc;flex-direction:column;flex-shrink:0;gap:0;width:200px;padding:0;display:flex;overflow:hidden}.sidebar-content{flex-direction:column;flex:1;min-height:0;transition:opacity .2s;display:flex}.sidebar-section{flex-direction:column;gap:.75rem;display:flex}.sidebar-section-title{letter-spacing:.08em;color:var(--text-secondary);text-transform:uppercase;padding-left:.5rem;font-size:.65rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:.12rem;padding:4px;display:flex;overflow-y:auto}.sidebar-menu-btn{border:var(--border-width) solid transparent;border-radius:var(--border-radius);color:var(--text-secondary);font-family:var(--font-family);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;padding:.28rem .45rem;font-size:.76rem;font-weight:700;transition:all .15s;display:flex}.sidebar-menu-btn.is-sub-item{width:calc(100% - .75rem);margin-left:.75rem}.menu-btn-left{align-items:center;gap:.5rem;display:flex}.menu-icon{transition:transform .2s}.sidebar-menu-btn:hover{color:var(--text-secondary);box-shadow:none;background:0 0;border-color:#0000;transform:none}.sidebar-menu-btn.active{color:#000;border-color:var(--border-color);background:#facc15;box-shadow:2.5px 2.5px #000}.menu-badge{color:var(--text-secondary);border:1px solid var(--border-color);background:#0000000f;border-radius:9999px;padding:.1rem .35rem;font-size:.68rem;font-weight:800}.sidebar-menu-btn.active .menu-badge{color:#fff;background:#000}.profile-gallery-container{border-right:var(--border-width) solid var(--border-color);background:#f5eefc;flex-direction:column;flex-shrink:0;width:260px;min-width:160px;padding:0;display:flex;overflow:hidden}.profile-list-container,.empty-state{transition:opacity .2s}.sidebar-panel-header,.pc-list-header{display:none}@media (width>=769px){.sidebar-panel-header,.pc-list-header{border-bottom:1px solid var(--border-color);background:0 0;border-top-right-radius:8px;justify-content:flex-end;align-items:center;height:24px;min-height:24px;padding:0 2px 0 8px;display:flex}.sidebar-panel-header{border-bottom:none}.collapsed.main-area-sidebar .sidebar-panel-header{border-bottom:none;justify-content:center;padding:0}.collapsed.profile-gallery-container .pc-list-header{border-bottom:none;justify-content:flex-end;padding:0 3px 0 0}.panel-header-title{color:var(--text-secondary);letter-spacing:.08em;font-size:.62rem;font-weight:800}.panel-toggle-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.panel-toggle-btn:hover{color:#111827;background:0 0!important}.panel-toggle-btn:active{transform:scale(.92)}.sidebar-content{flex-shrink:0;width:200px;padding:.5rem .5rem 1rem .25rem}.profile-list-container,.empty-state{flex-shrink:0;width:260px}.main-area-sidebar{z-index:3;border:var(--border-width) solid var(--border-color);margin-top:calc(-1 * var(--border-width));margin-bottom:calc(-1 * var(--border-width));border-left:none;border-radius:0 10px 0 0;transition:width .3s cubic-bezier(.4,0,.2,1);position:relative}.profile-gallery-container{z-index:2;border:var(--border-width) solid var(--border-color);margin-left:-8px;margin-top:calc(.5rem - var(--border-width));margin-bottom:calc(-1 * var(--border-width));border-left:none;border-radius:0 10px 0 0;transition:width .3s cubic-bezier(.4,0,.2,1),min-width .3s cubic-bezier(.4,0,.2,1);position:relative}.profile-detail-panel{z-index:1;margin-left:-8px;margin-top:calc(-1 * var(--border-width));margin-bottom:calc(-1 * var(--border-width));border-left:none;position:relative}.main-area-sidebar.collapsed{width:24px}.main-area-sidebar.collapsed .sidebar-content{opacity:0;pointer-events:none}.profile-gallery-container.collapsed{width:32px;min-width:32px}.profile-gallery-container.collapsed .profile-list-container,.profile-gallery-container.collapsed .empty-state{opacity:0;pointer-events:none}}.profile-list-container{flex-direction:column;flex:1;gap:0;display:flex;overflow-y:auto}.profile-list-row{border:none;border-bottom:1.5px solid var(--border-color);text-align:left;font-family:var(--font-family);cursor:pointer;box-shadow:none;background:0 0;border-radius:0;flex-direction:column;gap:.2rem;width:100%;padding:.65rem 1.25rem;transition:all .15s;display:flex}.profile-list-row:hover{box-shadow:none;background:#0000000a;transform:none}.profile-list-row.active{box-shadow:none;background:#fef08a;border-bottom-style:solid;transform:none}.row-main{flex-wrap:wrap;align-items:center;gap:.1rem .4rem;display:flex}.row-ruby-name{color:var(--text-primary);flex-direction:column-reverse;align-items:center;font-size:1.25rem;font-weight:800;line-height:1.4;display:inline-flex}.row-rt{color:var(--text-primary);opacity:.8;letter-spacing:.05em;padding-bottom:1px;font-size:.58rem;font-weight:700;line-height:1;display:block}.row-occupation{color:var(--text-secondary);margin-left:.5em;font-size:.68rem;font-weight:700}.empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.profile-detail-panel{background:var(--bg-card);flex-direction:column;flex:1;gap:.5rem;padding:.85rem 1.5rem 1.25rem 2.5rem;display:flex;overflow-y:auto}.mobile-bookyear-close-btn{display:none}.detail-header{border-bottom:var(--border-width) solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:.25rem;padding-bottom:.65rem;display:flex}.detail-scroll-content{flex-direction:column;gap:1.5rem;display:flex}.detail-profile-header{border-bottom:var(--border-width) solid var(--border-color);flex-direction:column;gap:.4rem;margin-bottom:0;padding-bottom:.85rem;display:flex}.detail-header-group{flex-direction:column;gap:0;display:flex}.detail-header-main{justify-content:space-between;align-items:center;display:flex}.detail-reaction-row{align-items:flex-end;gap:.35rem;display:flex}.plus-btn-wrapper{align-self:flex-end;margin-bottom:-3px;margin-right:.4rem;display:inline-flex;position:relative}.detail-plus-btn{background:var(--border-color);border:var(--border-width) solid var(--border-color);color:#fff;cursor:pointer;width:20px;height:20px;box-shadow:none;z-index:11;border-radius:4px;justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .15s,opacity .2s;display:inline-flex;position:relative}.detail-plus-btn:hover{box-shadow:none;background:#374151;transform:none}.detail-plus-btn:active{box-shadow:none;transform:none;background:#111827!important}.emoji-picker-popover{z-index:1002;transform-origin:100% 0;pointer-events:none;position:absolute;top:calc(100% + 8px);right:0;transform:scale(0)}.emoji-picker-popover.is-open{pointer-events:auto;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);transform:scale(1)}.emoji-picker-popover.is-closed{pointer-events:none;transition:transform .15s cubic-bezier(.6,-.28,.735,.045);transform:scale(0)}.detail-plus-btn.is-active{position:relative;background:var(--border-color)!important;color:#fff!important;box-shadow:none!important;z-index:999!important;transform:translate(0,0)rotate(180deg)!important}.emoji-picker-option{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.2rem;font-size:1.1rem;transition:transform .1s,background-color .1s,opacity .2s;display:inline-flex}.emoji-picker-option:hover{background:#0000000d;transform:scale(1.15)}.emoji-picker-option:active{transform:scale(.95)}.detail-like-btn{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);font-family:var(--font-family);color:var(--text-primary);cursor:pointer;box-shadow:2.5px 2.5px 0px 0px var(--border-color);background-color:#fff;align-items:center;gap:.25rem;margin-bottom:-3px;padding:.2rem .35rem;font-size:.75rem;font-weight:800;transition:all .2s;display:inline-flex;transform:translate(0)}.detail-like-btn span:first-child{align-items:center;font-size:1.05rem;line-height:1;display:inline-flex}.detail-like-btn:hover{box-shadow:3.5px 3.5px 0px 0px var(--border-color);background:#0000000d;transform:translate(-1px,-1px)}.detail-like-btn:active{box-shadow:1px 1px 0px 0px var(--border-color);transform:translate(1px,1px)}@keyframes reactionBounce{0%{transform:translate(0)scale(1)}30%{transform:translate(0)scale(1.7)rotate(-6deg)}50%{transform:translate(1.5px,1.5px)scale(.8)rotate(4deg)}75%{transform:translate(1.5px,1.5px)scale(1.16)rotate(-2deg)}to{transform:translate(1.5px,1.5px)scale(1)}}.detail-like-btn.is-reacted{box-shadow:1px 1px 0px 0px var(--border-color);transform:translate(1.5px,1.5px);border-color:var(--border-color)!important;background-color:#fef08a!important}.detail-like-btn.pop-bounce{animation:.4s cubic-bezier(.175,.885,.32,1.275) reactionBounce}@keyframes reactionShake{0%,to{transform:translate(1.5px,1.5px)rotate(0)}20%,60%{transform:translate(1.5px,1.5px)rotate(-6deg)}40%,80%{transform:translate(1.5px,1.5px)rotate(6deg)}}.detail-like-btn.shake-animation{animation:.4s ease-in-out reactionShake}.detail-like-btn.is-reacted:hover{box-shadow:0px 0px 0px 0px var(--border-color)!important;background-color:#fde047!important;transform:translate(2.5px,2.5px)!important}.emoji-picker-option.is-reacted{border:1px dashed var(--border-color);background-color:#fef08a99!important}.detail-like-btn:disabled,.emoji-picker-option:disabled,.detail-plus-btn:disabled,.more-btn:disabled{opacity:.75!important;cursor:not-allowed!important;pointer-events:none!important}.detail-ruby-name{color:var(--text-primary);flex-direction:column-reverse;align-items:center;font-size:2rem;font-weight:800;line-height:1.4;display:inline-flex}.detail-rt{color:var(--text-primary);opacity:.8;letter-spacing:.05em;padding-bottom:2px;font-size:.75rem;font-weight:700;line-height:1;display:block}.detail-header-sub{display:flex}.detail-categories-tags{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;margin-bottom:0;display:flex}.category-tag-bookmark{font-family:var(--font-family);cursor:pointer;background-color:var(--text-secondary);color:#fff;letter-spacing:.02em;clip-path:polygon(0% 0%,calc(100% - 6px) 0%,100% 50%,calc(100% - 6px) 100%,0% 100%);border:none;outline:none;align-items:center;padding:.12rem .75rem .12rem .4rem;font-size:.68rem;font-weight:600;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .15s;display:inline-flex}.category-tag-bookmark:hover{background-color:var(--accent-color);transform:translate(2px)}.category-tag-text{position:relative;top:-1px}.detail-novel-body{color:var(--text-primary);width:100%;max-width:850px;margin:-1.3rem auto 0;font-family:YuGothic,Hiragino Kaku Gothic Pro,Meiryo,Source Han Sans,Source Han Sans JP,Noto Sans CJK JP,Avenir Next,Avenir,Source Sans,Noto Sans,Roboto,Verdana,Pingfang TC,Pingfang HK,Hiragino Sans CNS,Lantinghei TC,Source Han Sans TW,Source Han Sans HK,Noto Sans CJK TC,Microsoft JhengHei,Pingfang SC,Hiragino Sans GB,Lantinghei SC,Source Han Sans CN,Noto Sans CJK SC,Microsoft Yahei,DengXian,Apple SD Gothic Neo,Source Han Sans K,Source Han Sans KR,Noto Sans CJK KR,Malgun Gothic,sans-serif;font-size:15px;line-height:1.7}.detail-paragraph-body{text-indent:1em;margin-bottom:0}.detail-h3-title{border-bottom:var(--border-width) solid var(--border-color);color:var(--text-primary);margin:1.25rem 0 .5rem;padding-bottom:.4rem;font-size:1.3rem;font-weight:800}.detail-novel-body>:first-child{margin-top:0!important}.detail-h4-title{border-left:4px solid var(--accent-color);margin:1rem 0 .4rem;padding-left:.75rem;font-size:1.15rem;font-weight:800}.detail-h5-title{color:var(--text-secondary);margin:.75rem 0 .35rem;font-size:.95rem;font-weight:800}.detail-ul-list{margin-bottom:.75rem;padding-left:1.5rem;list-style-type:square}.detail-li-item{margin-bottom:.5rem;line-height:1.6}.detail-bold{color:var(--text-secondary);text-underline-offset:3px;font-weight:800;text-decoration:underline}.detail-para-gap{height:.75rem}.detail-panel-placeholder{text-align:center;color:var(--text-secondary);border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:6rem 2rem;display:flex}.placeholder-icon{color:var(--text-primary)}.main-area-footer{border-top:var(--border-width) solid var(--border-color);text-align:center;z-index:10;background:#fff;padding:1rem 2rem;position:relative}.footer-copyright{color:var(--text-secondary);margin:0;font-size:.75rem}@keyframes popoverGrowFromTopRight{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.more-btn{justify-content:center!important;align-items:center!important;height:16px!important;padding-top:0!important;padding-bottom:0!important;line-height:1!important;display:inline-flex!important}.more-btn.is-active{z-index:1001;position:relative;box-shadow:1px 1px 0px 0px var(--border-color)!important;background:#f5f5f5!important;transform:translate(1px,1px)!important}.more-reactions-popover{border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);box-shadow:none;z-index:1000;white-space:nowrap;transform-origin:100% 0;background:#fff;gap:.35rem;padding:.4rem;animation:.15s cubic-bezier(.175,.885,.32,1.275) forwards popoverGrowFromTopRight;display:flex;position:absolute;top:calc(100% + 8px);right:0}.more-reactions-popover .detail-like-btn{margin-bottom:0!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.mobile-bottom-close-container,.mobile-list-header{display:none}@media (width<=768px){.main-area-layout{border:var(--border-width) solid var(--border-color)!important;border-radius:var(--border-radius)!important;box-shadow:none!important;width:100%!important;max-width:100%!important}.main-area-workspace{background:0 0;flex-direction:column;flex:1;min-height:0}.main-area-sidebar{background:#00000003;border-bottom:none;border-right:none;flex-direction:column;width:100%;height:100%;display:flex;position:relative;padding:0!important}.sidebar-content{flex-direction:column;flex:1;min-height:0;display:flex}.sidebar-nav{gap:0!important;padding:0!important}.sidebar-menu-btn{background:0 0;transition:all .15s;border:none!important;border-bottom:1.5px solid var(--border-color)!important;box-shadow:none!important;border-radius:0!important;width:100%!important;margin:0!important;padding:.65rem 1.25rem!important;transform:none!important}.sidebar-menu-btn:hover{box-shadow:none!important;background:#0000000a!important;transform:none!important}.sidebar-menu-btn.active{color:var(--text-primary)!important;box-shadow:none!important;background:#fef08a!important}.sidebar-menu-btn.is-sub-item{width:100%!important;margin-left:0!important;padding-left:2.25rem!important}.main-area-workspace.mobile-step-category .main-area-sidebar{width:100%!important;display:flex!important}.main-area-workspace.mobile-step-category .profile-gallery-container,.main-area-workspace.mobile-step-category .profile-detail-panel,.main-area-workspace.mobile-step-list .main-area-sidebar{display:none!important}.main-area-workspace.mobile-step-list .profile-gallery-container{width:100%!important;display:flex!important}.main-area-workspace.mobile-step-list .profile-detail-panel,.main-area-workspace.mobile-step-detail .main-area-sidebar,.main-area-workspace.mobile-step-detail .profile-gallery-container{display:none!important}.main-area-workspace.mobile-step-detail .profile-detail-panel{width:100%!important;display:flex!important}.profile-gallery-container{background:0 0;border-bottom:none;border-right:none;flex-direction:column;flex:1;width:100%;min-height:0;display:flex;padding:0!important}.profile-list-row.active{background:0 0!important}.row-occupation{align-self:flex-end!important;margin-bottom:.5em!important;display:inline-block!important;transform:none!important}.mobile-list-header{border-bottom:1.5px solid var(--border-color);background:0 0;padding:0!important;display:block!important}.mobile-list-header-btn{width:100%;color:var(--text-primary);font-family:var(--font-family);cursor:pointer;background:#fef08a;border:none;justify-content:space-between;align-items:center;font-size:.76rem;font-weight:700;transition:background .15s;display:flex;position:relative;padding:.65rem 1.25rem!important}.mobile-list-header-btn.is-sub-item{padding-left:2.25rem!important}.mobile-list-header-btn:active{background:#fde047}.header-btn-left{align-items:center;gap:.5rem;display:flex}.back-chevron{color:var(--text-secondary);position:absolute;top:50%;left:.35rem;transform:translateY(-50%)}.category-icon,.category-label{color:var(--text-primary)}.detail-panel-placeholder{display:none!important}.profile-detail-panel,.detail-panel-placeholder{z-index:999;width:100vw;height:100vh;max-height:100vh;box-shadow:none;background:#fff;border:none;flex-direction:column;gap:1.25rem;padding:1.75rem 1.25rem 2rem;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .2s;display:flex;position:fixed;inset:0}.profile-detail-panel.mobile-hidden{opacity:0;pointer-events:none;transform:translateY(100%);display:none!important}.profile-detail-panel.mobile-open{opacity:1;pointer-events:auto;transform:translateY(0);display:flex!important}.mobile-bookyear-close-btn{clip-path:polygon(100% 0,0 0,100% 100%);cursor:pointer;z-index:1010;background:#c084fc;border:none;justify-content:flex-end;align-items:flex-start;width:56px;height:56px;padding:11px 11px 0 0;transition:background .15s;position:absolute;top:3px;right:2px;display:flex!important}.mobile-bookyear-close-btn:before{content:"";border-bottom:var(--border-width) solid var(--border-color);pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.bookyear-icon{color:var(--text-primary);transform-origin:50%;transform:scale(1.15)}.mobile-bookyear-close-btn:hover,.mobile-bookyear-close-btn:active{background:#a855f7}.mobile-bottom-close-container{justify-content:center;width:100%;margin-top:2rem;padding-bottom:0;display:flex}.mobile-bottom-close-btn{border-radius:var(--border-radius);color:#000;width:100%;box-shadow:none;cursor:pointer;background:#c084fc;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1.5rem;font-size:.9rem;font-weight:800;transition:all .15s;display:flex}.mobile-bottom-close-btn:active{background:#a855f7}.emoji-picker-popover{transform-origin:top!important;z-index:10002!important;transition:none!important;position:fixed!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translate(-50%)scale(0)!important}.emoji-picker-popover.is-open{transition:none!important;transform:translate(-50%)scale(1)!important}.emoji-picker-popover.is-closed{transition:none!important;transform:translate(-50%)scale(0)!important}.main-area-navbar{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem 1.25rem}.detail-header{flex-direction:column;align-items:flex-start;gap:.75rem}.profile-tables-row{flex-direction:column;gap:1rem}}.profile-tables-row{gap:1.5rem;width:100%;max-width:850px;margin:0 auto 1.5rem;display:flex}.profile-table-wrapper{flex:1;min-width:0}.profile-meta-table{border-collapse:separate;border-spacing:0;border:var(--border-width) solid var(--border-color);background-color:#fff;border-radius:8px;width:100%;max-width:100%;margin:0;overflow:hidden}.profile-meta-table th,.profile-meta-table td{border-bottom:1.5px solid var(--border-color);border-right:1.5px solid var(--border-color);padding:.55rem .8rem;font-size:.85rem;line-height:1.3}.profile-meta-table td{border-right:none}.profile-meta-table tr:last-child th,.profile-meta-table tr:last-child td{border-bottom:none}.profile-meta-table th{color:var(--text-primary);text-align:left;letter-spacing:.02em;background-color:#f3e8ff;width:50%;min-width:80px;font-weight:700}.profile-meta-table td{color:var(--text-secondary);background-color:#fff;font-weight:500}
