:root{--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, sfmono-regular, menlo, monospace;--canvas: hsl(0deg 0% 100%);--surface-1: hsl(215deg 28% 17%);--surface-2: hsl(215deg 25% 27%);--surface-3: hsl(215deg 20% 35%);--surface-card: hsl(0deg 0% 100%);--surface-elevated: hsl(220deg 14% 96%);--surface-1-hover: hsl(215deg 25% 22%);--surface-2-hover: hsl(215deg 22% 32%);--surface-3-hover: hsl(215deg 18% 40%);--surface-border: hsl(220deg 13% 91%);--accent-color: hsl(188deg 94% 43%);--accent-hover: hsl(188deg 94% 38%);--accent-glow: hsla(188deg 94% 43%, .2);--orange: hsl(24deg 95% 53%);--orange-hover: hsl(24deg 95% 48%);--blue: hsl(217deg 91% 60%);--blue-hover: hsl(217deg 91% 55%);--canvas-text: hsl(215deg 25% 27%);--canvas-text-dim: hsl(215deg 16% 47%);--canvas-text-accent: var(--accent-color);--surface-1-text: hsl(210deg 20% 98%);--surface-1-text-dim: hsl(210deg 15% 85%);--surface-1-text-accent: var(--accent-color);--surface-2-text: hsl(210deg 20% 98%);--surface-2-text-dim: hsl(210deg 15% 85%);--surface-2-text-accent: var(--accent-color);--success: hsl(142deg 76% 36%);--warning: var(--orange);--error: hsl(0deg 84% 60%);--info: var(--blue);--border: var(--surface-border);--border-focus: var(--accent-color);--border-technical: hsl(215deg 20% 85%);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-xs: .125rem;--radius-sm: .25rem;--radius: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-technical: .25rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow: 0 1px 3px rgba(15, 23, 42, .1), 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 6px rgba(15, 23, 42, .07), 0 2px 4px rgba(15, 23, 42, .06);--shadow-lg: 0 10px 15px rgba(15, 23, 42, .1), 0 4px 6px rgba(15, 23, 42, .05);--shadow-technical: 0 2px 8px rgba(15, 23, 42, .08);--shadow-glow: 0 0 20px var(--accent-glow);--transition-fast: .1s cubic-bezier(.4, 0, .2, 1);--transition: .15s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .2s cubic-bezier(.68, -.55, .265, 1.55);--icon-stroke-width: 2;--icon-stroke-width-xs: 1.5;--icon-stroke-width-sm: 1.75;--icon-stroke-width-md: 2;--icon-stroke-width-lg: 2.25;--icon-stroke-width-xl: 2.5;--icon-stroke-width-button: 2.25;--icon-hover-opacity: .8;--icon-animation-duration: .3s;--icon-animation-timing: ease-in-out;--circuit-pattern: linear-gradient(90deg, transparent 24px, rgba(6, 182, 212, .1) 25px, rgba(6, 182, 212, .1) 26px, transparent 27px, transparent 49px, rgba(6, 182, 212, .1) 50px, rgba(6, 182, 212, .1) 51px, transparent 52px)}html,body{margin:0;height:100%;overflow:hidden;font-family:var(--font-sans);line-height:1.5;color:var(--canvas-text);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}*,*:before,*:after{box-sizing:border-box}.h1{font-size:2.25rem;font-weight:700;line-height:1.1;color:var(--canvas-text);letter-spacing:-.025em;font-feature-settings:"cv02","cv03","cv04","cv11"}.h2{font-size:1.875rem;font-weight:600;line-height:1.2;color:var(--canvas-text);letter-spacing:-.025em}.h3{font-size:1.5rem;font-weight:600;line-height:1.25;color:var(--canvas-text);letter-spacing:-.025em}.h4{font-size:1.25rem;font-weight:600;line-height:1.3;color:var(--canvas-text)}.h5{font-size:1rem;font-weight:600;line-height:1.4;color:var(--canvas-text)}.h6{font-size:.875rem;font-weight:600;line-height:1.4;color:var(--canvas-text)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-primary{color:var(--canvas-text-accent)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--error)}.text-muted{color:var(--canvas-text-dim)}.text-glow{text-shadow:0 0 10px var(--accent-glow)}.text-mono{font-family:var(--font-mono);font-feature-settings:"liga" 0}.text-technical{font-weight:500;letter-spacing:.025em}.hover-text-on-surface:hover h3,.hover-text-on-surface:hover p{opacity:.8;transition:opacity var(--transition)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.625rem 1.25rem;border:1px solid transparent;border-radius:var(--radius-technical);font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all var(--transition);line-height:1;position:relative;font-family:var(--font-sans);letter-spacing:.025em}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent-color);color:#fff;border-color:var(--accent-color);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--surface-card);color:var(--canvas-text);border-color:var(--border-technical);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--surface-elevated);border-color:var(--accent-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-success{background:var(--success);color:#fff;border-color:var(--success);box-shadow:var(--shadow-sm)}.btn-success:hover:not(:disabled){background:#149041;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger{background:var(--error);color:#fff;border-color:var(--error);box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){background:#ed2c2c;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background:transparent;color:var(--accent-color);border-color:var(--accent-color)}.btn-outline:hover:not(:disabled){background:var(--accent-color);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-sm{padding:.5rem 1rem;font-size:.75rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn.active{background:var(--accent-hover);color:#fff;box-shadow:var(--shadow-md);border-color:var(--accent-hover)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;margin-bottom:var(--space-sm);font-weight:500;color:var(--canvas-text);font-size:.875rem;letter-spacing:.025em}.form-input,.form-textarea,.form-select{width:100%;padding:.75rem 1rem;border:1px solid var(--border-technical);border-radius:var(--radius-technical);font-size:.875rem;background:var(--surface-card);color:var(--canvas-text);transition:all var(--transition);font-family:var(--font-sans)}.form-textarea{resize:vertical;min-height:4rem;font-family:var(--font-mono);line-height:1.5}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}.form-input:invalid,.form-textarea:invalid{border-color:var(--error);box-shadow:0 0 0 3px hsla(0deg 84% 60%,.1)}.card{background:var(--surface-card);border:1px solid var(--border-technical);border-radius:var(--radius-technical);overflow:hidden;box-shadow:var(--shadow-technical);transition:all var(--transition);position:relative;--form-label-bg: var(--surface-card)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--accent-color)}.card-header{padding:var(--space-lg);border-bottom:1px solid var(--border-technical);background:var(--surface-elevated);color:var(--canvas-text)}.card-content{padding:var(--space-lg);background:var(--surface-card);color:var(--canvas-text)}.card-footer{padding:var(--space-lg);border-top:1px solid var(--border-technical);background:var(--surface-elevated);color:var(--canvas-text)}.loading-spinner{width:2rem;height:2rem;border:2px solid var(--border-technical);border-top:2px solid var(--accent-color);border-radius:var(--radius-full);animation:technical-spin 1s linear infinite;position:relative}.loading-spinner:after{content:"";position:absolute;inset:-2px;border:1px solid var(--accent-color);border-radius:var(--radius-full);opacity:.3;animation:technical-pulse 2s ease-in-out infinite}.loading-spinner-sm{width:1rem;height:1rem;border-width:1px}@keyframes technical-spin{to{transform:rotate(360deg)}}@keyframes technical-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-2xl);color:var(--canvas-text);background:var(--surface-card);border-radius:var(--radius-technical);border:1px solid var(--border-technical)}.workshop-card{background:var(--surface-stone);background-image:var(--stone-texture);border:3px solid var(--border-stone);border-radius:var(--radius-craft);box-shadow:var(--shadow-craft);position:relative;overflow:hidden}.workshop-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#ffffff4d;border-radius:var(--radius-craft) var(--radius-craft) 0 0}.workshop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#dc143c4d}.crafting-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);padding:var(--space-md);background:var(--surface-stone-dark);border:2px solid var(--border-stone);border-radius:var(--radius-craft)}.crafting-slot{aspect-ratio:1;background:var(--surface-stone);border:2px solid var(--border-stone);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;transition:all var(--transition);cursor:pointer}.crafting-slot:hover{background:var(--surface-stone-light);border-color:var(--accent-color);box-shadow:var(--shadow-glow)}.enchanted{animation:enchant-glow 2s ease-in-out infinite alternate;position:relative}@keyframes enchant-glow{0%{box-shadow:var(--shadow-craft)}to{box-shadow:var(--shadow-craft),var(--shadow-glow)}}.redstone-active{animation:redstone-pulse 1.5s ease-in-out infinite}.workshop-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-stone-dark);color:var(--surface-1-text);border:2px solid var(--border-stone);border-radius:var(--radius-craft);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.workshop-badge.success{background:var(--emerald);border-color:#ffffff4d;color:#fff}.workshop-badge.warning{background:var(--gold);border-color:#ffffff4d;color:#fff}.workshop-badge.danger{background:var(--error);border-color:#ffffff4d;color:#fff}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.pointer-events-none{pointer-events:none}.hover-shadow:hover{box-shadow:var(--shadow-md)}.hover-lift:hover{transform:translateY(-2px)}.hover-enchant:hover{box-shadow:var(--shadow-craft),var(--shadow-glow);border-color:var(--accent-color)}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px var(--accent-glow)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-auto-fit{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.status-success{color:var(--success);font-weight:600}.status-warning{color:var(--warning);font-weight:600}.status-error{color:var(--error);font-weight:600}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-bounce{animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-craft{animation:craft-bounce var(--transition-bounce) ease-out}@keyframes craft-bounce{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (width <= 768px){.h1{font-size:2rem}.h2{font-size:1.75rem}.h3{font-size:1.25rem}.btn{padding:.625rem 1.25rem;font-size:.75rem}.btn-lg{padding:.75rem 1.5rem;font-size:.875rem}.card-header,.card-content,.card-footer{padding:var(--space-md)}.workshop-card{border-width:2px}.crafting-grid{gap:var(--space-xs);padding:var(--space-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)}.gap-xl{gap:var(--space-xl)}.flex{display:flex}.flex-1{flex:1}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.technical-card{background:var(--surface-card);border:1px solid var(--border-technical);border-radius:var(--radius-technical);box-shadow:var(--shadow-technical);position:relative;overflow:hidden}.technical-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--accent-color)}.data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);padding:var(--space-md);background:var(--surface-elevated);border:1px solid var(--border-technical);border-radius:var(--radius-technical)}.data-cell{padding:var(--space-sm) var(--space-md);background:var(--surface-card);border:1px solid var(--border-technical);border-radius:var(--radius-technical);display:flex;align-items:center;justify-content:center;transition:all var(--transition);cursor:pointer;font-family:var(--font-mono);font-size:.875rem}.data-cell:hover{background:var(--surface-elevated);border-color:var(--accent-color);box-shadow:var(--shadow-glow)}.circuit-active{animation:circuit-flow 3s linear infinite}@keyframes circuit-flow{0%{box-shadow:var(--shadow-technical)}50%{box-shadow:var(--shadow-technical),var(--shadow-glow)}to{box-shadow:var(--shadow-technical)}}.technical-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--surface-elevated);color:var(--canvas-text);border:1px solid var(--border-technical);border-radius:var(--radius-technical);font-size:.75rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.025em;text-transform:uppercase}.technical-badge.success{background:var(--success);border-color:var(--success);color:#fff}.technical-badge.warning{background:var(--warning);border-color:var(--warning);color:#fff}.technical-badge.danger{background:var(--error);border-color:var(--error);color:#fff}.technical-badge.info{background:var(--info);border-color:var(--info);color:#fff}.animate-technical{animation:technical-slide var(--transition) ease-out}@keyframes technical-slide{0%{transform:translate(-4px);opacity:.8}to{transform:translate(0);opacity:1}}
