:root{color:#fff;background-color:#050505;font-family:system-ui,-apple-system,sans-serif;font-weight:300}body{place-items:center;min-height:100vh;margin:0;display:flex}#app{justify-content:center;width:100%;display:flex}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline-offset:3px;outline:2px solid #fff}.settings-container{z-index:100;padding-bottom:20px;position:fixed;top:25px;left:25px}.settings-icon{appearance:none;color:#fff;opacity:.3;cursor:pointer;background:0 0;border:none;width:28px;height:28px;padding:0;transition:transform .6s cubic-bezier(.25,1,.5,1),opacity .3s;display:block}.settings-icon svg{width:100%;height:100%;display:block}.settings-container.menu-open .settings-icon{opacity:1;transform:rotate(90deg)}.settings-panel{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);opacity:0;pointer-events:none;background:#0f0f0fe6;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:15px;width:220px;max-width:calc(100vw - 40px);padding:20px;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:45px;left:0;transform:translateY(-10px)scale(.95)}.settings-container.menu-open .settings-panel{opacity:1;pointer-events:all;transform:translateY(0)scale(1)}.settings-icon:hover{opacity:.7}.setting-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.setting-row>label{font-size:.95rem}.thin-input{color:#fff;background:0 0;border:1px solid #fff3;border-radius:4px;width:50px;padding:4px 8px;font-family:inherit;font-weight:300}.switch{flex-shrink:0;width:34px;height:18px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#fff3;border-radius:34px;transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:12px;height:12px;transition:all .4s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:#fff}input:checked+.slider:before{background-color:#000;transform:translate(16px)}#app.home-view-active .settings-container{display:none}.home-view{box-sizing:border-box;background:#111;border:1px solid #ffffff0d;border-radius:12px;width:min(1100px,92vw);max-height:92vh;padding:28px;overflow-y:auto;box-shadow:0 10px 40px #000000b3}.home-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.home-header-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.home-header h1{letter-spacing:-1px;margin:0 0 6px;font-size:2.2rem;font-weight:200;line-height:1.1}.home-hint{color:#888;margin:0;font-size:.95rem}.view-toggle{flex-shrink:0;gap:6px;display:flex}.view-btn{appearance:none;color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;place-items:center;width:36px;height:36px;padding:0;transition:all .2s;display:grid}.view-btn svg{width:18px;height:18px}.view-btn:hover{border-color:#ffffff59}.view-btn[aria-pressed=true]{color:#000;background:#fff}.home-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.selection-status{color:#888;margin-right:auto;font-size:.9rem}.ghost-btn{appearance:none;color:#ddd;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:.85rem;transition:all .2s}.ghost-btn:hover{color:#fff;border-color:#fff6}.start-btn{appearance:none;color:#000;cursor:pointer;background:#fff;border:none;border-radius:8px;padding:10px 20px;font-family:inherit;font-size:1rem;font-weight:500;transition:opacity .2s}.start-btn:hover:not(:disabled){opacity:.85}.start-btn:disabled{opacity:.3;cursor:not-allowed}.project-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.difficulty-group{margin-bottom:30px}.difficulty-group:last-child{margin-bottom:4px}.category-heading{align-items:center;gap:10px;margin:0 0 12px;font-size:1rem;font-weight:400;display:flex}.difficulty-pill{border-radius:999px;align-items:center;padding:4px 14px;font-size:.85rem;font-weight:500;display:inline-flex}.difficulty-pill--dark{border:1px solid #fff6}.difficulty-shape{flex-shrink:0;width:16px;height:16px;display:none}.home-view.list-mode .difficulty-shape{display:block}.shape-1{border-radius:50%}.shape-3{clip-path:polygon(50% 0%,100% 100%,0% 100%);width:16px;height:14px}.shape-4{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.difficulty-shape--dark{filter:drop-shadow(0 0 1.5px #ffffffb3)}.project-toggle{cursor:pointer;border-radius:12px;flex-direction:column;gap:8px;display:flex;position:relative}.project-toggle:focus-within{outline-offset:3px;outline:2px solid #fff}.project-checkbox{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.thumb{aspect-ratio:4/3;background-color:#0a0a0a;background-position:50%;background-size:cover;border:1px solid #ffffff14;border-radius:10px;width:100%;transition:opacity .2s,filter .2s}.card-title{color:#eee;font-size:1rem}.check-badge{color:#000;opacity:0;background:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.8rem;font-weight:600;transition:opacity .2s;display:grid;position:absolute;top:8px;right:8px}.project-toggle input:checked~.check-badge{opacity:1}.project-toggle input:not(:checked)~.thumb{opacity:.3;filter:grayscale()}.project-toggle input:not(:checked)~.card-title{color:#777}.home-view.list-mode .project-grid{grid-template-columns:1fr;gap:10px}.home-view.list-mode .thumb{display:none}.home-view.list-mode .project-toggle{background:#ffffff0a;border:1px solid #ffffff12;flex-direction:row;align-items:center;gap:12px;padding:12px 16px}.home-view.list-mode .card-title{font-size:1.05rem}.home-view.list-mode .check-badge{margin-left:auto;position:static}.order-section{margin-bottom:26px}.order-toggle-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.order-label{font-size:1rem;font-weight:400}.order-hint{color:#888;margin:0 0 10px;font-size:.85rem}.order-strip{overscroll-behavior-x:contain;scrollbar-width:thin;gap:10px;margin:0;padding:4px 4px 8px;list-style:none;display:flex;overflow-x:auto}.order-card{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex:none;width:118px;padding:6px;transition:border-color .2s,background .2s;position:relative}.order-card:hover{border-color:#ffffff4d}.order-card:focus-visible{outline-offset:2px;outline:2px solid #fff}.order-card--dragging{z-index:5;cursor:grabbing;background:#1b1b1b;border-color:#fff;transition:none;box-shadow:0 12px 28px #000000a6}.order-empty{color:#888;margin:0;font-size:.9rem}.order-thumb{aspect-ratio:4/3;background-color:#0a0a0a;background-position:50%;background-size:cover;border-radius:7px;width:100%;display:block}.order-num{color:#fff;font-variant-numeric:tabular-nums;background:#000000b8;border-radius:6px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.75rem;font-weight:600;display:grid;position:absolute;top:10px;left:10px}.order-name{-webkit-line-clamp:2;color:#eee;-webkit-box-orient:vertical;margin-top:6px;font-size:.8rem;line-height:1.25;display:-webkit-box;overflow:hidden}.home-actions{z-index:100;align-items:center;gap:8px;display:flex;position:fixed;top:25px;right:25px}.home-btn{appearance:none;color:#fff;cursor:pointer;background:#0f0f0fe6;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:.9rem;font-weight:300;transition:border-color .2s,opacity .2s;display:flex}.home-btn svg{width:16px;height:16px}.home-btn:hover{border-color:#ffffff59}.tutorial-trigger{align-items:center;gap:7px;display:inline-flex}.tutorial-trigger svg{flex-shrink:0;width:16px;height:16px}body.tutorial-open{overflow:hidden}.tutorial-dialog{color:#fff;background:#0d0d0d;border:1px solid #ffffff1f;border-radius:18px;width:min(1120px,95vw);max-width:none;max-height:min(94dvh,1040px);margin:auto;padding:0;overflow:hidden;box-shadow:0 30px 100px #000c}.tutorial-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b8}.tutorial-dialog[open]{animation:.22s cubic-bezier(.16,1,.3,1) tutorial-in}@keyframes tutorial-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.tutorial-shell{max-height:inherit;flex-direction:column;display:flex}.tutorial-header{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 30px 13px;display:flex}.tutorial-eyebrow{color:#888;letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:.75rem;font-weight:500}.tutorial-header h2{letter-spacing:-.5px;margin:0 0 6px;font-size:1.9rem;font-weight:200;line-height:1.1}.tutorial-intro{color:#aaa;margin:0;font-size:.98rem;line-height:1.5}.tutorial-close{appearance:none;color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;padding:0;font-family:inherit;font-size:1.6rem;font-weight:200;line-height:1;transition:border-color .2s,background .2s;display:grid}.tutorial-close:hover{background:#ffffff0f;border-color:#fff6}.tutorial-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:16px 30px;overflow-y:auto}.tutorial-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.tutorial-step{background:#ffffff09;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;min-width:0;padding:12px;display:flex}.tutorial-step--optional{background:#ffffff05;border-style:dashed}.tutorial-step-art{justify-content:center;margin-bottom:12px;display:flex}.tutorial-step-art svg{border-radius:10px;width:min(100%,360px);height:auto;display:block}.tutorial-step-heading{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:8px;display:flex}.tutorial-step-number{color:#000;background:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:.85rem;font-weight:600;display:grid}.tutorial-step h3{margin:0;font-size:1.2rem;font-weight:500;line-height:1.25}.tutorial-optional{color:#ccc;letter-spacing:.06em;text-transform:uppercase;border:1px solid #ffffff4d;border-radius:999px;align-items:center;padding:3px 9px;font-size:.7rem;font-weight:500;display:inline-flex}.tutorial-step-text{color:#bbb;margin:0;font-size:.98rem;line-height:1.55}.tutorial-step .tutorial-step-note{color:#888;margin:6px 0 0;font-size:.85rem}.tutorial-step-link{color:#999;text-underline-offset:3px;margin-top:10px;font-size:.8rem;-webkit-text-decoration:underline #ffffff4d;text-decoration:underline #ffffff4d;transition:color .2s;display:inline-block}.tutorial-step-link:hover{color:#fff}.tutorial-footer{border-top:1px solid #ffffff14;flex-shrink:0;justify-content:flex-end;padding:10px 30px 12px;display:flex}.tutorial-done{appearance:none;color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:8px;padding:9px 20px;font-family:inherit;font-size:.95rem;transition:border-color .2s,background .2s}.tutorial-done:hover{background:#ffffff0f;border-color:#fff6}.carousel-container{background-color:#111;border:1px solid #ffffff0d;border-radius:12px;flex-direction:column;width:80vw;max-width:1600px;height:80vh;padding:20px;display:flex;box-shadow:0 10px 40px #000000b3}.slider-wrapper{touch-action:pan-y;background:#0a0a0a;border-radius:8px;flex-grow:1;position:relative;overflow:hidden}.slider-track{will-change:transform;height:100%;transition:transform .6s cubic-bezier(.25,1,.5,1);display:flex}.slide{box-sizing:border-box;min-width:100%;height:100%;padding:30px 60px}.slide-content{align-items:center;gap:50px;height:100%;display:flex}.info-section{flex-direction:column;flex:1 1 0;justify-content:center;min-width:0;display:flex}.media-section{flex:1.15 1 0;justify-content:center;align-items:center;min-width:0;height:100%;display:flex}.preview-media{aspect-ratio:4/3;object-fit:contain;background:#000;border-radius:8px;width:100%;height:auto;max-height:100%;box-shadow:0 8px 30px #0009}.info-section h2{letter-spacing:-1px;margin:0 0 10px;font-size:3.5rem;font-weight:200;line-height:1.1}.difficulty{color:#888;align-items:center;gap:4px;margin-bottom:25px;font-size:1.2rem;display:flex}.concepts-container{flex-wrap:wrap;gap:12px;margin-bottom:30px;display:flex}.concept-chip{color:#fff;border-radius:20px;padding:5px 14px;font-size:.85rem;font-weight:500;box-shadow:0 2px 8px #0003}.info-section p{color:#bbb;font-size:1.25rem;font-weight:300;line-height:1.6}.nav-arrow{color:#ffffff4d;cursor:pointer;z-index:10;background:0 0;border:none;padding:20px 15px;font-size:30px;font-weight:100;transition:all .3s;position:absolute;top:50%;transform:translateY(-50%)}.nav-arrow:hover{color:#fff;background:#ffffff0d}.nav-arrow.left{left:0}.nav-arrow.right{right:0}.dots-container{text-align:center;margin-top:20px}.dot{appearance:none;cursor:pointer;background:#fff3;border:none;border-radius:50%;width:8px;height:8px;margin:0 10px;padding:0;transition:all .3s;display:inline-block;position:relative}.dot:after{content:"";position:absolute;inset:-8px}.dot.active{background:#fff;transform:scale(1.5)}@media (prefers-reduced-motion:reduce){.slider-track,.settings-panel,.settings-icon,.nav-arrow,.dot,.order-card,.tutorial-close,.tutorial-done,.tutorial-step-link{transition:none}.tutorial-dialog[open]{animation:none}}@media (width<=900px){body{display:block}.carousel-container{border:none;border-radius:0;width:100%;max-width:none;height:100dvh;padding:10px}.slide{overscroll-behavior:contain;padding:12px 16px;overflow-y:auto}.slide-content{flex-direction:column-reverse;align-items:stretch;gap:16px;height:auto;min-height:100%}.info-section{flex:none}.media-section{flex:none;width:100%;height:auto;max-height:40dvh}.preview-media{width:auto;max-width:100%;max-height:40dvh}.info-section h2{font-size:2rem}.info-section p{font-size:1rem}.difficulty{margin-bottom:16px;font-size:1rem}.settings-container{top:12px;left:12px}.nav-arrow{padding:14px 8px;font-size:24px}.home-view{border:none;border-radius:0;width:100%;height:100dvh;max-height:none;padding:20px 16px}.home-header h1{font-size:1.7rem}.home-header-actions{justify-content:space-between;width:100%}.home-actions{top:12px;right:12px}.tutorial-dialog{border-radius:14px;width:calc(100vw - 24px);max-height:94dvh}.tutorial-header{padding:20px 20px 14px}.tutorial-header h2{font-size:1.6rem}.tutorial-body{padding:16px 20px}.tutorial-steps{grid-template-columns:1fr;gap:14px}.tutorial-step{padding:12px}.tutorial-footer{padding:14px 20px 18px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}}@media (width<=480px){.slide{padding:8px 12px}.order-card{width:96px}.order-name{font-size:.75rem}.slide-content{gap:10px}.info-section h2{font-size:1.7rem}.media-section,.preview-media{max-height:34dvh}.concepts-container{margin-bottom:18px}.home-toolbar{gap:8px}.start-btn{width:100%}.home-actions{gap:6px}.home-actions .home-btn{padding:8px 10px;font-size:.82rem}.tutorial-dialog{border-radius:12px;width:calc(100vw - 12px);max-height:96dvh}.tutorial-header{padding:16px 16px 12px}.tutorial-header h2{font-size:1.45rem}.tutorial-intro{font-size:.92rem}.tutorial-close{width:36px;height:36px}.tutorial-body{padding:12px 14px}.tutorial-step{padding:10px}.tutorial-step h3{font-size:1.05rem}.tutorial-step-text{font-size:.93rem}.tutorial-footer{padding:12px 16px 16px}.tutorial-done{width:100%}}
