.tutorial-backdrop{padding:18px;background:#0c0d16b8;backdrop-filter:blur(5px)}
.tutorial-dialog{display:block;width:min(1180px,100%);padding:0;overflow:hidden;border:1px solid #74709866;background:linear-gradient(135deg,#23242d,#2d2945 70%,#353052);border-radius:18px;box-shadow:0 28px 100px #0008}
.tutorial-intro .tutorial-guide{min-height:340px}.tutorial-walkthrough{height:calc(100dvh - 36px);max-height:1000px;display:flex;flex-direction:column}
.tutorial-workspace{display:block;width:100%;border:0;border-bottom:1px solid #8f85ba38;background:#202024;flex:1;min-height:230px}
.tutorial-guide{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:center;padding:10px 28px 12px 10px;flex:none;position:relative}
.tutorial-guide .guide-avatar{position:static;width:280px;height:280px;max-height:none;object-fit:contain;align-self:end;filter:drop-shadow(0 12px 18px #14111d55)}
.tutorial-content{padding:20px 24px;border:1px solid #bcb2ee26;border-radius:14px;background:linear-gradient(115deg,#282735d9,#4d416355);position:relative}
.tutorial-content:before{content:'';position:absolute;left:-9px;top:55%;width:16px;height:16px;background:#2a2837;border-left:1px solid #bcb2ee26;border-bottom:1px solid #bcb2ee26;transform:rotate(45deg)}
.tutorial-content h2{font-size:23px;margin:12px 0 8px;line-height:1.3}.tutorial-content p{font-size:14px;line-height:1.55;margin:8px 0;color:#dedbe9}.tutorial-content .work-state{background:#9e89dd20;color:#e0d7ff;letter-spacing:.025em;font-size:10px}.tutorial-step-state{font-size:12px;color:#c2b4ec}.tutorial-actions{margin-top:14px;gap:8px}.tutorial-actions button{min-height:38px;padding:8px 13px;font-size:13px}.tutorial-actions .primary{background:#7560bd}.tutorial-actions .primary:hover{background:#8770d0}.tutorial-actions button:disabled{opacity:.45;cursor:not-allowed}#tutorialResult:empty{display:none}#tutorialResult{border-left:2px solid #a692df;padding-left:10px;font-size:13px}
.practice-app{margin:0;padding:0;display:block;min-height:100vh;color:#e8e6ef;background:radial-gradient(ellipse at 90% 0,#332b4c66,transparent 70%),#202024;font-size:14px}.practice-header{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid #ffffff12;background:#20202480}.practice-header span{margin-left:auto;font-size:10px;color:#c8b7f2;letter-spacing:.04em}.practice-app main{padding:20px 28px;outline:none;max-width:1200px;margin:auto}.practice-title{margin-bottom:18px}.practice-title h2{font-size:21px;margin:10px 0}.practice-title .work-state{font-size:10px;background:#9b83d923;color:#ddcdff}.practice-app label.field{max-width:620px}.practice-app input,.practice-app select{width:100%;box-sizing:border-box;background:#222229!important;color:#eeeaf6!important;border:1px solid #6e66834d;border-radius:6px;padding:10px 12px;font:inherit}.practice-app button{border-radius:6px;min-height:38px;margin:6px 10px 6px 0;font:inherit;padding:9px 14px;background:#40394f;color:#eeeaf6;border:1px solid #9e8fbd44;cursor:pointer}.practice-app button:hover{background:#514363}.practice-highlight{outline:1px solid #c4a8f0!important;outline-offset:3px;box-shadow:0 0 0 5px #a48ad91a,0 0 20px #9b7bd914!important}.practice-app button:focus-visible,.practice-app input:focus-visible,.practice-app select:focus-visible{outline:2px solid #d0b8ff;outline-offset:3px}.practice-app .hint{font-size:12px;color:#c4bfce;line-height:1.6}.practice-notice{font-size:12px;line-height:1.6;padding:12px 15px;background:#8f72b716;border-left:2px solid #9c81cb;color:#ded5ed;margin-top:20px}.practice-task{padding:18px 0;border-bottom:1px solid #ffffff12}.practice-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px}.practice-editor{min-width:0}.practice-editor .category-card{background:transparent;border:0;padding:0;margin:0 0 18px}.practice-editor .channel-row{border-bottom:1px solid #ffffff12;padding:10px 0}.practice-editor .channel-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.practice-editor .channel-controls label{flex:1;min-width:180px}.practice-editor .channel-controls button{padding:8px;min-width:34px;margin:5px 0}.practice-editor .channel-controls .field{margin:0;font-size:12px}.practice-editor .channel-type{max-width:80px}.practice-editor .category-top[hidden],.practice-editor details[hidden],.practice-editor button[hidden]{display:none!important}.practice-editor .draft-preview{align-self:start;position:sticky;top:0}.practice-permission{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #ffffff16;padding:18px 0}.practice-permission p{margin:6px 0}.practice-permission .work-state{font-size:11px;display:inline-block}.practice-app progress{width:100%;height:12px;accent-color:#a18aca;margin:14px 0}.practice-app .review-group{border-bottom:1px solid #ffffff12}.practice-app h3{font-size:15px}.practice-app .draft-preview{margin-top:14px}.practice-app [hidden]{display:none!important}
@media(max-width:850px){.tutorial-guide{grid-template-columns:200px minmax(0,1fr);padding:8px 18px 10px 0;gap:4px}.tutorial-guide .guide-avatar{width:200px;height:250px}.tutorial-content{padding:16px 18px}.tutorial-content h2{font-size:20px}.practice-editor-grid{grid-template-columns:1fr}.practice-header span{max-width:150px}.practice-app main{padding:16px 20px}}
@media(max-width:600px){.tutorial-backdrop{padding:6px}.tutorial-walkthrough{height:calc(100dvh - 12px)}.tutorial-dialog{border-radius:12px}.tutorial-workspace{min-height:180px}.tutorial-guide{grid-template-columns:100px minmax(0,1fr);gap:0;padding:8px}.tutorial-guide .guide-avatar{float:none;margin:0;align-self:start;width:105px;height:160px;object-position:center top}.tutorial-content{padding:12px}.tutorial-content h2{font-size:17px;margin:8px 0}.tutorial-content p{font-size:12px;line-height:1.45}.tutorial-content .work-state{font-size:8px}.tutorial-actions{gap:5px;clear:none;margin-top:10px}.tutorial-actions button{font-size:12px;padding:7px 9px;min-height:36px;margin:0}.tutorial-step-state{font-size:10px}.tutorial-content #tutorialResult{font-size:11px}.tutorial-intro .tutorial-guide{min-height:270px}.practice-header{padding:10px 12px}.practice-header strong{font-size:12px}.practice-header span{font-size:8px;max-width:110px}.practice-app main{padding:12px 16px}.practice-permission{align-items:start}.practice-permission button{flex:none}.practice-editor .channel-controls label{min-width:140px}.practice-app button{font-size:12px}.practice-app .draft-preview{padding:14px}}
@media(max-height:650px) and (min-width:601px){.tutorial-guide .guide-avatar{height:210px;width:210px}.tutorial-guide{grid-template-columns:210px minmax(0,1fr)}.tutorial-content{padding:10px 16px}.tutorial-content h2{font-size:18px;margin:6px 0}.tutorial-content p{font-size:12px}.tutorial-workspace{min-height:160px}}
@media(prefers-reduced-motion:reduce){.tutorial-backdrop *,.practice-app *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.tutorial-guide{align-self:stretch}.practice-app{color-scheme:dark}.practice-editor .channel-row{background:#24232d66;border:1px solid #8d7cab22;border-radius:8px;margin-bottom:10px;padding:10px 12px}.practice-editor .channel-row[hidden],.practice-editor .category-card[hidden]{display:none!important}

.tutorial-walkthrough{overflow:auto}.tutorial-guide{width:auto}.tutorial-workspace{flex-shrink:1}

.practice-task-label{font-size:12px;color:#d6c5f4;letter-spacing:.02em;margin:8px 0}.practice-app button:disabled{opacity:.55;cursor:default;box-shadow:none}.practice-app input[readonly]{color:#c6c0cf!important}.tutorial-actions .practice-highlight{box-shadow:0 0 0 4px #b89ae51a!important}.practice-app .draft-preview{max-height:none;overflow:visible}

/* In short windows scroll the explanation, keeping tutorial navigation in view. */
.tutorial-copy:focus-visible{outline:2px solid #c4b5ef;outline-offset:3px;border-radius:4px}
@media(max-height:650px){
 .tutorial-intro{overflow:auto}
 .tutorial-walkthrough{overflow:hidden}
 .tutorial-walkthrough .tutorial-workspace{flex:1 1 0;min-height:140px}
 .tutorial-walkthrough .tutorial-guide{flex:0 1 300px;min-height:0;max-height:60%;align-items:stretch}
 .tutorial-walkthrough .tutorial-content{display:flex;flex-direction:column;min-height:0;max-height:100%;overflow:hidden}
 .tutorial-walkthrough .tutorial-copy{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
 .tutorial-walkthrough .tutorial-actions{flex:none;margin-top:10px}
 .tutorial-walkthrough .guide-avatar{height:100%;max-height:210px;align-self:center}
}
