:root{color-scheme:light;--background:#fcf8f1;--surface-2:#f2ece0;--foreground:#15333f;--muted:#5b6b72;--line:#e7ded0;--panel:#fff;--primary:#007c77;--primary-dark:#006661;--primary-soft:#e7f3f2;--accent:#e86900;--accent-soft:#fdefe3;--accent-2:#fbb828;--accent-2-soft:#fef6e1;--success:#00a11a;--navy:#053852;--danger:#d6453f;--radius:14px;--radius-lg:20px;--shadow-sm:0 8px 20px rgb(5 56 82/8%);--shadow-md:0 16px 38px rgba(5,56,82,.1);--ring:0 0 0 3px rgba(0,124,119,.18)}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--background);color:var(--foreground);font-family:Nunito,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.55}h1,h2,h3{font-family:Dosis,Nunito,ui-sans-serif,system-ui,sans-serif}h1{font-size:30px;letter-spacing:-.2px;line-height:1.2}h1,h2{font-weight:700;color:var(--navy)}h2{font-size:21px;letter-spacing:-.1px}h3{font-size:17px;font-weight:700}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(135deg,var(--navy),#032334)}.auth-card,.panel{width:min(100%,440px);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-md)}.auth-card{width:min(100%,380px);padding:34px 30px;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.25)}.auth-brand{text-align:center;margin-bottom:8px}.auth-card h1{text-align:center;font-size:1.35rem;margin-bottom:4px}.auth-sub{text-align:center;color:var(--muted);font-size:.85rem;margin-bottom:22px}.auth-card .button{width:100%;margin-top:6px;padding:12px}.app-shell{min-height:100vh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:linear-gradient(120deg,rgba(5,56,82,.97),rgba(0,30,54,.97));border-bottom:1px solid hsla(0,0%,100%,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#eaf3f6}.topbar-inner{justify-content:space-between;gap:16px;max-width:1080px;margin:0 auto;padding:.75rem 1.2rem}.topbar-inner,.topbar-title{display:flex;align-items:center}.topbar-title{gap:14px}.topbar-title strong{font-size:18px}.topbar .topbar-user{color:#bcd5da;font-size:14px;font-weight:600}.topbar-actions{display:flex;align-items:center;gap:6px}.topbar-icon{display:inline-flex;align-items:center;justify-content:center;padding:.55rem;border-radius:9px;color:#bcd5da;transition:background .15s ease,color .15s ease}.topbar-icon:hover{background:hsla(0,0%,100%,.1);color:#fff}.topbar-icon svg{width:21px;height:21px;display:block}.topbar-icon-exit:hover{background:rgba(214,69,63,.5);color:#fff}.muted,.topbar-title span{color:var(--muted);font-size:14px}.topbar .row-actions{align-items:center}.topbar-brand-logo{display:block;height:1.9rem;width:auto}.auth-logo{display:block;width:auto;height:42px;object-fit:contain;margin:0 auto}.main{margin:0 auto;max-width:1080px;padding:40px 24px 64px}.panel{width:100%;padding:28px}.stack{display:grid;grid-gap:16px;gap:16px}.form{display:grid;grid-gap:14px;gap:14px}.field{display:grid;grid-gap:6px;gap:6px}.field label{color:var(--muted);font-size:14px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:12px 13px;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.field textarea:focus,.filter-bar input:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.field textarea{min-height:120px;resize:vertical}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;font-weight:600;padding:0 20px;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}.button:hover{background:var(--primary-dark);box-shadow:0 4px 14px rgb(0 124 119/22%)}.button:active{transform:translateY(1px)}.button:focus-visible{outline:none;box-shadow:var(--ring)}.button-secondary{border:1px solid var(--line);background:#fff;color:var(--foreground)}.button-secondary:hover{background:var(--surface-2);box-shadow:none}.error{border:1px solid rgba(163,59,59,.25);border-radius:6px;background:rgb(163 59 59/8%);color:var(--danger);padding:10px 12px}.dashboard-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.summary-card{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm);padding:22px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.summary-card:hover{transform:translateY(-3px);border-color:rgb(0 124 119/35%);box-shadow:var(--shadow-md)}.summary-card h2{margin:0}.summary-card .muted{flex:1 1;line-height:1.5}.card-icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:12px;background:var(--primary-soft);color:var(--primary);margin-bottom:4px}.card-icon svg{width:23px;height:23px}.summary-card .text-link{margin-top:4px}.summary-card .text-link:after{content:" →";transition:margin-left .15s ease}.summary-card:hover .text-link:after{margin-left:3px}.compact-definition-list{display:grid;grid-gap:8px;gap:8px;margin:0}.compact-definition-list div{display:grid;grid-template-columns:minmax(120px,.8fr) 1.2fr;grid-gap:12px;gap:12px}.compact-definition-list dt{color:var(--muted);font-size:13px;font-weight:700}.compact-definition-list dd{margin:0;font-weight:650}.toolbar{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:16px}.page-heading{display:grid;grid-gap:4px;gap:4px}.page-heading h1,.page-heading p{margin:0}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid var(--line);padding:15px 16px;text-align:left;vertical-align:middle}th{background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}tbody tr{transition:background .12s ease}tbody tr:hover{background:rgb(0 124 119/3%)}tr:last-child td{border-bottom:0}.row-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.link-button,.text-link{border:0;background:transparent;color:var(--primary);cursor:pointer;font-weight:600;padding:0;transition:color .12s ease}.link-button:hover,.text-link:hover{color:var(--primary-dark);text-decoration:underline;text-underline-offset:3px}.status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:12.5px;font-weight:600;padding:5px 11px}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-active{background:#e7f6ee;color:#1f7a47}.status-inactive{background:#fbecec;color:var(--danger)}.sequence-display{display:flex;flex-wrap:wrap;gap:12px;min-height:74px;align-items:center}.number-button,.sequence-item{display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;border-radius:8px;font-size:24px;font-weight:750}.sequence-item{border:1px solid var(--line);background:#eef6f8}.number-pad{display:grid;max-width:240px;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,1fr)}.number-button{border:1px solid var(--line);background:#fff;color:var(--foreground);cursor:pointer}.number-button:hover{border-color:var(--primary)}.semantic-version-marker{border:3px solid #a33b3b;border-radius:8px;background:#fff2f2;color:#7b2020;font-size:22px;font-weight:900;padding:12px 16px;text-align:center}.semantic-runner{width:min(100%,1180px);margin:0 auto;font-size:18px}.semantic-start-card,.semantic-workspace{display:grid;grid-gap:15px;gap:15px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 10px 30px rgb(0 0 0/8%);padding:20px}.semantic-start-card{grid-template-columns:1fr auto;align-items:center;background:#fff}.semantic-start-card h2{margin:2px 0 0;font-size:32px}.semantic-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;padding:0}.semantic-title-block{display:flex;align-items:center;gap:16px}.semantic-logo{display:inline-flex;width:66px;height:66px;align-items:center;justify-content:center;border-radius:8px;background:var(--primary);color:#fff;font-size:24px;font-weight:850}.semantic-title-block p{margin:0;color:var(--muted);font-size:15px;font-weight:700}.semantic-title-block h2{margin:2px 0;font-size:30px;line-height:1.08}.semantic-toolbar{display:grid;justify-items:end;grid-gap:12px;gap:12px}.semantic-time-badge{border:1px solid var(--line);border-radius:10px;background:#e7f3f2;color:#007c77;font-size:20px;font-weight:800;padding:12px 16px}.semantic-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:15px}.semantic-actions .button{min-height:42px;font-size:16px}.semantic-stimuli-panel{display:grid;align-content:start;min-height:118px;border:1px dashed var(--line);border-radius:12px;background:#fafafa;overflow-x:auto;padding:18px}.semantic-stimuli-grid{display:grid;align-items:center;grid-gap:14px;gap:14px;grid-template-columns:repeat(5,150px);justify-content:center;min-width:max-content}.semantic-chip{width:100%;min-height:48px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:var(--foreground);cursor:pointer;font-size:18px;font-weight:750;padding:8px 14px;transition:transform .12s ease,border-color .12s ease,background .12s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.semantic-slot{align-items:center;display:flex;justify-content:center;min-height:52px;width:150px}.semantic-slot-empty{border:2px dashed transparent}.semantic-chip-origin-placed{background:transparent;border:2px dashed #94a3b8;color:transparent;opacity:.12;visibility:visible;pointer-events:none}.semantic-chip-selected,.semantic-chip:hover:not(:disabled){border-color:#cf5d00;background:#fdefe3;color:#b34e00;box-shadow:0 0 0 2px rgba(29,78,216,.15);transform:translateY(-1px)}.semantic-chip-placed{min-height:46px;width:auto;background:#fff;font-size:18px}.semantic-categories-grid{display:grid;grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.semantic-category-card{overflow:hidden;min-height:260px;border:2px solid #94a3b8;border-radius:14px;background:#f8fafc;display:flex;flex-direction:column;gap:15px}.semantic-category-title{width:100%;min-height:62px;border:0;background:#007c77;color:#fff;cursor:pointer;font-size:24px;font-weight:850;letter-spacing:0;padding:0 14px;text-align:center}.semantic-category-title:disabled{cursor:default;opacity:.95}.semantic-category-body{display:flex;flex-wrap:wrap;gap:15px;align-content:flex-start;min-height:170px;padding:12px}.semantic-empty-category{display:grid;width:100%;min-height:84px;place-items:center;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:16px;font-weight:700}.semantic-complete-state{display:grid;min-height:92px;place-items:center;border:1px dashed #8bbda1;border-radius:8px;background:#eef8f2;color:#236b43;font-weight:850}.semantic-summary-bar{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;border:1px solid #d5e2ea;border-radius:8px;background:#fff;padding:14px}.semantic-summary-bar span{border:1px solid var(--line);border-radius:999px;background:#eef6f8;color:var(--primary-dark);font-size:17px;font-weight:850;padding:8px 14px}.categorizacion-runner{width:min(1180px,100%);margin:0 auto}.activity-stage{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--background);padding:6px}.activity-stage-inner{width:min(1180px,100%)}.activity-stage .aso-board,.activity-stage .categorizacion-workspace,.activity-stage .semantic-workspace{width:100%;border:none;border-radius:0;background:transparent;box-shadow:none}.categorizacion-start,.categorizacion-workspace{border:1px solid #d7e1e8;border-radius:12px;background:#f6f8fb;box-shadow:0 18px 46px rgb(15 23 42/8%)}.categorizacion-start{display:grid;min-height:260px;place-items:center;grid-gap:18px;gap:18px;padding:32px;text-align:center}.categorizacion-start-copy{max-width:620px}.categorizacion-start-copy h2{margin:0 0 12px;font-size:32px}.categorizacion-start-copy p{margin:0;font-size:18px;line-height:1.5}.categorizacion-start-button{min-width:180px;min-height:48px;font-size:18px}.categorizacion-start-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.categorizacion-config-summary{display:grid;grid-gap:10px;gap:10px;margin:18px auto 0;max-width:720px;text-align:left}.categorizacion-config-summary div{display:grid;grid-template-columns:190px 1fr;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px}.categorizacion-config-summary dt{color:var(--muted);font-weight:800}.categorizacion-config-summary dd{margin:0;font-weight:800}.categorizacion-workspace{--category-count:2;--category-gap:18px;--category-card-min-width:220px;--category-card-min-height:260px;--category-title-min-height:66px;--category-title-font-size:25px;--category-body-min-height:180px;--category-body-gap:14px;--category-body-padding:14px;--chip-font-size:18px;--chip-min-height:50px;--chip-padding-block:8px;--chip-padding-inline:14px;--empty-font-size:16px;--empty-min-height:96px;--placed-chip-min-width:130px;--slot-min-height:54px;--stimuli-gap:14px;--stimuli-min-width:140px;--stimuli-mobile-min-width:128px;--stimuli-panel-padding:20px;--workspace-gap:18px;--workspace-padding:18px;display:grid;grid-gap:var(--workspace-gap);gap:var(--workspace-gap);padding:var(--workspace-padding)}.categorizacion-layout-dense{--category-gap:10px;--category-card-min-width:196px;--category-card-min-height:204px;--category-title-min-height:48px;--category-title-font-size:20px;--category-body-min-height:132px;--category-body-gap:8px;--category-body-padding:10px;--chip-font-size:15px;--chip-min-height:38px;--chip-padding-block:6px;--chip-padding-inline:10px;--empty-font-size:14px;--empty-min-height:64px;--placed-chip-min-width:96px;--slot-min-height:42px;--stimuli-gap:8px;--stimuli-min-width:112px;--stimuli-mobile-min-width:108px;--stimuli-panel-padding:12px;--workspace-gap:12px;--workspace-padding:14px}.categorizacion-header{display:flex;align-items:flex-start;justify-content:flex-end;gap:18px}.categorizacion-title{display:flex;align-items:center;gap:14px}.categorizacion-title p{margin:0 0 4px;color:var(--muted);font-size:15px;font-weight:800}.categorizacion-title h2{margin:0;font-size:28px}.categorizacion-logo{display:grid;width:58px;height:58px;place-items:center;border-radius:12px;background:#007c77;color:#fff;font-size:22px;font-weight:900}.categorizacion-toolbar{display:grid;justify-items:end;grid-gap:8px;gap:8px;width:100%}.categorizacion-time{border:1px solid #b7ded9;border-radius:10px;background:#e7f3f2;color:#007c77;font-size:18px;font-weight:850;padding:9px 14px}.categorizacion-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:8px;width:100%}.categorizacion-actions .button{min-height:38px;padding:0 12px;font-size:14px;white-space:nowrap}.categorizacion-stimuli-panel{overflow-x:auto;border:1px solid #d7e1e8;border-radius:12px;background:#fff;padding:var(--stimuli-panel-padding)}.categorizacion-task-area{position:relative;display:grid;grid-gap:var(--workspace-gap);gap:var(--workspace-gap)}.categorizacion-task-area-paused .categorizacion-categories-grid,.categorizacion-task-area-paused .categorizacion-stimuli-panel{filter:blur(3px);opacity:.45;pointer-events:none}.categorizacion-pause-overlay{position:absolute;z-index:2;inset:0;display:grid;place-items:center;border-radius:12px;color:#007c77;font-size:28px;font-weight:900;pointer-events:none}.categorizacion-stimuli-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--stimuli-gap)}.categorizacion-slot{display:flex;align-items:center;justify-content:center;min-width:0;min-height:var(--slot-min-height)}.categorizacion-chip,.categorizacion-placeholder{width:auto;min-height:var(--chip-min-height);border-radius:999px;white-space:nowrap}.categorizacion-chip{border:1px solid #cbd5e1;background:#fff;color:var(--foreground);cursor:pointer;font-size:var(--chip-font-size);font-weight:800;line-height:1.15;padding:var(--chip-padding-block) var(--chip-padding-inline);transition:background .12s ease,border-color .12s ease,transform .12s ease}.categorizacion-chip-selected,.categorizacion-chip:hover:not(:disabled){border-color:#e86900;background:#fdefe3;color:#b34e00;box-shadow:0 0 0 2px rgba(232,105,0,.16);transform:translateY(-1px)}.categorizacion-placeholder{display:block;min-width:var(--placed-chip-min-width);border:2px dashed #b6c4d2;background:#f8fafc}.categorizacion-placeholder-omitted{display:grid;place-items:center;border-color:#f59e0b;background:#fffbeb;color:#92400e;font-size:16px;font-weight:800}.categorizacion-categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--category-card-min-width)),1fr));grid-gap:var(--category-gap);gap:var(--category-gap)}.categorizacion-category-card{display:flex;min-height:var(--category-card-min-height);overflow:hidden;flex-direction:column;border:2px solid #94a3b8;border-radius:14px;background:#f8fafc}.categorizacion-category-card-target{cursor:pointer}.categorizacion-category-card-target:hover{border-color:#e86900;box-shadow:0 0 0 3px rgba(232,105,0,.12)}.categorizacion-category-title{width:100%;display:grid;place-items:center;min-height:var(--category-title-min-height);border:0;background:#007c77;color:#fff;font-size:var(--category-title-font-size);font-weight:900;line-height:1.1;padding:0 14px;overflow-wrap:normal;word-break:normal;text-align:center}.categorizacion-category-title:disabled{cursor:default;opacity:.95}.categorizacion-category-body{display:flex;min-height:var(--category-body-min-height);flex:1 1;align-content:flex-start;flex-wrap:wrap;gap:var(--category-body-gap);padding:var(--category-body-padding)}.categorizacion-placed-chip{width:auto;min-width:var(--placed-chip-min-width)}.categorizacion-chip-correct{border-color:#16a34a;background:#dcfce7;color:#166534}.categorizacion-chip-incorrect{border-color:#dc2626;background:#fee2e2;color:#991b1b}.categorizacion-empty{display:grid;width:100%;min-height:var(--empty-min-height);place-items:center;border:1px dashed #cbd5e1;border-radius:10px;color:var(--muted);font-size:var(--empty-font-size);font-weight:800}@media (min-width:980px){.categorizacion-categories-grid{grid-template-columns:repeat(var(--category-count),minmax(0,1fr))}}.categorizacion-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;border:1px solid #d7e1e8;border-radius:10px;background:#fff;padding:14px}.categorizacion-summary span{border:1px solid var(--line);border-radius:999px;background:#eef6f8;color:var(--primary-dark);font-size:17px;font-weight:850;padding:8px 14px}.categorizacion-result-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;border:2px solid #b7ded9;border-radius:12px;background:#f0fdfa;padding:16px}.categorizacion-result-summary span{border-radius:999px;background:#fff;color:#007c77;font-size:18px;font-weight:900;padding:10px 16px}.guided-config{display:grid;grid-gap:14px;gap:14px;border:1px solid #d7e1e8;border-radius:8px;background:#f8fafc;padding:16px}.guided-config h3{margin:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.checkbox-row{display:flex;align-items:center;gap:8px;font-weight:700}.category-picker{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px}.category-picker legend{padding:0 6px;font-weight:850}.category-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:10px;gap:10px}@media (max-width:780px){.topbar-brand-logo{height:26px}.topbar .topbar-user{display:none}.categorizacion-header,.categorizacion-start{align-items:stretch;flex-direction:column}.categorizacion-toolbar{justify-items:stretch}.categorizacion-actions{justify-content:flex-start;overflow-x:auto}.categorizacion-stimuli-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--stimuli-mobile-min-width)),1fr));justify-content:stretch}}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm);padding:18px}.filter-bar input{min-height:44px;border:1px solid var(--line);border-radius:var(--radius);padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease}.evo-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.evo-note{margin:4px 0 0;font-size:13px}.evo-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:10px;gap:10px}.evo-metric{display:flex;flex-direction:column;gap:3px;background:var(--surface-2);border-radius:var(--radius);padding:12px 14px}.evo-metric-label{font-size:12px;color:var(--muted)}.evo-metric-value{font-size:22px;font-weight:600}.evo-trend-up{color:#1f7a47}.evo-trend-down{color:var(--danger)}.evo-chart{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:10px 6px}.evo-legend{display:flex;flex-wrap:wrap;gap:16px}.evo-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--muted)}.evo-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.evo-dot-acc{background:#007c77}.evo-dot-diff{background:#b9791b}.evo-dash{display:inline-block;width:16px;height:0;border-top:2px dashed #007c77}.evo-filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.evo-filter-link{border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;color:var(--muted);background:#fff;transition:border-color .12s ease,background .12s ease}.evo-filter-link:hover{border-color:rgb(0 124 119/35%)}.evo-filter-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark);font-weight:600}.tech-raw{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:4px 16px}.tech-raw>summary{cursor:pointer;list-style:none;padding:10px 0;font-size:13px;font-weight:600;color:var(--muted)}.tech-raw>summary::-webkit-details-marker{display:none}.tech-raw>summary:before{content:"▸  "}.tech-raw[open]>summary:before{content:"▾  "}.tech-raw h3{font-size:13px;color:var(--muted);margin:0 0 6px}.tech-raw pre{background:var(--surface-2);border-radius:var(--radius);padding:12px;font-size:12px}.filter-summary{display:inline-flex;align-items:center;gap:8px;width:max-content;cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm);padding:10px 16px;font-size:14px;font-weight:600;color:var(--foreground)}.filter-summary::-webkit-details-marker{display:none}.filter-summary svg{width:18px;height:18px;color:var(--primary)}.filter-toggle[open] .filter-summary{margin-bottom:14px;border-color:var(--primary);color:var(--primary-dark)}.filter-field{display:flex;flex-direction:column;gap:5px}.filter-field label{font-size:12px;color:var(--muted)}.filter-bar select{min-height:44px;border:1px solid var(--line);border-radius:var(--radius);padding:0 12px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.filter-bar select:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.filter-actions{display:flex;align-items:center;gap:14px}.custom-cat-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.custom-cat-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-2);border-radius:var(--radius);padding:8px 12px;font-size:14px}.link-danger{color:var(--danger)}.link-danger:hover{color:#8f3437;text-decoration:underline;text-underline-offset:3px}.search-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-form input{flex:1 1;min-width:200px;min-height:44px;border:1px solid var(--line);border-radius:var(--radius);padding:0 13px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.search-form input:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.aso-board{position:relative;display:grid;grid-gap:16px;gap:16px}.aso-topbar{justify-content:space-between}.aso-controls,.aso-topbar{display:flex;align-items:center}.aso-controls{gap:10px}.icon-button-danger{border-color:#fca5a5;color:#dc2626}.icon-button-danger:hover{border-color:#dc2626;background:#fef2f2;color:#b91c1c}.aso-board-paused .aso-actions,.aso-board-paused .aso-slide{filter:blur(4px);opacity:.45;pointer-events:none}.aso-pause-overlay{position:absolute;inset:0;z-index:3;display:grid;place-items:center;color:#007c77;font-size:30px;font-weight:900;pointer-events:none}.aso-timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:14px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 12px}.aso-slide{display:grid;grid-template-columns:1fr minmax(140px,1.2fr) 1fr;grid-template-areas:"tl img tr" "ml img mr" ".  b   .";align-items:center;justify-items:center;grid-column-gap:28px;column-gap:28px;grid-row-gap:56px;row-gap:56px;min-height:460px}.aso-image{grid-area:img;font-size:120px;line-height:1}.aso-pos-tl{grid-area:tl}.aso-pos-tr{grid-area:tr}.aso-pos-ml{grid-area:ml}.aso-pos-mr{grid-area:mr}.aso-pos-b{grid-area:b}.aso-pos-ml,.aso-pos-mr{transform:translateY(28px)}.aso-group{display:grid;grid-gap:8px;gap:8px;width:100%;max-width:220px}.aso-word{border:1px solid var(--line);border-radius:var(--radius);background:#fff;cursor:pointer;padding:10px 14px;font-size:16px;font-weight:500;color:var(--foreground);transition:border-color .12s ease,background .12s ease}.aso-word:hover{border-color:rgba(0,124,119,.4)}.aso-word-selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);font-weight:600}.aso-word-correct{border-color:#1f7a47;background:#e7f6ee;color:#1f7a47;font-weight:600}.aso-word-wrong{border-color:var(--danger);background:#fbecec;color:var(--danger);font-weight:600}.aso-image-photo{max-width:286px;max-height:286px;object-fit:contain;border-radius:var(--radius)}.aso-actions{display:flex;justify-content:flex-end}.aso-result-head{display:flex;align-items:center;justify-content:space-between}.aso-result-score{font-size:28px;font-weight:600;color:var(--primary)}.aso-review{display:flex;gap:18px;align-items:center}.aso-review-image{font-size:56px;line-height:1;flex:none}.aso-review-groups{display:grid;grid-gap:8px;gap:8px}.aso-review-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}@media (max-width:640px){.aso-slide{grid-template-columns:1fr 1fr;grid-template-areas:"img img" "tl tr" "ml mr" "b b";min-height:0}.aso-image{font-size:88px}.aso-pos-ml,.aso-pos-mr{transform:none}}pre{overflow-x:auto;margin:0;white-space:pre-wrap}.tag-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--background);color:var(--muted);font-size:12px;font-weight:800;line-height:1;padding:5px 10px;white-space:nowrap}.tag-chip-row,.tag-filter-chips,.tag-select-grid{display:flex;flex-wrap:wrap;gap:8px}.tag-filter-chips .tag-chip,.tag-select-grid .tag-chip{cursor:pointer}.tag-chip-off{opacity:.85}.tag-chip-on{border-width:2px;background:#fdefe3;color:#b34e00}.tag-select-grid .tag-chip input{margin:0}.icon-button{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--foreground);cursor:pointer;transition:border-color .12s ease,color .12s ease}.icon-button-active,.icon-button:hover{border-color:#e86900;color:#e86900}.activity-filter-bar{display:flex;align-items:center;gap:10px}.activity-filter-search{width:100%}.activity-grid{display:grid;grid-gap:16px;gap:16px}.activity-warning{margin:0;border:1px solid var(--accent-2,#fbb828);border-radius:10px;background:var(--accent-2-soft,#fef6e1);color:#8a5a00;font-size:13px;font-weight:700;padding:8px 12px}.advanced-config{border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:12px 14px}.advanced-config summary{cursor:pointer;font-weight:800;color:var(--muted)}.advanced-config>.stack{margin-top:14px}.tag-editor-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.tag-color-field{max-width:90px}.tag-color-field input[type=color]{width:52px;height:42px;padding:2px;cursor:pointer}.tag-admin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.tag-admin-item{display:flex;flex-wrap:wrap;align-items:center;gap:16px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px 14px}.button-danger{border-color:#dc2626;background:#dc2626;color:#fff}.button-danger:hover{background:#b91c1c;border-color:#b91c1c}