/* Participant and tablet experience. Shared theme remains in style.css. */
.p-shell{max-width:900px;margin:0 auto;padding:22px 28px 32px}
.p-top{display:flex;align-items:center;gap:16px;margin-bottom:25px;padding:0 0 18px;border-bottom:1px solid #DDE6DF}
.p-brand{display:flex;gap:10px;align-items:center;color:#142F2A;text-decoration:none;font-size:27px;font-weight:800;line-height:1.1;letter-spacing:-1px}
.p-brand .logo{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:#092C27;color:#D2F55B;font-size:32px;font-weight:900;letter-spacing:-3px;padding-right:3px}
.brand-sub{display:block;font-size:10px;letter-spacing:.6px;line-height:1.6;font-weight:600;color:#5E7068}
.p-top .timer{margin-left:auto;font-variant-numeric:tabular-nums;border-radius:12px;padding:9px 14px;background:#EAF0EB;color:#142F2A;font-size:22px}
.p-top .timer.urgent{background:#FAE8D5;color:#853C19}
.p-footer{display:flex;justify-content:center;gap:9px;color:#61736A;font-size:11px;letter-spacing:.2px;margin-top:30px;flex-wrap:wrap}
.participant-hero{display:flex;gap:24px;align-items:center;padding:32px 34px;border-radius:22px;background:#092C27;color:#FFF;overflow:hidden;position:relative}
.participant-hero:after{content:'';position:absolute;width:230px;height:230px;border:1px solid #FFFFFF12;border-radius:50%;right:-80px;top:-100px;pointer-events:none}
.participant-hero>div:first-child{flex:1;min-width:0}
.participant-hero h1{font-size:clamp(28px,4.6vw,43px);letter-spacing:-1.2px;max-width:540px;line-height:1.04;margin:13px 0 15px;color:#FFF}
.participant-hero p{max-width:520px;color:#D1E0D6;font-size:15px;line-height:1.6;margin:0}
.p-eyebrow{font-size:10px;line-height:1.4;font-weight:800;letter-spacing:1.8px;color:#467268}
.participant-hero .p-eyebrow{color:#D2F55B}
.hero-memory{display:flex;flex-direction:column;align-items:center;justify-content:center;width:148px;min-width:148px;height:148px;border:1px solid #7BA79055;border-radius:50%;font-size:65px;line-height:1;font-weight:800;letter-spacing:-3px;color:#D2F55B;transform:rotate(-5deg)}
.hero-memory small{font-size:11px;letter-spacing:0;font-weight:500;margin-top:7px;color:#D1E0D6}
.hero-cube{position:relative;min-width:135px;width:135px;height:125px;transform:rotate(-9deg);margin-right:6px}
.hero-cube span{position:absolute;display:grid;place-items:center;width:67px;height:67px;border-radius:8px;font-weight:800;font-size:28px;color:#142F2A;box-shadow:0 5px 12px #0003}
.hero-cube span:nth-child(1){left:32px;top:0;background:#D2F55B;transform:rotate(45deg) scaleY(.8)}
.hero-cube span:nth-child(2){left:0;top:52px;background:#F1AD89;transform:skewY(20deg)}
.hero-cube span:nth-child(3){left:68px;top:52px;background:#94CCD1;transform:skewY(-20deg)}
.learning-steps{display:flex;justify-content:space-between;padding:8px 1px;gap:12px}
.learning-steps span{display:flex;align-items:center;gap:9px;color:#6A7B73;font-size:12px}
.learning-steps b{display:grid;place-items:center;background:#E4EBE5;border-radius:50%;height:24px;width:24px;color:#78877E;font-size:10px}
.learning-steps .current{color:#142F2A;font-weight:700}
.learning-steps .current b{background:#D2F55B;color:#142F2A}
.join-card{padding:27px 30px!important}
.join-card h2{font-size:25px;letter-spacing:-.6px;margin-bottom:20px}
.join-card>label{display:block;font-size:13px;font-weight:650;margin-top:18px}
.join-card .input{min-height:52px;width:100%;border-radius:12px;border:1px solid #CBD8CF;background:#F8FAF8;padding:12px 15px;font-size:15px}
.join-card .input:focus{outline:3px solid #D2F55B;outline-offset:2px}
.session-pill{display:inline-flex;gap:7px;align-items:center;border:1px solid #DFE9E0;border-radius:30px;padding:5px 9px;background:#F5F8F4;color:#547263;font-size:9px;font-weight:750;letter-spacing:1px;width:fit-content;margin-bottom:12px}
.session-pill strong{border-left:1px solid #D6E2D8;padding-left:8px;color:#142F2A;letter-spacing:2px}
.live-dot{width:5px;height:5px;background:#3C8657;border-radius:50%}
.join-card .join-primary{background:#D2F55B;color:#142F2A;box-shadow:0 4px 0 #AECF47;min-height:55px;font-size:15px;font-weight:750}
.join-card .join-primary:hover{background:#C8EC50}
.join-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.participant-promise{display:flex;justify-content:center;gap:20px;font-size:11px;color:#687B70;padding:6px 0}
.p-shell .group-banner{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:17px 23px;border-radius:14px;border:1px solid #C7DAD4;box-shadow:none;background:#E5F2F0;color:#165B55}
.p-shell .group-banner.papier{background:#FFF0E3;border-color:#EFCEB4;color:#97450E}
.p-shell .group-banner .lbl{font-size:9px;font-weight:750;letter-spacing:1.5px}
.p-shell .group-banner .val{font-size:22px;font-weight:800;line-height:1.2;margin-top:3px}
.group-detail{font-size:11px;font-weight:600;text-align:right;max-width:45%}
.waiting-card{padding:35px 28px!important}
.waiting-pulse,.completion-orbit{display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:#D2F55B;color:#092C27;font-size:28px;font-weight:650;margin:0 auto 22px;box-shadow:0 0 0 9px #EDF6DD}
.completion-orbit{background:#D8EEDE;box-shadow:0 0 0 9px #F0F7F1;color:#267441}
.waiting-card h1,.waiting-card h2{font-size:25px}
.waiting-card p{max-width:460px;margin-left:auto;margin-right:auto}
.method-strip{display:flex;flex-wrap:wrap;gap:6px}
.method-strip span{padding:9px 12px;border:1px solid #D6E4DA;border-radius:7px;background:#F0F6F0;color:#315F47;font-size:12px;font-weight:650;flex:1;text-align:center;white-space:nowrap}
.paper-missions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.paper-missions>div{display:flex;align-items:center;gap:12px;padding:15px;background:#FCF3EA;border-radius:10px;font-size:13px}
.paper-missions b{font-size:20px;opacity:.5;color:#97450E}
.p-shell .mission-card{padding:24px}
.mission-card h1{font-size:25px;letter-spacing:-.5px;margin:18px 0 15px}
.mission-meta{display:flex;justify-content:space-between;font-size:10px;font-weight:750;letter-spacing:1px;color:#4D7061}
.prediction-steps{display:flex;gap:5px;margin-bottom:22px!important}
.prediction-steps span{flex:1;font-size:11px;background:#EDF1ED;padding:9px 7px;border-radius:7px;text-align:center;color:#6B7C72;font-weight:600}
.prediction-steps .active{background:#092C27;color:#D2F55B}
.prediction-steps .done{background:#D9ECDF;color:#315F47}
.mission-question{font-size:19px;font-weight:650;line-height:1.4;margin:15px 0}
.net-preview{display:grid;place-items:center;position:relative;background:radial-gradient(#DCE6DF 1px,transparent 1px) 0 0/20px 20px,#F5F8F4;border:1px solid #E3EBE4;border-radius:15px;min-height:285px;padding:23px}
.net-id{position:absolute;top:14px;left:16px;font-size:12px;font-weight:750;border:1px solid #CAD8CF;background:white;padding:5px 8px;border-radius:7px}
.net-diagram{display:block;width:100%;max-width:285px;max-height:275px;height:auto}
.assessment-net{display:grid;place-items:center;margin:17px 0;padding:13px;background:#F7F9F6;border:1px solid #E6EBE5;border-radius:12px}
.assessment-net .net-diagram{max-height:215px}
.cube-explorer{border:1px solid #D6E3D9;border-radius:14px;overflow:hidden;background:#F5F8F4}
.cube-canvas{display:block;width:100%;height:335px;touch-action:none;cursor:grab}
.cube-canvas:active{cursor:grabbing}
.cube-canvas:focus-visible{outline:3px solid #087F85;outline-offset:-4px}
.cube-controls{padding:15px 20px;background:white;border-top:1px solid #E0E9E2}
.cube-range-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:650;line-height:1.4}
.cube-range-label output{border-radius:5px;background:#E9F0E9;color:#315F47;min-width:42px;text-align:center;padding:2px 4px;font-size:11px}
.cube-controls input[type=range]{display:block;width:100%;height:35px;accent-color:#087F85;cursor:pointer;margin:3px 0}
.cube-actions{display:flex;justify-content:space-between;gap:6px;margin-top:15px;flex-wrap:wrap}
.cube-actions .btn{min-height:40px;min-width:90px;font-size:11px;padding:7px 10px}
.cube-help{padding:9px 18px;margin:0;text-align:center;font-size:11px;background:#EAF1E8}
.prediction-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#EFF3ED;border-radius:9px;padding:12px 14px;font-size:12px}
.prediction-summary strong{font-size:14px}
.reflection-prompt{border-left:3px solid #C3E44E;padding:6px 0 6px 15px;line-height:1.5;color:#285144;font-weight:650}
.exchange-notice{background:#EAF1E8;color:#315F47;padding:13px 18px;border-radius:12px;font-size:13px}
.p-shell .options{gap:10px;display:grid;grid-template-columns:1fr 1fr}
.p-shell .opt{min-height:59px;display:flex;align-items:center;gap:12px;text-align:left;padding:13px 15px;font-size:14px;line-height:1.35;border:1px solid #CCDAD0;border-radius:11px;background:#FFF;color:#142F2A;font-weight:600;cursor:pointer}
.p-shell .opt:hover:not(:disabled){border-color:#087F85;background:#F1F8F5;transform:translateY(-1px)}
.p-shell .opt.selected{border:2px solid #087F85;background:#E4F3F0;padding:12px 14px}
.option-letter{display:grid;place-items:center;min-width:27px;height:27px;border-radius:7px;background:#EEF3ED;color:#557263;font-size:11px;font-weight:800}
.p-shell .opt.selected .option-letter{background:#087F85;color:#FFF}
.p-shell .opt.correct{border-color:#2F824D;background:#E5F3E7}
.p-shell .opt.wrong{border-color:#B45939;background:#FBECE7}
.p-shell .opt:disabled{opacity:1;cursor:default}
.p-shell .opt.correct .option-letter{background:#2F824D;color:white}
.p-shell .opt.wrong .option-letter{background:#B45939;color:white}
.p-shell .feedback{border-radius:12px;padding:17px 19px;font-size:14px;line-height:1.5;margin-top:15px}
.p-shell .feedback p{margin:7px 0 0}
.quiz-card .q-text{font-size:23px;line-height:1.35}
.quiz-card .q-kind,.question-card .q-kind{color:#537264;font-size:10px;font-weight:750;letter-spacing:1px;margin:8px 0 16px}
.question-card .q-text{font-size:19px;line-height:1.45;font-weight:650}
.assessment-view .question-card{padding:25px}
.assessment-intro h1{font-size:27px;letter-spacing:-.5px}
.assessment-intro p{font-size:14px;line-height:1.5}
.feeling-scale{border:0;padding:0;margin:23px 0}
.feeling-scale legend{font-size:14px;font-weight:650;margin-bottom:9px}
.feeling-scale .scale{display:flex;gap:8px}
.feeling-scale .scale button{flex:1;min-height:47px;border-radius:9px;background:#F7F9F6;border:1px solid #CCDAD0;color:#142F2A;cursor:pointer;font-size:16px;font-weight:650}
.feeling-scale .scale button.selected{background:#092C27;color:#D2F55B;border-color:#092C27}
.feeling-scale .scale-legend{display:flex;justify-content:space-between;font-size:10px;color:#667B6C;margin-top:8px}
.assessment-submit{position:sticky;bottom:0;z-index:2;background:#F4F7F5F7;padding:16px 0 10px;border-top:1px solid #DCE6DF;backdrop-filter:blur(7px)}
.answer-counter{display:block;font-size:11px;font-weight:700;color:#547263;margin-bottom:8px;text-align:center}
.form-status{font-size:12px;color:#924421;text-align:center;margin:8px 0 0}
.personal-scores{display:flex;justify-content:space-evenly;gap:12px;flex-wrap:wrap}
.personal-score{padding:15px;border:1px solid #DCE6DF;background:#F6F9F4;border-radius:12px;flex:1;min-width:130px;text-align:center}
.personal-score p{font-size:11px;margin:0 0 6px}
.personal-score .big-score{font-size:35px;letter-spacing:-1px}
.personal-gain{text-align:center;font-size:15px;font-weight:750;color:#315F47}
.transfer-score{display:flex;align-items:center;gap:15px;padding:15px 18px;border-radius:12px;border:1px solid #DCE6DF;background:#F6F9F4}
.transfer-score strong{font-size:25px;white-space:nowrap}.transfer-score span{font-size:12px;color:#567261}
.cube-overlap{margin:0;padding:12px 18px;font-size:12px;font-weight:650;background:#FBEBDD;color:#924421;border-top:1px solid #F1CDB2}
.closing-hero{display:block}
.closing-hero h1{font-size:32px}
.p-shell button:focus-visible,.p-shell a:focus-visible{outline:3px solid #087F85;outline-offset:3px}
@media(min-width:800px){.geometry-view .mission-card{padding:30px}.geometry-view .net-preview{min-height:310px}.p-shell .card{border-radius:18px}.assessment-view{max-width:740px;margin:auto}}
@media(max-width:600px){.p-shell{padding:16px 16px 25px}.p-top{margin-bottom:18px}.participant-hero{padding:26px 23px;gap:15px}.participant-hero h1{font-size:30px}.participant-hero p{font-size:13px}.hero-memory{width:105px;height:105px;min-width:105px;font-size:49px}.hero-memory small{font-size:8px}.hero-cube{transform:scale(.76) rotate(-9deg);min-width:94px;margin-right:-10px}.join-card{padding:23px!important}.join-card h2{font-size:23px}.participant-promise{gap:12px;font-size:9px}.p-shell .options{grid-template-columns:1fr}.p-shell .options.two,.geometry-options,.assessment-options{grid-template-columns:1fr 1fr!important}.p-shell .opt{font-size:13px;padding:12px;gap:8px}.p-shell .opt.selected{padding:11px}.p-shell .mission-card{padding:19px}.mission-card h1{font-size:23px}.mission-question{font-size:17px}.cube-canvas{height:295px}.paper-missions{grid-template-columns:1fr}.assessment-view .question-card{padding:19px}.question-card .q-text{font-size:18px}}
@media(max-width:400px){.participant-hero{padding:23px 19px}.participant-hero h1{font-size:27px}.hero-memory,.hero-cube{display:none}.learning-steps{gap:5px}.learning-steps span{font-size:10px;gap:6px}.participant-promise{flex-wrap:wrap;gap:9px 17px}.join-choices{grid-template-columns:1fr}.p-shell .group-banner{padding:15px 17px}.group-detail{font-size:10px}.prediction-steps span{font-size:10px;padding:8px 4px}.cube-actions .btn{min-width:75px;padding:7px;font-size:10px}.cube-controls{padding:14px}.geometry-options,.assessment-options{grid-template-columns:1fr!important}.mission-meta{font-size:9px}.p-footer{font-size:10px}.p-brand{font-size:24px}.p-top .timer{font-size:19px}.net-preview{min-height:270px;padding:20px}.prediction-summary{align-items:flex-start;flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){.p-shell *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.p-top,.p-footer,.assessment-submit{display:none}.participant-hero{background:white;color:#142F2A}.participant-hero h1,.participant-hero p{color:#142F2A}.p-shell{max-width:none;padding:0}.question-card{break-inside:avoid}.cube-explorer{display:none}}
