/* Tablet access and receipt controls; illustrations are reused from the approved course. */
[hidden]{display:none!important}
:root{font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:#184b3b;font-size:18px}
body.tablet-page{background:#f2f6ed;background-image:linear-gradient(#f7faf3eb,#f7faf3ed),url('assets/bg-2.png');background-size:cover;background-attachment:fixed}
.tablet-page main{max-width:1320px;padding:24px;margin:auto}.tablet-page header{flex-wrap:wrap;gap:12px}.tablet-page header a{font-size:23px}
.portal-hero{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:12px 0 25px}.portal-hero h1{text-align:left;margin:0 0 10px;font-size:40px}.portal-hero p{margin:0;max-width:760px}
.portal-hero .group{flex-shrink:0;background:#fff;padding:14px 20px;border-radius:18px;border:1px solid #c4dbc6}.portal-hero label{margin:0}
.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.activity-card{background:#fff;border:1px solid #d2e5d3;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 24px #27563e12}
.activity-card .art{height:220px;background:#eaf3e3;display:grid;place-items:center}.activity-card img{max-height:100%;max-width:100%;object-fit:contain}.activity-card .card-copy{padding:22px;display:flex;flex-direction:column;flex:1}.activity-card h2{margin:0;font-size:29px}.activity-card p{margin:10px 0 20px;min-height:65px}.entry-button{display:block;text-align:center;background:#196346;color:#fff;padding:15px;border-radius:12px;font-weight:bold;margin-top:auto}.entry-button:focus-visible{outline:4px solid #e7ad34}
.notice{padding:16px 20px;border-radius:12px;background:#fff;border:1px solid #c5d9c9;line-height:1.7;margin:20px 0}.receipt-bar{margin:12px auto;max-width:1320px;padding:12px 20px;background:#fff8de;border:1px solid #e9c95f;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.6;font-size:17px}.receipt-bar[data-ok="true"]{background:#e7f5e9;border-color:#80b692}.receipt-bar [hidden]{display:none!important}.receipt-bar button{flex-shrink:0;min-height:44px;font-size:16px}.receipt-text{white-space:pre-line}
.teacher-panel{background:#fff;border:1px solid #d2e5d3;border-radius:18px;padding:24px;margin-bottom:20px}.teacher-panel h2{margin-top:0}.teacher-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.teacher-toolbar select{width:auto;min-width:140px}.teacher-toolbar label{margin:0}.teacher-status{margin:12px 0;color:#52725f}.network-item{display:grid;grid-template-columns:136px 1fr;gap:22px;align-items:center;padding:18px;background:#f3f7f0;border-radius:14px;margin:12px 0}.qr svg{width:132px;height:132px;display:block;background:#fff}.network-item h3{margin:0 0 8px}.network-url{word-break:break-all;font-size:22px;font-weight:bold}.network-actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.network-actions button{font-size:16px}.metrics{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.metrics span{padding:12px 20px;background:#eaf3e7;border-radius:12px}.record-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.tablet-record{background:#fff;border:1px solid #cbddcd;padding:22px;border-radius:18px}.tablet-record h3{margin:0 0 10px;font-size:24px}.tablet-record p{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.tablet-record .stamp{font-size:15px;color:#637766}.tablet-record .text-box{padding:12px 16px;background:#f3f6ef;border-radius:10px}.tablet-record summary{cursor:pointer;min-height:44px;line-height:44px}.tablet-record ol{padding-left:24px;line-height:1.8}.empty-state{text-align:center;padding:48px;background:#fff;border-radius:18px}.error-message{color:#ad3715;font-weight:bold}.positive{color:#147142}.teacher-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.teacher-heading h1{text-align:left}.danger{color:#a33321;background:#fff3f0}
.tablet-activity header{position:sticky;top:0;z-index:15}.tablet-activity .receipt-bar{margin:10px 18px}.tablet-activity button,.tablet-activity select{min-height:48px}.tablet-activity textarea{font-size:20px}.tablet-activity .group{flex-wrap:wrap}.tablet-activity .ch-group .group{margin:0}.tablet-activity .cj-voice-note{font-size:16px;color:#586d60;margin-top:6px}.tablet-activity #cjMic{display:none!important}
.activity-card .art{overflow:hidden;min-height:0}.activity-card .art img{width:100%;height:100%;min-height:0;object-fit:contain}.activity-card:first-child .art img{object-fit:cover}.activity-card .card-copy{background:#fff}
@media(max-width:1100px){.portal-hero{align-items:flex-start}.portal-grid{gap:14px}.activity-card .art{height:175px}.activity-card h2{font-size:26px}.activity-card .card-copy{padding:18px}.portal-hero h1{font-size:34px}.tablet-activity .ch-board{grid-auto-rows:150px;min-height:480px}.tablet-activity .ch-cell small{font-size:17px}}
@media(max-width:760px){.portal-hero{display:block}.portal-hero .group{justify-content:flex-start;margin:18px 0 0}.portal-grid,.record-grid{grid-template-columns:1fr}.activity-card{display:grid;grid-template-columns:130px 1fr}.activity-card .art{height:100%;min-height:200px}.activity-card p{min-height:0}.tablet-page main{padding:16px}.portal-hero h1{font-size:30px}.network-item{grid-template-columns:1fr}.qr{justify-self:center}.teacher-heading{display:block}.tablet-activity header{padding:10px;gap:6px;flex-wrap:wrap}.tablet-activity header a{font-size:20px}.tablet-activity header button{font-size:16px;padding:8px}.receipt-bar{flex-wrap:wrap}.tablet-activity .ch-board{gap:4px;padding:5px;grid-auto-rows:140px;min-height:430px}.tablet-activity .ch-cell small{font-size:13px}.tablet-activity .ch-cell{border-width:2px}.tablet-activity .ch-cell img{max-width:95%}.teacher-panel{padding:16px}}
@media(min-width:900px){.tablet-activity .ch-layout{grid-template-columns:minmax(0,1fr) 255px;gap:14px}.tablet-activity .ch-board{grid-auto-rows:140px;min-height:455px;gap:6px;padding:10px}.tablet-activity .ch-cell small{font-size:16px}.tablet-activity .ch-cell.start,.tablet-activity .ch-cell.end{font-size:22px}.tablet-activity .ch-side{display:flex;gap:10px;padding:12px}.tablet-activity .ch-side .group{margin:0;font-size:16px;gap:6px;flex-wrap:nowrap}.tablet-activity .ch-side .group label{margin:0;white-space:nowrap}.tablet-activity .ch-side .group select{min-width:90px;width:110px!important}.tablet-activity .ch-dice{width:80px;height:80px;margin:0 auto;padding:8px}.tablet-activity .ch-dice i{width:14px;height:14px}.tablet-activity .ch-roll{font-size:24px;min-height:48px}.tablet-activity .ch-score{font-size:18px}.tablet-activity .ch-score b{font-size:23px}.tablet-activity .ch-card img{display:none}.tablet-activity .ch-card b{font-size:18px}.tablet-activity .ch-card p{font-size:16px}.tablet-activity #chSubmitStatus{font-size:15px;margin:0}.tablet-activity .ch-head{gap:12px}.tablet-activity .ch-head h1{font-size:30px}.tablet-activity .ch-head .lead{font-size:16px}}
