:root{--bg: #0f1c1a;--bg-elev: #17302b;--ink: #f3f0e8;--muted: #a8b5b0;--accent: #3d9b84;--accent-2: #e8c27a;--danger: #c45c5c;--ok: #5fad7a;--line: rgba(243, 240, 232, .12);--font-display: "Fraunces", Georgia, serif;--font-body: "Source Sans 3", "Segoe UI", sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,rgba(61,155,132,.28),transparent 55%),radial-gradient(900px 500px at 90% 0%,rgba(232,194,122,.14),transparent 50%),linear-gradient(165deg,#0c1614,#142421 45%,#0f1c1a);background-attachment:fixed}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}.shell{max-width:1100px;margin:0 auto;padding:1.25rem 1.25rem 3rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem;animation:rise .6s ease both}.brand{font-family:var(--font-display);font-size:1.6rem;color:var(--ink);text-decoration:none}.brand:hover{text-decoration:none;color:var(--accent-2)}.nav{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}.nav a,.nav button.linkish{color:var(--muted);background:none;border:0;font:inherit;cursor:pointer;padding:0}.nav a:hover,.nav button.linkish:hover{color:var(--ink)}.panel{background:color-mix(in srgb,var(--bg-elev) 88%,transparent);border:1px solid var(--line);border-radius:18px;padding:1.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:rise .7s ease both}.hero-auth{min-height:calc(100vh - 2rem);display:grid;place-items:center;padding:1.5rem}.hero-auth .panel{width:min(420px,100%)}.hero-auth .brand-hero{display:block;font-family:var(--font-display);font-size:clamp(2.4rem,6vw,3.4rem);margin:0 0 .35rem;animation:rise .5s ease both}.hero-auth .tagline{color:var(--muted);margin:0 0 1.5rem;animation:rise .7s ease both}label{display:grid;gap:.35rem;margin-bottom:.9rem;font-size:.95rem}input,select,textarea{width:100%;border:1px solid var(--line);background:#00000040;color:var(--ink);border-radius:10px;padding:.65rem .75rem;font:inherit}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:999px;padding:.65rem 1.1rem;font:inherit;font-weight:600;cursor:pointer;background:var(--accent);color:#06201a}button.secondary,.btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}button:disabled{opacity:.55;cursor:not-allowed}.muted{color:var(--muted)}.error{color:var(--danger)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.schema-card{display:block;color:inherit;text-decoration:none;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0000002e;transition:transform .2s ease,border-color .2s ease}.schema-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 50%,var(--line));text-decoration:none}.schema-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;background:#0a1210}.schema-card .meta{padding:.85rem 1rem 1rem}.schema-card-mine{position:relative;display:flex;flex-direction:column}.schema-card-mine>a{color:inherit;text-decoration:none;flex:1}.schema-card-mine>a:hover{text-decoration:none}.schema-delete-icon{position:absolute;top:.45rem;right:.45rem;z-index:2;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--line);border-radius:6px;background:#0f1c1ad9;color:var(--ink);font-size:1.25rem;line-height:1;cursor:pointer}.schema-delete-icon:hover{background:var(--danger);border-color:var(--danger);color:#fff}.page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.25rem}.page-head h1{margin-bottom:.25rem}.page-head .muted{margin:0}.filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.filters>*{flex:1 1 160px}.editor-canvas,.exercise-canvas{width:100%;background:#fff;border-radius:8px;padding:.75rem;overflow:auto;position:relative}.editor-page-head{display:flex;flex-direction:column;gap:.2rem;margin:0}.editor-crumb{font-size:.8rem;letter-spacing:.02em;text-transform:uppercase;margin:0}.editor-title-field{font-family:var(--font-display);font-size:clamp(1.35rem,3vw,1.75rem);font-weight:600;line-height:1.25;padding:.35rem .55rem;margin:0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink);width:100%}.editor-title-field:hover:not(:disabled),.editor-title-field:focus{border-color:var(--line);background:#17302b73;outline:none}.editor-pick-image{align-self:start}.editor-canvas-hint{margin:0;font-size:.9rem}.editor-replace-image{position:absolute;top:.45rem;right:.45rem;z-index:6;width:2rem;height:2rem;padding:0;border-radius:999px;border:1px solid rgba(15,28,26,.2);background:#f3f0e8eb;color:#1a1a1a;font-size:1.35rem;line-height:1;cursor:pointer;box-shadow:0 1px 4px #0000002e}.editor-replace-image:hover:not(:disabled){background:#fff;border-color:var(--danger);color:var(--danger)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.editor-meta{gap:.65rem}.editor-meta-grid{display:grid;gap:.65rem}@media(min-width:640px){.editor-meta-grid{grid-template-columns:1fr 1fr}}.editor-stage,.exercise-stage{position:relative;display:block;width:100%;max-width:100%;margin:0 auto;line-height:0}.editor-stage img,.exercise-stage img{display:block;width:100%;max-width:100%;height:auto;-webkit-user-select:none;user-select:none}.zone{position:absolute;border:2px solid var(--accent-2);background:#e8c27a59;box-sizing:border-box;display:flex;align-items:center;justify-content:center;line-height:normal;font-size:1rem;z-index:2}.zone-fixed{border-radius:2px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.zone-fixed:active{cursor:grabbing}.zone-preview{pointer-events:none;border-radius:2px}.arrow-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:#111;z-index:1}.label-mask-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.label-mask-layer-editable{pointer-events:none;z-index:0}.label-mask{position:absolute;box-sizing:border-box}.label-mask-accepted{background:var(--mask-fill, #ffffff);box-shadow:none}.label-mask-editable{pointer-events:auto;cursor:grab;touch-action:none;border:1px solid rgba(0,0,0,.2);box-shadow:inset 0 0 0 1px #fffc}.label-mask-editable:active{cursor:grabbing}.mask-handle,.zone-handle{position:absolute;width:.7rem;height:.7rem;padding:0;margin:0;border:1px solid #333;background:#fff;border-radius:1px;z-index:3;pointer-events:auto}.mask-handle-nw,.zone-handle-nw{left:-.35rem;top:-.35rem;cursor:nwse-resize}.mask-handle-se,.zone-handle-se{right:-.35rem;bottom:-.35rem;cursor:nwse-resize}.mask-remove{position:absolute;top:-.55rem;right:-.55rem;width:1.1rem;height:1.1rem;padding:0;line-height:1;font-size:.85rem;border-radius:50%;border:1px solid #666;background:#fff;color:#333;cursor:pointer;z-index:2}.label-mask-proposal{background:#e88c282e;border:2px dashed #c45e0a}.editor-stage.mask-draw-mode{cursor:crosshair}.label-mask-draw-preview{position:absolute;box-sizing:border-box;pointer-events:none;z-index:0;background:#e88c281f;border:2px dashed #c45e0a}.detect-toolbar{display:flex;flex-direction:column;gap:.55rem;margin-top:.75rem}.detect-toolbar-status{align-self:center;font-size:.92rem}.detect-help{border:1px solid var(--line);border-radius:8px;background:#17302b8c;padding:.15rem .85rem}.detect-help summary{cursor:pointer;list-style:none;padding:.55rem 0;color:var(--accent-2);font-weight:600;font-size:.95rem;-webkit-user-select:none;user-select:none}.detect-help summary::-webkit-details-marker{display:none}.detect-help summary:before{content:"▸ ";display:inline-block;transition:transform .15s ease}.detect-help[open] summary:before{transform:rotate(90deg)}.detect-help-body{padding:0 0 .75rem;display:flex;flex-direction:column;gap:.55rem}.detect-help-body p{margin:0;line-height:1.45;font-size:.95rem}.detect-help-tip{font-size:.9rem!important;border-top:1px solid var(--line);margin-top:.1rem!important;padding-top:.55rem}.mask-review-list{display:flex;flex-direction:column;gap:.65rem;margin-top:.75rem}.mask-review-item{display:grid;gap:.4rem;padding:.6rem 0;border-top:1px solid var(--border, #ddd)}.mask-review-item .row{flex-wrap:wrap;gap:.4rem;align-items:center}.mask-coord-inputs{display:flex;flex-wrap:wrap;gap:.5rem}.mask-coord-inputs label{display:flex;flex-direction:column;font-size:.8rem;gap:.15rem}.mask-coord-inputs input{width:4.5rem}.arrow-layer line{stroke:currentColor;stroke-width:.7;fill:none}.arrow-layer .arrow-preview{stroke-dasharray:2 1.5;opacity:.85}.arrow-tip{position:absolute;z-index:3;width:.85rem;height:.85rem;margin:0;padding:0;border:2px solid #111;border-radius:50%;background:#fff;transform:translate(-50%,-50%);cursor:grab;touch-action:none;pointer-events:auto}.arrow-tip:active{cursor:grabbing}.zone-index{display:flex;align-items:center;justify-content:center;gap:.25rem;max-width:100%;min-width:1.15rem;min-height:1.15rem;padding:.15rem .3rem;border-radius:2px;background:#0f1c1a;color:#e8c27a;font-size:.75rem;font-weight:700;line-height:1.15;pointer-events:none}.zone-badge{position:absolute;top:-.45rem;left:-.45rem;z-index:1;display:flex;align-items:center;justify-content:center;min-width:1.15rem;height:1.15rem;padding:0 .2rem;border-radius:999px;border:1.5px solid #e8c27a;background:#0f1c1a;color:#e8c27a;font-size:.7rem;font-weight:700;line-height:1;pointer-events:none;box-shadow:0 0 0 1px #0f1c1a59}.zone-chip-text{display:block;max-width:100%;padding:.12rem .35rem;border-radius:2px;background:#0f1c1ae0;color:#f4efe6;font-size:.75rem;font-weight:600;line-height:1.2;white-space:pre-line;overflow-wrap:anywhere;text-align:center;pointer-events:none}.zone-chip-text--vertical{display:inline-flex;flex-direction:column;align-items:center;letter-spacing:.05em;font-size:.68rem;line-height:1.05;white-space:normal}.zone-editing{cursor:text;z-index:5;min-width:8rem!important}.zone-inline-input{display:block;width:100%;min-width:7rem;margin:0;padding:.2rem .35rem;border:1px solid #0f1c1a;border-radius:2px;background:#fff;color:#0f1c1a;font:inherit;font-size:.8rem;font-weight:600;line-height:1.2;box-sizing:border-box}.zone-index-label{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;margin-bottom:.35rem;border-radius:2px;background:#e8c27a59;font-size:.8rem;font-weight:700}.zone-list{display:flex;flex-direction:column;gap:.55rem;margin-top:.25rem}.zone-list-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem}.zone-list-title{margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:600}.zone-list-count,.zone-list-empty{margin:0;font-size:.9rem}.zone-list-cols{display:none;gap:.5rem;padding:0 0 .15rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.zone-list-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.zone-list-row{display:grid;grid-template-columns:1.75rem minmax(0,1fr) 2rem;grid-template-areas:"num label remove" "num orient orient" "num syn syn";gap:.35rem .5rem;align-items:center;padding:.45rem 0;border-top:1px solid var(--line)}.zone-list-num{grid-area:num;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;border:1px solid rgba(232,194,122,.55);background:#0f1c1a8c;color:var(--accent-2);font-size:.75rem;font-weight:700}.zone-list-row>.zone-list-label{grid-area:label;resize:vertical;font:inherit;min-height:2.5rem}.zone-list-row>.zone-orient-toggle{grid-area:orient}.zone-list-row>.zone-list-syn{grid-area:syn}.zone-orient-toggle{display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.28rem .45rem .28rem .3rem;border-radius:999px;border:1px solid var(--line);background:#0f1c1a59;color:var(--muted);cursor:pointer;font:inherit;font-size:.78rem;line-height:1;white-space:nowrap;transition:border-color .15s ease,background .15s ease,color .15s ease}.zone-orient-toggle:hover:not(:disabled){border-color:#e8c27a8c;color:var(--text)}.zone-orient-toggle:disabled{opacity:.55;cursor:not-allowed}.zone-orient-toggle.is-on{border-color:#e8c27ab3;background:#e8c27a24;color:var(--accent-2)}.zone-orient-toggle-track{position:relative;width:1.7rem;height:.95rem;flex-shrink:0;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.12)}.zone-orient-toggle.is-on .zone-orient-toggle-track{background:#e8c27a59;border-color:#e8c27a73}.zone-orient-toggle-thumb{position:absolute;top:1px;left:1px;width:.7rem;height:.7rem;border-radius:999px;background:#d7dde0;transition:transform .15s ease}.zone-orient-toggle.is-on .zone-orient-toggle-thumb{transform:translate(.72rem);background:var(--accent-2)}.zone-orient-toggle-copy{display:inline-flex;align-items:center;gap:.35rem}.zone-orient-toggle-sample{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;font-size:.68rem;font-weight:700;letter-spacing:.02em;font-style:normal}.zone-orient-toggle.is-on .zone-orient-toggle-sample{flex-direction:column;gap:0;line-height:.95;font-size:.55rem}.zone-orient-toggle-sample i{font-style:normal;font-weight:700}.zone-orient-toggle-label{font-weight:600;min-width:1.6rem}textarea.zone-inline-input{resize:none;min-height:2.4rem;line-height:1.2}.zone-selected{box-shadow:0 0 0 2px #0f1c1a8c}.zone-list-remove{grid-area:remove;justify-self:center;width:2rem;height:2rem;padding:0;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:1.25rem;line-height:1;cursor:pointer}.zone-list-remove:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.zone-list-input{width:100%;min-width:0}@media(min-width:720px){.zone-list-cols{display:grid;grid-template-columns:1.75rem minmax(0,1.15fr) 6.5rem minmax(0,1fr) 2rem;align-items:end}.zone-list-col-orient{text-align:center}.zone-list-row{grid-template-columns:1.75rem minmax(0,1.15fr) 6.5rem minmax(0,1fr) 2rem;grid-template-areas:"num label orient syn remove";padding:.35rem 0}.zone-list-row>.zone-orient-toggle{justify-self:center}.zone-list-remove{justify-self:center}}.zone.ok{border-color:var(--ok);background:#5fad7a40}.zone.bad{border-color:var(--danger);background:#c45c5c40}.zone.pending{border-color:var(--muted);background:#a8b5b01f}.zone-fit{width:max-content;height:auto;max-width:min(46%,18rem);padding:.25rem .35rem}.zone-label{display:block;padding:.1rem .15rem;border-radius:2px;background:#fffffff2;color:#111;font-size:.78rem;font-weight:600;line-height:1.2;text-align:center;white-space:pre-line;overflow-wrap:anywhere;pointer-events:none}.zone-label--vertical{display:inline-flex;flex-direction:column;align-items:center;letter-spacing:.05em;font-size:.72rem;line-height:1.05;white-space:normal}.zone-label-line{display:block}.zone-text{cursor:text;touch-action:auto;padding:.15rem;overflow:visible;min-width:2.5rem;min-height:1.4rem}.zone-text-input{display:block;width:100%;min-width:2.25rem;box-sizing:border-box;border:none;background:#fffffff2;color:#111;font:inherit;font-size:max(.72rem,.65em);font-weight:600;line-height:1.2;text-align:center;padding:.12rem .2rem;border-radius:2px;outline:none}.zone-text-input:focus{box-shadow:0 0 0 2px var(--accent-2)}.bank{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.chip{border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);border-radius:999px;padding:.45rem .85rem;cursor:grab}.chip:active{cursor:grabbing}.stack{display:grid;gap:.75rem}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.train-congrats{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--ok) 55%,var(--line));background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ink);font-weight:600;animation:congrats-in .55s ease both}.train-congrats-burst{display:inline-flex;color:var(--accent-2);font-size:1.35rem;animation:congrats-pop .7s ease both}@keyframes congrats-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes congrats-pop{0%{transform:scale(.4) rotate(-20deg);opacity:0}60%{transform:scale(1.25) rotate(8deg);opacity:1}to{transform:scale(1) rotate(0)}}@media(max-width:640px){.topbar{flex-direction:column;align-items:flex-start}.course-row{flex-direction:column;align-items:stretch}.course-row-actions{justify-content:flex-end;padding:0 .85rem .75rem}}.course-create{border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;background:#00000024;margin-bottom:.5rem}.course-create-actions{display:flex;align-items:center;gap:.85rem}.course-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.course-row{display:flex;align-items:stretch;gap:.5rem;border:1px solid var(--line);border-radius:12px;background:#00000024;transition:border-color .2s ease,background .2s ease}.course-row:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:#00000038}.course-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem;color:inherit;text-decoration:none}.course-row-main:hover{text-decoration:none}.course-row-title{font-weight:600;line-height:1.35}.course-row-meta{color:var(--muted);font-size:.9rem}.course-row-actions{display:flex;align-items:center;gap:.65rem;padding:.65rem .9rem .65rem 0;flex-shrink:0}.course-row-actions button.linkish:disabled{opacity:.35;cursor:not-allowed}.course-row-edit{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;padding:.75rem 1rem}.course-row-edit input{flex:1 1 220px;margin:0}.revision-panel{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.revision-panel h2{margin:0;font-size:1.15rem}.revision-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.revision-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.revision-row:last-child{border-bottom:0}.revision-row.is-preview{background:color-mix(in srgb,var(--accent) 12%,transparent);margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem;border-radius:8px}.revision-actions{display:flex;flex-shrink:0;gap:.4rem}.revision-row button{flex-shrink:0}.revision-preview-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,transparent)}.revision-preview-banner p{margin:0;flex:1 1 220px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0000008c}.modal{width:min(420px,100%);max-height:min(90vh,640px);overflow:auto}.modal-start{width:min(460px,100%)}.modal-start h2,.modal-start-lead{margin:0}.modal label{display:flex;flex-direction:column;gap:.35rem}.interaction-fieldset{border:none;margin:0;padding:0}.interaction-option{display:flex;align-items:center;gap:.5rem;font-weight:500}.interaction-cards{display:flex;flex-direction:column;gap:.65rem}.interaction-card{display:flex;align-items:flex-start;gap:.85rem;width:100%;text-align:left;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--bg) 55%,transparent);color:var(--ink);cursor:pointer;font:inherit;transition:border-color .15s ease,background .15s ease,transform .15s ease}.interaction-card:hover{border-color:color-mix(in srgb,var(--accent-2) 40%,var(--line));background:color-mix(in srgb,var(--bg-elev) 80%,transparent)}.interaction-card.selected{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));background:color-mix(in srgb,var(--accent) 16%,var(--bg-elev));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.interaction-card-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:12px;background:color-mix(in srgb,var(--accent-2) 14%,transparent);color:var(--accent-2)}.interaction-card.selected .interaction-card-icon{background:color-mix(in srgb,var(--accent) 28%,transparent);color:#b8e6d8}.interaction-card-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.interaction-card-body strong{font-family:var(--font-display);font-size:1.05rem;font-weight:700}.interaction-card-body .muted{font-size:.92rem;line-height:1.35}.modal-start-actions{margin-top:.25rem}.admin-tabs{flex-wrap:wrap}.progress-chart{width:100%;max-width:640px;margin:.5rem 0 .75rem}.progress-chart .recharts-cartesian-axis-tick-value{fill:var(--muted)}.progress-chart-caption{margin:.25rem 0 0;font-size:.9rem}.progress-chart-meta{display:flex;justify-content:space-between;font-size:.85rem;margin-top:.35rem}.schema-detail-header h1{margin:.15rem 0 .35rem}.schema-detail-crumb{margin:0;font-size:.95rem}.schema-detail-crumb a{color:var(--muted)}.schema-detail-crumb a:hover{color:var(--accent-2)}.schema-detail-desc{margin:.25rem 0 0;max-width:42rem}.schema-detail-meta{margin:.35rem 0 0}.schema-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.schema-icon-actions{display:flex;align-items:center;gap:.35rem;margin-left:auto}.schema-icon-actions-solo{margin-left:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;padding:0;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg-elev) 70%,transparent);color:var(--muted);cursor:pointer;text-decoration:none}.icon-btn:hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent-2) 45%,var(--line));text-decoration:none}.schema-report-done{font-size:.85rem}.schema-primary-actions{margin-top:.25rem}.schema-my-stats,.schema-comments{margin-top:1.25rem}.comment-list{list-style:none;margin:0;padding:0;gap:1.25rem}.comment-replies{list-style:none;margin:0;padding:0 0 0 1.25rem;border-left:2px solid var(--line);gap:.75rem}.comment-body{margin:.35rem 0 .5rem;white-space:pre-wrap;word-break:break-word}.schema-stat-pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.schema-stat-pills li{display:grid;gap:.15rem;min-width:6.5rem}.schema-stat-pills strong{font-size:1.25rem;font-family:var(--font-display)}.progress-list{margin:0;padding-left:1.1rem}.wishlist-page h1{font-family:var(--font-display);margin:0}.wishlist-list{list-style:none;margin:0;padding:0;gap:1rem}.wishlist-idea-head{align-items:flex-start;gap:.85rem}.wishlist-vote{display:grid;place-items:center;gap:.15rem;min-width:3rem;padding:.45rem .35rem;border:1px solid var(--line);background:#0f1c1a8c;color:var(--muted);cursor:pointer;border-radius:.35rem;font:inherit}.wishlist-vote.voted{color:var(--accent-2);border-color:#e8c27a73;background:#e8c27a1a}.wishlist-vote strong{font-size:.95rem}.wishlist-idea-meta{flex:1;gap:.2rem}.wishlist-title-row{align-items:center;flex-wrap:wrap;gap:.5rem .75rem}.wishlist-title-row h2{margin:0;font-size:1.15rem;font-family:var(--font-display)}.wishlist-body{margin:0;white-space:pre-wrap;word-break:break-word}.wishlist-filters{flex-wrap:wrap;gap:.5rem}.status-badge{display:inline-block;font-size:.75rem;letter-spacing:.02em;padding:.15rem .5rem;border:1px solid var(--line);border-radius:.25rem;color:var(--muted);background:#0f1c1a66}.status-badge.status-open{color:var(--ink)}.status-badge.status-in_progress{color:var(--accent-2);border-color:#e8c27a59}.status-badge.status-done{color:var(--ok);border-color:#5fad7a66}.wishlist-admin-badge{display:inline-block;margin-left:.4rem;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.1rem .4rem;border:1px solid rgba(61,155,132,.5);color:var(--accent);border-radius:.2rem;vertical-align:middle}.wishlist-replies{list-style:none;margin:0;padding:0 0 0 1.1rem;border-left:2px solid var(--line);gap:.75rem}.wishlist-status-select{display:flex;align-items:center;gap:.5rem}.changelog-panel{gap:1rem}.changelog-entry{gap:.75rem}.changelog-version-title{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.changelog-date{font-family:var(--font-body);font-size:.95rem;font-weight:500}.changelog-section-title{margin:0;font-size:1.05rem}.changelog-items{margin:0;padding-left:1.2rem}.changelog-items li{margin:.35rem 0;line-height:1.4}.changelog-section--nouveaute .changelog-section-title{color:var(--accent-2)}.changelog-section--amelioration .changelog-section-title{color:var(--accent)}.changelog-section--comportement .changelog-section-title{color:var(--ink)}.changelog-section--correction .changelog-section-title{color:var(--ok)}
