:root{--bg: #f4f7f5;--surface: #ffffff;--text: #1c2b26;--muted: #5f7269;--accent: #1a5f4a;--accent-soft: #e8f3ee;--border: #d9e4de;--danger: #c0392b;--warn: #d68910;--shadow: 0 8px 24px rgba(26, 95, 74, .08);--radius: 16px;font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--bg)}a{color:inherit;text-decoration:none}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{font-weight:700;color:var(--accent)}.back-link{color:var(--accent);font-weight:600}.header-meta{display:flex;gap:8px;align-items:center}.header-spacer{flex:1;min-width:0}.header-link{font-size:.88rem;font-weight:600;color:var(--accent);text-decoration:none}.header-link:hover{text-decoration:underline}.user-name{font-size:.85rem;color:var(--muted)}.app-main{flex:1;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.loading,.error,.panel{padding:24px;text-align:center;background:var(--surface);border-radius:var(--radius)}.error{color:var(--danger)}.badge{font-size:.72rem;padding:4px 8px;border-radius:999px;font-weight:600}.badge-dev{background:#fff3cd;color:#856404}.badge-live{background:var(--accent-soft);color:var(--accent)}.badge-mock{background:#fdebd0;color:#9a6700}.home{display:flex;flex-direction:column;gap:20px}.hero{background:linear-gradient(145deg,#1a5f4a,#2d8659);color:#fff;padding:24px 20px;border-radius:var(--radius);box-shadow:var(--shadow)}.hero-eyebrow{margin:0 0 8px;font-size:.8rem;opacity:.85}.hero-title{margin:0 0 12px;font-size:1.6rem;line-height:1.35}.hero-lead{margin:0;font-size:.92rem;opacity:.92}.card-grid{display:flex;flex-direction:column;gap:12px}.menu-card{display:flex;gap:14px;padding:18px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .15s ease}.menu-card:active{transform:scale(.98)}.menu-card-icon{font-size:1.8rem;line-height:1}.menu-card h2{margin:0 0 4px;font-size:1.05rem}.menu-card p{margin:0;font-size:.85rem;color:var(--muted)}.menu-card--disabled{opacity:.65}.coming-soon{display:inline-block;margin-top:8px;font-size:.75rem;color:var(--muted);background:var(--bg);padding:2px 8px;border-radius:999px}.home-footer{font-size:.78rem;color:var(--muted);text-align:center}.home-footer p{margin:0}.page{display:flex;flex-direction:column;gap:14px}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-desc{margin:0;font-size:.88rem;color:var(--muted)}.select-wrap{display:flex;align-items:center;gap:8px;font-size:.88rem}.select-wrap select{padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:.9rem}.map-wrap{height:280px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}.leaflet-map{height:100%;width:100%}.notice-banner{margin:0 0 10px;padding:10px 12px;border-radius:10px;background:#fff8e6;border:1px solid #f0d78c;font-size:.85rem;color:#6b5a1e}.map-status{margin:8px 0 0;font-size:.82rem}.map-toolbar{flex-wrap:wrap}.layer-toggles{display:flex;gap:6px}.layer-toggle{padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:.82rem;cursor:pointer}.layer-toggle--on{background:#e8f5f0;border-color:#1a5f4a;color:#1a5f4a;font-weight:600}.layer-toggle--mine.layer-toggle--on{background:#eafaf1;border-color:#27ae60;color:#1e8449}.list-tabs{display:flex;gap:4px}.list-tab{padding:6px 10px;border:none;border-radius:8px;background:transparent;font-size:.8rem;color:var(--muted);cursor:pointer}.list-tab--active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:inset 0 0 0 1px var(--border)}.txn-tag{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:4px;font-size:.68rem;font-weight:700;vertical-align:middle}.txn-tag--market{background:#fdebd0;color:#9a6700}.txn-tag--property{background:#d5f5e3;color:#1e8449}.detail-kind{margin:0 0 4px;font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.detail-card--mine{border-left:3px solid #2ecc71}.popup-tag{display:inline-block;margin-bottom:2px;padding:0 5px;border-radius:3px;background:#fdebd0;font-size:.65rem;font-weight:700}.popup-tag--mine{background:#d5f5e3}.legend-link{margin-left:auto;text-decoration:none;color:var(--accent)}.legend-link:hover{text-decoration:underline}.map-panels{display:grid;gap:12px;margin-top:12px}@media(min-width:720px){.map-panels{grid-template-columns:1fr 1fr}}.map-panel{padding:14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.map-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.map-panel-head h2{margin:0;font-size:1rem}.map-panel-link{font-size:.82rem;color:var(--accent);text-decoration:none}.map-trend-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.stat-card--compact{padding:8px 10px}.stat-card--compact strong{font-size:.95rem}.chart-box--compact{margin-top:8px}.highlight-pnl--compact{padding:10px 12px;margin-bottom:10px}.sim-table--compact{font-size:.78rem}.sim-table--compact th,.sim-table--compact td{padding:6px 8px}.layer-toggle--trend.layer-toggle--on{background:#ebf5fb;border-color:#5dade2;color:#2471a3}.search-url-list li{display:flex;gap:6px;align-items:stretch}.search-url-list .search-url-btn{flex:1}.btn-inline{flex-shrink:0;padding:8px 10px;font-size:.78rem}.watch-url-textarea{width:100%;font-family:inherit;font-size:.85rem;padding:10px;border-radius:10px;border:1px solid var(--border);resize:vertical;min-height:120px}.watch-url-label{display:block;margin-bottom:10px}.search-url-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.search-url-btn{width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg);font-size:.78rem;cursor:pointer}.search-url-btn:hover{border-color:var(--accent)}.card-grid--compact{max-width:520px}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading-row h2{margin:0}.legend{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.78rem;color:var(--muted)}.legend-item{display:inline-flex;align-items:center;gap:4px}.legend-item i{display:inline-block;width:10px;height:10px;border-radius:50%}.detail-card{background:var(--surface);border-radius:var(--radius);padding:16px;border:1px solid var(--border)}.detail-card h3{margin:0 0 12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.detail-grid dt{font-size:.75rem;color:var(--muted);margin:0}.detail-grid dd{margin:2px 0 0;font-weight:600}.txn-list h2{margin:0 0 8px;font-size:1rem}.txn-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.txn-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px;cursor:pointer}.txn-item--active{border-color:var(--accent);background:var(--accent-soft)}.txn-main{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px}.txn-main span{font-size:.78rem;color:var(--muted)}.txn-sub{display:flex;flex-wrap:wrap;gap:8px;font-size:.82rem;color:var(--muted)}.txn-sub span:first-child{color:var(--text);font-weight:600}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;gap:4px}.stat-label{font-size:.72rem;color:var(--muted)}.stat-card strong{font-size:.95rem}.stat-card strong.up{color:var(--danger)}.stat-card strong.down{color:var(--accent)}.chart-section h2,.trend-table h2{margin:0 0 8px;font-size:1rem}.chart-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 4px 4px}.trend-table table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;font-size:.82rem}.trend-table th,.trend-table td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:left}.trend-table th{background:var(--accent-soft);font-weight:600}@media(max-width:380px){.stat-row{grid-template-columns:1fr}.hero-title{font-size:1.4rem}.form-row{grid-template-columns:1fr}}.panel-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.panel-card h2{margin:0 0 12px;font-size:1rem}.url-row{display:flex;gap:8px}.url-row input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-size:.88rem}.url-row button,.form-actions button,.property-list-actions button{padding:10px 14px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.btn-secondary{background:var(--muted)!important}.btn-danger{background:var(--danger)!important}.property-form{display:flex;flex-direction:column;gap:10px}.property-form label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--muted)}.property-form input,.property-form textarea{padding:10px;border:1px solid var(--border);border-radius:10px;font-size:.95rem;color:var(--text)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-actions{display:flex;gap:8px;margin-top:4px}.form-error{color:var(--danger);font-size:.85rem;margin:8px 0 0}.form-ok{color:var(--accent);font-size:.85rem;margin:8px 0 0}.muted{color:var(--muted);font-size:.88rem}.property-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.property-list-item{border:1px solid var(--border);border-radius:12px;padding:12px}.property-list-main{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.property-list-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.82rem}.property-list-actions a{color:var(--accent);font-weight:600}.property-list-actions button{padding:6px 10px;font-size:.78rem}.menu-card--sim{border-left:4px solid #5dade2}.highlight-pnl{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:12px;background:var(--accent-soft);border-radius:12px}.highlight-pnl strong{font-size:1.4rem}.sim-table-wrap{overflow-x:auto}.sim-table{width:100%;border-collapse:collapse;font-size:.82rem}.sim-table th,.sim-table td{padding:8px 6px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.sim-table th{background:var(--accent-soft)}.pnl-pos{color:var(--accent);font-weight:700}.pnl-neg{color:var(--danger);font-weight:700}
