*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Zen Kaku Gothic New,Hiragino Sans,sans-serif;background:#fafaf8;color:#1a1a1a;-webkit-font-smoothing:antialiased;touch-action:manipulation;overscroll-behavior:contain}.tap-target{cursor:pointer;transition:background .2s ease;-webkit-tap-highlight-color:transparent}.tap-target:active{background:#f4f3f0!important}.bottom-nav{position:fixed;bottom:20px;left:50%;transform:translate(-50%);width:calc(100% - 48px);max-width:260px;background:#fffffff5;border:1px solid #ebebeb;border-radius:999px;display:flex;z-index:50;padding:4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 16px #0000000f}.bottom-nav-slider{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);background:#f0efec;border-radius:999px;transition:transform .28s cubic-bezier(.4,0,.2,1);pointer-events:none}.bottom-nav-item{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;padding:8px 12px;cursor:pointer;transition:color .22s ease;-webkit-tap-highlight-color:transparent;border:none;background:none;font-family:inherit;border-radius:999px;position:relative;z-index:1}.bottom-nav-item.active{color:#1a1a1a}.bottom-nav-item:not(.active){color:#b0afac}@keyframes slideInRight{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.node-group{transition:transform .4s cubic-bezier(.4,0,.2,1)}.sub-fade{animation:slideInRight .4s ease both}.panel-fade{animation:fadeSlideUp .3s ease both}.detail-expand{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.4,0,.2,1)}.detail-expand.open{grid-template-rows:1fr}.detail-expand>div{overflow:hidden}.detail-expand .detail-inner{padding:4px 0;opacity:0;transition:opacity .2s ease}.detail-expand.open .detail-inner{opacity:1;transition:opacity .25s ease .2s}.mini-card-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 16px 12px}.related-expand{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1)}.related-expand.open{grid-template-rows:1fr}.related-expand>div{overflow:hidden}.related-expand .related-inner{opacity:0;transition:opacity .2s ease}.related-expand.open .related-inner{opacity:1;transition:opacity .25s ease .15s}.related-node-row{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 0;cursor:pointer;transition:background .2s ease;border-radius:6px}.related-node-row:active{background:#f4f3f0}.detail-connector{animation:fadeIn .3s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:.25}}.skeleton{background:linear-gradient(90deg,#ebebeb 25%,#f4f3f0,#ebebeb 75%);background-size:400px 100%;animation:shimmer 2s ease infinite;border-radius:3px}@keyframes dissolveIn{0%{opacity:0}to{opacity:1}}.page-enter{animation:dissolveIn .18s ease both}@media(prefers-reduced-motion:reduce){.node-group,.detail-expand,.related-expand{transition:none}.sub-fade,.panel-fade,.skeleton,.detail-connector{animation:none}.detail-expand .detail-inner,.related-expand .related-inner,.bottom-nav-slider{transition:none}.page-enter{animation:none}}
