/* Grid children must shrink to the viewport instead of their intrinsic text width. */
html,body{width:100%;max-width:100%;margin:0}body{overflow-wrap:anywhere}*,*::before,*::after{box-sizing:border-box}main,#app,section,article,aside,header,form,fieldset,.panel,.editor-grid>*,.landing>*,.form-grid>*,.library-grid>*{min-width:0}img,video,canvas,iframe,svg{max-width:100%}input,textarea,select{max-width:100%;min-width:0}button,.btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}fieldset{margin-inline:0}.account-list{display:grid;gap:10px;margin:20px 0}.account-list article{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px;background:#f3edf6;border-radius:12px}.account-list b{flex:1}.caption-portrait{display:inline-flex;align-items:center;padding:0;flex-shrink:0;border-radius:14px;cursor:pointer}.caption-card{text-align:center;padding:24px 8px}.caption-card p{font-size:20px;line-height:2;white-space:pre-wrap}.course-avatar-control{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#f4edf8;border:1px solid #d7c5e4;border-radius:16px;padding:18px;margin:18px 0}.course-avatar-control div{flex:1;min-width:180px}.course-avatar-control p{margin:6px 0;font-size:12px}.course-avatar-control button{min-width:140px}.chibi{touch-action:manipulation}.account-error{white-space:pre-wrap}.table-scroll{max-width:100%;overflow:auto}
.avatar-art:before{width:min(300px,100%);height:auto;aspect-ratio:1}.brand>div{min-width:0}.brand small{overflow-wrap:anywhere}
@media(max-width:750px){
 header{padding:12px 16px;height:auto;position:relative;flex-wrap:wrap;gap:10px}.brand{min-width:0}.brand small{font-size:9px}.connection{max-width:100%;overflow-wrap:anywhere}.header-tools{display:flex;width:100%;gap:7px}.header-tools .btn{flex:1;padding:8px 9px;font-size:11px}
 main,.studio main,.presenter main,.player main{width:100%;max-width:100%;margin:0;padding-inline:14px}.studio main{padding-top:20px}.studio-top{flex-wrap:wrap}.studio-top input{width:100%;flex-basis:100%}.studio-top .btn{flex:1 1 auto}.editor-grid{width:100%;gap:14px}.editor-grid>*,.preview,.properties,.station-list{max-width:100%;width:100%}.properties .form-grid{grid-template-columns:minmax(0,1fr)}.library-grid,.form-grid,.concepts,.comparison-columns{grid-template-columns:minmax(0,1fr)}
 .landing{display:flex;flex-direction:column}.hero-title{font-size:clamp(32px,10vw,49px);line-height:1.5}.landing .actions{gap:8px}.landing .actions .btn{flex:1 1 140px}.avatar-art{width:100%;min-height:230px;gap:0}.avatar-art>.chibi{width:30%!important;height:auto!important;aspect-ratio:1/1.1}.hero-count{flex-wrap:wrap;gap:15px}.hero-count span{min-width:0;flex:1}
 .live-top{flex-wrap:wrap;gap:8px}.live-stage{padding:18px 14px}.identity-strip{position:relative;top:auto;gap:8px;flex-wrap:wrap}.identity-strip .balance{min-width:65px}.live-stage h2{font-size:27px}.answer-option{min-width:0}.answer-options{grid-template-columns:minmax(0,1fr)}.manage-row{flex-wrap:wrap}.manage-row>b,.manage-row>div{min-width:0}.manage-row select{width:100%;max-width:100%}.podium{align-items:end;gap:4px}.podium-column{min-width:0;flex:1}.plinth{padding:8px 4px;min-width:0}.podium-members p{font-size:11px}.podium-members .chibi{width:54px!important;height:60px!important}.live-table,.comparison-table{display:block;width:100%;max-width:100%;overflow-x:auto}.comparison-table td{min-width:100px}.course-study{padding:18px 14px}.course-progress{gap:10px;flex-wrap:wrap}.course-share input{width:100%}.course-avatar-control div{min-width:0;flex-basis:100%}
 dialog{width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100dvh - 28px);margin:auto;padding:18px 14px;overflow-y:auto}.character-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.character-choice{padding:8px 3px}.character-choice .chibi{max-width:100%}.character-choice span:last-child{font-size:10px}.qr-modal{padding:8px}.qr-modal svg{width:min(250px,100%);height:auto}.anime-result-screen{width:calc(100% - 24px);max-width:calc(100% - 24px)}.anime-result-content{max-width:100%;padding:16px}.anime-result-screen .anime-motion{width:min(300px,78vw)!important;height:min(300px,78vw)!important}#toast{max-width:calc(100% - 28px);min-width:0;width:max-content}
 .presenter #scorebar{max-width:100%;padding-inline:10px}.score-team{flex-shrink:0}.presenter #controls{max-width:100%;flex-wrap:wrap;gap:7px}.presenter main{padding-bottom:320px}
}
@media(max-width:360px){.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-tools .btn{font-size:10px}.brand small{max-width:200px}.podium-members .chibi{width:44px!important;height:48px!important}}

.session-character-fields{padding:18px;border:1px solid #dccde7;border-radius:14px;margin:18px 0}.session-character-fields summary{cursor:pointer;padding:8px 0}.session-character-fields .teacher-character-grid{max-height:38vh}.room-tools{position:relative}.room-tools>summary{cursor:pointer;padding:11px 15px;border:1px solid var(--line);border-radius:10px;font-size:12px}.room-tools .tools-row{padding:12px;margin-top:8px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}.advanced-home{margin-top:18px;font-size:12px}.advanced-home summary{cursor:pointer;color:var(--muted)}.update-banner{position:fixed;bottom:18px;left:18px;right:18px;z-index:100;background:#382c4b;color:white;padding:15px;border-radius:15px;display:flex;justify-content:center;align-items:center;gap:15px;box-shadow:0 8px 30px #382c4b33}.update-banner .btn{background:#fff;color:#382c4b;padding:8px 14px}.character-choice[hidden]{display:none!important}
