/* Shared student activity palette; scoped away from teacher and public screens. */
.v4-dialog.v4-activity-dialog{width:1060px;padding:0 32px 30px;background:#f3f7f3;font-size:16px;line-height:1.75;border-radius:26px;color:#294f49}
.v4-activity-dialog>header{top:0;margin:0 -32px;padding:18px 32px;border-bottom:1px solid #dbe6de;background:#f8fbf6ed;backdrop-filter:blur(12px);z-index:3}
.v4-activity-dialog>header h2{font-size:17px;letter-spacing:-.3px;font-weight:700}
.v4-activity-dialog>header h2:focus{outline:none}
.v4-activity-dialog>header button{background:transparent;border-color:#d1ded4;font-size:13px}
.v4-activity-dialog .v4-place-caption{font-size:12px;margin:19px 0 0;padding:0;border:0;color:#638377;letter-spacing:.2px}
.v4-activity-dialog .v4-activity-body{padding-top:22px}
.v4-activity-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 6px 28px}
.v4-activity-hero>div:first-child{max-width:730px}
.v4-activity-hero small,.v4-eyebrow{display:block;color:#538777;font-size:11px;font-weight:700;letter-spacing:1.1px}
.v4-activity-hero h3{margin:9px 0 8px;font-size:29px;line-height:1.45;font-weight:750;letter-spacing:-1.1px;word-break:keep-all}
.v4-activity-hero p{margin:0;color:#668076;font-size:15px;word-break:keep-all;line-height:1.8}
.v4-activity-emblem{width:84px;height:84px;flex-shrink:0;border-radius:28px 28px 35px 18px;background:#dcebdc;display:grid;place-items:center;transform:rotate(-5deg);color:#507b69;box-shadow:inset 0 1px 0 #fff}
.v4-activity-emblem svg{width:43px;height:43px;transform:rotate(5deg)}
.v4-activity-columns{display:grid;grid-template-columns:minmax(235px,.8fr) minmax(0,1.7fr);gap:22px;align-items:start}
.v4-context-card{background:#e7efe5;border:1px solid #dce6d7;border-radius:20px;padding:23px;min-width:0}
.v4-context-card blockquote{font-size:16px;line-height:1.95;margin:13px 0 20px;white-space:pre-wrap;overflow-wrap:anywhere}
.v4-context-card h4{font-size:13px;font-weight:600;margin:22px 0 10px}
.v4-activity-dialog .v4-field{display:block;margin:16px 0 20px}
.v4-field>span{display:block;font-size:13px;color:#4d6e60;font-weight:650;margin-bottom:9px}
.v4-field select{font:inherit;font-size:14px;width:100%;padding:12px 32px 12px 12px;border:1px solid #c8d9cc;border-radius:11px;background:#fcfdf7;color:#36594b;text-overflow:ellipsis}
.v4-activity-dialog .v4-field textarea{background:#fffef9;border-color:#d8e1d5;border-radius:12px;min-height:82px;font-size:16px;line-height:1.85;padding:14px 16px}
.v4-activity-dialog .v4-field textarea:focus{outline:2px solid #4f8b79;outline-offset:2px;border-color:transparent}
.v4-work-card{padding:26px 28px;background:#fffdf7;border:1px solid #e1e5d9;border-radius:20px;min-width:0;box-shadow:0 5px 15px #39594a04}
.v4-work-card>h4,.v4-saved h4{font-size:22px;line-height:1.5;margin:10px 0 12px;letter-spacing:-.5px;word-break:keep-all}
.v4-work-card>p{font-size:15px;color:#6c7d70;line-height:1.85}
.v4-activity-dialog .v4-step-nav{display:flex;gap:7px;margin:-3px 0 28px;padding:0 0 19px;border-bottom:1px solid #e8e8d9}
.v4-activity-dialog .v4-step-nav button{min-width:0;flex:1;display:flex;align-items:center;gap:7px;text-align:left;padding:7px 4px;border:0;background:transparent;box-shadow:none;font-size:12px;color:#7b8777;line-height:1.5}
.v4-step-nav button span{width:25px;height:25px;border-radius:50%;background:#eef0e6;display:grid;place-items:center;flex-shrink:0;font-size:10px;letter-spacing:.4px}
.v4-activity-dialog .v4-step-nav button[aria-current]{color:#326d5e;font-weight:750}
.v4-step-nav button[aria-current] span{background:#3a7d69;color:#fff}
.v4-activity-dialog .v4-chips{gap:8px;margin-bottom:20px}
.v4-activity-dialog .v4-chips button{background:#f8f8ed;border:1px solid #e0e4d4;box-shadow:none;padding:8px 12px;font-size:13px;min-height:42px}
.v4-activity-dialog .v4-chips button[aria-pressed=true]{background:#dcebdc;border-color:#7eaa92}
.v4-activity-dialog button.v4-primary{background:#397b68;border-color:#397b68;color:#fffdf3;box-shadow:0 3px 0 #275e4f15}
.v4-activity-dialog button.v4-primary:hover{background:#2c6c5b}
.v4-activity-dialog button{box-shadow:none;font-size:14px}
.v4-activity-footer{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:13px;margin-top:8px;border-top:1px solid #eaeadf}
.v4-activity-footer>.v4-primary{margin-left:auto}
.v4-activity-dialog .v4-fine{font-size:12px;line-height:1.85;color:#6e8172;margin:13px 0;overflow-wrap:anywhere}
.v4-word-tags{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}
.v4-word-tags span{font-size:13px;padding:4px 11px;border-radius:8px;background:#eff0df;color:#5e7459;line-height:1.6;overflow-wrap:anywhere;max-width:100%}
.v4-activity-dialog .v4-inline-error{background:#fbede4;color:#875542;border:1px solid #ecd7c6;padding:14px 16px;border-radius:12px;font-size:14px;line-height:1.7}
.v4-inline-error button{display:block;margin-top:10px}
.v4-activity-dialog .v4-history p,.v4-history dd{white-space:pre-wrap;overflow-wrap:anywhere}
.v4-activity-dialog dl{margin:16px 0}
.v4-activity-dialog dt{font-size:11px;color:#7a8c75;margin-top:12px}
.v4-activity-dialog dd{font-size:15px;margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.v4-saved-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#dbe9d3;color:#44754d;font-size:23px;margin:6px 0 16px}
.v4-saved>p{font-size:15px;color:#73816d}.v4-saved>button{margin:12px 8px 0 0}
.v4-empty{padding:30px 20px;text-align:center;background:#fafbf4;border:1px dashed #d9e1d2;border-radius:18px;color:#6b816d}
.v4-empty>svg{width:40px;height:40px;color:#88a990;margin:10px 0}
.v4-empty h4{font-size:18px;color:#4e6b58;margin:10px 0}
.v4-empty p{font-size:14px;line-height:1.8;max-width:380px;margin:10px auto 20px;word-break:keep-all}
.v4-practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.v4-activity-dialog .v4-practice-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #e0e3d3;background:#fffdf4;padding:25px 28px;min-height:213px;border-radius:20px;overflow:hidden;color:#3b5b4e;transition:transform .16s,box-shadow .16s}
.v4-practice-card:nth-child(2){background:#e7f0eb}.v4-practice-card:nth-child(3){background:#eeeaf1}.v4-practice-card:nth-child(4){background:#f2ecdf}
.v4-activity-dialog .v4-practice-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #365b4b0c}
.v4-practice-card .v4-card-number{font-size:12px;letter-spacing:1px;border:1px solid #adbf9d;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;margin-bottom:16px;color:#617c57}
.v4-practice-card strong{font-size:21px;margin:7px 0 6px;letter-spacing:-.5px}.v4-practice-card>span:not([class]){font-size:14px;color:#72816c;word-break:keep-all}
.v4-card-arrow{position:absolute;top:24px;right:25px;font-size:27px;font-weight:300;color:#6b8b74}
.v4-activity-dialog .v4-activity-note{color:#7a8775;font-size:12px;text-align:center;margin:25px 0 2px;word-break:keep-all}
.v4-compare-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0}
.v4-compare-cards article{padding:24px;border-radius:16px;background:#edf0df}.v4-compare-cards article:nth-child(2){background:#f5eadd}
.v4-compare-cards small{font-size:11px;color:#7d876b}.v4-compare-cards h4{font-size:26px;margin:8px 0}.v4-compare-cards p{font-size:16px;line-height:1.9;margin:14px 0}
.v4-game-frame{background:#fffdf7;border:1px solid #dce4d8;border-radius:20px;padding:24px;min-width:0;overflow:hidden}
.v4-game-frame canvas{max-width:100%;height:auto;touch-action:none}.v4-game-frame button{min-height:44px}
.v4-activity-dialog .v4-archive-nav{display:flex;gap:8px;align-items:center;margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid #dce4d8}
.v4-archive-nav button{background:transparent;border:0;padding:10px 17px;font-size:14px;color:#758372}
.v4-archive-nav button[aria-pressed=true]{background:#dbe9d9;color:#35674e;font-weight:700}
.v4-archive-nav>span{margin-left:auto;font-size:12px;color:#7a8875}
.v4-calendar-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:23px;align-items:start}
.v4-calendar{background:#fffdf7;padding:19px;border:1px solid #e0e5d8;border-radius:19px}
.v4-calendar header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.v4-calendar header h4{font-size:18px;margin:0}
.v4-calendar header button{border:0;background:transparent;min-width:40px;font-size:24px;padding:0}
.v4-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.v4-weekday{font-size:11px;color:#869380;text-align:center;margin:5px 0 8px}
.v4-calendar-grid button{padding:4px 0 2px;min-height:43px;border:1px solid transparent;border-radius:10px;background:transparent;display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1.3;font-size:13px}
.v4-calendar-grid button[aria-current=date]{border-color:#94b499}
.v4-calendar-grid button[aria-pressed=true]{background:#397b68;color:#fff;border-color:#397b68}
.v4-calendar-grid i{width:4px;height:4px;border-radius:50%;background:transparent;display:block}
.v4-calendar-grid .has-record{background:#a6b986}.v4-calendar-grid [aria-pressed=true] .has-record{background:#fff4cf}
.v4-calendar footer{display:flex;align-items:center;justify-content:space-between;margin-top:13px;font-size:11px;color:#839378}
.v4-calendar footer .v4-text{font-size:12px}
.v4-day-records>h4{font-size:17px;margin:5px 0 13px;font-weight:650}
.v4-journal-card{background:#fffdf7;border:1px solid #e0e5d8;border-radius:18px;padding:23px 25px;margin:0 0 16px;min-width:0}
.v4-journal-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.v4-private-tag{font-size:10px;color:#84937d;padding:3px 8px;border:1px solid #e0e6d8;border-radius:6px}
.v4-journal-text{font-size:16px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0 23px}
.v4-record-words{border-top:1px solid #ebebdf;padding-top:15px}.v4-record-words>small{font-size:10px;letter-spacing:.4px;color:#879477}
.v4-journal-card .v4-actions{margin-bottom:0;gap:6px}.v4-journal-card .v4-actions button{font-size:12px;padding:8px 12px}
.v4-delete-confirm{margin-top:16px;padding:16px;background:#f9eee5;border-radius:12px;font-size:13px}.v4-delete-confirm p{margin:0 0 14px}.v4-delete-confirm button{margin-right:7px}
.v4-journal-list{max-width:780px;margin:auto}
.v4-report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.v4-segment{display:flex;gap:4px;padding:4px;border-radius:13px;background:#e7ede2}
.v4-segment button{background:transparent;border:0;font-size:12px;padding:6px 14px;min-height:37px}
.v4-segment button[aria-pressed=true]{background:#fffdf7;border-color:#fffdf7;color:#3e6e54;box-shadow:0 1px 4px #55705012}
.v4-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 22px}
.v4-stats>div{display:flex;flex-direction:column;align-items:flex-start;padding:21px 24px;background:#e5eedf;border:1px solid #dce6d4;border-radius:17px}
.v4-stats small{font-size:12px;color:#62815c}.v4-stats strong{font-size:36px;font-weight:500;line-height:1.5;color:#376b50}.v4-stats span{font-size:11px;color:#7c9070}
.v4-report-words{display:grid;grid-template-columns:1fr 1fr;gap:16px}.v4-report-words h4{font-size:20px}
.v4-learning-note{display:flex;align-items:center;gap:16px;padding:19px 23px;border:1px solid #e3dbc6;background:#f7f1e2;border-radius:14px;margin:18px 0}
.v4-learning-note>span{color:#b7984f;font-size:26px}.v4-learning-note strong{font-size:14px}.v4-learning-note p{font-size:12px;margin:4px 0;color:#8b856c}
.v4-report-entry{border-bottom:1px solid #e0e7d8;padding:20px 0}.v4-report-entry small{font-size:12px;color:#809375}.v4-report-entry p{white-space:pre-wrap;overflow-wrap:anywhere}
/* Match the already implemented writing and reflection screens to this shell. */
.v4-activity-dialog[data-activity=write] .v4-activity-body,.v4-activity-dialog[data-activity=review] .v4-activity-body{max-width:850px;margin:auto}
.v4-activity-dialog .v4-section-head h3{font-size:27px;margin:8px 0 10px}
.v4-activity-dialog .v4-source,.v4-activity-dialog .v4-story{background:#e6eee0;padding:22px 26px;line-height:1.95;border:1px solid #dce5d4}
.v4-world .v4-map .v4-direct{flex:0 0 auto;font-size:11px;padding:6px 10px;color:#66816a;background:#edf2e4;white-space:nowrap}
.v4-world .v4-map>div>button:first-child{font-size:13px}
@media(max-width:900px){.v4-activity-columns{grid-template-columns:1fr}.v4-context-card{padding:20px}.v4-context-card blockquote{margin-bottom:10px}.v4-context-card .v4-field{margin-top:0}.v4-activity-hero h3{font-size:25px}.v4-activity-emblem{width:70px;height:70px}.v4-calendar-layout{grid-template-columns:295px minmax(0,1fr)}}
@media(max-width:700px){.v4-dialog.v4-activity-dialog{padding:0 16px 24px;border-radius:19px}.v4-activity-dialog>header{margin:0 -16px;padding:12px 16px}.v4-activity-dialog>header h2{font-size:16px}.v4-activity-dialog>header button{font-size:12px}.v4-activity-dialog .v4-place-caption{font-size:10px;margin-top:16px}.v4-activity-dialog .v4-activity-body{padding-top:18px}.v4-activity-hero{padding:0 0 23px;gap:12px;align-items:flex-start}.v4-activity-hero h3{font-size:23px;margin:8px 0}.v4-activity-hero p{font-size:13px}.v4-activity-hero small{font-size:9px;letter-spacing:.4px}.v4-activity-emblem{width:49px;height:53px;border-radius:17px;flex-shrink:0}.v4-activity-emblem svg{width:29px;height:29px}.v4-activity-columns{gap:15px}.v4-context-card{padding:18px}.v4-context-card blockquote{font-size:15px}.v4-work-card{padding:20px 18px;border-radius:16px}.v4-work-card>h4{font-size:20px}.v4-activity-dialog .v4-step-nav{gap:2px;margin-bottom:22px}.v4-activity-dialog .v4-step-nav button{font-size:10px;gap:5px;align-items:flex-start}.v4-step-nav button span{width:20px;height:20px;font-size:9px}.v4-step-nav button:last-child{flex:1.3}.v4-activity-footer .v4-text{width:100%;text-align:center}.v4-practice-grid{gap:12px}.v4-activity-dialog .v4-practice-card{min-height:210px;padding:19px 16px;border-radius:16px}.v4-practice-card strong{font-size:17px;word-break:keep-all;line-height:1.6}.v4-practice-card>span:not([class]){font-size:12px;line-height:1.7}.v4-practice-card .v4-eyebrow{font-size:9px;letter-spacing:0}.v4-card-arrow{top:17px;right:16px;font-size:21px}.v4-compare-cards{gap:10px}.v4-compare-cards article{padding:18px 15px}.v4-compare-cards h4{font-size:22px}.v4-compare-cards p{font-size:14px}.v4-calendar-layout{grid-template-columns:1fr;gap:20px}.v4-calendar{padding:17px 20px}.v4-calendar-grid button{min-height:45px}.v4-activity-dialog .v4-archive-nav{gap:3px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:12px}.v4-archive-nav button{font-size:12px;padding:8px 10px}.v4-archive-nav>span{font-size:10px}.v4-journal-card{padding:20px}.v4-game-frame{padding:14px}.v4-report-toolbar>button{font-size:12px}.v4-report-words{grid-template-columns:1fr;gap:12px}.v4-stats{gap:7px}.v4-stats>div{padding:14px 12px;border-radius:12px}.v4-stats small{font-size:10px;min-height:34px}.v4-stats strong{font-size:29px}.v4-stats span{font-size:9px}.v4-activity-dialog .v4-section-head h3{font-size:23px}.v4-learning-note{padding:15px}.v4-learning-note strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.v4-activity-dialog *{animation:none!important;transition:none!important}}
.v4-activity-dialog[data-activity=talk]>.v4-place-caption,.v4-activity-dialog[data-activity=practice]>.v4-place-caption,.v4-activity-dialog[data-activity=archive]>.v4-place-caption{display:none}
.v4-activity-dialog .v4-context-card>.v4-field:first-child{margin-top:0}
.v4-archive-extra{text-align:right;margin-top:20px}
.v4-print-preview{background:#fffdf8;padding:28px 32px;border:1px solid #dfe5d8;border-radius:16px}
.v4-print-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:26px;flex-wrap:wrap}
.v4-print-preview h3{font-size:27px;margin:12px 0}.v4-print-preview h4{font-size:19px}.v4-print-preview small{color:#7b8c77;font-size:12px}
.v4-print-preview section,.v4-print-preview article{border-top:1px solid #e0e6d8;padding:15px 0;break-inside:avoid}
.v4-print-preview p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}
@media(max-width:700px){.v4-print-preview{padding:20px 16px}.v4-print-preview h3{font-size:23px}.v4-print-toolbar button{font-size:12px;padding:10px}}
@media print{
 body.v4-print-mode{background:white!important;margin:0!important}
 body.v4-print-mode *{visibility:hidden!important;animation:none!important;transform:none!important}
 body.v4-print-mode .v4-print-preview,body.v4-print-mode .v4-print-preview *{visibility:visible!important}
 body.v4-print-mode .v4-print-toolbar{display:none!important}
 body.v4-print-mode .v4-shade{position:static;display:block;padding:0;background:none;backdrop-filter:none}
 body.v4-print-mode .v4-dialog{position:static;overflow:visible;max-height:none!important;max-width:none;width:100%;border:0;padding:0;box-shadow:none}
 body.v4-print-mode .v4-dialog>header,body.v4-print-mode .v4-activity-hero,body.v4-print-mode .v4-archive-nav,body.v4-print-mode .v4-archive-extra,body.v4-print-mode .v4-world{display:none!important}
 body.v4-print-mode .v4-activity-body{padding:0}
 body.v4-print-mode .v4-print-preview{border:0;border-radius:0;padding:0;background:white;font-size:12pt}
 @page{margin:16mm}
}
@media(min-width:901px){
 .v4-activity-dialog[data-activity=talk] .v4-activity-hero{padding-bottom:18px}
 .v4-activity-dialog[data-activity=talk] .v4-step-nav{padding-bottom:14px;margin-bottom:17px}
 .v4-activity-dialog[data-activity=talk] .v4-work-card>.v4-field{margin:11px 0 12px}
 .v4-activity-dialog[data-activity=talk] .v4-work-card>.v4-chips{margin:8px 0 12px}
 .v4-activity-dialog[data-activity=talk] .v4-work-card>p{margin:10px 0}
 .v4-activity-dialog[data-activity=talk] .v4-activity-footer{padding-top:10px;margin-top:0}
}
