#research{background:#273f56;border:4px solid #101e33;padding:14px;min-height:300px;box-shadow:5px 5px #0a1020;overflow:auto;flex:1;min-height:0}.desk-heading{display:flex;justify-content:space-between;gap:10px;color:#ffe293;font-weight:bold;font-size:14px;margin-bottom:12px}#activity{max-width:1100px;margin:auto;color:#172e43}.sheet{background:#fff5d5;border:4px solid #13243d;padding:20px;box-shadow:5px 5px #14253b}.sheet h2{margin:0 0 12px}.cards,.slots,.note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.source{padding:18px;background:#fff5d5;border:4px solid #162e47;color:#18354a;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;min-height:170px}.source .symbol{font-size:58px}.source strong{font-size:24px}.source p{font-size:22px;line-height:1.5;margin:0}.source button{min-height:44px}.reading{display:grid;grid-template-columns:1fr 1fr;gap:20px}.note-form{display:flex;flex-direction:column;gap:12px}.note-form label{font-weight:bold;font-size:22px}.note-form textarea{min-height:110px;resize:vertical}.note-form small{font-size:15px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.starter{background:#ffe39c}.note{background:#fff3b5;border:3px solid #765f37;padding:14px;font-size:20px;cursor:grab;touch-action:none;text-align:left;overflow-wrap:anywhere;white-space:pre-wrap}.note[aria-pressed=true]{outline:4px solid #edab1e}.slot{background:#fff5d5;border:3px dashed #9bd8db;padding:14px;min-height:115px;font-size:22px;color:#18354a}.slot.done{border-style:solid;background:#c6efd1}.sort-instruction{color:#fff5d5;margin:10px 0;font-size:16px}.report-title{font-size:28px;color:#163e55}.source-tag{font-size:14px;display:block;color:#38655f}.sheet input,.sheet select{width:100%;font-size:22px;margin:12px 0}.review-note{font-size:21px;border-left:4px solid #5a9c8d;padding-left:12px;white-space:pre-wrap;overflow-wrap:anywhere}.error-fact{background:#ffe4b5;border:3px solid #9d673a;padding:14px;font-size:23px}.saved-report{max-height:210px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:20px}.elephant-pixel{width:100px;height:85px;image-rendering:pixelated}.report-thumb{font-size:50px}#feedback{color:#c1f5d4}
@media(min-width:900px) and (min-height:480px){#research{padding:12px}#activity .source{min-height:130px;padding:12px}.sheet{padding:15px}.source .symbol{font-size:45px}.source p{font-size:20px}.teacher .portrait{flex-basis:58px}.note-form textarea{min-height:85px}.guide-dock{display:none!important}}
@media(max-width:700px){.cards,.slots,.note-grid,.reading{grid-template-columns:1fr}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cards .source{min-height:130px;padding:10px 4px}.cards .source strong{font-size:16px}.cards .source .symbol{font-size:36px}.sheet{padding:14px}#research{padding:10px}.note-grid,.slots{gap:10px}.note{font-size:18px}.source p{font-size:20px}}

/* Keep the phone direction bar in document flow so it cannot cover a drop target. */
@media(max-width:899px){.research-page .guide-dock{position:static;transform:none;margin:12px auto}.research-page button{overflow-wrap:anywhere}}
