:root{color:#172033;background:#eef3f8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.app{grid-template-columns:360px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#111827;height:100vh;padding:24px;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:14px;margin-bottom:26px;display:flex}.logo{background:linear-gradient(135deg,#60a5fa,#a78bfa);border-radius:16px;justify-content:center;align-items:center;width:46px;height:46px;font-weight:900;display:flex}.brand strong{font-size:18px;display:block}.brand span{color:#9ca3af;font-size:13px}.filters{gap:10px;margin-bottom:14px;display:grid}.filters input,.filters select,.problem-form input,.problem-form select{border:1px solid #d8e0ec;border-radius:14px;outline:none;padding:12px 14px}.filters input,.filters select{color:#fff;background:#1f2937;border-color:#374151}.platform-tabs{flex-wrap:wrap;gap:8px;margin:14px 0 18px;display:flex}.platform-tabs button{color:#172033;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:999px;padding:9px 12px;font-weight:900}.platform-tabs.side button{color:#d1d5db;background:#1f2937;border-color:#374151}.platform-tabs button.active{color:#fff;background:#2563eb;border-color:#2563eb}.pattern-menu{gap:12px;display:grid}.pattern{color:#fff;text-align:left;cursor:pointer;background:#1f2937;border:1px solid #2f3b4d;border-radius:20px;gap:12px;width:100%;padding:16px;display:grid}.pattern:hover,.pattern.active{color:#0f172a;background:#eef6ff;border-color:#93c5fd}.pattern strong{font-size:15px;display:block}.pattern span{color:#94a3b8;margin-top:4px;font-size:13px;display:block}.pattern.active span,.pattern:hover span{color:#475569}main{width:100%;max-width:1180px;padding:34px}.top-actions{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.eyebrow{color:#2563eb;letter-spacing:-.02em;margin:0 0 8px;font-weight:900}h1{letter-spacing:-.05em;margin:0;font-size:clamp(34px,5vw,56px);line-height:1.02}h2{letter-spacing:-.03em;margin:0;font-size:26px}.dashboard{grid-template-columns:1.4fr repeat(3,1fr);gap:14px;margin-bottom:16px;display:grid}.stat-card{background:#fff;border:1px solid #dbe4ef;border-radius:22px;padding:18px;box-shadow:0 16px 40px #0f172a0f}.stat-card.primary{color:#fff;background:#172033}.stat-card span{color:#64748b;margin-bottom:6px;font-weight:800;display:block}.stat-card.primary span,.stat-card.primary em{color:#cbd5e1}.stat-card strong{margin-bottom:10px;font-size:30px;display:block}.stat-card em{color:#64748b;margin-top:8px;font-size:13px;font-style:normal;display:block}.progress{background:#e2e8f0;border-radius:999px;height:9px;overflow:hidden}.progress i{background:#2563eb;border-radius:999px;height:100%;display:block}.stat-card.primary .progress{background:#334155}.today-card{background:linear-gradient(135deg,#eff6ff,#faf5ff);border:1px solid #bfdbfe;border-radius:26px;justify-content:space-between;gap:20px;margin-bottom:20px;padding:24px;display:flex}.today-card p{color:#475569;line-height:1.6}.today-card .note{color:#1d4ed8;font-weight:800}.today-actions{flex-direction:column;gap:10px;min-width:150px;display:flex}.today-actions a,.today-actions button{text-align:center;cursor:pointer;border:0;border-radius:14px;padding:12px 14px;font-weight:900;text-decoration:none}.today-actions a{color:#fff;background:#172033}.today-actions button{color:#172033;background:#fff;border:1px solid #dbe4ef}.today-actions button.done{color:#166534;background:#dcfce7;border-color:#bbf7d0}.detail{background:#fff;border:1px solid #dbe4ef;border-radius:30px;padding:34px;box-shadow:0 24px 70px #0f172a14}.detail-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.signal{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;margin-top:16px;padding:12px 14px;font-weight:800;line-height:1.7;display:inline-block}.difficulty{white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:10px;padding:8px 10px;display:inline-flex}.sidebar .difficulty{background:#ffffff14;border-color:#ffffff24}.difficulty span{color:inherit;font-size:12px;font-weight:900}.dots{gap:3px;display:flex}.dots i{background:#cbd5e1;border-radius:999px;width:7px;height:7px;display:block}.dots i.on{background:#2563eb}.tag-list{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.tag-list span{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.section-title{margin:44px 0 18px}.section-title p{color:#2563eb;margin:0 0 4px;font-weight:900}.idea-list{gap:10px;padding-left:22px;display:grid}.idea-list li{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px 14px;line-height:1.7}.code-wrap{position:relative}.code-wrap pre{color:#e2e8f0;background:#0f172a;border-radius:22px;padding:24px;font-size:14px;line-height:1.65;overflow-x:auto}.copy-btn{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:999px;padding:8px 12px;font-weight:800;position:absolute;top:12px;right:12px}.trap-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.trap{background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;gap:12px;padding:16px;display:flex}.trap b{color:#fff;background:#fb923c;border-radius:999px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.trap p{color:#7c2d12;margin:0;line-height:1.6}.problem-cards{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.problem-card{color:inherit;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:18px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block}.problem-card:hover{transform:translateY(-2px);box-shadow:0 18px 30px #0f172a17}.problem-card.solved{background:#f0fdf4;border-color:#bbf7d0}.problem-card span{color:#2563eb;margin-bottom:8px;font-weight:900;display:inline-block}.problem-card strong{font-size:18px;display:block}.problem-card em{color:#64748b;margin-top:8px;font-style:normal;display:block}.problem-card small{color:#475569;margin-top:8px;line-height:1.5;display:block}.manager{border-top:1px solid #e2e8f0;margin-top:42px}.problem-form{grid-template-columns:120px 1fr 130px 1.2fr 1fr 90px;gap:10px;display:grid}.problem-form button,.ghost{cursor:pointer;border-radius:14px;padding:12px 14px;font-weight:900}.problem-form button{color:#fff;background:#172033;border:0}.ghost{color:#172033;background:#fff;border:1px solid #dbe4ef}.problem-list{gap:10px;margin-top:16px;display:grid}.problem-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;grid-template-columns:34px 1fr auto;align-items:center;gap:14px;padding:14px;display:grid}.problem-row.solved{background:#f0fdf4;border-color:#bbf7d0}.problem-info strong{display:block}.problem-info span{color:#64748b;font-size:13px;line-height:1.5}.check input{display:none}.check span{background:#fff;border:2px solid #cbd5e1;border-radius:8px;width:24px;height:24px;display:block}.check input:checked+span{background:#22c55e;border-color:#22c55e;box-shadow:inset 0 0 0 5px #fff}.problem-actions{gap:8px;display:flex}.problem-actions a,.problem-actions button{cursor:pointer;border:0;border-radius:999px;padding:8px 12px;font-weight:900;text-decoration:none}.problem-actions a{color:#1d4ed8;background:#dbeafe}.problem-actions button{color:#991b1b;background:#fee2e2}@media (width<=1100px){.dashboard{grid-template-columns:repeat(2,1fr)}.problem-form{grid-template-columns:1fr}}@media (width<=980px){.app{grid-template-columns:1fr}.sidebar{height:auto;position:relative}main{padding:20px}.detail-head,.top-actions,.today-card{flex-direction:column}.trap-grid,.problem-cards,.dashboard{grid-template-columns:1fr}.problem-row{grid-template-columns:34px 1fr}.problem-actions{grid-column:2}}
