.ed-page{--ed-bg: #f8fafc;--ed-surface: #ffffff;--ed-border: #e2e8f0;--ed-accent: oklch(52% .18 200);--ed-accent2: oklch(50% .15 178);--ed-text: #0f172a;--ed-muted: #64748b;--ed-easy: oklch(50% .18 145);--ed-medium: oklch(58% .2 65);--ed-hard: oklch(52% .2 25);--ed-dark: #0f172a;--ed-shadow: 0 1px 3px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.07);background:var(--ed-bg);color:var(--ed-text);font-family:Inter,system-ui,sans-serif;min-block-size:100dvh}.ed-topbar{background:var(--ed-surface);border-block-end:1px solid var(--ed-border);padding-block:.75rem;padding-inline:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.ed-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;color:var(--ed-muted);flex-wrap:wrap}.ed-breadcrumb a{color:var(--ed-accent);text-decoration:none;transition:opacity .15s}.ed-breadcrumb a:hover{opacity:.75}.ed-breadcrumb__sep{color:var(--ed-border);font-size:.7rem}.ed-breadcrumb__current{color:var(--ed-text);font-weight:700}.ed-nav{display:flex;gap:.5rem}.ed-nav-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:8px;font-size:.78rem;font-weight:700;text-decoration:none;background:var(--ed-bg);color:var(--ed-muted);border:1.5px solid var(--ed-border);transition:border-color .15s,color .15s,background .15s}.ed-nav-btn:hover{border-color:#00787d66;border-color:oklch(52% .18 200 / 40%);color:var(--ed-accent);background:#00787d0d;background:oklch(52% .18 200 / 5%)}.ed-info{padding-block:1.5rem 1.25rem;padding-inline:1.5rem;background:var(--ed-surface);border-block-end:1px solid var(--ed-border)}.ed-info__top{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-block-end:.75rem}.ed-ex-title{font-family:Poppins,system-ui,sans-serif;font-size:clamp(1.2rem,3vw,1.65rem);font-weight:900;color:var(--ed-text);line-height:1.15;flex:1;min-inline-size:0}.ed-badges{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap}.ed-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:100px;font-size:.72rem;font-weight:700;border:1px solid}.ed-badge--easy{background:#e9fbe9;border-color:#b3e8b3;color:var(--ed-easy)}.ed-badge--medium{background:#fff3e8;background:oklch(97% .04 65);border-color:#ffd5ae;border-color:oklch(90% .1 65);color:var(--ed-medium)}.ed-badge--hard{background:#fff5f3;background:oklch(98% .03 25);border-color:#ffcfca;border-color:oklch(90% .08 25);color:var(--ed-hard)}.ed-badge--points{background:#fefce8;border-color:#fef08a;color:#ca8a04}.ed-instruction{font-size:.95rem;font-weight:700;color:var(--ed-accent);margin-block-end:.3rem;line-height:1.4}.ed-description{font-size:.87rem;color:var(--ed-muted);line-height:1.6}.ed-msg{display:none;margin-inline:1.5rem;margin-block:.75rem 0;border-radius:12px;padding:1rem 1.25rem;border:1.5px solid}.ed-msg__inner{display:flex;align-items:flex-start;gap:.9rem}.ed-msg__icon{font-size:1.3rem;flex-shrink:0;line-height:1;margin-block-start:.05rem}.ed-msg__title{font-weight:800;font-size:.9rem;margin-block-end:.15rem}.ed-msg__text{font-size:.83rem;line-height:1.5}.ed-msg--success{background:#e5fde5;border-color:#9ee6a0;color:var(--ed-easy)}.ed-msg--error{background:#fff5f3;background:oklch(98% .03 25);border-color:#ffc7c1;border-color:oklch(88% .1 25);color:var(--ed-hard)}.ed-split{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;padding:1.25rem 1.5rem;align-items:start}@media(max-width:900px){.ed-split{grid-template-columns:1fr}}.ed-panel{background:var(--ed-surface);border:1.5px solid var(--ed-border);border-radius:16px;overflow:hidden;box-shadow:var(--ed-shadow)}.ed-panel__header{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:var(--ed-dark);border-block-end:1px solid rgba(255,255,255,.07);gap:.75rem}.ed-panel__title{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;color:#ffffffbf;letter-spacing:.04em}.ed-panel__title i{color:var(--ed-accent)}.ed-panel__lang-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:6px;font-size:.68rem;font-weight:700;background:#00787d2e;background:oklch(52% .18 200 / 18%);color:#00bbc3;color:oklch(72% .18 200);border:1px solid oklch(52% .18 200 / 30%)}.ed-panel__btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:7px;font-size:.72rem;font-weight:700;cursor:pointer;border:1.5px solid rgba(255,255,255,.15);background:#ffffff12;color:#ffffffb3;transition:background .15s,color .15s}.ed-panel__btn:hover{background:#ffffff1f;color:#ffffffe6}.ed-editor-wrap{position:relative;width:100%;overflow:hidden}.ed-panel .CodeMirror{width:100%!important;min-height:420px;border-radius:0;border:none!important;box-sizing:border-box;font-size:13.5px;line-height:1.65;font-family:JetBrains Mono,Cascadia Code,Fira Code,Courier New,monospace}.ed-panel .CodeMirror-scroll{min-height:420px}.ed-panel .CodeMirror:focus-within{box-shadow:none!important;outline:none!important}body:not(.dark-mode) .ed-panel .CodeMirror-cursor{border-left-color:var(--ed-accent)!important}body:not(.dark-mode) .ed-panel .CodeMirror-selected{background:#00787d26!important;background:oklch(52% .18 200 / 15%)!important}body:not(.dark-mode) .ed-panel .CodeMirror-linenumber{color:#94a3b8!important}.ed-panel .cm-tag,.ed-panel .cm-tag.cm-error,.ed-panel .cm-tag.cm-tag-name{color:#f472b6!important}body:not(.dark-mode) .ed-panel .cm-tag,body:not(.dark-mode) .ed-panel .cm-tag.cm-error,body:not(.dark-mode) .ed-panel .cm-tag.cm-tag-name{color:#c026d3!important}.ed-panel .cm-tag.cm-bracket,.ed-panel .cm-tag.cm-bracket.cm-error{color:#94a3b8!important}body:not(.dark-mode) .ed-panel .cm-tag.cm-bracket{color:#64748b!important}.ed-panel .cm-error{color:inherit!important;background:transparent!important;text-decoration:none!important}body:not(.dark-mode) .ed-panel .cm-string{color:#16a34a!important}body:not(.dark-mode) .ed-panel .cm-attribute{color:#d97706!important}body:not(.dark-mode) .ed-panel .cm-keyword{color:#7c3aed!important}.ed-panel .cm-comment{color:#6a9955!important;font-style:italic}body:not(.dark-mode) .ed-panel .cm-comment{color:#6a737d!important}.ed-iframe{width:100%;min-height:420px;background:#fff;border:none;display:block}.ed-panel__footer{border-block-start:1px solid var(--ed-border)}.ed-hint{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;background:#fff7ef;background:oklch(98% .04 65);border-block-end:1px solid oklch(90% .08 65)}.ed-hint i{color:#f59e0b;flex-shrink:0;margin-block-start:.1rem;font-size:.85rem}.ed-hint__label{font-size:.72rem;font-weight:800;color:#b45309;letter-spacing:.04em;text-transform:uppercase;margin-block-end:.1rem}.ed-hint__text{font-size:.8rem;color:#78350f;line-height:1.5}.ed-tip{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1rem}.ed-tip i{color:var(--ed-accent);flex-shrink:0;font-size:.82rem;margin-block-start:.1rem}.ed-tip__text{font-size:.8rem;color:var(--ed-muted);line-height:1.5}.ed-actions{display:flex;gap:.6rem;padding:.85rem 1rem;background:var(--ed-dark)}.ed-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.65rem 1.3rem;border-radius:8px;font-size:.84rem;font-weight:700;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s;flex:1}.ed-btn:active{transform:translateY(1px)}.ed-btn--run{background:linear-gradient(135deg,#00787d,#007463);background:linear-gradient(135deg,color(xyz 0.081 0.157 0.295),color(xyz 0.066 0.14 0.142));color:#fff;box-shadow:0 2px 10px #00787d4d;box-shadow:0 2px 10px oklch(52% .18 200 / 30%)}.ed-btn--run:hover{box-shadow:0 4px 18px #00787d66;box-shadow:0 4px 18px oklch(52% .18 200 / 40%);transform:translateY(-1px)}.ed-btn--submit{background:linear-gradient(135deg,#00791f,#007729,#007432 50%,#00703f);background:linear-gradient(135deg,color(xyz 0.064 0.139 0.024),color(xyz 0.062 0.135 0.03),color(xyz 0.059 0.131 0.036) 50%,color(xyz 0.055 0.123 0.05));color:#fff;box-shadow:0 2px 10px #00791e47;box-shadow:0 2px 10px oklch(50% .18 145 / 28%)}.ed-btn--submit:hover{box-shadow:0 4px 18px #00791e61;box-shadow:0 4px 18px oklch(50% .18 145 / 38%);transform:translateY(-1px)}.ed-shortcut-hint{text-align:center;font-size:.65rem;color:#ffffff59;padding-block-end:.5rem;padding-inline:1rem;background:var(--ed-dark)}@media(max-width:640px){.ed-topbar{flex-direction:column;align-items:flex-start}.ed-info__top{flex-direction:column;gap:.5rem}.ed-split{padding:.75rem;gap:.75rem}.ed-actions{flex-direction:column}}
