:root{color:#17211c;font-synthesis:none;--ink:#17211c;--muted:#6c756f;--line:#dfe3da;--surface:#fff;--green:#17633a;--green-soft:#e8f1e9;--cream:#f5f6f1;--red:#a13f39;--shadow:0 18px 50px #1f2b2317;background:#f5f6f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 85% 0%, #e9efe4 0, transparent 26rem), var(--cream);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#f5f6f1e0;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 max(24px,50vw - 580px);display:grid;position:sticky;top:0}.brand{align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:9px;place-items:center;width:32px;height:32px;font-family:Georgia,serif;font-size:20px;display:grid}nav{gap:32px;height:100%;display:flex}nav a{color:var(--muted);border-bottom:2px solid #0000;place-items:center;font-size:14px;font-weight:600;text-decoration:none;display:grid}nav a.active{color:var(--ink);border-color:var(--green)}main{width:min(1160px,100% - 48px);margin:0 auto;padding:56px 0 100px}.page-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px;display:flex}.page-head h1,.modal h2{letter-spacing:-.035em;margin:0;font:600 clamp(34px,5vw,52px)/1 Georgia,serif}.button{cursor:pointer;border:1px solid #0000;border-radius:10px;min-height:42px;padding:0 17px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:wait}.button.primary{color:#fff;background:var(--green);box-shadow:0 7px 18px #17633a2e}.button.secondary{color:var(--green);background:var(--green-soft);border-color:#cbdcca}.button.ghost{color:var(--ink);border-color:var(--line);background:#fff}.button.compact{min-height:34px;padding:0 12px;font-size:12px}.add-actions{gap:9px;display:flex}.toolbar{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:minmax(240px,1fr) repeat(3,180px);gap:10px;margin-bottom:16px;padding:12px;display:grid}.search{border:1px solid var(--line);border-radius:9px;align-items:center;gap:8px;padding:0 12px;display:flex}.search span{color:var(--muted);font-size:22px}.search input{background:0 0;border:0;outline:0;width:100%}select,input,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d5dad1;border-radius:9px;outline:none;padding:10px 11px}select:focus,input:focus,textarea:focus{border-color:#67a47d;box-shadow:0 0 0 3px #17633a17}.toolbar select{padding:9px 10px}.list{gap:12px;display:grid}.problem-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;justify-content:space-between;gap:28px;padding:25px 26px;display:flex;box-shadow:0 2px #17211c05}.problem-card:hover{border-color:#c9d3c8}.problem-main{flex:1;min-width:0}.problem-heading{align-items:center;gap:8px;display:flex}.platform,.difficulty,.status{text-transform:uppercase;letter-spacing:.05em;border-radius:99px;padding:4px 8px;font-size:10px;font-weight:800}.platform{color:#425a7d;background:#e8edf5}.difficulty.easy{color:#237a43;background:#e5f4e9}.difficulty.medium{color:#946100;background:#fff1d7}.difficulty.hard{color:#a13f39;background:#fbe5e3}.status{color:#626b65;background:#edf0ec}.favorite{color:#d39b2d}.problem-card h3{margin:11px 0 7px;font-size:19px}.problem-card h3 a{text-decoration:none}.problem-card h3 a:hover{color:var(--green)}.problem-detail{grid-template-columns:70px minmax(0,1fr);gap:8px;margin:7px 0 0;font-size:13px;line-height:1.55;display:grid}.problem-detail strong{color:#4f5953;font-size:12px}.problem-detail p{color:#3e4842;white-space:pre-line;margin:0}.problem-detail.notes p{color:var(--muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pills{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.pill{background:var(--green-soft);color:#315f41;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.solution-link{color:var(--green);margin-top:12px;font-size:12px;font-weight:700;display:inline-block}.problem-actions{flex-direction:column;align-items:stretch;gap:8px;min-width:130px;display:flex}.icon-button{cursor:pointer;background:0 0;border:0;padding:6px;font-size:12px}.icon-button.danger{color:var(--red)}.drill-meta{flex-direction:column;margin-bottom:9px;display:flex}.drill-meta span,.drill-meta small{color:var(--muted);font-size:11px}.drill-meta strong{margin:3px 0;font-size:14px}.drill-callout{background:var(--green-soft);border:1px solid #ccddcd;border-radius:13px;align-items:center;gap:14px;margin-bottom:16px;padding:15px 18px;display:flex}.drill-callout p{color:var(--muted);margin:2px 0 0;font-size:12px}.pulse{background:var(--green);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 6px #17633a1a}.tag-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.tag-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;justify-content:space-between;min-height:180px;padding:22px;display:flex}.tag-card h3{margin:0 0 8px;font-size:17px}.tag-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.tag-card footer{border-top:1px solid #edf0eb;justify-content:space-between;align-items:center;margin-top:20px;padding-top:14px;display:flex}.tag-card footer>span{color:var(--muted);font-size:11px}.tag-card footer div{align-items:center;display:flex}.empty{text-align:center;background:#fff6;border:1px dashed #cfd5cc;border-radius:15px;grid-column:1/-1;place-items:center;padding:80px 20px;display:grid}.empty h2{margin:12px 0 5px;font:600 26px/1.1 Georgia,serif}.empty p{color:var(--muted);margin:0 0 20px}.empty-icon{color:var(--green);font-size:30px}.loading{text-align:center;color:var(--muted);padding:100px}.modal{width:min(760px,100% - 32px);max-height:calc(100vh - 40px);box-shadow:var(--shadow);border:0;border-radius:18px;padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e181294}.modal form{padding:28px}.modal-head{justify-content:space-between;align-items:start;margin-bottom:25px;display:flex}.modal h2{margin-top:3px;font-size:34px}.close{width:35px;height:35px;color:var(--muted);cursor:pointer;background:#f0f2ed;border:0;border-radius:50%;font-size:23px;line-height:1}.close.small{flex:none;width:28px;height:28px;margin-top:23px;font-size:18px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-stack{gap:16px;display:grid}.form-grid label,.form-stack label{color:#49534d;gap:6px;font-size:12px;font-weight:700;display:grid}.span-2{grid-column:span 2}.check-field{align-self:end;align-items:center;min-height:42px;gap:8px!important;display:flex!important}.check-field input{width:auto}fieldset{border:1px solid var(--line);border-radius:10px;margin:0;padding:14px}legend{color:#49534d;padding:0 5px;font-size:12px;font-weight:700}.tag-options{flex-wrap:wrap;gap:8px 15px;display:flex}.tag-options label{align-items:center;gap:5px;font-weight:500;display:flex}.tag-options input{width:auto}.muted{color:var(--muted);font-size:12px}.legend-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.legend-row legend{float:left}.solution-row{border-top:1px solid #edf0eb;align-items:start;gap:8px;margin-top:10px;padding-top:10px;display:flex}.solution-row:first-child{margin-top:0}.solution-row .grow{flex:1}.solution-row label{min-width:130px}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:25px;padding-top:18px;display:flex}.small-modal{width:min(500px,100% - 32px)}.toast{z-index:50;opacity:0;pointer-events:none;background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:10px;padding:12px 17px;font-size:13px;font-weight:600;transition:all .2s;position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px)}.toast.visible{opacity:1;transform:translate(-50%)}.toast.error{background:var(--red)}@media (width<=820px){.topbar{grid-template-columns:auto 1fr auto;padding:0 18px}.brand>span:last-child{display:none}nav{justify-self:center;gap:20px}main{width:min(100% - 28px,1160px);padding-top:35px}.toolbar{grid-template-columns:1fr 1fr}.search{grid-column:span 2;min-height:42px}.tag-grid{grid-template-columns:1fr 1fr}}@media (width<=560px){nav{gap:13px}.page-head{align-items:start}.add-actions{flex-direction:column}.page-head h1{font-size:38px}.problem-card{flex-direction:column;gap:18px;padding:20px}.problem-actions{flex-direction:row;align-items:center}.drill-meta{margin-right:auto}.tag-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.solution-row{flex-direction:column}.solution-row label{width:100%}.close.small{margin-top:0}}
