@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;700&display=swap";:root{--bg-main:#f3f7fa;--bg-card:#fffffff2;--color-primary:#0084ff;--color-primary-light:#00d2ff;--color-accent:#ff9f43;--color-accent-light:#ffbe76;--color-success:#1dd1a1;--color-text-main:#2c3e50;--color-text-muted:#7f8c8d;--border-radius-sm:8px;--border-radius-md:16px;--border-radius-lg:24px;--shadow-sm:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-md:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--shadow-lg:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--color-text-main);min-height:100vh;font-family:Outfit,Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}@keyframes wave-flow{0%{transform:translate(0)translateZ(0)scaleY(1)}50%{transform:translate(-25%)translateZ(0)scaleY(.85)}to{transform:translate(-50%)translateZ(0)scaleY(1)}}@keyframes wave-flow-reverse{0%{transform:translate(0)translateZ(0)scaleY(1)}50%{transform:translate(25%)translateZ(0)scaleY(.8)}to{transform:translate(50%)translateZ(0)scaleY(1)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes pulse-soft{0%{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(10px);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);transition:var(--transition-smooth);border:1px solid #ffffffb3}.glass-panel:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.gradient-text{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gradient-bg{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%)}.wave-container{background:0 0;width:100%;height:120px;position:relative;overflow:hidden}.wave-svg{fill:#0084ff26;width:200%;height:100%;position:absolute;bottom:0;transform:translate(0,0)}.wave-svg.wave-back{fill:#00d2ff1a;animation:12s linear infinite wave-flow;bottom:5px}.wave-svg.wave-front{fill:#0084ff2e;animation:8s linear infinite wave-flow-reverse}.btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);color:#fff;cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:30px;outline:none;padding:10px 24px;font-weight:500;box-shadow:0 4px 15px #0084ff4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0084ff66}.btn-primary:active{transform:translateY(0)}.tanuki-explorer-wrapper{--bg-dark:#0a0b10;--sonic-brown:#7b5559;--ethereal-blue:#43627d;--sunset-gold:#dea584;--text-main:#e0e0e0;--text-dim:#a0a0a0;--glass-bg:#ffffff08;--glass-border:#ffffff1a;--accent-glow:#dea58433;color:var(--text-main);min-height:calc(100vh - 120px);padding:20px 0;font-family:Outfit,sans-serif;position:relative}.tanuki-explorer-wrapper .background-overlay{filter:brightness(.6)saturate(1.2);z-index:-2;background:url(/assets/tanuki_bg-CMMCwr-n.png) 50%/cover no-repeat;width:100%;height:100%;position:fixed;top:0;left:0}.tanuki-explorer-wrapper:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 0,#dea58426 0%,#0000 70%);width:100%;height:100%;position:fixed;top:0;left:0}.tanuki-explorer-wrapper .glow-text{background:linear-gradient(to bottom, #fff, var(--sunset-gold));-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px #dea58480);-webkit-background-clip:text}.tanuki-explorer-wrapper .mono{font-family:JetBrains Mono,monospace}.tanuki-explorer-wrapper .glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:0 8px 32px #0000004d}.tanuki-explorer-wrapper .hero{text-align:center;margin-top:1.5rem;margin-bottom:3rem}.tanuki-explorer-wrapper .hero h1{letter-spacing:-1px;margin-bottom:.8rem;font-size:3.2rem;font-weight:700}.tanuki-explorer-wrapper .hero p{color:var(--text-dim);font-size:1.1rem}.tanuki-explorer-wrapper .search-container{margin-bottom:3rem}.tanuki-explorer-wrapper .search-box{border-radius:1.2rem;align-items:center;max-width:650px;margin:0 auto;padding:.8rem 1.8rem;transition:border-color .3s,box-shadow .3s;display:flex}.tanuki-explorer-wrapper .search-box:focus-within{border-color:var(--sunset-gold);box-shadow:0 0 15px var(--accent-glow)}.tanuki-explorer-wrapper .search-box svg{color:var(--text-dim);margin-right:.8rem}.tanuki-explorer-wrapper .search-box input{color:#fff;background:0 0;border:none;outline:none;width:100%;font-size:1.05rem}.tanuki-explorer-wrapper .search-box kbd{color:var(--text-dim);background:#ffffff14;border:1px solid #ffffff0d;border-radius:4px;padding:2px 7px;font-size:.75rem}.tanuki-explorer-wrapper .bento-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.tanuki-explorer-wrapper .bento-item{border-radius:1.5rem;flex-direction:column;padding:1.8rem;display:flex}.tanuki-explorer-wrapper .col-span-1{grid-column:span 1}.tanuki-explorer-wrapper .col-span-2{grid-column:span 2}.tanuki-explorer-wrapper .col-span-3{grid-column:span 3}@media (width<=900px){.tanuki-explorer-wrapper .bento-grid{grid-template-columns:1fr}.tanuki-explorer-wrapper .col-span-1,.tanuki-explorer-wrapper .col-span-2,.tanuki-explorer-wrapper .col-span-3{grid-column:span 1}}.tanuki-explorer-wrapper .bento-header{align-items:center;gap:.6rem;margin-bottom:1.2rem;display:flex}.tanuki-explorer-wrapper .bento-header svg{color:var(--sunset-gold);width:18px;height:18px}.tanuki-explorer-wrapper .bento-header h3{color:#fff;font-size:1.15rem;font-weight:600}.tanuki-explorer-wrapper .stats-list{flex-direction:column;gap:1.2rem;display:flex}.tanuki-explorer-wrapper .stat label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.3rem;font-size:.75rem;display:block}.tanuki-explorer-wrapper .stat .value{font-size:1.4rem;font-weight:700}.tanuki-explorer-wrapper .stat .value.mono{color:var(--sunset-gold);word-break:break-all;font-size:1.05rem}.tanuki-explorer-wrapper .cluster-list{flex-direction:column;gap:.8rem;display:flex}.tanuki-explorer-wrapper .cluster-card{border:1px solid var(--glass-border);cursor:pointer;background:#ffffff05;border-radius:.8rem;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;transition:all .3s;display:flex}.tanuki-explorer-wrapper .cluster-card:hover{border-color:var(--sunset-gold);background:#ffffff0d;transform:translate(4px)}.tanuki-explorer-wrapper .cluster-info .category{text-transform:uppercase;color:var(--sunset-gold);letter-spacing:.5px;font-size:.65rem;font-weight:700}.tanuki-explorer-wrapper .cluster-info h4{color:#fff;margin-top:.2rem;font-size:1.05rem}.tanuki-explorer-wrapper .log-view{background:#0000004d;border:1px solid #ffffff0d;border-radius:.8rem;height:220px;padding:1.2rem;font-size:.85rem;line-height:1.6;overflow-y:auto}.tanuki-explorer-wrapper .log-line{white-space:pre-wrap;word-break:break-all;margin-bottom:.3rem}.tanuki-explorer-wrapper .log-line.info{color:var(--text-dim)}.tanuki-explorer-wrapper .log-line.success{color:#4ade80}.tanuki-explorer-wrapper .log-line.error{color:#ff5f56}.tanuki-explorer-wrapper .log-line.pulse{background:var(--sunset-gold);width:8px;height:14px;animation:1s step-end infinite blink;display:inline-block}.tanuki-explorer-wrapper .modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#0a0b10cc;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}.tanuki-explorer-wrapper .modal-content{border:1px solid var(--glass-border);border-radius:1.5rem;width:90%;max-width:650px;max-height:80vh;padding:2.5rem;animation:.3s slideUp;position:relative;overflow-y:auto;box-shadow:0 20px 50px #00000080}.tanuki-explorer-wrapper .modal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:1.5rem;transition:color .2s;position:absolute;top:1.2rem;right:1.5rem}.tanuki-explorer-wrapper .modal-close:hover{color:var(--sunset-gold)}.tanuki-explorer-wrapper .modal-category{text-transform:uppercase;color:var(--sunset-gold);letter-spacing:1px;margin-bottom:.5rem;font-size:.75rem;font-weight:700;display:block}.tanuki-explorer-wrapper .modal-title{margin-bottom:.5rem;font-size:1.8rem;font-weight:700;line-height:1.3}.tanuki-explorer-wrapper .modal-hash{color:var(--text-dim);border-bottom:1px solid #ffffff1a;margin-bottom:1.5rem;padding-bottom:.8rem;font-size:.8rem}.tanuki-explorer-wrapper .modal-body{color:var(--text-main);font-size:1rem;line-height:1.7}.tanuki-explorer-wrapper .modal-body p{margin-bottom:1rem}.tanuki-explorer-wrapper .modal-node-ids{color:var(--text-dim);word-break:break-all;background:#0000004d;border:1px solid #ffffff0d;border-radius:.5rem;padding:.8rem;font-size:.85rem}@keyframes blink{50%{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.active-fields-wrapper{flex-direction:column;gap:24px;max-width:1200px;margin:30px auto;padding:40px;display:flex}.active-fields-title{margin-bottom:8px;font-size:24px;font-weight:700}.active-fields-description{color:var(--color-text-muted);font-size:14px;line-height:1.6}.fields-tab-container{border-bottom:1px solid #0084ff1a;flex-wrap:wrap;gap:12px;padding-bottom:8px;display:flex}.fields-tab-btn{cursor:pointer;transition:var(--transition-smooth);background:#ffffff80;border:1px solid #fffc;border-radius:12px;outline:none;flex-direction:column;align-items:flex-start;min-width:120px;padding:10px 20px;display:flex}.fields-tab-btn:hover{border-color:var(--color-primary-light);background:#0084ff0d;transform:translateY(-2px)}.fields-tab-btn.active{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);border-color:#0000;box-shadow:0 4px 15px #0084ff40}.field-area-badge{color:var(--color-primary);text-transform:uppercase;transition:var(--transition-smooth);margin-bottom:2px;font-size:10px;font-weight:700}.fields-tab-btn.active .field-area-badge{color:#ffffffe6}.field-name{color:var(--color-text-main);transition:var(--transition-smooth);font-size:15px;font-weight:700}.fields-tab-btn.active .field-name{color:#fff}.map-iframe-container{aspect-ratio:16/9;border-radius:var(--border-radius-md);background:#e2e8f0;border:1px solid #00000014;width:100%;max-height:500px;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #0000000f}@media (width<=768px){.active-fields-wrapper{padding:24px}.fields-tab-container{gap:8px}.fields-tab-btn{flex-grow:1;align-items:center;min-width:calc(33.333% - 8px);padding:8px 14px}.map-iframe-container{aspect-ratio:4/3}}.sim-container{flex-direction:column;gap:24px;max-width:1200px;margin:30px auto;padding:0;display:flex}.sim-header-card{border-radius:var(--border-radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px 30px;display:flex}.sim-title-group h2{margin-bottom:4px;font-size:26px;font-weight:700}.sim-subtitle{color:var(--color-text-muted);font-size:13px}.sim-status-badge{align-items:center;gap:12px;display:flex}.status-indicator{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:flex;box-shadow:0 4px 10px #0000000d}.status-decoupled{color:var(--color-primary);background:#0084ff1a;border:1px solid #0084ff33}.status-transition{color:var(--color-accent);background:#ff9f431a;border:1px solid #ff9f4333}.status-burst{color:var(--color-success);background:#1dd1a11a;border:1px solid #1dd1a133;animation:2s ease-in-out infinite pulse-soft}.sim-time-box{color:#0f6;text-shadow:0 0 4px #00ff6680;background:#111;border-radius:8px;padding:8px 16px;font-family:Courier New,Courier,monospace;font-size:20px;font-weight:700;box-shadow:inset 0 2px 4px #00000080}.sim-grid-layout{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=992px){.sim-grid-layout{grid-template-columns:320px 1fr}}.sim-control-panel{border-radius:var(--border-radius-lg);flex-direction:column;gap:20px;padding:24px;display:flex}.control-group-title{color:var(--color-text-main);text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid #0000000d;padding-bottom:8px;font-size:14px;font-weight:700}.control-item{flex-direction:column;gap:8px;display:flex}.control-label-row{justify-content:space-between;font-size:13px;font-weight:600;display:flex}.control-val{color:var(--color-primary);font-family:monospace;font-size:14px}.sim-slider{-webkit-appearance:none;background:#dfe6e9;border-radius:3px;outline:none;width:100%;height:6px;transition:background .3s}.sim-slider::-webkit-slider-thumb{appearance:none;background:var(--color-primary);cursor:pointer;border-radius:50%;width:16px;height:16px;transition:transform .1s;box-shadow:0 2px 5px #0003}.sim-slider::-webkit-slider-thumb:hover{background:var(--color-primary-light);transform:scale(1.2)}.sim-btn-row{gap:12px;margin-top:10px;display:flex}.sim-btn{cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:600;display:flex}.sim-btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));color:#fff;box-shadow:0 4px 15px #0084ff33}.sim-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0084ff4d}.sim-btn-secondary{color:var(--color-text-main);background:#dfe6e9}.sim-btn-secondary:hover{background:#b2bec3}.sim-viewport{flex-direction:column;gap:24px;display:flex}.visualizer-panel{border-radius:var(--border-radius-lg);padding:24px}.visualizer-title{align-items:center;gap:8px;margin-bottom:20px;font-size:16px;font-weight:700;display:flex}.grid-visualizer-container{flex-direction:column;gap:4px;margin-bottom:12px;display:flex;position:relative}.grid-sector-labels{text-align:center;color:var(--color-text-muted);letter-spacing:.5px;grid-template-columns:repeat(4,1fr);margin-bottom:6px;font-size:11px;font-weight:700;display:grid}.grid-sector-label{border-left:1px dashed #0000001a;padding:4px 0}.grid-sector-label:first-child{border-left:none}.grid-bar-wrapper{background:#f1f2f6;border:1px solid #0000000d;border-radius:8px;height:36px;display:flex;overflow:hidden;box-shadow:inset 0 2px 5px #0000001a,0 2px 4px #0000000d}.grid-cell{cursor:pointer;flex:1;justify-content:center;align-items:center;height:100%;transition:background-color .15s;display:flex;position:relative}.grid-cell-arrow{color:#ffffffe6;pointer-events:none;text-shadow:0 1px 2px #00000080;font-size:12px;font-weight:700;transition:transform .15s}.legend-row{color:var(--color-text-muted);justify-content:space-between;align-items:center;margin-top:8px;font-size:11px;display:flex}.legend-bar{align-items:center;gap:12px;display:flex}.legend-gradient{background:linear-gradient(90deg,#0084ff,#1dd1a1,#ffbe76,#ff9f43,#ff6b6b);border-radius:4px;width:120px;height:8px}.charts-panel{border-radius:var(--border-radius-lg);padding:24px}.chart-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.chart-tabs{background:#0000000d;border-radius:10px;gap:8px;padding:4px;display:flex}.chart-tab-btn{color:var(--color-text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600}.chart-tab-btn-active{color:var(--color-primary);background:#fff;box-shadow:0 2px 6px #0000000d}.chart-container{width:100%;height:280px}.wind-particles-overlay{pointer-events:none;z-index:2;width:100%;height:100%;display:flex;position:absolute;top:0;left:0;overflow:hidden}.wind-streamline{background:linear-gradient(90deg,#0000,#ffffffb3,#0000);border-radius:1px;height:2px;animation:linear infinite wind-move;position:absolute}@keyframes wind-move{0%{opacity:0;left:-100px}10%{opacity:.7}90%{opacity:.7}to{opacity:0;left:100%}}
