:root{--ground: #eef1f5;--surface: #ffffff;--panel: #f6f8fa;--ink: #16202b;--body: #4a5866;--mute: #78889a;--rule: #dce3eb;--accent: #0067c0;--buy: #14664a;--hold: #a85008;--sell: #b3261e;--watch: #5b6b7f;--seg-1: #0067c0;--seg-2: #14664a;--seg-3: #a85008;--seg-4: #6b4ea8;--seg-5: #0d7d8e;--seg-6: #8a8f98;--up: #14664a;--down: #b3261e;--shadow: 0 1px 2px rgba(16, 32, 48, .06), 0 8px 24px rgba(16, 32, 48, .08);--sans: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, "Segoe UI", system-ui, sans-serif}@media(prefers-color-scheme:dark){:root{--ground: #0f1520;--surface: #17202e;--panel: #1d2836;--ink: #eef2f7;--body: #c3ccd8;--mute: #8d9aaa;--rule: #2a3546;--accent: #6ab3ff;--buy: #4ecb9a;--hold: #f0b46a;--sell: #ff8a80;--watch: #9fb0c4;--seg-1: #4a9eff;--seg-2: #4ecb9a;--seg-3: #f0b46a;--seg-4: #b39ae8;--seg-5: #57c4d4;--seg-6: #7c8898;--up: #4ecb9a;--down: #ff8a80;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--body);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}.app{min-height:100dvh}main{max-width:720px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px calc(84px + env(safe-area-inset-bottom))}h1{font-size:20px;color:var(--ink);margin:0}h2{font-size:17px;color:var(--ink);margin:0}h3,h4{font-size:15px;color:var(--ink);margin:18px 0 6px}p{margin:8px 0}.muted{color:var(--mute)}.small{font-size:13px}.date-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 0 12px}.macro{background:var(--panel);border:1px solid var(--rule);border-radius:12px;padding:12px 14px;font-size:14px}.cards{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}.card{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--rule);border-radius:14px;box-shadow:var(--shadow);padding:14px;font:inherit;color:inherit;text-align:left;cursor:pointer}.card:active{transform:scale(.995)}.card-main{display:flex;flex-direction:column;min-width:0;flex:1}.card-name{color:var(--ink);font-weight:600}.card-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:5px;border:1px solid;border-radius:999px;padding:2px 10px;font-size:12px;white-space:nowrap}.badge-label{color:var(--body)}.changed{font-size:11px;color:var(--accent);border:1px dashed var(--accent);border-radius:6px;padding:0 5px}.up{color:var(--up);font-variant-numeric:tabular-nums}.down{color:var(--down);font-variant-numeric:tabular-nums}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#060a108c;display:flex;align-items:flex-end;z-index:20}.sheet{background:var(--surface);width:100%;max-height:88dvh;overflow-y:auto;border-radius:18px 18px 0 0;padding:18px 16px calc(24px + env(safe-area-inset-bottom));margin:0 auto;max-width:720px}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.sheet-head p{margin:2px 0 0;font-size:13px}.close{background:none;border:none;color:var(--mute);font-size:20px;cursor:pointer;padding:4px 8px}.sheet-signal{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-left:3px solid;padding:6px 0 6px 10px;margin:12px 0}.rich h3,.rich h4{color:var(--ink)}.rich ul{padding-left:18px;margin:6px 0}.rich li{margin:4px 0}.rich blockquote{margin:12px 0;padding:10px 12px;border-left:3px solid var(--rule);background:var(--panel);border-radius:0 10px 10px 0;color:var(--body);font-style:italic}.rich hr{border:none;border-top:1px solid var(--rule);margin:16px 0}.legend{display:flex;gap:14px;font-size:12px;color:var(--mute);padding:4px 0 10px}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:middle}.history-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table.history{border-collapse:collapse;font-size:12px}table.history th{font-weight:500;color:var(--mute);padding:4px 6px;white-space:nowrap;text-align:left}table.history td{padding:3px 2px}.sticky-col{position:sticky;left:0;background:var(--ground);z-index:1}.hist-name{color:var(--ink)}.cell{display:block;width:16px;height:16px;border-radius:4px;border:1px solid var(--rule)}.stock{background:var(--surface);border:1px solid var(--rule);border-radius:14px;box-shadow:var(--shadow);padding:14px}.stock.dim{opacity:.62}.stock-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.stock-head p{margin:2px 0 0}.business{font-size:14px;margin:10px 0}.toggle{border:1px solid var(--rule);background:var(--panel);color:var(--mute);border-radius:999px;padding:4px 12px;font-size:12px;cursor:pointer;white-space:nowrap}.toggle.on{border-color:var(--buy);color:var(--buy)}.pending{font-size:12px;color:var(--accent);margin:6px 0 0}.segbar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--panel);margin:6px 0 8px}.segbar span{display:block}.seglist{list-style:none;margin:0;padding:0;font-size:13px;display:grid;gap:2px}.seg-share{display:inline-block;width:46px;color:var(--ink);font-variant-numeric:tabular-nums}.seg-name{color:var(--body)}.add-form{display:flex;gap:8px;margin:4px 0 12px}.add-form select,.add-form input{background:var(--surface);border:1px solid var(--rule);border-radius:10px;color:var(--ink);font:inherit;padding:8px 10px;min-width:0}.add-form input{flex:1}.add-form button{border:1px solid var(--accent);background:transparent;color:var(--accent);border-radius:10px;padding:8px 14px;font:inherit;cursor:pointer}.notice{color:var(--accent);font-size:13px}.error{color:var(--sell);font-size:13px}.empty{color:var(--mute);padding:32px 4px;text-align:center}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1;border:none;background:none;color:var(--mute);font:inherit;font-size:12px;padding:10px 0 12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}.tab.active{color:var(--accent)}.tab-icon{font-size:18px;line-height:1}
