@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;src:url(../media/f813d0b748b050e0-s.0bue79j92ry8p.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;src:url(../media/dcd150d580a10316-s.00vt6ovfanaoz.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;src:url(../media/d261779aa92de579-s.08vb0en80h4ak.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;src:url(../media/24ce79ed121239f3-s.0e7.nfwufgbbc.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-stretch:100%;font-display:swap;src:url(../media/f141b5b7abe57afc-s.p.0-k1k9nod8chc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.nunito_sans_6cc8d042-module__ojd8eW__className{font-family:Nunito Sans,Nunito Sans Fallback;font-style:normal}.nunito_sans_6cc8d042-module__ojd8eW__variable{--font-nunito-sans:"Nunito Sans", "Nunito Sans Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-sans:var(--font-nunito-sans), "Nunito Sans", system-ui, -apple-system, sans-serif;--font-mono:"SF Mono", ui-monospace, "Fira Code", "Cascadia Code", Menlo, monospace;--color-bg:#f4f5f8;--color-surface:#fff;--color-surface-hover:#f9fafb;--color-surface-sunken:#f1f3f7;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#8a97ab;--color-primary:#1e3a5f;--color-primary-light:#2d5182;--color-primary-lighter:#e8edf4;--color-primary-hover:#152d4a;--color-white:#fff;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-danger-light:#fef2f2;--color-danger-border:#fecaca;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-border-light:#f1f5f9;--color-success:#16a34a;--color-success-light:#dcfce7;--color-tag-bg:#f0f4f8;--color-tag-text:#1e3a5f;--color-code-bg:#0f172a;--color-code-text:#e2e8f0;--color-category-context:#7c3aed;--color-category-context-bg:#f3eefe;--color-category-context-text:#5b21b6;--color-category-plan:#d97706;--color-category-plan-bg:#fef5e1;--color-category-plan-text:#92400e;--color-category-skill:#16a34a;--color-category-skill-bg:#e6f7ec;--color-category-skill-text:#166534;--color-category-instruction:#2563eb;--color-category-instruction-bg:#e8effd;--color-category-instruction-text:#1e40af;--cat:var(--color-primary);--cat-bg:var(--color-primary-lighter);--cat-text:var(--color-primary);--spacing-2xs:2px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:999px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 6px 12px -4px #0f172a14, 0 2px 4px -2px #0f172a0d;--shadow-lg:0 14px 24px -8px #0f172a1f, 0 4px 8px -4px #0f172a0f;--shadow-xl:0 24px 48px -12px #0f172a38, 0 8px 16px -8px #0f172a14;--shadow-glow:0 0 0 3px #1e3a5f24;--ease-out:cubic-bezier(.22, 1, .36, 1);--transition-fast:.12s ease;--transition:.2s ease;--transition-slow:.3s ease}.cat-context{--cat:var(--color-category-context);--cat-bg:var(--color-category-context-bg);--cat-text:var(--color-category-context-text)}.cat-plan{--cat:var(--color-category-plan);--cat-bg:var(--color-category-plan-bg);--cat-text:var(--color-category-plan-text)}.cat-skill{--cat:var(--color-category-skill);--cat-bg:var(--color-category-skill-bg);--cat-text:var(--color-category-skill-text)}.cat-instruction{--cat:var(--color-category-instruction);--cat-bg:var(--color-category-instruction-bg);--cat-text:var(--color-category-instruction-text)}html{-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.6}body.no-scroll{overflow:hidden}button{font-family:inherit}:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}kbd{border:1px solid var(--color-border);background:var(--color-surface);min-width:20px;height:20px;color:var(--color-text-tertiary);font-family:var(--font-sans);border-bottom-width:2px;border-radius:5px;justify-content:center;align-items:center;padding:0 5px;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.page-container{max-width:1280px;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-2xl);margin:0 auto}.filter-tabs{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);scrollbar-width:none;gap:4px;width:fit-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);white-space:nowrap;background:0 0;border:none;align-items:center;gap:7px;padding:7px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.filter-tab:hover{background:var(--color-surface-sunken);color:var(--color-text)}.filter-tab.active{background:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-sm)}.filter-count{border-radius:var(--radius-full);background:var(--color-surface-sunken);min-width:20px;color:var(--color-text-tertiary);text-align:center;padding:0 6px;font-size:.7rem;font-weight:800;line-height:18px}.filter-tab.active .filter-count{color:var(--color-white);background:#ffffff2e}.filter-tab.active .category-dot{box-shadow:0 0 0 2px #ffffff59}.category-dot{background:var(--cat);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.category-badge{border-radius:var(--radius-full);background:var(--cat-bg);color:var(--cat-text);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:.68rem;font-weight:800;display:inline-flex}.category-badge:before{content:"";background:var(--cat);border-radius:50%;width:6px;height:6px}.card-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));display:grid}.card-grid-empty{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);color:var(--color-text-tertiary);grid-column:1/-1;font-size:.95rem;font-weight:500}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;padding:var(--spacing-lg);box-shadow:var(--shadow-xs);transition:border-color var(--transition), box-shadow var(--transition);position:relative}.card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-xs);display:flex}.card-title{color:var(--color-text);font-size:1.05rem;font-weight:800;line-height:1.4}.card-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);font-size:.85rem;line-height:1.5}.card-meta{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.card-tag{background:var(--color-tag-bg);color:var(--color-tag-text);border-radius:var(--radius-xs);padding:2px 8px;font-size:.7rem;font-weight:700}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-size:.85rem;font-weight:700;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.btn-primary.btn-success,.btn-primary.btn-success:hover{background:var(--color-success)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-sunken);border-color:var(--color-border-strong)}.btn-danger-solid{background:var(--color-danger);color:var(--color-white)}.btn-danger-solid:hover:not(:disabled){background:var(--color-danger-hover)}.btn-ghost-danger{color:var(--color-danger);border-color:var(--color-danger-border);background:0 0;padding-inline:11px}.btn-ghost-danger:hover{background:var(--color-danger-light);border-color:var(--color-danger)}.btn-sm{padding:6px 12px;font-size:.8rem}.icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled),.icon-btn.active{background:var(--color-surface-sunken);color:var(--color-text)}.icon-btn:disabled{opacity:.35;cursor:default}.copy-btn{border-radius:var(--radius-sm);background:var(--color-primary-lighter);height:32px;color:var(--color-primary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:0 11px;font-size:.78rem;font-weight:800;display:inline-flex}.copy-btn:hover{background:var(--color-primary);color:var(--color-white)}.copy-btn.copied{background:var(--color-success);color:var(--color-white)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.segmented{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);gap:2px;padding:3px;display:inline-flex}.segmented button{min-width:32px;height:30px;color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0 8px;font-size:.78rem;font-weight:700;display:inline-flex}.segmented button:hover{color:var(--color-text)}.segmented button.active{background:var(--color-primary-lighter);color:var(--color-primary)}.segmented-sm button{height:24px;padding:0 10px;font-size:.72rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:150;padding:var(--spacing-md);animation:fadeIn var(--transition) ease;background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay-top{z-index:200}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.modal{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-xl);width:100%;max-width:540px;max-height:90vh;box-shadow:var(--shadow-xl);animation:slideUp var(--transition-slow) var(--ease-out);overflow-y:auto}.modal-wide{max-width:760px}.modal h2{margin-bottom:var(--spacing-lg);color:var(--color-text);font-size:1.2rem;font-weight:800}.modal-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex}.modal-header h2{margin-bottom:0}.confirm-dialog{max-width:420px}.confirm-dialog h2{margin-bottom:var(--spacing-sm);overflow-wrap:anywhere}.confirm-message{color:var(--color-text-secondary);font-size:.9rem}.form-group{margin-bottom:var(--spacing-md);border:none;min-width:0}.form-group label,.form-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:.75rem;font-weight:800;display:block}.form-row{gap:0 var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.form-input,.form-textarea,.form-select{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:10px 14px;font-size:.9rem;font-weight:500}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-glow);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary);font-weight:400}.form-textarea{resize:vertical;min-height:260px;line-height:1.7}.form-textarea-code{font-family:var(--font-mono);background:var(--color-surface-sunken);font-size:.82rem}.form-textarea-code:focus{background:var(--color-surface)}.form-preview{max-height:420px;overflow-y:auto}.form-hint{color:var(--color-text-tertiary);margin-top:6px;font-size:.75rem}.tag-input{position:relative}.tag-input-field{cursor:text;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:6px 10px;display:flex}.tag-input-field:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.tag-chip{cursor:default;align-items:center;gap:2px;padding-right:3px;font-size:.78rem;display:inline-flex}.tag-chip-remove{border-radius:var(--radius-xs);width:16px;height:16px;color:inherit;opacity:.6;cursor:pointer;transition:opacity var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.tag-chip-remove:hover{opacity:1;background:#0f172a14}.tag-input-control{min-width:120px;font:inherit;color:inherit;background:0 0;border:none;outline:none;flex:1;padding:4px 2px}.tag-input-control::placeholder{color:var(--color-text-tertiary);font-weight:400}.tag-suggestions{z-index:10;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);max-height:260px;box-shadow:var(--shadow-xl);animation:slideUp .15s var(--ease-out);padding:6px;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow-y:auto}.tag-suggestions ul{list-style:none}.tag-suggestions-title{color:var(--color-text-tertiary);letter-spacing:.5px;text-transform:uppercase;padding:4px 10px 6px;font-size:.7rem;font-weight:800}.tag-suggestion{justify-content:space-between;align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;padding:7px 10px;font-size:.86rem;display:flex}.tag-suggestion.active{background:var(--color-primary-lighter)}.tag-suggestion-name{color:var(--color-tag-text);overflow-wrap:anywhere;font-weight:700}.tag-suggestion-name mark{color:inherit;text-underline-offset:2px;background:0 0;text-decoration:underline;text-decoration-thickness:2px}.tag-suggestion-new{color:var(--color-text-secondary);font-weight:500}.tag-suggestion-new strong{color:var(--color-tag-text)}.tag-suggestion-count{color:var(--color-text-tertiary);flex-shrink:0;font-size:.75rem}.form-label-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.form-label-row .form-label{margin-bottom:0}.form-actions{align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);justify-content:flex-end;display:flex}.form-shortcut{color:var(--color-text-tertiary);align-items:center;gap:4px;margin-right:auto;font-size:.75rem;display:inline-flex}.form-error{color:var(--color-danger);margin:0 0 var(--spacing-sm);font-size:.85rem}.category-picker{gap:var(--spacing-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.category-option{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;gap:6px;padding:14px 16px;display:flex;position:relative}.form-group .category-option{text-transform:none;letter-spacing:0;margin:0;font-weight:500;display:flex}.category-option:hover{border-color:var(--cat)}.category-option.selected{border-color:var(--cat);background:var(--cat-bg);box-shadow:0 0 0 3px color-mix(in srgb, var(--cat) 15%, transparent)}.category-option input{opacity:0;pointer-events:none;position:absolute}.category-option:has(input:focus-visible){outline:2px solid var(--cat);outline-offset:2px}.category-option-name{color:var(--color-text);align-items:center;gap:8px;font-size:.92rem;font-weight:800;line-height:1.25;display:inline-flex}.category-option.selected .category-option-name{color:var(--cat-text)}.category-option-desc{color:var(--color-text-tertiary);padding-left:16px;font-size:.76rem;font-weight:500;line-height:1.45}.markdown-preview{color:var(--color-text);overflow-wrap:break-word;font-size:.875rem;line-height:1.75}.markdown-preview h1{margin:var(--spacing-md) 0 var(--spacing-sm);font-size:1.4rem;font-weight:800;line-height:1.3}.markdown-preview h2{margin:var(--spacing-lg) 0 var(--spacing-sm);font-size:1.15rem;font-weight:800;line-height:1.3}.markdown-preview h3{margin:var(--spacing-md) 0 var(--spacing-xs);font-size:1rem;font-weight:700}.markdown-preview>:first-child{margin-top:0}.markdown-preview p{margin-bottom:var(--spacing-sm)}.markdown-preview p:last-child{margin-bottom:0}.markdown-preview ul,.markdown-preview ol{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.markdown-preview li{margin-bottom:var(--spacing-xs)}.markdown-preview code{background:var(--color-surface-sunken);border-radius:var(--radius-xs);font-size:.82em;font-family:var(--font-mono);color:var(--color-primary-hover);padding:2px 6px}.markdown-preview pre{background:var(--color-code-bg);color:var(--color-code-text);padding:var(--spacing-md);border-radius:var(--radius-md);margin:var(--spacing-sm) 0 var(--spacing-md);font-size:.82rem;line-height:1.6;overflow-x:auto}.markdown-preview pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.markdown-preview .code-block{position:relative}.markdown-preview .code-block pre{padding-right:88px}.code-copy{border:1px solid color-mix(in srgb, var(--color-code-text) 22%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-code-bg) 85%, var(--color-code-text));color:var(--color-code-text);font:inherit;cursor:pointer;transition:opacity var(--transition-fast), background var(--transition-fast);align-items:center;gap:5px;padding:4px 9px;font-size:.72rem;font-weight:700;line-height:1.4;display:inline-flex;position:absolute;top:8px;right:8px}.code-copy:hover{background:color-mix(in srgb, var(--color-code-bg) 70%, var(--color-code-text))}.code-copy.copied{color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 45%, transparent)}@media (hover:hover){.code-copy{opacity:0}.code-block:hover .code-copy,.code-copy:focus-visible,.code-copy.copied{opacity:1}}.markdown-preview .md-section>summary{cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:8px;list-style:none;display:flex}.markdown-preview .md-section>summary::-webkit-details-marker{display:none}.markdown-preview .md-section>summary:before{content:"";border-right:2px solid var(--color-text-tertiary);border-bottom:2px solid var(--color-text-tertiary);width:7px;height:7px;transition:transform var(--transition-fast);flex-shrink:0;margin:0 3px 0 1px;transform:rotate(-45deg)}.markdown-preview .md-section[open]>summary:before{transform:rotate(45deg)}.markdown-preview .md-section>summary:hover:before{border-color:var(--color-text)}.markdown-preview .md-section>summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.markdown-preview .md-section>summary>h1,.markdown-preview .md-section>summary>h2{margin:0}.markdown-preview .md-section:has(>summary>h1){margin:var(--spacing-md) 0 var(--spacing-sm)}.markdown-preview .md-section:has(>summary>h2){margin:var(--spacing-lg) 0 var(--spacing-sm)}.markdown-preview .md-section[open]>summary{margin-bottom:var(--spacing-sm)}.markdown-preview .md-section>summary+*{margin-top:0}.markdown-preview blockquote{border-left:3px solid var(--color-primary-light);padding-left:var(--spacing-md);margin:var(--spacing-sm) 0;color:var(--color-text-secondary)}.markdown-preview table{border-collapse:collapse;width:max-content;max-width:100%;margin:var(--spacing-sm) 0;font-size:.84rem;display:block;overflow-x:auto}.markdown-preview th,.markdown-preview td{border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);text-align:left}.markdown-preview th{background:var(--color-surface-sunken);font-weight:700}.markdown-preview a{color:var(--color-primary);text-decoration:underline}.markdown-preview a:hover{color:var(--color-primary-hover)}.markdown-preview hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-md) 0}.markdown-preview strong{font-weight:700}.skeleton-item{padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;gap:10px;display:flex}.skeleton-grid{min-height:196px}.skeleton-list{align-items:center;gap:var(--spacing-md);padding:14px var(--spacing-md);border-radius:var(--radius-md);flex-direction:row}.skeleton-line{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--color-surface-sunken) 25%, var(--color-border-light) 37%, var(--color-surface-sunken) 63%);background-size:400% 100%;height:12px;animation:1.4s infinite shimmer;display:block}.skeleton-pill{width:84px;height:20px}.skeleton-title{width:60%;height:16px}.skeleton-text{width:90%}.skeleton-text.short{width:45%}.skeleton-list .skeleton-title{width:30%}.skeleton-list .skeleton-text{width:40%}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}.toaster{left:50%;bottom:calc(var(--spacing-lg) + env(safe-area-inset-bottom,0px));z-index:300;align-items:center;gap:var(--spacing-sm);pointer-events:none;flex-direction:column;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast{border-radius:var(--radius-md);background:var(--color-text);color:var(--color-white);box-shadow:var(--shadow-xl);pointer-events:auto;animation:toastIn .26s var(--ease-out);align-items:center;gap:10px;padding:10px 10px 10px 16px;font-size:.86rem;font-weight:600;display:flex}.toast-success svg:first-child{color:#4ade80}.toast-error{background:var(--color-danger)}.toast-close{color:inherit;opacity:.6;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:inline-flex}.toast-close:hover{opacity:1;background:#ffffff1f}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.96)}}.error-message{color:var(--color-danger);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-danger-light);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);font-size:.85rem;font-weight:500}.role-options{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.role-option{align-items:center;gap:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 14px;font-size:.85rem;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.role-option:hover{border-color:var(--color-primary-light);color:var(--color-text)}.role-option.selected{border-color:var(--color-primary);background:var(--color-primary-lighter);color:var(--color-primary)}.role-option-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.role-option-check{border:1px solid var(--color-border);border-radius:var(--radius-xs);color:#fff;background:#fff;justify-content:center;align-items:center;width:18px;height:18px;transition:border-color .15s,background .15s;display:inline-flex}.role-option-check svg{opacity:0;transition:opacity .15s}.role-option.selected .role-option-check{border-color:var(--color-primary);background:var(--color-primary)}.role-option.selected .role-option-check svg{opacity:1}.role-option-label{margin-left:4px}.role-option-input:focus-visible+.role-option-check{outline:2px solid var(--color-primary-light);outline-offset:2px}@media (max-width:768px){.page-container{padding:var(--spacing-md) var(--spacing-md) var(--spacing-xl)}.category-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.card-grid{gap:var(--spacing-sm);grid-template-columns:1fr}.card{padding:var(--spacing-md)}.card-title{font-size:.95rem}.modal-overlay{align-items:flex-end;padding:0}.modal{padding:var(--spacing-lg) var(--spacing-md) calc(var(--spacing-lg) + env(safe-area-inset-bottom,0px));border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:94vh}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions .btn{width:100%}.form-shortcut,.category-option-desc{display:none}.markdown-preview pre{padding:var(--spacing-sm);font-size:.75rem}}@media (max-width:380px){.page-container{padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-lg)}.filter-tab{padding:7px 9px;font-size:.78rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.spinner{animation:1.6s linear infinite spin!important}}
