:root{--cream:#fbf3e6;--cream-2:#f3e6d3;--sand:#e8d5bc;--coral:#f26b5b;--coral-d:#d9503f;--bordo:#5a1627;--bordo-2:#7a2236;--ink:#3a1220;--muted:#8a6a6f;--line:#5a162724;--glass:#fff9f19e;--ok:#3f8f6b;--radius:16px;--font:ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;line-height:1.45}a{color:var(--coral-d);text-decoration:none}a:hover{text-decoration:underline}button,select,input{font:inherit;color:inherit}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nodata{color:var(--muted);font-style:italic;font-weight:500}.source{color:var(--muted);font-size:11px;line-height:1.3;display:block}.login{background:radial-gradient(circle at 30% 20%, #fff7ea, var(--cream-2));place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #ffffffb3;border-radius:22px;width:min(380px,100%);padding:28px;box-shadow:0 18px 50px #5a162724}.login-card h1{color:var(--bordo);margin:0 0 4px;font-size:22px}.login-card p{color:var(--muted);margin:0 0 18px;font-size:14px}.login-card label{color:var(--bordo-2);margin-bottom:6px;font-size:13px;display:block}.login-card input{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;margin-bottom:14px;padding:11px 13px}.btn{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:12px;width:100%;padding:11px 14px;font-weight:700}.btn:hover{background:var(--coral-d)}.btn:disabled{opacity:.6;cursor:wait}.login-msg{color:var(--bordo-2);margin-top:12px;font-size:13px}.login-msg.err{color:var(--coral-d)}.controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seg{background:#5a162712;border-radius:999px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--bordo-2);background:0 0;border:0;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.seg button.on{background:var(--bordo);color:var(--cream)}.controls select,.controls input[type=date]{border:1px solid var(--line);background:#fffc;border-radius:999px;padding:6px 10px;font-size:13px}.controls .dates{align-items:center;gap:6px;display:inline-flex}.controls.compact .seg button{padding:5px 9px;font-size:12px}.livedot{letter-spacing:.02em;white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.livedot i{background:var(--ok);border-radius:50%;width:9px;height:9px;animation:2s infinite pulse;box-shadow:0 0 #3f8f6b99}.livedot.stale{color:var(--muted)}.livedot.stale i{background:#aaa;animation:none}@keyframes pulse{70%{box-shadow:0 0 0 7px #3f8f6b00}to{box-shadow:0 0 #3f8f6b00}}.page{max-width:1080px;margin:0 auto;padding:18px 16px 60px}.page header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;margin-bottom:14px;display:flex}.page h1{color:var(--bordo);margin:0;font-size:22px}.page h2{color:var(--bordo);margin:26px 0 8px;font-size:15px}.tabs{border-bottom:1px solid var(--line);gap:4px;margin:14px 0;display:flex;overflow-x:auto}.tabs button{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:9px 14px;font-weight:700}.tabs button.on{color:var(--bordo);border-bottom-color:var(--coral)}.note{background:#f26b5b1a;border:1px solid #f26b5b4d;border-radius:12px;margin:10px 0;padding:8px 12px;font-size:13px}.note.err{background:#d9503f24}table.m{border-collapse:collapse;width:100%;font-size:14px}table.m th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px;font-size:12px;font-weight:600}table.m td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px}table.m td.num,table.m th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.m td.num strong{font-size:16px}.bar{background:#5a162714;border-radius:6px;min-width:80px;height:8px;overflow:hidden}.bar>i{background:linear-gradient(90deg, var(--coral), var(--coral-d));height:100%;display:block}.bar.loss>i{background:#c0392b}.cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.card2{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px 14px}.card2 .l{color:var(--muted);font-size:12px;font-weight:600}.card2 .v{color:var(--bordo);margin:2px 0 4px;font-size:24px;font-weight:800}.chart{width:100%;height:130px;display:block}.legend{color:var(--muted);gap:14px;font-size:12px;display:flex}.legend b{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}@media (max-width:640px){table.m .hide-sm{display:none}.page{padding:12px 12px 50px}}.world{touch-action:none;background:radial-gradient(at 50% 35%,#fff8ec 0%,#f6e8d4 55%,#e9d2b6 100%);position:fixed;inset:0;overflow:hidden}.world canvas{display:block}.strip{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#fff9f1b8;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:7px 14px;font-size:13px;display:flex;position:absolute;top:0;left:0;right:0}.strip .brand{color:var(--bordo);letter-spacing:.01em;font-weight:800}.strip .stat{align-items:baseline;gap:6px;display:inline-flex}.strip .stat span:first-child{color:var(--muted);font-size:12px}.strip .stat strong{color:var(--bordo);font-variant-numeric:tabular-nums;font-size:14px}.strip .grow{flex:1}.toolbar{z-index:5;flex-wrap:wrap;align-items:center;gap:8px;max-width:calc(100% - 28px);display:flex;position:absolute;bottom:14px;left:14px}.toolbar .pill{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);background:#fff9f1cc;border-radius:999px;padding:5px 10px;font-size:13px}.toolbar .controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);background:#fff9f1cc;border-radius:999px;padding:4px 6px}.hint{z-index:4;color:var(--muted);pointer-events:none;font-size:12px;position:absolute;bottom:14px;right:14px}.glass{z-index:8;-webkit-backdrop-filter:blur(20px)saturate(1.6);will-change:transform;background:#fffaf4c2;border:1px solid #ffffffbf;border-radius:20px;width:min(330px,100vw - 24px);max-height:min(70dvh,560px);padding:14px 16px 12px;position:absolute;top:0;left:0;overflow:auto;box-shadow:0 16px 48px #5a162738,inset 0 1px #fffc}.glass.docked{width:auto;max-height:46dvh;position:fixed;bottom:8px;right:8px;top:auto!important;left:8px!important;transform:none!important}.glass h3{color:var(--bordo);margin:0 24px 8px 0;font-size:16px}.glass .x{cursor:pointer;width:26px;height:26px;color:var(--bordo);background:#5a162714;border:0;border-radius:50%;font-size:15px;line-height:1;position:absolute;top:8px;right:10px}.glass dl{gap:8px;margin:0;display:grid}.glass dl>div{border-top:1px solid #5a16271a;padding-top:6px}.glass dt{color:var(--bordo-2);font-size:12px;font-weight:600}.glass dd{color:var(--bordo);font-variant-numeric:tabular-nums;margin:0;font-size:17px;font-weight:800}.glass dd.sub{font-size:13px;font-weight:600}.glass .mini{color:var(--ink);margin:2px 0 0;padding-left:14px;font-size:12px}.glass .warn{color:var(--coral-d);font-weight:700}.sale{color:var(--ok);text-shadow:0 2px 8px #ffffffe6;pointer-events:none;white-space:nowrap;font-size:22px;font-weight:900;animation:3s ease-out forwards floatup}@keyframes floatup{0%{opacity:0;transform:translateY(0)scale(.8)}15%{opacity:1;transform:translateY(-10px)scale(1.1)}to{opacity:0;transform:translateY(-60px)scale(1)}}.loading-world{color:var(--bordo-2);z-index:3;pointer-events:none;place-items:center;font-weight:700;display:grid;position:absolute;inset:0}@media (max-width:640px){.strip{gap:3px 12px;padding:6px 10px;font-size:12px}.toolbar{bottom:10px;left:10px}.hint{display:none}}@media (prefers-reduced-motion:reduce){.livedot i,.sale{animation:none}}.show-sm{display:none}@media (max-width:640px){.show-sm{display:block}}.strip .src{color:var(--muted);opacity:.85;font-size:10px}@media (max-width:700px){.strip .src,.world.has-card .toolbar{display:none}}.sale-anchor{z-index:6;pointer-events:none;position:absolute;top:0;left:0}.sale-pos{position:absolute;top:0;left:0;transform:translate(-50%,-100%)}
