:root{--bg: #eef2f5;--card: #ffffff;--ink: #1f2a33;--ink-soft: #5a6b78;--line: #d8e0e6;--accent: #2b6777;--accent-ink: #ffffff;--accent-soft: #e3eef1;--green: #2e8b57;--green-bg: #e7f4ec;--yellow: #b07d00;--yellow-bg: #fbf2dc;--red: #c0392b;--red-bg: #fbe7e4;--gray: #93a1ab;--gray-bg: #eef2f5;--radius: 12px;--shadow: 0 1px 3px rgba(31, 42, 51, .08), 0 4px 16px rgba(31, 42, 51, .04)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:Segoe UI,Assistant,Rubik,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}h1,h2,h3{font-weight:600;line-height:1.3}button{font-family:inherit;font-size:inherit;cursor:pointer}input,textarea{font-family:inherit;font-size:inherit}.app{max-width:980px;margin:0 auto;padding:0 1.25rem 4rem}.screen{display:flex;flex-direction:column;gap:1.25rem;padding-top:1.25rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.4rem}.card h2{font-size:1.15rem;margin-bottom:.35rem}.muted{color:var(--ink-soft)}.stack{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.spread{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.topbar{position:sticky;top:0;z-index:10;background:#eef2f5eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);padding:.7rem 1.25rem;margin:0 -1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand{display:flex;align-items:baseline;gap:.5rem;font-weight:700;color:var(--accent)}.brand small{font-weight:400;color:var(--ink-soft)}.privacy-banner{background:var(--red-bg);border:1px solid #f0c4bd;color:#8c2c20;border-radius:10px;padding:.55rem .85rem;font-size:.85rem;display:flex;gap:.5rem;align-items:center}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:9px;padding:.5rem .95rem;transition:background .15s,border-color .15s,opacity .15s}.btn:hover{background:#f3f6f8}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:#235460}.btn-ghost{background:transparent}.btn-danger{border-color:#e3b1aa;color:var(--red);background:#fff}.btn-danger:hover{background:var(--red-bg)}.btn-sm{padding:.3rem .6rem;font-size:.85rem}.field{display:flex;flex-direction:column;gap:.3rem}.field label{font-size:.85rem;color:var(--ink-soft)}.field input,.field textarea,.response-input,.notes-input,.count-input{border:1px solid var(--line);border-radius:8px;padding:.5rem .65rem;background:#fff;color:var(--ink);width:100%}.field input:focus,.response-input:focus,.notes-input:focus,.count-input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem}.badge{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:600;white-space:nowrap}.badge--green{background:var(--green-bg);color:var(--green)}.badge--yellow{background:var(--yellow-bg);color:var(--yellow)}.badge--red{background:var(--red-bg);color:var(--red)}.badge--gray{background:var(--gray-bg);color:var(--gray)}.badge--accent{background:var(--accent-soft);color:var(--accent)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot--green{background:var(--green)}.dot--yellow{background:var(--yellow)}.dot--red{background:var(--red)}.dot--gray{background:var(--gray)}.subtest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.subtest-card{display:flex;flex-direction:column;gap:.6rem}.subtest-card .counters{display:flex;gap:.4rem;flex-wrap:wrap}.metric{font-size:1.5rem;font-weight:700;color:var(--accent)}.count-field{display:flex;flex-direction:column;gap:.35rem;max-width:12rem}.count-field span{font-weight:600}.count-input{font-size:1.4rem;font-weight:700;text-align:center}.item-table{display:flex;flex-direction:column;gap:.6rem}.item-row{display:grid;grid-template-columns:2.2rem 1fr;gap:.4rem .8rem;border:1px solid var(--line);border-radius:10px;padding:.75rem .85rem;background:#fff;border-inline-start:4px solid var(--gray)}.item-row--green{border-inline-start-color:var(--green)}.item-row--yellow{border-inline-start-color:var(--yellow)}.item-row--red{border-inline-start-color:var(--red);background:#fffaf9}.item-row--gray{border-inline-start-color:var(--gray)}.item-row--skipped{opacity:.55;background:var(--gray-bg)}.item-row--focus{outline:2px solid var(--accent);outline-offset:2px}.item-num{font-weight:700;color:var(--ink-soft);grid-row:1 / span 2}.item-main{display:flex;flex-direction:column;gap:.55rem}.item-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.item-prompt{font-weight:500}.item-controls{display:flex;gap:.9rem;flex-wrap:wrap;align-items:flex-end}.item-controls .field{flex:1 1 200px}.item-toggles{display:flex;gap:.4rem}.notes-input{min-height:2.1rem;resize:vertical}.seq-group{display:flex;flex-direction:column;gap:.6rem}.seq-group+.seq-group{margin-top:.5rem}.seq-group-title{font-size:.95rem;color:var(--accent);padding-bottom:.2rem;border-bottom:1px solid var(--line)}.seq-trials{display:flex;flex-direction:column;gap:.4rem}.seq-trial{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem .7rem;border:1px solid var(--line);border-radius:8px;padding:.4rem .55rem;background:#fbfdfe}.seq-trial-label{grid-column:1 / -1;display:flex;align-items:center;gap:.45rem;font-size:.85rem}.seq-trial-num{flex:0 0 auto;min-width:1.4rem;height:1.4rem;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);border-radius:6px;font-size:.78rem;font-weight:700}.seq-trial-input{border:1px solid var(--line);border-radius:8px;padding:.4rem .6rem;background:#fff;color:var(--ink);width:100%}.seq-trial-input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.seq-trial-input:disabled{opacity:.5}.response-input{min-height:3.4rem;resize:vertical;line-height:1.6}.score-field{align-items:flex-start}.scoring-guide{font-size:.82rem;color:var(--ink-soft);background:var(--gray-bg);border-radius:6px;padding:.25rem .5rem}.conv-toolbar{display:flex;gap:.4rem;flex-wrap:wrap}.conv-toolbar .btn{display:inline-flex;align-items:center;gap:.3rem}.response-preview{border:1px dashed var(--line);border-radius:8px;padding:.4rem .6rem;background:#fbfdfe;white-space:pre-wrap;font-size:.92rem;color:var(--ink)}.mark{border-radius:4px;padding:0 .18rem}.mark--examiner{background:#e1eef8;color:#1c5a86}.mark--note{background:#efe7f6;color:#6b4ea0}.notes-block{display:flex;flex-direction:column;gap:.4rem}.notes-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:.35rem}.notes-dot{color:var(--accent);font-size:.7rem}.legend{border:1px solid var(--line);border-radius:9px;background:#fbfdfe;padding:.4rem .7rem}.legend>summary{cursor:pointer;font-weight:600;color:var(--accent)}.legend-body{margin-top:.5rem}.legend-body ul{padding-inline-start:1.2rem;display:flex;flex-direction:column;gap:.35rem;margin-top:.4rem}.legend-body code{background:var(--gray-bg);border-radius:4px;padding:0 .3rem;font-size:.8rem}.score-selector{display:flex;gap:.35rem;align-items:center}.score-btn{min-width:2.2rem;border:1px solid var(--line);background:#fff;border-radius:8px;padding:.35rem .5rem;font-weight:600}.score-btn--active{background:var(--accent);border-color:var(--accent);color:#fff}.score-btn:disabled{opacity:.4;cursor:not-allowed}.timer{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.timer-readout{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700;min-width:4.5rem;text-align:center;background:var(--accent-soft);border-radius:8px;padding:.2rem .5rem}.timer-readout--warn{background:var(--yellow-bg);color:var(--yellow)}.timer-readout--over{background:var(--red-bg);color:var(--red)}.timer-progress{flex:1 1 90px;min-width:70px;height:6px;background:var(--gray-bg);border-radius:999px;overflow:hidden}.timer-progress-bar{height:100%;background:var(--accent);transition:width .3s linear}.timer-progress-bar--warn{background:var(--yellow)}.timer-progress-bar--over{background:var(--red)}.timer-alert{color:var(--red);font-weight:600;font-size:.85rem}.rule-explanation{background:var(--accent-soft);border:1px solid #cfe0e4;border-radius:10px;padding:.85rem 1rem}.rule-explanation pre{white-space:pre-wrap;font-family:inherit;margin-top:.4rem;color:var(--ink)}.rule-explanation>summary{cursor:pointer;display:flex;align-items:center;gap:.5rem}.dummy-tag{font-size:.72rem;background:#ece3f5;color:#6b4ea0;border-radius:6px;padding:.1rem .45rem;font-weight:600}.issue-list{display:flex;flex-direction:column;gap:.5rem}.issue-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--line);border-radius:9px;padding:.55rem .8rem;background:#fff}.issue-row--blocking{border-inline-start:4px solid var(--red)}.issue-row--warn{border-inline-start:4px solid var(--yellow)}.issue-meta{display:flex;flex-direction:column;gap:.1rem}.issue-meta small{color:var(--ink-soft)}.summary-table{width:100%;border-collapse:collapse}.summary-table th,.summary-table td{text-align:start;padding:.6rem .7rem;border-bottom:1px solid var(--line)}.summary-table th{color:var(--ink-soft);font-weight:600;font-size:.85rem}.summary-group-head th{background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:.9rem;padding:.5rem .7rem}.summary-subtotal td{background:var(--gray-bg);font-size:.9rem}.summary-table tfoot td{border-top:2px solid var(--line);font-size:1rem}.todo{color:var(--ink-soft);font-style:italic}.tables-view select{font-family:inherit;font-size:.9rem;padding:.4rem .55rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);max-width:100%}.tables-scroll{overflow-x:auto;max-height:70vh;overflow-y:auto;border:1px solid var(--line);border-radius:8px}.tables-data{font-size:.85rem}.tables-data th,.tables-data td{white-space:nowrap;padding:.4rem .6rem}.tables-data thead th{position:sticky;top:0;z-index:1;background:var(--accent-soft);color:var(--accent)}.tables-data tbody th[scope=row]{position:sticky;inset-inline-start:0;background:var(--gray-bg);font-weight:700}.tables-data tbody tr:nth-child(2n) td{background:#f7fafb}.notice{background:var(--yellow-bg);border:1px solid #ecd9a6;border-radius:10px;padding:.7rem .9rem;color:#7a5a00;font-size:.9rem}.layout{display:grid;grid-template-columns:230px 1fr;gap:1.25rem;padding-top:1.25rem;align-items:start}.layout-main{min-width:0}.layout-main .screen{padding-top:0}.process-tree{position:sticky;top:4rem;display:flex;flex-direction:column;gap:.25rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.7rem}.tree-section{font-size:.74rem;color:var(--ink-soft);font-weight:600;margin:.55rem 0 .1rem}.tree-list{list-style:none;display:flex;flex-direction:column;gap:.2rem}.tree-link,.tree-node{width:100%;text-align:start;border:1px solid transparent;background:transparent;border-radius:8px;padding:.4rem .55rem;color:var(--ink);display:flex;align-items:center;gap:.45rem}.tree-link:hover,.tree-node:hover:not(:disabled){background:#f3f6f8}.tree-link--active,.tree-node--active{background:var(--accent-soft);border-color:#cfe0e4;font-weight:600}.tree-node:disabled{opacity:.5;cursor:not-allowed}.tree-num{flex:0 0 auto;min-width:1.3rem;height:1.3rem;display:inline-flex;align-items:center;justify-content:center;background:var(--gray-bg);border-radius:6px;font-size:.78rem;font-weight:700;color:var(--ink-soft)}.tree-name{flex:1 1 auto;font-size:.88rem}.order-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;background:var(--accent-soft);color:var(--accent);border-radius:7px;font-size:.85rem;font-weight:700;margin-inline-end:.2rem}@media (max-width: 720px){.layout{grid-template-columns:1fr}.process-tree{position:static}}
