@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_2fe1ab3d-module__-T-KAq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_2fe1ab3d-module__-T-KAq__variable{--font-inter:"Inter","Inter Fallback"}
.phase-card:focus-visible,.workshop-btn:focus-visible,.setup-checkbox:focus-visible,button:focus-visible{outline:2px solid var(--ws-secondary);outline-offset:2px}.phase-card:hover,.phase-card:focus-visible{transform:translateY(-2px);box-shadow:0 4px 12px #31a9b84d}.workshop-grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.workshop-grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (max-width:1024px){.workshop-grid-3,.workshop-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.workshop-grid-3,.workshop-grid-4{grid-template-columns:1fr}}.workshop-br{display:block}@media (max-width:640px){.workshop-br{display:inline}}.setup-checkbox-wrapper{cursor:pointer;align-items:center;min-height:44px;padding:12px 16px;display:flex}.setup-checkbox-wrapper input[type=checkbox]{width:20px;min-width:20px;height:20px;accent-color:var(--ws-success);cursor:pointer}.workshop-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 24px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex}.workshop-btn:hover{transform:translateY(-2px)}.workshop-btn-primary{background:var(--ws-primary);color:#fff}.workshop-btn-secondary{background:var(--ws-secondary);color:#fff}.workshop-btn-success{background:var(--ws-success);color:#fff}.workshop-btn-success:hover{box-shadow:0 4px 12px #2580394d}.workshop-progress-bar{background:var(--bg-gray);border-radius:4px;height:8px;overflow:hidden}.workshop-progress-fill{border-radius:4px;height:100%;transition:width .3s ease-out}.workshop-progress-fill.complete{background:var(--ws-success)}.workshop-progress-fill.in-progress{background:var(--ws-secondary)}.workshop-header-card{background:var(--ws-secondary);color:#fff;border-radius:12px;margin-bottom:24px;padding:24px}.workshop-heading-1{font-size:clamp(28px,5vw,44px);font-weight:700;line-height:1.2}.workshop-heading-2{font-size:clamp(22px,4vw,28px);font-weight:700;line-height:1.3}.workshop-heading-3{font-size:clamp(18px,3.5vw,24px);font-weight:600;line-height:1.4}.workshop-heading-4{font-size:clamp(16px,3vw,20px);font-weight:600;line-height:1.4}.workshop-alert{border-radius:8px;margin-top:16px;padding:16px}.workshop-alert-info{background:var(--ws-secondary-light);border:1px solid var(--ws-secondary)}.workshop-alert-success{background:var(--ws-success-light);border:1px solid var(--ws-success)}.workshop-badge{border-radius:9999px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.workshop-badge-success{background:var(--ws-success-light);color:var(--ws-success)}.workshop-badge-secondary{background:var(--ws-secondary);color:#fff}.hide-mobile{display:inline}.show-mobile{display:none}@media (max-width:640px){.hide-mobile{display:none}.show-mobile{display:inline}}.code-block{background-color:#1e1e1e;border:1px solid #333;border-radius:.5rem;font-family:Menlo,Monaco,Courier New,monospace}.concept-box{background:linear-gradient(135deg,#3b82f61a,#9333ea1a);border:1px solid #3b82f64d}.terminal-indicator{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.desktop-indicator{background:linear-gradient(135deg,#f97316,#ea580c)}.git-category{border-radius:.75rem;padding:1rem}.git-cmd{background:#0000004d;border-radius:.25rem;padding:.25rem .5rem;font-family:Menlo,Monaco,Courier New,monospace;font-size:.75rem}
*{box-sizing:border-box;margin:0;padding:0}:root{--loading:#9ca3af;--loading-light:#d1d5db;--loading-bg:#f3f4f6;--primary:var(--loading);--primary-dark:var(--loading);--primary-light:var(--loading-light);--primary-rgb:156,163,175;--primary-alpha-03:rgba(var(--primary-rgb),.03);--primary-alpha-04:rgba(var(--primary-rgb),.04);--primary-alpha-05:rgba(var(--primary-rgb),.05);--primary-alpha-12:rgba(var(--primary-rgb),.12);--primary-alpha-06:rgba(var(--primary-rgb),.06);--primary-alpha-08:rgba(var(--primary-rgb),.08);--primary-alpha-10:rgba(var(--primary-rgb),.1);--primary-alpha-15:rgba(var(--primary-rgb),.15);--primary-alpha-20:rgba(var(--primary-rgb),.2);--primary-alpha-25:rgba(var(--primary-rgb),.25);--primary-alpha-30:rgba(var(--primary-rgb),.3);--primary-alpha-35:rgba(var(--primary-rgb),.35);--primary-alpha-40:rgba(var(--primary-rgb),.4);--primary-alpha-45:rgba(var(--primary-rgb),.45);--primary-alpha-50:rgba(var(--primary-rgb),.5);--primary-alpha-60:rgba(var(--primary-rgb),.6);--primary-alpha-70:rgba(var(--primary-rgb),.7);--primary-alpha-80:rgba(var(--primary-rgb),.8);--primary-alpha-85:rgba(var(--primary-rgb),.85);--primary-dark-rgb:107,114,128;--primary-dark-alpha-90:rgba(var(--primary-dark-rgb),.9);--text-dark:#111;--text-medium:#333;--text-light:#555;--bg-white:#fff;--bg-gray:#f7f7f7;--bg-gradient:linear-gradient(135deg,#fafafa 0%,#f5f5f5 100%);--border:#e3e3e3;--border-light:#eee;--border-primary:1px solid var(--primary-alpha-10);--success:#4caf50;--warning:#ff9800;--error:#f44336;--shadow:0 4px 20px var(--primary-alpha-10);--shadow-hover:0 8px 30px var(--primary-alpha-15);--shadow-primary-sm:0 4px 12px var(--primary-alpha-30);--shadow-primary-md:0 8px 24px var(--primary-alpha-25);--shadow-primary-lg:0 12px 32px var(--primary-alpha-35);--shadow-primary-xl:0 20px 60px var(--primary-alpha-15);--glass:#fffc;--lost-brown:#8b6914;--lost-brown-dark:#6b5210;--lost-brown-light:#a67c00;--lost-brown-rgb:139,105,20;--lost-brown-alpha-10:#8b69141a;--lost-brown-alpha-15:#8b691426;--lost-brown-alpha-20:#8b691433;--lost-brown-alpha-30:#8b69144d}html,body{max-width:100vw;font-family:var(--font-inter),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-gradient);color:var(--text-medium);line-height:1.8;position:relative;overflow-x:hidden}body:before{content:"";background-image:linear-gradient(to right,var(--primary-alpha-04)1px,transparent 1px),linear-gradient(to bottom,var(--primary-alpha-04)1px,transparent 1px);z-index:-1;pointer-events:none;opacity:.4;will-change:opacity;background-size:40px 40px;animation:20s ease-in-out infinite gridPulse;position:fixed;inset:-40px;transform:translateZ(0)}@keyframes gridPulse{0%,to{opacity:.3}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){body:before{opacity:.3;animation:none}}.skip-link{width:1px;height:1px;position:absolute;top:auto;left:-9999px;overflow:hidden}.skip-link:focus{background:var(--primary);color:#fff;z-index:9999;border-radius:4px;width:auto;height:auto;padding:10px 20px;font-weight:500;text-decoration:none;position:fixed;top:10px;left:10px}a{color:inherit;text-decoration:none}h1{color:var(--primary);text-shadow:0 2px 4px #00000014;letter-spacing:-.02em;margin:0;font-size:26px;font-weight:700}h2{color:var(--text-dark);border-bottom:2px solid var(--bg-gray);margin-bottom:20px;padding-bottom:10px;font-size:22px}h3{color:var(--text-dark);margin-bottom:15px;font-size:18px}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes statGlow{0%,to{opacity:.3}50%{opacity:.6}}.scroll-progress{background:linear-gradient(90deg,var(--primary)0%,var(--primary-light)100%);transform-origin:0;z-index:10000;width:100%;height:3px;transition:transform .1s ease-out;position:fixed;top:0;left:0;transform:scaleX(0)}.container{max-width:1400px;margin:0 auto;padding:20px}header{background:var(--glass);border-bottom:2px solid var(--primary);box-shadow:var(--shadow);z-index:1000;align-items:center;gap:16px;margin-bottom:30px;padding:20px 40px;animation:.6s ease-out fadeInDown;display:flex;position:sticky;top:0}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){header{-webkit-backdrop-filter:blur(10px)}}.header-logo{border-radius:12px;width:60px;height:60px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 16px #0000001f,0 2px 6px #00000014}.header-logo:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026,0 3px 8px #0000001a}.header-content{flex:1}.subtitle{color:var(--text-light);margin-top:5px;font-size:14px}.tabs{background:var(--glass);box-shadow:var(--shadow);scrollbar-width:thin;scrollbar-color:var(--primary)var(--bg-gray);border-radius:12px;gap:5px;margin-bottom:30px;padding:10px 20px;display:flex;overflow-x:auto}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.tabs{-webkit-backdrop-filter:blur(10px)}}.tabs::-webkit-scrollbar{height:4px}.tabs::-webkit-scrollbar-track{background:var(--bg-gray);border-radius:2px}.tabs::-webkit-scrollbar-thumb{background:var(--primary);border-radius:2px}.tab{cursor:pointer;color:var(--text-light);white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:12px 20px;font-size:14px;font-weight:500;transition:color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);position:relative}.tab:before{content:"";background:linear-gradient(135deg,var(--primary)0%,var(--primary-light)100%);opacity:0;z-index:-1;border-radius:8px;transition:opacity .3s;position:absolute;inset:0}.tab:hover{color:var(--primary);box-shadow:var(--shadow-primary-sm);transform:translateY(-2px)}.tab:hover:before{opacity:.1}.tab.active{color:#fff;box-shadow:0 4px 12px var(--primary-alpha-40),0 8px 24px var(--primary-alpha-25),inset 0 1px 0 #fff3;font-weight:600;transform:translateY(-1px)}.tab.active:before{opacity:1}.tab-icon{vertical-align:middle;width:20px;height:20px;margin-right:6px}.tab-content{background:var(--bg-white);border-radius:8px;padding:30px;display:none;box-shadow:0 2px 8px #0000000d}.tab-content.active{display:block}.section{margin-bottom:40px}.section-icon{vertical-align:middle;margin-right:8px}.card{background:var(--glass);border:1px solid var(--border-light);box-shadow:var(--shadow);border-radius:12px;margin-bottom:20px;padding:25px;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1);animation:.5s ease-out fadeInUp}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.card{-webkit-backdrop-filter:blur(10px)}}.card:hover{box-shadow:var(--shadow-hover);border-color:var(--border);transform:translateY(-2px)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px;display:grid}.stat-card{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;text-align:center;box-shadow:var(--shadow-primary-md);border-radius:12px;padding:25px;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);animation:.6s ease-out fadeInUp;position:relative;overflow:hidden}.stat-card:before{content:"";background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);width:200%;height:200%;animation:8s ease-in-out infinite statGlow;position:absolute;top:-50%;right:-50%}.stat-card:hover{box-shadow:var(--shadow-primary-lg);transform:translateY(-4px)scale(1.02)}.stat-value{margin-bottom:5px;font-size:36px;font-weight:600}.stat-label{opacity:.9;font-size:13px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-dark);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border);border-radius:4px;width:100%;padding:12px;font-family:inherit;font-size:14px}.form-group textarea{resize:vertical;min-height:120px}.btn{cursor:pointer;border:none;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:600;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn:before{content:"";background:linear-gradient(45deg,#0000,#ffffff4d,#0000);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.btn:hover:before{transform:translate(100%)}.btn-primary{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;box-shadow:var(--shadow-primary-sm)}.btn-primary:hover{box-shadow:var(--shadow-primary-md);transform:translateY(-2px)}.btn-secondary{color:var(--text-dark);background:linear-gradient(135deg,#fff 0%,#f8fafb 100%);border:1px solid #00000014;box-shadow:0 2px 8px #0000000a}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.btn-secondary{-webkit-backdrop-filter:blur(10px)}}.btn-secondary:hover{border-color:var(--primary-alpha-30);box-shadow:0 4px 12px var(--primary-alpha-15);background:#fff;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,var(--success)0%,#388e3c 100%);color:#fff;box-shadow:0 4px 12px #4caf504d}.btn-success:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.btn-small{padding:8px 16px;font-size:13px}.todo-item{border:1px solid var(--border);background:var(--bg-white);border-radius:6px;align-items:center;gap:15px;margin-bottom:10px;padding:15px;display:flex}.todo-checkbox{width:20px;height:20px}.todo-content{flex:1}.todo-title{color:var(--text-dark);margin-bottom:5px;font-weight:500}.todo-meta{color:var(--text-light);font-size:13px}.priority-high{border-left:4px solid var(--error)}.priority-medium{border-left:4px solid var(--warning)}.priority-low{border-left:4px solid var(--success)}.progress-bar{background:var(--bg-gray);border-radius:4px;height:8px;margin-top:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--primary)0%,var(--primary-dark)100%);height:100%;transition:width .3s}.alert{border-radius:6px;margin-bottom:20px;padding:15px}.alert-info{color:#1565c0;background:#e3f2fd;border-left:4px solid #2196f3}.admin-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 3px #0000001a}.admin-table thead{background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%)}.admin-table th{text-align:left;color:var(--text-dark);border-bottom:2px solid #e5e7eb;padding:16px;font-size:14px;font-weight:600}.admin-table td{color:var(--text-dark);border-bottom:1px solid #f3f4f6;padding:16px;font-size:14px}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#f9fafb}.admin-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;padding:8px 16px;font-size:13px;font-weight:600;transition:transform .2s,box-shadow .2s,background-color .2s;display:inline-flex}.admin-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.admin-btn-warning{color:#92400e;background:#fef3c7}.admin-btn-warning:hover{background:#fde68a}.admin-btn-success{color:#065f46;background:#d1fae5}.admin-btn-success:hover{background:#a7f3d0}.admin-btn-danger{color:#991b1b;background:#fee2e2}.admin-btn-danger:hover{background:#fecaca}@media (max-width:768px){.container{padding:10px}header{flex-direction:column;gap:10px;padding:15px 20px}.header-logo{width:45px;height:45px}h1{font-size:20px}.subtitle{font-size:12px}.tabs{gap:3px;padding:8px 12px;overflow-x:auto}.tab{padding:10px 14px;font-size:13px}.tab-content{padding:20px 15px}.stats-grid{grid-template-columns:1fr;gap:12px}.stat-card{padding:20px}.stat-value{font-size:28px}.card{margin-bottom:15px;padding:20px}.card h3{font-size:16px}.form-group input,.form-group textarea,.form-group select{padding:10px;font-size:16px}.btn{padding:12px 18px;font-size:14px}}@media (max-width:480px){.container{padding:8px}header{padding:12px 15px}h1{font-size:18px}.tab{padding:8px 10px;font-size:12px}.tab-content{padding:15px 10px}.section h2{font-size:18px}.card h3{font-size:15px}}@media (min-width:769px) and (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.tab-content{padding:25px}}@media (min-width:1400px){.container{max-width:1600px}.stats-grid{grid-template-columns:repeat(5,1fr)}}img{aspect-ratio:auto;max-width:100%;height:auto}.skeleton-placeholder{background:linear-gradient(90deg,var(--bg-gray)25%,var(--bg-white)50%,var(--bg-gray)75%);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}body.modal-open{padding-right:var(--scrollbar-width,0);overflow:hidden}html{font-size-adjust:.5}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.stat-card{min-height:100px}.card{min-height:60px}.iso-card{background:#1e293bb3;border:1px solid #94a3b81a;transition:transform .3s,box-shadow .3s,border-color .3s;transform:perspective(1000px)rotateX(2deg)rotateY(0)}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.iso-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.iso-card:hover{border-color:#38bdf8;transform:perspective(1000px)rotateX(0)rotateY(0)translateY(-5px);box-shadow:0 20px 25px -5px #00000080,0 8px 10px -6px #00000080}.code-block{background-color:#1e1e1e;border:1px solid #333;border-radius:.5rem;font-family:Menlo,Monaco,Courier New,monospace}.concept-box{background:linear-gradient(135deg,#3b82f61a,#9333ea1a);border:1px solid #3b82f64d}.terminal-indicator{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.desktop-indicator{background:linear-gradient(135deg,#f97316,#ea580c)}.git-category{border-radius:.75rem;padding:1rem}.git-cmd{background:#0000004d;border-radius:.25rem;padding:.25rem .5rem;font-family:Menlo,Monaco,Courier New,monospace;font-size:.75rem}@media (hover:none) and (pointer:coarse){.btn,.tab,.admin-btn{min-width:44px;min-height:44px}.card:hover,.stat-card:hover,.tab:hover{transform:none}header,.tabs,.card,.btn-secondary{-webkit-backdrop-filter:blur(5px)}}@media (max-width:768px){@supports ((-webkit-backdrop-filter:blur(5px)) or (backdrop-filter:blur(5px))){header,.tabs,.card{-webkit-backdrop-filter:blur(5px)}}body:before{animation-duration:30s}}
