@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-primary:#0c1425;--bg-card:#0e162ad9;--bg-card-hover:#141e37e6;--border-subtle:#ffffff0f;--border-active:#10b98166;--accent:#10b981;--accent-glow:#10b9814d;--accent-secondary:#3b82f6;--accent-warn:#f59e0b;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--glass-blur:20px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,sans-serif;overflow:hidden}#canvas-container{z-index:1;width:100%;height:100%;position:fixed;top:0;left:0}#top-header{z-index:10;background:linear-gradient(#0c1425f2 0%,#0c142599 60%,#0000 100%);justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:fixed;top:0;left:0;right:0}.header-brand{align-items:center;gap:12px;display:flex}.header-logo{background:linear-gradient(135deg, var(--accent), #059669);color:#fff;width:36px;height:36px;box-shadow:0 4px 16px var(--accent-glow);border-radius:10px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.header-title{color:var(--text-primary);letter-spacing:-.02em;font-size:17px;font-weight:700}.stats-bar{align-items:center;gap:6px;display:flex}.stat-chip{background:var(--bg-card);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .25s;display:flex}.stat-chip .stat-value{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.stat-chip.accent .stat-value{color:var(--accent)}.stat-chip.warn .stat-value{color:var(--accent-warn)}#layer-bar{z-index:10;background:var(--bg-card);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-subtle);border-radius:14px;gap:4px;padding:4px;display:flex;position:fixed;top:68px;left:50%;transform:translate(-50%)}.layer-pill{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:10px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500;transition:all .25s}.layer-pill:hover{color:var(--text-secondary);background:#ffffff0a}.layer-pill.active{background:var(--accent);color:#fff;box-shadow:0 2px 12px var(--accent-glow);font-weight:600}#progress-ring-container{z-index:10;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:50%;right:28px;transform:translateY(-50%)}.progress-ring-wrapper{cursor:pointer;width:100px;height:100px;position:relative}.progress-ring-wrapper svg{width:100px;height:100px;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:#ffffff0f;stroke-width:6px}.ring-fill{fill:none;stroke:var(--accent);stroke-width:6px;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1)}.ring-percent{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:22px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ring-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;text-align:center;font-size:11px;font-weight:500}#floor-indicator{z-index:10;flex-direction:column;align-items:center;gap:2px;display:flex;position:fixed;top:50%;left:24px;transform:translateY(-50%)}.floor-tick{cursor:pointer;background:#ffffff14;border-radius:2px;width:24px;height:3px;transition:all .3s;position:relative}.floor-tick.done{background:var(--accent);opacity:.6;width:28px}.floor-tick.current{background:var(--accent);opacity:1;width:36px;box-shadow:0 0 8px var(--accent-glow)}.floor-tick:hover{width:40px;opacity:1!important}.floor-tick .tick-label{color:var(--text-secondary);white-space:nowrap;opacity:0;pointer-events:none;font-size:11px;font-weight:600;transition:opacity .2s;position:absolute;top:50%;left:44px;transform:translateY(-50%)}.floor-tick:hover .tick-label,.floor-tick.current .tick-label{opacity:1}#bottom-sheet{z-index:20;transition:transform .5s cubic-bezier(.4,0,.2,1);position:fixed;bottom:0;left:0;right:0;transform:translateY(calc(100% - 56px))}#bottom-sheet.expanded{transform:translateY(0)}.sheet-handle-bar{cursor:pointer;background:linear-gradient(#0000,#0c1425b3 40%);justify-content:center;align-items:center;padding:12px 24px;display:flex}.sheet-handle{background:#fff3;border-radius:2px;width:40px;height:4px;transition:background .2s}.sheet-handle-bar:hover .sheet-handle{background:#fff6}.sheet-content{background:var(--bg-card);-webkit-backdrop-filter:blur(30px);border-top:1px solid var(--border-subtle);padding:20px 24px 28px}.sheet-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.sheet-title{color:var(--text-primary);font-size:15px;font-weight:700}.sheet-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.sheet-close{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:all .2s;display:flex}.sheet-close:hover{color:var(--text-primary);background:#ffffff1f}.apt-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.apt-card{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#ffffff08;padding:16px;transition:all .25s}.apt-card:hover{border-color:var(--border-active);background:#10b9810a}.apt-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.apt-name{color:var(--text-primary);font-size:13px;font-weight:600}.apt-badge{border-radius:6px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.apt-badge.complete{color:var(--accent);background:#10b98126}.apt-badge.progress{color:var(--accent-warn);background:#f59e0b26}.apt-badge.pending{color:var(--text-muted);background:#ffffff0f}.apt-progress-track{background:#ffffff0f;border-radius:2px;width:100%;height:4px;margin-bottom:10px;overflow:hidden}.apt-progress-fill{background:linear-gradient(90deg, var(--accent), #34d399);border-radius:2px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.apt-progress-fill.warn{background:linear-gradient(90deg, var(--accent-warn), #fbbf24)}.apt-meta{color:var(--text-muted);justify-content:space-between;font-size:11px;display:flex}.apt-meta-value{color:var(--text-secondary);font-weight:500}#floor-tooltip{z-index:30;pointer-events:none;border-radius:var(--radius-md);background:var(--bg-card);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-active);min-width:160px;padding:12px 16px;display:none;position:fixed;box-shadow:0 8px 32px #0006,0 0 0 1px #10b9811a}.tooltip-floor{color:var(--text-primary);font-size:14px;font-weight:700}.tooltip-status{text-transform:uppercase;letter-spacing:.06em;margin-top:3px;font-size:11px;font-weight:600}.tooltip-status.done{color:var(--accent)}.tooltip-status.pending{color:var(--text-muted)}.tooltip-dates{color:var(--text-secondary);margin-top:6px;font-size:11px;line-height:1.6}#timeline-bar{z-index:12;align-items:center;gap:16px;display:flex;position:fixed;bottom:56px;left:80px;right:150px}#bottom-sheet.expanded~#timeline-bar{opacity:0;pointer-events:none}.timeline-track{flex:1;align-items:center;height:24px;display:flex;position:relative}.timeline-slider{appearance:none;cursor:pointer;background:#ffffff0f;border-radius:2px;outline:none;width:100%;height:3px}.timeline-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);border:3px solid var(--bg-primary);width:14px;height:14px;box-shadow:0 0 10px var(--accent-glow);cursor:pointer;border-radius:50%;transition:transform .15s}.timeline-slider::-webkit-slider-thumb:hover{transform:scale(1.3)}.timeline-dates{color:var(--text-muted);justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:-14px;left:0;right:0}.timeline-label-chip{color:var(--accent);white-space:nowrap;background:#10b9811a;border:1px solid #10b98133;border-radius:6px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}@keyframes pulse-glow{0%,to{opacity:.6}50%{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){#top-header{padding:12px 16px}.stats-bar{display:none}#layer-bar{scrollbar-width:none;-ms-overflow-style:none;top:56px;left:16px;right:16px;overflow-x:auto;transform:none}#layer-bar::-webkit-scrollbar{display:none}.layer-pill{padding:6px 14px;font-size:12px}#floor-indicator{display:none}#progress-ring-container{top:auto;bottom:70px;right:16px;transform:none}.progress-ring-wrapper,.progress-ring-wrapper svg{width:64px;height:64px}.ring-percent{font-size:16px}#timeline-bar{left:16px;right:16px}.apt-cards{grid-template-columns:1fr}.sheet-content{padding:16px 16px 24px}}
