:root{--color-primary-dark:#1a2332;--color-primary-light:#f5f1ed;--color-accent:#ff6b4a;--color-accent-hover:#ff5a35;--color-border:#2d3e52;--color-success:#4ade80;--color-warning:#facc15;--color-error:#ef4444;--color-info:#3b82f6;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--font-family-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-family-mono:"Fira Code","Courier New",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--space-3xl:3rem;--space-4xl:4rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--transition-fast:150ms ease-in-out;--transition-base:200ms ease-in-out;--transition-slow:300ms ease-in-out;--z-dropdown:1000;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{background-color:var(--color-primary-dark);color:var(--color-primary-light);font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:var(--font-size-5xl)}h1,h2{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--space-md)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h3,h4{font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);margin-bottom:var(--space-sm)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}h6{font-size:var(--font-size-lg)}p{margin-bottom:var(--space-md);line-height:var(--line-height-relaxed)}small{line-height:var(--line-height-tight)}code,small{font-size:var(--font-size-sm)}code{font-family:var(--font-family-mono);color:var(--color-accent);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}code,pre{background-color:var(--color-gray-800)}pre{color:var(--color-primary-light);padding:var(--space-md);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:var(--space-md)}pre code{background-color:transparent;color:inherit;padding:0}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background-color:var(--color-gray-800);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);transition:all var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(255,107,74,.1)}input::placeholder{color:var(--color-gray-400)}label{display:block;margin-bottom:var(--space-sm);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}button{cursor:pointer;font-family:inherit;font-size:inherit;font-weight:var(--font-weight-semibold);transition:all var(--transition-base);border:none;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}button:focus{outline:none;box-shadow:0 0 0 3px rgba(255,107,74,.1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);transition:all var(--transition-base);cursor:pointer;border:none}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover{background-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background-color:var(--color-border);color:var(--color-primary-light)}.btn-secondary:hover{background-color:var(--color-gray-700)}.btn-ghost{background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent)}.btn-ghost:hover{background-color:rgba(255,107,74,.1)}.btn-small{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm)}.btn-large{padding:var(--space-md) var(--space-lg);font-size:var(--font-size-lg)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background-color:var(--color-gray-800);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-base)}.card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-lg)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-md)}.grid{display:grid;grid-gap:var(--space-lg);gap:var(--space-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media (min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--color-gray-400)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.opacity-50{opacity:.5}.opacity-75{opacity:.75}@media (max-width:768px){h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}.container{padding:0 var(--space-md)}}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:transparent;color:var(--color-gray-300);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast)}.chip:hover{border-color:var(--color-gray-500)}.chip.is-active{border-color:var(--color-accent);color:var(--color-accent);background:rgba(255,107,74,.12)}.chip.is-static{cursor:default}.chip.is-static:hover{border-color:var(--color-border)}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-neutral{background:var(--color-gray-700);color:var(--color-gray-300)}.badge-info{background:rgba(59,130,246,.15);color:var(--color-info)}.badge-success{background:rgba(74,222,128,.15);color:var(--color-success)}.badge-warning{background:rgba(250,204,21,.15);color:var(--color-warning)}.badge-error{background:rgba(239,68,68,.15);color:var(--color-error)}.avatar{justify-content:center;border-radius:50%;background:var(--color-border);color:var(--color-primary-light);font-weight:var(--font-weight-semibold);flex:none}.avatar,.rating{display:inline-flex;align-items:center}.rating{gap:4px;color:var(--color-warning);font-size:var(--font-size-sm);white-space:nowrap}.rating__count{color:var(--color-gray-400)}.progress-bar{height:8px;border-radius:var(--radius-full);background:var(--color-gray-700);overflow:hidden}.progress-bar__fill{height:100%;background:var(--color-accent);border-radius:inherit;transition:width var(--transition-slow)}.stepper{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.stepper__step{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-gray-500);border:1px solid transparent}.stepper__step-index{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--color-gray-700);font-size:10px}.stepper__step.is-current{color:var(--color-accent);border-color:var(--color-accent);background:rgba(255,107,74,.1)}.stepper__step.is-current .stepper__step-index{background:var(--color-accent);color:#fff}.stepper__step.is-done{color:var(--color-gray-300)}.stepper__step.is-done .stepper__step-index{background:var(--color-success);color:var(--color-gray-900)}.notice{border:1px dashed var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-gray-400)}.notice,.notice-accent{padding:var(--space-md)}.notice-accent{border-style:solid;border:1px solid var(--color-accent);background:rgba(255,107,74,.06);border-radius:var(--radius-md)}.notice-accent .notice-accent__title{color:var(--color-accent);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.checklist{display:flex;flex-direction:column;gap:6px;font-size:var(--font-size-sm);color:var(--color-gray-300);list-style:none}.checklist li::marker{content:""}.option-row{display:flex;align-items:flex-start;gap:var(--space-sm);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);border:1px solid transparent}.option-row:hover{background:var(--color-gray-800)}.option-row.is-selected{border-color:var(--color-accent);background:rgba(255,107,74,.06)}.option-row input{margin-top:3px}.field-label{display:block;text-transform:uppercase;letter-spacing:.06em;color:var(--color-gray-500);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-xs)}.field-label,.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.w-full{width:100%}.link-accent{color:var(--color-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.section-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-md)}.section-title h2,.section-title h3{margin-bottom:0}.thumb{background:var(--color-gray-700);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-gray-500);font-size:var(--font-size-xs);flex:none}hr.rule{border:none;border-top:1px solid var(--color-border);margin:var(--space-lg) 0}.mod-card{display:block;color:inherit}.mod-card__thumb{height:96px;margin-bottom:var(--space-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em}.mod-card__name{font-size:var(--font-size-base);margin-bottom:4px}.mod-card__desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:0}.mod-card__stats{margin-top:var(--space-md)}.mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.site-logo{font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);white-space:nowrap}.site-logo,.site-logo:hover{color:var(--color-primary-light)}.site-logo--small{font-size:var(--font-size-lg)}.site-logo__accent{color:var(--color-accent)}.site-footer{border-top:1px solid var(--color-border);margin-top:var(--space-4xl)}.site-footer__inner{justify-content:space-between;padding-top:var(--space-lg);padding-bottom:var(--space-lg);flex-wrap:wrap;gap:var(--space-md)}.site-footer__links{display:flex;gap:var(--space-lg);flex-wrap:wrap}.site-footer__links a{color:var(--color-gray-400);font-size:var(--font-size-sm)}.site-footer__links a:hover{color:var(--color-accent)}