:root{--font-family: "Inter", system-ui, Avenir, Helvetica, Arial, sans-serif;--line-height: 1.5;--font-weight: 400;--color-bg: #000000;--color-text: #f8fafc;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-secondary: #94a3b8;--color-card-bg: rgba(20, 20, 20, .8);--color-card-border: rgba(59, 130, 246, .2);--color-accent: #8b5cf6;font-family:var(--font-family);line-height:var(--line-height);font-weight:var(--font-weight);color-scheme:light dark;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=light]{--color-bg: #f8fafc;--color-text: #0f172a;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-secondary: #475569;--color-card-bg: rgba(255, 255, 255, .8);--color-card-border: rgba(37, 99, 235, .2);--color-accent: #7c3aed}body{margin:0;display:flex;justify-content:center;align-items:flex-start;min-width:320px;min-height:100vh;background-color:transparent;overflow-x:hidden}#root{width:100%;margin:0 auto;text-align:center}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary-hover)}h1{font-size:3.2em;line-height:1.1;background:linear-gradient(to right,#60a5fa,#a78bfa);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5em}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-primary);cursor:pointer;transition:border-color .25s;color:#fff}button:hover{background-color:var(--color-primary-hover)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em;background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0003;border-color:var(--color-primary)}.container{max-width:1200px;margin:0 auto;padding:2rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:4rem}footer{margin-top:4rem;padding:2rem;color:var(--color-secondary);border-top:1px solid var(--color-card-border)}.nav-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem;padding:1rem;background:#0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}@media (max-width: 600px){.nav-tabs{justify-content:flex-start;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-tabs::-webkit-scrollbar{display:none}}.nav-tab{background:transparent;border:none;color:var(--color-secondary);padding:.5rem 1.5rem;font-size:1.1rem;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;border-radius:0}.nav-tab:hover{color:var(--color-text);background:transparent}.nav-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.calculator{background-color:#000;border-radius:40px;padding:20px;width:320px;margin:40px auto;box-shadow:0 20px 40px #0009;border:1px solid #333}.calculator-display{background-color:transparent;color:#fff;font-size:4rem;padding:20px 10px;text-align:right;margin-bottom:10px;min-height:100px;word-wrap:break-word;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:300;line-height:1}.calculator-keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.calc-btn{width:70px;height:70px;border-radius:50%;border:none;font-size:1.7rem;font-weight:500;cursor:pointer;background-color:#333;color:#fff;transition:filter .2s;display:flex;align-items:center;justify-content:center;padding:0;margin:0}.calc-btn:hover{filter:brightness(1.3)}.calc-btn:active{filter:brightness(1.6)}.calc-btn.operator{background-color:var(--color-primary);font-size:2rem}.calc-btn.function{background-color:#a5a5a5;color:#000;grid-column:auto}.calc-btn.zero{grid-column:span 2;width:100%;border-radius:35px;justify-content:flex-start;padding-left:28px}.canvas-container{max-width:800px;margin:2rem auto;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.canvas-toolbar{display:flex;gap:1rem;padding:1rem;background:#f1f5f9;border-bottom:1px solid #e2e8f0;align-items:center;justify-content:center}.tool-btn{padding:.5rem 1rem;border-radius:6px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:.9rem;cursor:pointer;transition:all .2s}.tool-btn:hover{background:#f8fafc;border-color:#94a3b8}.tool-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.tool-btn.clear-btn{background:#ef4444;color:#fff;border-color:#ef4444;margin-left:auto}.tool-btn.clear-btn:hover{background:#dc2626}.line-width-slider{width:100px;cursor:pointer}.drawing-canvas{display:block;touch-action:none;cursor:crosshair}.color-picker-container{position:relative}.color-preview-btn{width:36px;height:36px;border-radius:50%;border:2px solid #cbd5e1;cursor:pointer;transition:transform .2s;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.color-preview-btn:hover{transform:scale(1.1);border-color:#94a3b8}.color-picker-popup{position:absolute;top:120%;left:0;background:#fff;padding:1rem;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;z-index:50;display:flex;flex-direction:column;gap:.8rem;align-items:center;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.color-wheel{width:150px;height:150px;border-radius:50%;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);cursor:crosshair;border:4px solid white;box-shadow:0 0 0 1px #e2e8f0;transition:transform .2s}.color-wheel:hover{transform:scale(1.02)}.color-wheel:active{transform:scale(.98)}.hex-input{width:100%;padding:.5rem;border:1px solid #cbd5e1;border-radius:6px;font-family:monospace;text-align:center;text-transform:uppercase;font-size:.9rem}.hex-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f633}.tictactoe-container{max-width:400px;margin:2rem auto;text-align:center}.tictactoe-container h2{margin-top:0;color:var(--color-primary)}.status{font-size:1.5rem;margin-bottom:1.5rem;font-weight:500;min-height:2rem}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:2rem}.cell{aspect-ratio:1;background:#ffffff0d;border:2px solid var(--color-card-border);border-radius:12px;font-size:3rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:default;transition:all .2s;color:var(--color-text);padding:0}.cell.playable:hover{background:#ffffff1a;border-color:var(--color-primary);cursor:pointer}.cell.x{color:var(--color-primary);text-shadow:0 0 10px rgba(59,130,246,.5)}.cell.o{color:var(--color-accent);text-shadow:0 0 10px rgba(139,92,246,.5)}.reset-btn{background:var(--color-secondary);width:100%}.reset-btn:hover{background:var(--color-primary)}.weather-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:20px;padding:2rem;max-width:350px;margin:2rem auto;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px #0003}.weather-card h2{margin-top:0;color:var(--color-text);font-weight:500;margin-bottom:1.5rem}.weather-main{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.5rem}.weather-icon{font-size:4rem}.weather-temp{font-size:3.5rem;font-weight:700;color:var(--color-primary)}.weather-condition{font-size:1.2rem;color:var(--color-secondary);margin-bottom:2rem;text-transform:capitalize}.weather-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:1px solid var(--color-card-border);padding-top:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item .label{font-size:.9rem;color:var(--color-secondary)}.detail-item .value{font-size:1.1rem;font-weight:600;color:var(--color-text)}.weather-card.loading,.weather-card.error{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-secondary);font-size:1.1rem}.weather-card.error{color:#ef4444}
