:root{--bg:#0b0f17;--card:#111827;--card-deep:#0b1220;--card-hover:#0f172a;--border:#1f2937;--border2:#334155;--border-sub:#0f172a;--text:#f4f7ff;--text-sec:#e2e8f0;--text-dim:#cbd5e1;--muted:#64748b;--muted2:#94a3b8;--muted3:#475569;--hover:#1f2937;--hover-text:#94a3b8;--deep:#1e293b;--input:#0b1220;--shadow:rgba(0,0,0,.5);--surface:rgba(17,24,39,.72);--surface-strong:#1e293b}[data-theme=light]{--bg:#f1f5f9;--card:#fff;--card-deep:#f8fafc;--card-hover:#f1f5f9;--border:#e2e8f0;--border2:#cbd5e1;--border-sub:#e2e8f0;--text:#0f172a;--text-sec:#1e293b;--text-dim:#475569;--muted:#64748b;--muted2:#6b7280;--muted3:#64748b;--hover:#f1f5f9;--hover-text:#374151;--deep:#e2e8f0;--input:#f8fafc;--shadow:rgba(0,0,0,.12);--surface:rgba(248,250,252,.92);--surface-strong:#e2e8f0}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::selection{background:rgba(239,68,68,.28);color:#f4f7ff}:focus-visible{outline:2px solid rgba(239,68,68,.7);outline-offset:2px;border-radius:4px}button{cursor:pointer;transition:opacity .15s ease,background-color .15s ease,border-color .15s ease,transform .1s ease,box-shadow .15s ease;font-family:inherit}button:hover:not(:disabled){opacity:.82}button:active:not(:disabled){transform:scale(.96)}button:disabled{opacity:.4;cursor:not-allowed}input,select,textarea{font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(239,68,68,.55)!important;box-shadow:0 0 0 3px rgba(239,68,68,.15)}input::placeholder,textarea::placeholder{color:#475569}a{transition:opacity .15s ease,color .15s ease}.nav-link{padding:7px 12px;color:var(--muted2);font-size:14px;font-weight:500;text-decoration:none;border-radius:8px;transition:background .15s ease,color .15s ease;white-space:nowrap}.nav-link:hover{background:rgba(148,163,184,.1);color:var(--text);opacity:1}.nav-link.active{background:rgba(239,68,68,.12);color:#f87171;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.38}}@keyframes spin{to{transform:rotate(1turn)}}.fade-in{animation:fadeIn .22s ease-out}.slide-up{animation:slideUp .22s ease-out}.pulse{animation:pulse 1.6s ease-in-out infinite}.spin{animation:spin .8s linear infinite}.toast-container{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:9999;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{pointer-events:auto;padding:10px 18px;border-radius:10px;font-size:14px;font-weight:600;max-width:380px;text-align:center;animation:slideUp .22s ease-out;box-shadow:0 8px 24px rgba(0,0,0,.45)}.toast-success{background:#14532d;border:1px solid #16a34a;color:#4ade80}.toast-error{background:#450a0a;border:1px solid #dc2626;color:#fca5a5}.toast-info{background:#0f172a;border:1px solid #334155;color:#94a3b8}[data-theme=light] .toast-success{background:#dcfce7;border-color:#16a34a;color:#15803d}[data-theme=light] .toast-error{background:#fee2e2;border-color:#dc2626;color:#b91c1c}[data-theme=light] .toast-info{background:#f1f5f9;border-color:#94a3b8;color:#475569}.skeleton{background:linear-gradient(90deg,var(--card) 25%,var(--hover) 50%,var(--card) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:6px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}input[type=checkbox],input[type=radio]{accent-color:#ef4444}table{border-collapse:collapse;width:100%}td,th{text-align:left}code{font-family:Fira Code,Cascadia Code,Consolas,monospace}@keyframes rf-pop-in{0%{opacity:0;transform:scale(.82) translateY(10px)}70%{transform:scale(1.04) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes rf-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes rf-pulse-ring{0%,to{box-shadow:var(--rf-ring-base),var(--rf-ring-0)}50%{box-shadow:var(--rf-ring-base),var(--rf-ring-50)}}.rf-hub-logo{animation:rf-pop-in .55s cubic-bezier(.34,1.56,.64,1) .05s both}.rf-hub-title{animation:rf-fade-up .45s ease .22s both}.rf-hub-sub{animation:rf-fade-up .45s ease .34s both}.rf-hub-ctas{animation:rf-fade-up .45s ease .44s both}.rf-hub-btn{transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.rf-hub-btn:hover{opacity:.93;transform:translateY(-1px)}.rf-hub-btn:active{transform:scale(.97) translateY(0)}[data-theme=light] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),[data-theme=light] select,[data-theme=light] textarea{background:var(--input)!important;color:var(--text)!important;border-color:var(--border)!important}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:var(--muted)!important}[data-theme=light] body{background:var(--bg);color:var(--text)}[data-theme=light] ::-webkit-scrollbar-thumb{background:var(--border2)}@media print{@page{size:80mm auto;margin:3mm 4mm}body{background:#fff!important;color:#000!important}.no-print{display:none!important}}.rf-item-thumb-wrap{overflow:hidden;flex-shrink:0}.rf-item-thumb{transition:transform .35s ease;display:block;width:100%;height:100%;object-fit:cover;object-position:center}.rf-item-card:hover .rf-item-thumb{transform:scale(1.08)}.rf-item-card{transition:border-color .2s ease,box-shadow .2s ease}.rf-item-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.35)}@keyframes rf-banner-ken{0%{transform:scale(1)}to{transform:scale(1.06)}}.rf-hero-img{animation:rf-banner-ken 8s ease-in-out infinite alternate}@keyframes rf-cat-enter{0%{opacity:0;transform:translateY(16px) scale(.78)}to{opacity:1;transform:translateY(0) scale(1)}}.rf-cat-strip{scrollbar-width:none;-ms-overflow-style:none}.rf-cat-strip::-webkit-scrollbar{display:none}.rf-cat-item{-webkit-tap-highlight-color:transparent;transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.rf-cat-item:active{transform:scale(.85)!important}.rf-cat-img{transition:border-color .25s ease,box-shadow .25s ease}