:root{color:#173242;font-synthesis:none;--navy:#0b3d5c;--blue:#116b8a;--cyan:#46b5d1;--coral:#f27658;--paper:#fff;--muted:#617985;--line:#d7e3e7;--danger:#a52d34;background:#edf3f5;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#edf3f5;min-height:100%}body{background:radial-gradient(circle at 100% 0,#d9eef3 0,#0000 38%),#edf3f5;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer;min-height:44px}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline-offset:3px;outline:3px solid #f2a65a}.app-shell{width:min(100%,920px);padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin:auto}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;padding:12px 4px 22px;display:flex}.eyebrow{color:var(--coral);letter-spacing:.18em;font-size:.72rem;font-weight:900;display:inline-block}.topbar h1{color:var(--navy);margin:.25rem 0;font-family:Georgia,serif;font-size:clamp(1.65rem,5vw,2.5rem);line-height:1.05}.topbar p{color:var(--muted);margin:0}.top-actions{align-items:flex-end;gap:8px;display:flex}.language{color:var(--muted);gap:4px;font-size:.72rem;display:grid}select,input{font-size:16px}.language select,input{color:#173242;background:#fff;border:1px solid #b7ccd3;border-radius:9px;padding:10px}.icon-button{color:var(--navy);background:#fff;border:1px solid #bdd0d6;border-radius:10px;width:46px;font-size:1.5rem}.status-region{gap:8px;display:grid}.status{color:#604900;background:#fff6dc;border-radius:10px;padding:10px 14px}.status.offline{color:#fff;background:#223e4b}.status.error{color:var(--danger);background:#fde8e9}.status button{background:0 0;border:0;min-height:30px;font-weight:700;text-decoration:underline}.progress{margin:10px 0 18px}.progress ol{align-items:center;margin:0;padding:0;list-style:none;display:flex}.progress li{color:#8da1aa;flex:1;align-items:center;display:flex}.progress li:after{content:"";background:#bfd0d6;flex:1;height:2px}.progress li:last-child{flex:0}.progress li:last-child:after{display:none}.progress span{border:2px solid #bfd0d6;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.75rem;font-weight:800;display:grid}.progress .done span,.progress .current span{border-color:var(--cyan);background:var(--cyan);color:#082d42}.progress .current span{box-shadow:0 0 0 5px #46b5d133}.progress .done:after{background:var(--cyan)}.screen-card{background:#fffffff5;border:1px solid #dce7ea;border-radius:20px;padding:clamp(20px,5vw,38px);box-shadow:0 18px 45px #163c4c13}.screen-card>header{border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:18px}.screen-card h2{color:var(--navy);margin:0 0 8px;font-family:Georgia,serif;font-size:clamp(1.55rem,5vw,2.15rem)}.screen-card>header p{color:var(--muted);margin:0;line-height:1.55}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid label{gap:6px;font-weight:750;display:grid}.form-grid label:first-child{grid-column:1/-1}.form-grid small{min-height:1rem;color:var(--danger);font-weight:500}.form-grid input[aria-invalid=true]{border-color:var(--danger)}fieldset{border:0;margin:22px 0 0;padding:0}legend{margin-bottom:10px;font-weight:800}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips button{color:var(--navy);background:#fff;border:1px solid #b9ced5;border-radius:999px;padding:8px 15px}.chips .selected,.pair.selected{border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan);background:#e3f6fa}.primary,.secondary,.danger{border-radius:10px;padding:11px 18px;font-weight:850}.primary{background:var(--navy);color:#fff;border:0;width:100%;margin-top:26px}.secondary{border:1px solid var(--navy);color:var(--navy);background:#fff}.danger{color:var(--danger);background:#fff;border:1px solid #efc0c3}.notice{border-left:4px solid var(--cyan);background:#eaf6f8;border-radius:8px;padding:18px;line-height:1.5}.definition-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.definition-grid article{border:1px solid var(--line);border-radius:12px;gap:12px;padding:14px;display:flex}.definition-grid article>span,.code{background:var(--navy);color:#fff;border-radius:6px;flex:0 0 38px;place-items:center;height:30px;font-size:.72rem;font-weight:900;display:grid}.definition-grid h4,.definition-grid p{margin:0}.definition-grid p{color:var(--muted);margin-top:4px;font-size:.88rem}.scale-list,.likert-list,.session-list{gap:14px;display:grid}.scale,.likert,.session-list article{border:1px solid var(--line);border-radius:14px;margin:0;padding:16px}.scale:nth-child(2n),.likert:nth-child(2n){background:#f5fafb}.scale-heading{align-items:flex-start;gap:12px;display:flex}.scale-heading h3,.scale-heading p{margin:0}.scale-heading p{color:var(--muted);margin-top:4px;font-size:.88rem}.scale output{color:var(--blue);margin-left:auto;font-size:1.35rem;font-weight:900}input[type=range]{width:100%;accent-color:var(--blue);background:0 0;border:0;padding:12px 0}.anchors{color:var(--muted);justify-content:space-between;font-size:.75rem;display:flex}.validation{color:var(--danger);font-weight:700}.pair-progress{gap:8px;font-weight:800;display:grid}.pair-progress progress{width:100%;height:8px;accent-color:var(--cyan)}.pair-options{grid-template-columns:1fr 1fr;align-items:center;gap:32px;margin:36px 0;display:grid}.pair-wrap{position:relative}.versus{color:var(--coral);font-weight:900;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.pair{border:2px solid var(--line);text-align:center;width:100%;min-height:180px;color:var(--navy);background:#fff;border-radius:16px;place-items:center;gap:7px;padding:20px;display:grid}.pair>span{letter-spacing:.12em;color:var(--coral);font-size:.72rem;font-weight:900}.pair strong{font-size:1.15rem}.pair small{color:var(--muted)}.likert legend{line-height:1.45}.likert legend span{color:var(--blue);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;display:block}.likert-options{justify-content:space-between;gap:5px;display:flex}.likert-options label{cursor:pointer;border:1px solid #b9ccd2;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:relative}.likert-options input{opacity:0;position:absolute}.likert-options label.selected{background:var(--navy);color:#fff;border-color:var(--navy)}.score-hero{text-align:center;background:var(--navy);color:#fff;border-radius:16px;margin-bottom:20px;padding:24px}.score-hero span,.score-hero small{display:block}.score-hero strong{color:#7dd3e5;font-family:Georgia,serif;font-size:4rem;display:block}.result-table{overflow-x:auto}.tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(130px,2fr) repeat(3,minmax(55px,1fr)) minmax(75px,1fr);gap:7px;padding:10px 7px;font-size:.84rem;display:grid}.tr span:not(:first-child){text-align:right}.tr.head{text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:800}.button-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;display:grid}.button-row .primary{margin:0}.history-actions{justify-content:flex-end;margin-bottom:18px;display:flex}.history-actions .primary{width:auto;margin:0}.session-list article{justify-content:space-between;align-items:center;gap:12px;display:flex}.session-list h3,.session-list p{margin:0 0 6px}.session-list h3 span{color:var(--coral);font-size:.7rem}.session-list p{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:50px}.empty span{font-size:3rem}footer{text-align:center;color:var(--muted);padding:20px 8px;font-size:.78rem}.install-hint{color:var(--navy);font-weight:700}@media (width<=640px){.topbar{display:grid}.top-actions{justify-content:space-between}.form-grid,.definition-grid,.pair-options{grid-template-columns:1fr}.versus{text-align:center;margin:12px;display:block;position:static;transform:none}.pair-options{gap:0;margin:24px 0}.pair{min-height:140px}.screen-card{border-radius:16px;padding:20px}.likert-options label{width:36px;height:36px}.tr{grid-template-columns:minmax(95px,1.8fr) repeat(3,minmax(43px,1fr)) minmax(58px,1fr);font-size:.72rem}.button-row{grid-template-columns:1fr}.session-list article{align-items:flex-start}.session-list .danger{padding:8px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
