.lp{--gold:#ebc55f;--ink:#14243a;max-width:1250px;color:var(--ink);background:#f6f8fb;min-height:100vh;margin:auto;padding:28px;font:16px/1.55 system-ui,sans-serif}.lp *{box-sizing:border-box}.lp-header{border-bottom:3px solid var(--gold);align-items:center;gap:24px;padding-bottom:22px;display:flex}.lp-header>a{color:var(--ink);font-size:32px;font-weight:900;text-decoration:none}.lp-header span{letter-spacing:2px;font-size:13px}.lp h1{margin:4px 0;font-size:28px}.lp-header>button{margin-left:auto}.lp button,.lp select,.lp input{font:inherit}.lp button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #bbc6d4;border-radius:10px;padding:11px 16px}.lp button:disabled{opacity:.6;cursor:wait}.lp button.lp-primary,.lp-tabs .selected{background:var(--ink);color:#fff;border-color:var(--ink)}.lp label{gap:6px;font-weight:600;display:grid}.lp input:not([type=checkbox]),.lp select{width:100%;color:var(--ink);background:#fff;border:1px solid #9babbf;border-radius:8px;min-height:45px;padding:11px}.lp input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink)}.lp-intro{max-width:900px}.lp-tabs,.lp-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0;display:flex}.lp-toolbar label{flex:1;min-width:220px}.lp-tabs b{margin-left:8px}.lp-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;display:grid}.lp article,.lp-editor,.lp-login{background:#fff;border:1px solid #d5dce6;border-radius:16px;padding:24px}.lp article h2{margin:12px 0}.lp-tag{background:#eef1f6;border-radius:6px;padding:5px 9px;font-size:14px}.lp-login{max-width:460px;margin:45px auto}.lp-login form{gap:20px;display:grid}.lp-editor,.lp-editor>label{margin:20px 0}.lp fieldset{border:1px solid #cbd4df;border-radius:12px;margin:25px 0;padding:20px}.lp legend{font-size:19px;font-weight:750}.lp-checks{flex-wrap:wrap;gap:16px;margin:15px 0;display:flex}.lp-checks label,.lp label.lp-inline{align-items:center;gap:8px;display:flex}.lp-columns{grid-template-columns:1fr 1fr;gap:20px;margin:20px 0;display:grid}.lp-member{border-top:1px solid #d7dfe8;margin:18px 0;padding:18px 0}.lp-member>label{max-width:350px;margin:12px 0}.lp-save{background:#fff;gap:14px;padding:15px 0;display:flex;position:sticky;bottom:0}.lp-error{background:#fff0ed;border-left:5px solid #a3291c;padding:16px}.lp-notice{background:#edf7f1;border-left:5px solid #26734c;padding:16px}@media (max-width:600px){.lp{padding:16px}.lp-header{flex-wrap:wrap;gap:12px}.lp h1{font-size:24px}.lp-columns{grid-template-columns:1fr}.lp-editor{padding:15px}.lp fieldset{padding:12px}}.lp-filters{flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0;display:flex}.lp-filters label{flex:1;min-width:180px}.lp{max-width:1200px;padding:24px;font-size:1rem}.lp-header{gap:20px;padding-bottom:16px}.lp h1{font-size:1.5rem;line-height:1.25}.lp h2{font-size:1.25rem}.lp h3{margin:0 0 12px;font-size:1rem}.lp p{overflow-wrap:anywhere}.lp button,.lp summary,.lp a,.lp input,.lp select{touch-action:manipulation}.lp button{min-height:44px}.lp button:disabled{cursor:default}.lp :is(button,input,select,a,summary):focus-visible{outline-offset:3px;outline:3px solid #856315}.lp-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0;display:grid}.lp-tabs button{padding:10px 8px;font-size:.9375rem}.lp-tabs b{margin-left:6px;font-size:.875rem;display:inline-block}.lp-searchbar{align-items:end;gap:10px;margin:16px 0}.lp-searchbar label{flex:250px;min-width:0}.lp-searchbar>button{flex:0 auto}.lp-filter-panel{background:#fff;border:1px solid #cbd4df;border-radius:10px;margin-bottom:12px}.lp-filter-panel>summary{cursor:pointer;min-height:44px;padding:10px 14px;font-size:.9375rem;font-weight:650}.lp-filter-panel>summary span{margin-left:6px}.lp-filter-panel .lp-filters{align-items:end;margin:8px 0 0;padding:0 14px 14px}.lp-filters label{min-width:140px;font-size:.875rem}.lp-pagination{flex-wrap:wrap;align-items:center;gap:14px;margin:12px 0;font-size:.875rem;display:flex}.lp-pagination p{margin:0 auto 0 0}.lp-pagination>label{align-items:center;gap:8px;font-weight:400;display:flex}.lp-pagination select{width:auto;padding:8px}.lp-page-buttons{align-items:center;gap:10px;display:flex}.lp-page-buttons button{padding:8px 12px;font-size:.875rem}.lp-page-buttons span{white-space:nowrap}.lp-list{background:#fff;border:1px solid #cbd4df;border-radius:12px;overflow:clip}.lp-list:empty{display:none}.lp-list-item+.lp-list-item{border-top:1px solid #dce2eb}.lp-list-item>summary{cursor:pointer;align-items:center;gap:16px;min-height:76px;padding:16px 20px;list-style:none;display:flex}.lp-list-item>summary::-webkit-details-marker{display:none}.lp-list-item>summary:hover{background:#f1f5fa}.lp-list-item[open]>summary{background:#edf2f8}.lp-row-title{flex:1;gap:4px;min-width:0;display:grid}.lp-row-title strong{overflow-wrap:anywhere;font-size:1rem;line-height:1.4}.lp-row-title>span{color:#506078;overflow-wrap:anywhere;font-size:.875rem;line-height:1.4}.lp-tag{white-space:normal;flex-shrink:0;font-size:.875rem;line-height:1.4}.lp-tag-muted{color:#823a31;background:#f5eceb}.lp-disclosure{border-bottom:2px solid #506078;border-right:2px solid #506078;flex-shrink:0;width:9px;height:9px;margin:0 3px 5px;transform:rotate(45deg)}.lp-list-item[open] .lp-disclosure{margin-bottom:0;transform:rotate(225deg)}.lp-row-content{border-top:1px solid #dce2eb;padding:20px}.lp-row-content>p:first-child{margin-top:0}.lp-detail-columns{grid-template-columns:1fr 1.5fr;gap:28px;margin-bottom:20px;display:grid}.lp-detail-columns section{min-width:0}.lp-chips{flex-wrap:wrap;gap:8px;display:flex}.lp-chips>span{background:#eef2f8;border-radius:6px;padding:5px 9px;font-size:.875rem}.lp-chips p{margin:0}.lp-member-list{max-height:320px;margin:0;padding:0;list-style:none;overflow:auto}.lp-member-list li{border-bottom:1px solid #e4e8ef;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.lp-member-list li:first-child{padding-top:0}.lp-member-list li>span{overflow-wrap:anywhere;min-width:0}.lp-member-list small{color:#506078;font-size:.875rem;display:block}.lp-member-list button{flex-shrink:0;padding:8px 10px;font-size:.875rem}.lp-editor{outline:none;scroll-margin-top:12px}.lp-editor .lp-toolbar{justify-content:space-between;margin-top:0}.lp-editor .lp-toolbar h2{margin:0}.lp-editor fieldset{min-width:0}.lp-member strong{overflow-wrap:anywhere}.lp-save{z-index:2;padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:1px solid #dce2eb;flex-wrap:wrap;gap:10px}.lp-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}@media (max-width:900px){.lp{padding:20px}.lp-header{gap:14px}.lp-detail-columns{grid-template-columns:1fr;gap:22px}.lp-tabs button{font-size:.875rem}.lp-editor{padding:20px}}@media (max-width:600px){.lp{min-width:0;padding:12px}.lp-header{grid-template-columns:1fr auto;gap:8px 12px;padding-bottom:12px;display:grid}.lp-header>a{font-size:1.5rem}.lp-header>div{grid-area:2/1/auto/-1}.lp-header>button{grid-area:1/2;margin:0;padding:8px 12px;font-size:.875rem}.lp h1{margin:0;font-size:1.25rem}.lp-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:14px 0}.lp-tabs button{padding:8px 6px;line-height:1.35}.lp-searchbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:12px 0;display:grid}.lp-searchbar>label{grid-column:1/-1;min-width:0;font-size:.875rem}.lp-searchbar>button{padding:9px 12px;font-size:.875rem}.lp-filter-panel .lp-filters{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.lp-filters label{min-width:0}.lp-pagination{gap:8px;margin:12px 0}.lp-page-buttons{justify-content:space-between;width:100%}.lp-page-buttons button{flex:1;max-width:130px}.lp-list-item>summary{flex-wrap:wrap;gap:10px;min-height:76px;padding:12px}.lp-row-title{flex-basis:calc(100% - 28px);order:0}.lp-disclosure{order:1}.lp-list-item>summary>.lp-tag{order:2;padding:2px 7px;font-size:.875rem}.lp-row-content{padding:14px 12px}.lp-member-list li{flex-wrap:wrap;align-items:start}.lp-member-list li>span{flex:140px}.lp-editor{margin:12px 0;padding:14px 12px}.lp-editor>.lp-toolbar{gap:10px}.lp-editor>.lp-toolbar>button{font-size:.875rem}.lp-columns{grid-template-columns:minmax(0,1fr);gap:14px}.lp fieldset{margin:20px 0;padding:12px}.lp legend{max-width:100%;padding:0 4px;font-size:1rem}.lp-checks{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.lp-checks label{min-height:44px}.lp-save>button{flex:1}.lp-login{margin:20px 0;padding:20px}.lp-member>label{max-width:none}}.lp .lp-button{min-height:44px;color:var(--ink);text-align:center;background:#fff;border:1px solid #bbc6d4;border-radius:10px;justify-content:center;align-items:center;padding:11px 16px;line-height:1.4;text-decoration:none;display:inline-flex}.lp .lp-button.lp-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.lp-game-actions,.lp-game-tabs{flex-wrap:wrap;gap:10px;display:flex}.lp-game-admin>.lp-toolbar h2{flex:1}.lp-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.lp-stats p{background:#fff;border:1px solid #cbd4df;border-radius:10px;margin:0;padding:16px;font-size:.875rem}.lp-stats strong{font-size:1.6rem;display:block}.lp-roster-note{color:#506078;font-size:.875rem}.lp-class-detail{border-bottom:1px solid #dce2eb}.lp-class-detail>summary{cursor:pointer;overflow-wrap:anywhere;min-height:48px;padding:14px 0;font-weight:650}.lp-class-detail>summary span{margin-left:8px;font-weight:400}.lp-roster-pupils{max-height:400px;margin:0;padding:0;list-style:none;overflow:auto}.lp-roster-pupils li{overflow-wrap:anywhere;border-top:1px solid #e4e8ef;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.lp-roster-pupils li>span:first-child{min-width:0}.lp-roster-pupils .lp-tag{flex-shrink:1}.lp-roster-pupils small{font-size:.875rem}@media (max-width:650px){.lp-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lp-stats p{padding:12px}.lp-game-admin>.lp-toolbar{align-items:stretch}.lp-game-admin>.lp-toolbar h2{flex-basis:100%;order:-1}.lp-game-admin>.lp-toolbar>button,.lp-game-admin>.lp-toolbar>a{flex:1}.lp-game-tabs{grid-template-columns:1fr;display:grid}.lp-roster-pupils li{flex-wrap:wrap}.lp-game-actions>*{flex:1}}
