:root{color-scheme:light;--bg: #f4efe6;--panel: rgba(255, 249, 240, .85);--panel-strong: #fffaf2;--panel-border: rgba(87, 63, 45, .15);--ink: #1f1b16;--muted: #62574d;--accent: #c5642f;--accent-soft: rgba(197, 100, 47, .12);--easy: #198754;--medium: #b9770e;--hard: #c0392b;--shadow: 0 20px 40px rgba(80, 55, 35, .08);font-family:IBM Plex Sans,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(210,140,69,.25),transparent 35%),linear-gradient(180deg,#f6f1e8,#efe6d8);color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:transparent}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}#root{min-height:100vh}.app-shell{min-height:100vh;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.brand-link{display:flex;align-items:center;gap:14px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#d3773c,#a94f24);color:#fff;font-weight:700}.eyebrow{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.brand-link h1,.hero-panel h2,.detail-header h2,.panel-heading h2,.statement-card h3,.aux-card h3,.problem-card h3{font-family:"IBM Plex Serif",Georgia,serif;margin:0}.topnav{display:flex;gap:12px}.nav-link{padding:10px 14px;border-radius:999px;color:var(--muted)}.nav-link.active,.nav-link:hover{background:var(--panel);box-shadow:var(--shadow);color:var(--ink)}.page-frame{display:flex;flex-direction:column;gap:24px}.catalog-layout,.detail-layout{display:grid;gap:24px}.catalog-layout{grid-template-columns:300px minmax(0,1fr)}.detail-layout{grid-template-columns:minmax(0,1.55fr) 340px}.sidebar-panel,.content-panel,.hero-panel,.problem-card,.status-card,.statement-card,.aux-card,.detail-sidebar .sidebar-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sidebar-panel,.content-panel,.detail-main,.detail-sidebar{min-width:0}.sidebar-panel,.content-panel,.detail-sidebar .sidebar-panel,.aux-card,.statement-card,.hero-panel,.status-card{padding:22px}.field-group{display:flex;flex-direction:column;gap:8px;margin-top:18px}.field-label{font-size:.9rem;color:var(--muted)}.field-input{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(90,60,40,.15);background:#ffffffbf}.hero-panel{margin-bottom:18px}.hero-panel p,.problem-meta,.detail-meta-row,.status-card,.similar-link span,.aux-card p,.back-link{color:var(--muted)}.problem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.problem-card{display:flex;flex-direction:column;gap:12px;padding:18px;transition:transform .18s ease,border-color .18s ease}.problem-card:hover{transform:translateY(-2px);border-color:#c5642f59}.problem-card-header,.detail-meta-row,.pagination-row,.tag-row,.detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.problem-number{font-weight:600;color:var(--accent)}.difficulty-chip,.tag-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.8rem;font-weight:600}.difficulty-chip.easy{background:#1987541f;color:var(--easy)}.difficulty-chip.medium{background:#b9770e24;color:var(--medium)}.difficulty-chip.hard{background:#c0392b1f;color:var(--hard)}.tag-chip{background:#573f2d14;color:var(--muted)}.tag-chip.muted{background:var(--accent-soft);color:var(--accent)}.dot{width:4px;height:4px;border-radius:999px;background:#573f2d73}.pagination-row{margin-top:20px;justify-content:flex-end}.pagination-row button,.primary-button,.tab-button{padding:10px 14px;border-radius:12px;border:1px solid rgba(87,63,45,.14);background:#fff;cursor:pointer}.primary-button{background:linear-gradient(135deg,#d3773c,#a94f24);color:#fff;border:none}.pagination-row button:disabled{opacity:.5;cursor:not-allowed}.primary-button:disabled,.tab-button:disabled,.favorite-button:disabled,.progress-chip:disabled,.confidence-dot:disabled{opacity:.55;cursor:not-allowed}.status-card.error{border-color:#c0392b40;color:var(--hard)}.status-card.compact{padding:14px 16px}.detail-main{display:flex;flex-direction:column;gap:18px}.back-link{width:fit-content}.tab-row{display:flex;gap:10px}.tab-button.active{background:var(--accent-soft);color:var(--accent);border-color:#c5642f59}.statement-card{background:var(--panel-strong)}.statement-card.prose img{max-width:100%;height:auto}.statement-card.prose pre,.aux-card pre{white-space:pre-wrap;word-break:break-word;padding:14px;border-radius:16px;background:#5037230f;overflow-x:auto}.aux-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.sticky{position:sticky;top:24px}.similar-list{display:flex;flex-direction:column;gap:12px}.similar-link{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:16px;background:#ffffffb3}.compact{font-size:.92rem}.helper-text{color:var(--muted);font-size:.9rem}.notes-layout{display:grid;gap:18px}.note-form{display:grid;gap:14px;margin-top:14px}.note-textarea{min-height:180px;resize:vertical}.code-textarea,.code-block{min-height:220px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.split-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.note-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.notes-feed{display:grid;gap:16px}.note-card h3{margin:0}.note-prose{margin-top:10px}.code-block{white-space:pre-wrap;word-break:break-word;padding:14px;border-radius:16px;background:#5037230f;overflow-x:auto}@media(max-width:720px){.split-fields{grid-template-columns:1fr}}@media(max-width:1100px){.catalog-layout,.detail-layout{grid-template-columns:1fr}.sticky{position:static}}.card-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.action-button{padding:6px 12px;border-radius:10px;border:1px solid rgba(87,63,45,.14);background:#fff;cursor:pointer;font-size:.82rem;color:var(--muted);transition:background .12s ease,color .12s ease}.action-button:hover{background:var(--accent-soft);color:var(--accent)}.action-button.danger{color:var(--hard)}.action-button.danger:hover{background:#c0392b1a}.secondary-button{padding:10px 14px;border-radius:12px;border:1px solid rgba(87,63,45,.14);background:#fff;cursor:pointer;color:var(--muted)}.secondary-button:hover{background:var(--accent-soft)}.pin-icon{font-size:.95em}.primary-badge{color:var(--accent);font-size:1.05em}.favorite-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid rgba(87,63,45,.14);background:#fff;cursor:pointer;font-size:1.3rem;color:var(--muted);transition:color .12s ease,background .12s ease}.favorite-button.active{color:#e6a817;background:#e6a81714;border-color:#e6a8174d}.favorite-button:hover{background:#e6a8171f}.favorite-star{color:#e6a817;font-size:1rem}.problem-card-badges{display:flex;align-items:center;gap:8px}.detail-header-actions{display:flex;align-items:center;gap:10px}.progress-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 0}.progress-buttons{display:flex;gap:6px}.progress-chip{padding:6px 14px;border-radius:999px;border:1px solid rgba(87,63,45,.14);background:#fff;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--muted);transition:background .12s ease,color .12s ease}.progress-chip.active{background:var(--accent-soft);color:var(--accent);border-color:#c5642f59}.progress-chip:hover{background:var(--accent-soft)}.confidence-dots{display:flex;gap:4px}.confidence-dot{width:28px;height:28px;border-radius:50%;border:1px solid rgba(87,63,45,.14);background:#fff;cursor:pointer;font-size:.9rem;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;transition:color .12s ease}.confidence-dot.filled{color:var(--accent);border-color:#c5642f59}.confidence-dot:hover{background:var(--accent-soft)}.checkbox-group{flex-direction:row;align-items:center;gap:10px}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}@media(max-width:720px){.app-shell{padding:16px}.topbar{flex-direction:column;align-items:flex-start}.problem-grid{grid-template-columns:1fr}.progress-row{flex-direction:column;align-items:flex-start}}
