/* Consistent vector symbols; no emoji fonts or image downloads. */
:root{--header-avatar:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M4%2021v-2a8%208%200%200%201%2016%200v2%22/%3E%3C/svg%3E")}
:root{--header-shop:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%208h16l-1%2013H5L4%208Z%22/%3E%3Cpath%20d%3D%22M8%208V6a4%204%200%200%201%208%200v2%22/%3E%3C/svg%3E")}
:root{--header-settings:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9%203%201-1h4l1%203%203%201%203%201v4l-2%202-1%203-3%203h-4l-2-2-3-1-3-3v-4l2-2%201-3%203-1Z%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22/%3E%3C/svg%3E")}
:root{--header-sun:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M12%202v2m0%2016v2M2%2012h2m16%200h2M5%205l1.5%201.5M18%2018l1.5%201.5M5%2019l1.5-1.5M18%206l1.5-1.5%22/%3E%3C/svg%3E")}
:root{--header-moon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2015.5A9%209%200%200%201%208.5%204%209%209%200%201%200%2020%2015.5Z%22/%3E%3C/svg%3E")}
:root{--header-log:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%203h11l3%203v15H5V3Z%22/%3E%3Cpath%20d%3D%22M15%203v4h4M8%2011h8M8%2015h8M8%2018h5%22/%3E%3C/svg%3E")}
:root{--header-projector:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2213%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M12%2017v4m-4%200h8M7%208h10M7%2012h6%22/%3E%3C/svg%3E")}
:root{--header-teacher:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m2%208%2010-5%2010%205-10%205L2%208Zm4%202v7c4%203%208%203%2012%200v-7m4-2v8%22/%3E%3C/svg%3E")}
:root{--header-more:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2212%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2212%22%20r%3D%221%22/%3E%3C/svg%3E")}
:root{--header-gem:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m7%203-5%206%2010%2013L22%209l-5-6H7Z%22/%3E%3Cpath%20d%3D%22M2%209h20M7%203l5%2019L17%203%22/%3E%3C/svg%3E")}
.topbar{align-items:center;gap:18px}.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.top-actions :is(button,summary){min-height:46px;border-radius:14px!important;font-size:13px;padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:8px;line-height:1.2;box-shadow:none!important}
.top-actions :is(button,summary)::before{content:'';display:block;flex:0 0 20px;width:20px;height:20px;background:var(--ui-accent);mask:var(--header-icon) center/contain no-repeat;-webkit-mask:var(--header-icon) center/contain no-repeat}
#arcade-btn{--header-icon:var(--header-avatar);max-width:190px;overflow:hidden;text-overflow:ellipsis}#collection-btn{--header-icon:var(--header-shop)}#settings-btn{--header-icon:var(--header-settings);min-width:46px;width:46px!important;font-size:0}#theme-toggle{--header-icon:var(--header-moon)}#theme-toggle[aria-pressed=true]{--header-icon:var(--header-sun)}#log-btn{--header-icon:var(--header-log)}#teacher-btn{--header-icon:var(--header-teacher)}#projector-btn{--header-icon:var(--header-projector)}
.top-actions .gem-bank{min-height:46px;border-radius:14px;padding:8px 12px;font-size:17px;display:flex;align-items:center;justify-content:center;gap:8px}.top-actions .gem-bank b{font-size:0;width:20px;height:20px;display:block;background:#e8ba5b;mask:var(--header-gem) center/contain no-repeat;-webkit-mask:var(--header-gem) center/contain no-repeat}.top-actions .gem-bank small{display:none}
.header-more{position:relative;flex-shrink:0}.header-more summary{--header-icon:var(--header-more);list-style:none;cursor:pointer;border:1px solid var(--ui-border);background:var(--ui-panel);color:var(--ui-text)}.header-more summary::-webkit-details-marker{display:none}.header-more summary:focus-visible{outline:3px solid var(--ui-accent);outline-offset:3px}
#header-more-items{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:230px;display:grid;gap:8px;background:var(--ui-panel);border:1px solid var(--ui-border);box-shadow:0 12px 35px #0003;padding:12px;border-radius:18px}#header-more-items button{width:100%;justify-content:flex-start;margin:0;min-height:48px;white-space:normal;max-width:none}#header-more-items [hidden]{display:none!important}
@media(max-width:900px){.topbar{flex-wrap:wrap}.top-actions{width:100%;margin:0}.topbar .brand{padding:7px 10px}.brand-symbol{border-right:0;padding:0}.brand-title{font-size:25px}.top-actions #collection-btn{flex:1}}
@media(max-width:600px){
 .topbar{gap:12px}.topbar .brand{min-height:48px;width:auto;max-width:100%;border-radius:16px;box-shadow:none}
 .top-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important;margin:0}
 .top-actions> :is(button,.gem-bank,.header-more){grid-column:auto!important;min-width:0;width:100%!important;max-width:none!important;min-height:48px;order:0}
 #arcade-btn{grid-area:1/1!important;font-size:12px;white-space:nowrap} .top-actions .gem-bank{grid-area:1/2!important}#collection-btn{grid-area:1/3!important;font-size:12px}#theme-toggle{grid-area:2/1!important}#settings-btn{grid-area:2/2!important}#header-more{grid-area:2/3!important}
 .top-actions :is(button,summary){padding:9px 7px;min-height:48px;font-size:13px;border-radius:12px!important;gap:6px}.top-actions :is(button,summary)::before{width:19px;height:19px;flex-basis:19px}.header-more summary{width:100%}
 #header-more-items{width:min(250px,calc(100vw - 28px));right:0}#header-more-items button{justify-content:flex-start;font-size:14px;padding:12px}
 #section-nav{padding:8px 12px;border-radius:14px}.portrait-navigation{flex-direction:row!important;align-items:center!important;font-size:13px;gap:10px}.portrait-navigation select{min-height:46px;padding:8px;font-size:16px;border-radius:10px}
}
