.svr-plaza-link-wrap{margin-top:.5rem}.svr-plaza-link{--tw-text-opacity:1;color:rgb(61 139 253/var(--tw-text-opacity,1));text-decoration-line:none}.svr-plaza-link:hover{text-decoration:underline}.svr-public-label{display:inline-flex;cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem}.svr-public-label input{width:1rem;height:1rem}.svr-dish-block{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.svr-dish-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.svr-dish-title{margin:0;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(139 156 179/var(--tw-text-opacity,1))}.svr-dish-empty{margin:0}.svr-dish-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.svr-dish-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:center}@media (min-width:320px){.svr-dish-row{grid-template-columns:1fr}}.svr-dish-tags{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.375rem}.svr-dish-tags li{border-radius:.25rem;padding:.125rem .5rem;font-size:.75rem;line-height:1rem}.svr-dish-tags--good li{color:var(--fall);background:color-mix(in srgb,var(--fall) 15%,transparent)}.svr-dish-tags--bad li{color:var(--rise);background:color-mix(in srgb,var(--rise) 15%,transparent)}.svr-plaza-filters{align-items:end}.svr-plaza-filter-action{display:flex;align-items:flex-end}.svr-plaza-list{display:grid;grid-template-columns:1fr;gap:.875rem}@media (min-width:768px){.svr-plaza-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.svr-plaza-card{border-radius:10px;border-width:1px;--tw-border-opacity:1;border-color:rgb(45 58 77/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(26 35 50/var(--tw-bg-opacity,1));padding:clamp(.875rem,2vw,1.125rem)}.svr-plaza-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.svr-plaza-store{margin-bottom:.25rem!important;border:none!important;padding-bottom:0!important}.svr-plaza-meta{margin:0}.svr-plaza-remark{margin:0 0 .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(231 236 243/var(--tw-text-opacity,1));white-space:pre-wrap;word-break:break-word}.svr-plaza-dish-group{margin-bottom:.75rem}.svr-plaza-dish-group h4{margin:0 0 .25rem;font-size:.75rem;line-height:1rem;font-weight:600;--tw-text-opacity:1;color:rgb(139 156 179/var(--tw-text-opacity,1))}.svr-plaza-time{margin:0}.tool-dot-wrap{max-width:min(100%,880px)}.tool-dot-header{margin-bottom:1rem}.tool-dot-brand{display:flex;flex-direction:column;gap:.35rem}.tool-dot-logo{font-size:1.75rem;line-height:1}.tool-dot-title{margin:0;font-size:1.25rem;line-height:1.75rem;font-weight:600;--tw-text-opacity:1;color:rgb(231 236 243/var(--tw-text-opacity,1))}.tool-dot-subtitle{margin:0;color:rgb(139 156 179/var(--tw-text-opacity,1))}.tool-dot-back,.tool-dot-subtitle{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1}.tool-dot-back{color:rgb(61 139 253/var(--tw-text-opacity,1));text-decoration-line:none;align-self:flex-start}.tool-dot-back:hover{text-decoration:underline}.tool-dot-notice{border-radius:10px;border-width:1px;--tw-border-opacity:1;border-color:rgb(45 58 77/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(26 35 50/var(--tw-bg-opacity,1));padding:.875rem 1rem;margin-bottom:1.25rem}.tool-dot-notice p{margin:0;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(139 156 179/var(--tw-text-opacity,1))}.tool-dot-section-title{margin:0 0 .75rem;font-size:1rem;line-height:1.5rem;font-weight:600;--tw-text-opacity:1;color:rgb(231 236 243/var(--tw-text-opacity,1))}.tool-dot-grid{margin-bottom:2rem}.tool-dot-card-list{list-style:none;margin:0;padding:0;display:grid;gap:.875rem}@media (min-width:640px){.tool-dot-card-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.tool-dot-card{border-radius:10px;border-width:1px;--tw-border-opacity:1;border-color:rgb(45 58 77/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(26 35 50/var(--tw-bg-opacity,1));text-decoration-line:none;display:flex;flex-direction:column;gap:.35rem;padding:1rem;min-height:100%;transition:border-color .15s ease,transform .15s ease}.tool-dot-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));transform:translateY(-1px)}.tool-dot-card-icon{font-size:1.5rem}.tool-dot-card-title{font-weight:600;--tw-text-opacity:1;color:rgb(231 236 243/var(--tw-text-opacity,1))}.tool-dot-card-desc{color:rgb(139 156 179/var(--tw-text-opacity,1));flex:1}.tool-dot-card-cta,.tool-dot-card-desc{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1}.tool-dot-card-cta{color:rgb(61 139 253/var(--tw-text-opacity,1));margin-top:.25rem}.tool-dot-panel{border-radius:10px;border-width:1px;--tw-border-opacity:1;border-color:rgb(45 58 77/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(26 35 50/var(--tw-bg-opacity,1));padding:clamp(1rem,2.5vw,1.25rem);margin-bottom:1rem}.tool-dot-converter .tool-dot-panel{max-width:560px}.tool-dot-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.tool-dot-field--wide{grid-column:1/-1}.tool-dot-label{font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1}.tool-dot-file,.tool-dot-input,.tool-dot-label{color:rgb(231 236 243/var(--tw-text-opacity,1))}.tool-dot-file,.tool-dot-input{border-radius:8px;border-width:1px;--tw-border-opacity:1;border-color:rgb(45 58 77/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(15 20 25/var(--tw-bg-opacity,1));--tw-text-opacity:1;padding:.625rem .75rem;font-size:.9375rem;min-height:var(--touch-min)}.tool-dot-input--compact{min-height:2.25rem;padding:.4rem .6rem}.tool-dot-disclaimer,.tool-dot-file-name,.tool-dot-hint{font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(139 156 179/var(--tw-text-opacity,1))}.tool-dot-btn{border-radius:8px;border-width:1px;--tw-border-opacity:1;border-color:rgb(45 58 77/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(15 20 25/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(231 236 243/var(--tw-text-opacity,1));padding:.5rem .875rem;font-size:.875rem;cursor:pointer;min-height:2.5rem}.tool-dot-btn:hover:not(:disabled){border-color:var(--accent)}.tool-dot-btn:disabled{opacity:.55;cursor:not-allowed}.tool-dot-btn--primary{--tw-border-opacity:1;border-color:rgb(61 139 253/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(61 139 253/var(--tw-bg-opacity,1));font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));width:100%}.tool-dot-btn--primary:hover:not(:disabled){filter:brightness(1.08)}.tool-dot-btn--danger{border-color:color-mix(in srgb,var(--rise) 45%,var(--border));color:var(--rise)}.tool-dot-status{margin-top:.75rem;margin-bottom:0;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(139 156 179/var(--tw-text-opacity,1))}.tool-dot-status--ok{color:var(--fall)}.tool-dot-status--err{color:var(--rise)}.tool-dot-footer{font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(139 156 179/var(--tw-text-opacity,1));margin-top:1.5rem}.tool-dot-admin-form{display:grid;gap:.75rem}@media (min-width:640px){.tool-dot-admin-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}}.tool-dot-generated{margin-top:1rem}.tool-dot-generated-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem}.tool-dot-code-block{border-radius:8px;border-width:1px;--tw-border-opacity:1;border-color:rgb(45 58 77/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(15 20 25/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(231 236 243/var(--tw-text-opacity,1));padding:.75rem;overflow-x:auto;font-size:.8125rem;line-height:1.6;margin:0}.tool-dot-admin-list-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.tool-dot-admin-filters{display:flex;gap:.5rem;align-items:center}.tool-dot-table-wrap{overflow-x:auto;overflow-y:clip}.tool-dot-table{width:100%;border-collapse:collapse;font-size:.8125rem}.tool-dot-table td,.tool-dot-table th{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(45 58 77/var(--tw-border-opacity,1));padding:.5rem .625rem;text-align:left;vertical-align:middle}.tool-dot-table th{font-weight:500;--tw-text-opacity:1;color:rgb(139 156 179/var(--tw-text-opacity,1))}.tool-dot-badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.75rem}.tool-dot-badge--unused{background:color-mix(in srgb,var(--fall) 18%,transparent);color:var(--fall)}.tool-dot-badge--used{--tw-text-opacity:1;color:rgb(139 156 179/var(--tw-text-opacity,1));background:color-mix(in srgb,var(--muted) 15%,transparent)}.admin-tool-codes-result{margin-top:1rem}.admin-tool-codes-result-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.admin-tool-codes-block{border-radius:8px;border-width:1px;--tw-border-opacity:1;border-color:rgb(45 58 77/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(15 20 25/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(231 236 243/var(--tw-text-opacity,1));padding:.75rem;overflow-x:auto;font-size:.8125rem;line-height:1.6;margin:0}.admin-tool-codes-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-tool-codes-filter-select{border-radius:8px;border-width:1px;--tw-border-opacity:1;border-color:rgb(45 58 77/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(15 20 25/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(231 236 243/var(--tw-text-opacity,1));padding:.4rem .6rem;font-size:.875rem;min-height:2.25rem}.admin-visits-head{align-items:flex-start}.admin-visits-toolbar{flex-wrap:wrap;justify-content:flex-end}.admin-visits-filter,.admin-visits-toolbar{display:flex;gap:.5rem;align-items:center}.admin-visits-filter-label{--tw-text-opacity:1;color:rgb(139 156 179/var(--tw-text-opacity,1));font-size:.875rem;white-space:nowrap}.admin-visits-filter-select{border-radius:8px;border-width:1px;--tw-border-opacity:1;border-color:rgb(45 58 77/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(15 20 25/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(231 236 243/var(--tw-text-opacity,1));padding:.4rem .6rem;font-size:.875rem;min-height:2.25rem;min-width:9rem;max-width:14rem}.admin-traffic-panel{margin-bottom:1.25rem}.admin-traffic-date-input{border-radius:8px;border-width:1px;--tw-border-opacity:1;border-color:rgb(45 58 77/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(15 20 25/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(231 236 243/var(--tw-text-opacity,1));padding:.4rem .6rem;font-size:.875rem;min-height:2.25rem}.admin-traffic-quota{margin:.75rem 0 1rem}.admin-traffic-quota-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;font-size:.9rem}.admin-traffic-quota-track{height:.65rem;border-radius:999px;background:color-mix(in srgb,var(--border) 70%,transparent);overflow:hidden}.admin-traffic-quota-fill{height:100%;border-radius:inherit;background:var(--rise);transition:width .25s ease}.admin-traffic-quota-fill--warn{background:#e8a317}.admin-traffic-quota-fill--critical{background:var(--rise)}.admin-1102-risk-list{margin:.65rem 0 0;padding-left:1.15rem;font-size:.9rem;line-height:1.45}.admin-1102-risk-list li{margin:.25rem 0}.admin-1102-url-cell{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-1102-text-table .admin-1102-item-cell{width:7.5rem;min-width:5.5rem;max-width:9rem;font-weight:600;vertical-align:top;white-space:normal}.admin-1102-text-cell{white-space:normal;word-break:break-word;line-height:1.45;vertical-align:top}@media (max-width:767px){.admin-1102-text-table .admin-1102-item-cell{width:5.5rem;min-width:4.5rem;max-width:6.5rem;font-size:.85rem}.admin-1102-text-cell{font-size:.85rem}}.admin-traffic-subhead{margin:1.25rem 0 .5rem;font-size:1rem}.admin-traffic-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem}.admin-traffic-hint{margin:0 0 .75rem}.admin-traffic-anon{margin:.5rem 0 0;font-size:.85rem;color:var(--muted,#6b7280)}.admin-traffic-rate{margin:.35rem 0 0;font-size:.85rem;color:var(--text,#111);font-weight:600}.admin-traffic-ip-modal-backdrop{position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;justify-content:center;padding:0}.admin-traffic-ip-modal{width:min(36rem,100%);max-height:min(85vh,40rem);overflow:auto;background:var(--bg,#fff);color:var(--text,#111);border-radius:.85rem .85rem 0 0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px));box-shadow:0 -8px 28px rgba(0,0,0,.18)}.admin-traffic-ip-modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.admin-traffic-ip-modal-head h3{margin:0;font-size:1.05rem}.admin-traffic-ip-modal-route{margin:0 0 .35rem}.admin-traffic-ip-cell,.admin-traffic-ip-modal-route{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem}@media (min-width:768px){.admin-traffic-ip-modal-backdrop{align-items:center;padding:1.5rem}.admin-traffic-ip-modal{border-radius:.85rem;max-height:min(80vh,36rem)}}.admin-traffic-filter-hint{margin:0 0 .4rem;font-size:.8rem}.admin-traffic-user-btn{background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:.15em;cursor:pointer;text-align:left;min-height:2rem}.admin-traffic-row--active{background:color-mix(in srgb,var(--rise) 12%,transparent)}.admin-traffic-clear-filter{margin-top:.5rem}.admin-traffic-block--pairs{margin-top:1rem}.admin-traffic-block h3{margin:0 0 .5rem;font-size:1rem}.admin-traffic-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0 0 1.25rem}.admin-traffic-chart-block{min-width:0;padding:.75rem .85rem .5rem;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:.65rem;background:color-mix(in srgb,var(--bg) 92%,#fff)}.admin-traffic-chart-block h3{margin:0 0 .35rem;font-size:1rem}.admin-traffic-chart-hint{margin:0 0 .55rem;font-size:.8rem}.admin-traffic-chart-frame{width:100%;min-height:200px}@media (max-width:900px){.admin-traffic-charts,.admin-traffic-grid{grid-template-columns:1fr}}@media (max-width:767px){.admin-traffic-chart-block{padding:.65rem .55rem .35rem}}.admin-rbac-status{margin:0}.admin-rbac-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.625rem}.admin-rbac-toolbar--inline{margin-bottom:1rem}.admin-rbac-step-label{font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;--tw-text-opacity:1;color:rgb(139 156 179/var(--tw-text-opacity,1));margin:0 0 .5rem;letter-spacing:.04em}.admin-rbac-role-tabs{display:grid;grid-template-columns:1fr;gap:.5rem;margin-bottom:1rem}@media (min-width:480px){.admin-rbac-role-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.admin-rbac-role-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}.admin-rbac-role-tab{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.75rem .875rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg) 45%,transparent);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.admin-rbac-role-tab:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.admin-rbac-role-tab.is-active{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--panel));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.admin-rbac-role-tab-meta{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.admin-rbac-role-panel{padding:1rem;border:1px solid color-mix(in srgb,var(--border) 85%,transparent);border-radius:10px;background:color-mix(in srgb,var(--bg) 35%,transparent)}.admin-rbac-role-panel-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem .75rem;margin-bottom:.75rem}.admin-rbac-role-desc{margin:0;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(139 156 179/var(--tw-text-opacity,1));flex:1 1 14rem;line-height:1.5}.admin-rbac-role-count-badge,.admin-rbac-role-lock-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.admin-rbac-role-lock-badge{color:var(--muted);background:color-mix(in srgb,var(--bg) 50%,transparent);border:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.admin-rbac-role-count-badge{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.admin-rbac-dirty-dot{display:inline-block;width:.45rem;height:.45rem;border-radius:50%;background:var(--rise);flex-shrink:0}.admin-rbac-perm-groups{display:flex;flex-direction:column;gap:.25rem}.admin-rbac-perm-list{list-style:none;margin:0;padding:0;border:1px solid color-mix(in srgb,var(--border) 85%,transparent);border-radius:10px;overflow:hidden}.admin-rbac-perm-row{border-bottom:1px solid color-mix(in srgb,var(--border) 85%,transparent)}.admin-rbac-perm-row:last-child{border-bottom:none}.admin-rbac-perm-row-label{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem .875rem;cursor:pointer;transition:background .15s ease}.admin-rbac-perm-row-label:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.admin-rbac-perm-row-label--locked{cursor:default;opacity:.72}.admin-rbac-perm-row-label--locked:hover{background:transparent}.admin-rbac-perm-row-body{min-width:0;flex:1}.admin-rbac-search-field{display:flex;flex-direction:column;gap:.35rem;flex:1 1 16rem;min-width:0}.admin-rbac-search-label{font-size:.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(139 156 179/var(--tw-text-opacity,1))}.admin-rbac-search-input{min-height:2.5rem;padding-block:.45rem}.admin-rbac-search-clear{flex-shrink:0}.admin-rbac-section{margin-bottom:0}.admin-rbac-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin-bottom:.875rem}.admin-rbac-section-title{font-size:clamp(1rem,1.5vw + .5rem,1.125rem);margin:0;font-weight:600;--tw-text-opacity:1;color:rgb(231 236 243/var(--tw-text-opacity,1))}.admin-rbac-count-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted);background:color-mix(in srgb,var(--bg) 55%,transparent);border:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.admin-rbac-callout{font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(139 156 179/var(--tw-text-opacity,1));margin:0 0 1rem;padding:.75rem .875rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--panel));line-height:1.55}.admin-rbac-empty{margin:.5rem 0 0}.admin-rbac-users-wrap{width:100%;overflow-x:auto;overflow-y:clip;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel) 96%,var(--bg) 4%);box-shadow:0 1px 0 color-mix(in srgb,var(--border) 60%,transparent);-webkit-overflow-scrolling:touch}.admin-rbac-users-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-rbac-users-table td,.admin-rbac-users-table th{padding:.7rem .85rem;vertical-align:middle;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--border) 85%,transparent)}.admin-rbac-users-table thead th{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--panel) 88%,var(--accent) 12%);font-size:.8125rem;font-weight:600;color:var(--muted);white-space:nowrap;letter-spacing:.01em;box-shadow:0 1px 0 color-mix(in srgb,var(--border) 70%,transparent)}.admin-rbac-users-table tbody tr{transition:background .15s ease}.admin-rbac-users-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--bg) 35%,transparent)}.admin-rbac-users-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.admin-rbac-users-table tbody tr:last-child td{border-bottom:none}.admin-rbac-username{font-weight:600;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}.admin-rbac-tags{display:flex;flex-wrap:wrap;gap:.35rem}.admin-rbac-tag{display:inline-block;padding:.2rem .5rem;border-radius:6px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:color-mix(in srgb,var(--bg) 50%,transparent);font-size:.8125rem;line-height:1.35}.admin-rbac-module{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.admin-rbac-module:first-of-type{margin-top:0;padding-top:0;border-top:none}.admin-rbac-module-title{font-size:1rem;margin:0 0 .85rem;font-weight:600;color:var(--text)}.admin-rbac-group{margin-top:1.1rem}.admin-rbac-group--nested{margin-top:.85rem;margin-left:.5rem;padding-left:1rem;border-left:3px solid color-mix(in srgb,var(--accent) 35%,var(--border))}.admin-rbac-group-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.55rem}.admin-rbac-group-title{font-size:.9375rem;margin:0;font-weight:600}.admin-rbac-subgroup-title{font-size:.875rem;color:var(--muted)}.admin-rbac-perm-name{font-weight:600;line-height:1.4;color:var(--text)}.admin-rbac-perm-desc{margin-top:.2rem;font-size:.8125rem;color:var(--muted);line-height:1.45}.admin-rbac-perm-excluded-hint{display:block;margin-top:.25rem;font-size:.75rem;color:var(--rise);line-height:1.4}.admin-rbac-perm-key{display:inline-block;margin-top:.35rem;padding:.1rem .4rem;border-radius:4px;font-size:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:color-mix(in srgb,var(--accent) 75%,var(--muted));background:color-mix(in srgb,var(--bg) 60%,transparent);border:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.admin-rbac-role-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.3;white-space:nowrap;border:1px solid transparent}.admin-rbac-role-badge--admin{color:var(--rise);background:color-mix(in srgb,var(--rise) 14%,transparent);border-color:color-mix(in srgb,var(--rise) 28%,transparent)}.admin-rbac-role-badge--jp_vocab{color:#c9a227;background:color-mix(in srgb,#c9a227 14%,transparent);border-color:color-mix(in srgb,#c9a227 28%,transparent)}.admin-rbac-role-badge--en_vocab{color:#7c9fd4;background:color-mix(in srgb,#7c9fd4 14%,transparent);border-color:color-mix(in srgb,#7c9fd4 28%,transparent)}.admin-rbac-role-badge--user{color:var(--fall);background:color-mix(in srgb,var(--fall) 14%,transparent);border-color:color-mix(in srgb,var(--fall) 28%,transparent)}.admin-rbac-check{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.125rem;height:1.125rem;margin:.2rem 0 0;border:2px solid color-mix(in srgb,var(--border) 90%,var(--muted));border-radius:5px;background:color-mix(in srgb,var(--bg) 70%,transparent);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;position:relative;flex-shrink:0}.admin-rbac-check:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.admin-rbac-check:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.admin-rbac-check:checked{border-color:var(--accent);background:var(--accent)}.admin-rbac-check:checked:after{content:"";position:absolute;left:50%;top:45%;width:.3rem;height:.55rem;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}.admin-rbac-check:disabled{cursor:not-allowed;opacity:.55}.admin-rbac-save-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}@media (min-width:480px){.admin-rbac-save-bar{position:sticky;bottom:0;z-index:5;margin-top:1.5rem;padding:.875rem 0;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(6px)}}.jp-lesson-copy-menu{position:relative;flex-shrink:0}.jp-lesson-copy-trigger{display:inline-flex;align-items:center;gap:.35rem}.jp-lesson-copy-caret{font-size:.75rem;opacity:.85}.jp-lesson-copy-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.15rem;height:1.15rem;padding:0 .25rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,var(--panel));color:var(--accent);font-size:.6875rem;font-variant-numeric:tabular-nums}.jp-lesson-copy-panel{position:absolute;top:calc(100% + .35rem);right:0;min-width:10.5rem;padding:.35rem;border-radius:8px;border:1px solid var(--border);background:var(--panel);box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:30}.jp-lesson-copy-panel.is-fixed{z-index:10000;touch-action:manipulation}.jp-lesson-copy-item{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;min-height:2.75rem;padding:.55rem .65rem;border:none;border-radius:6px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.jp-lesson-copy-item:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.jp-lesson-copy-item-title{display:block;font-size:.875rem;font-weight:600}.jp-lesson-copy-item-desc{display:block;font-size:.75rem;color:var(--muted);line-height:1.35}.jp-vocab-page .jp-vocab-mobile-only{display:none}.ko-pron-study-page{max-width:36rem;margin:0 auto;padding:1.25rem 1rem 2.5rem;color:var(--text);background:transparent}.ko-pron-study-page h1{margin:0 0 .5rem;font-size:1.4rem;color:var(--text)}.ko-pron-study-hint,.ko-pron-study-status,.ko-pron-study-waiting{color:var(--muted)}.ko-pron-study-error{color:var(--rise)}.ko-pron-study-card,.ko-pron-study-empty{border:1px solid var(--border);border-radius:1rem;background:var(--panel)!important;color:var(--text);box-shadow:0 10px 30px rgba(0,0,0,.28)}.ko-pron-study-empty{border-style:dashed;padding:1.5rem 1rem;text-align:center;border-radius:.85rem}.ko-pron-study-card{position:relative;padding:1.75rem 1.25rem 1.5rem;text-align:center}.ko-pron-study-card-actions{position:absolute;top:.65rem;right:.65rem;display:flex;align-items:center;justify-content:flex-end;gap:.35rem;z-index:1}.ko-pron-study-letter{font-size:4rem;font-weight:700;line-height:1.1;margin:.35rem 0 .15rem;color:var(--text)!important}.ko-pron-study-edit-btn{border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:.45rem;padding:.22rem .55rem;background:color-mix(in srgb,var(--accent) 18%,var(--panel));color:var(--text);font-size:.72rem;font-weight:600;line-height:1;cursor:pointer}.ko-pron-study-hint{margin:0 0 1.25rem;line-height:1.5}.ko-pron-study-waiting{margin:1rem 0 0}@media (max-width:767px){:root{--page-pad:1rem;--section-gap:1rem;--card-pad:1rem;--card-margin:1rem;--mobile-header-height:3rem;--mobile-sticky-offset:calc(env(safe-area-inset-top, 0px) + var(--mobile-header-height) + 0.75rem)}html{-webkit-text-size-adjust:100%}body{padding:var(--page-pad);padding-top:calc(var(--page-pad) + env(safe-area-inset-top, 0px));padding-bottom:calc(var(--page-pad) + env(safe-area-inset-bottom, 0px));overflow-x:hidden}body:has(.mobile-action-bar){padding-bottom:calc(5rem + var(--page-pad) + env(safe-area-inset-bottom, 0px))}body:has(.page-header){padding-top:var(--page-pad)}.page-wrap .page-wrap,main.page-wrap{padding-inline:0}.page-wrap,.page-wrap .page-wrap,main.page-wrap{width:100%;max-width:100%;min-width:0}.page-header{flex-direction:column;align-items:stretch;gap:0;top:env(safe-area-inset-top,0);padding-top:.375rem;margin-bottom:.75rem;margin-inline:calc(-1 * var(--page-pad));padding-inline:var(--page-pad)}.mobile-header-bar{display:flex!important;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:var(--mobile-header-height)}.mobile-header-title{flex:1 1 auto;min-width:0;font-size:1.0625rem;font-weight:600;line-height:1.3;color:var(--text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer}.mobile-menu-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.mobile-menu-icon{display:block;width:1.125rem;height:.125rem;background:currentColor;border-radius:1px;box-shadow:0 -.375rem 0 currentColor,0 .375rem 0 currentColor}.admin-nav--desktop,.page-header-tools--desktop{display:none!important}.nav-drawer,.nav-drawer-backdrop{display:block}.nav-drawer-tools{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;padding:0 1.125rem .75rem;border-bottom:1px solid var(--border)}.nav-drawer-tools .site-auth-bar{width:100%;flex-direction:column;align-items:stretch}.nav-drawer-tools .site-auth-user{max-width:none;white-space:normal;word-break:break-word}.nav-drawer-tools .btn-rsi-filter{width:100%}.nav-drawer-tools .lang-switch{justify-content:flex-start}.nav-drawer{width:min(100%,20rem);max-width:calc(100vw - 2rem);border-top-left-radius:16px;border-bottom-left-radius:16px}.nav-drawer-close{width:2.75rem;height:2.75rem;font-size:1.375rem}.nav-drawer-link{min-height:2.75rem;font-size:1rem}h1{font-size:clamp(1.625rem,5vw + .25rem,1.75rem);line-height:1.25}.section h2,h2{font-size:1.375rem;line-height:1.3}.sub,dd,dt,label,li,main,p{font-size:1rem}.empty,.hint,.site-auth-checking,.site-auth-user,.sub{font-size:.875rem}.etr-panel,.section,.stat-card,.strategy-card,.tool-dot-card,.tool-dot-panel{width:100%;max-width:100%;padding:var(--card-pad);margin-bottom:var(--card-margin);border-radius:10px;height:auto;min-height:0;overflow-wrap:anywhere;word-break:break-word}.page-layout,.page-layout-primary,.page-layout-secondary{gap:var(--section-gap)}.btn-rsi-filter,.tool-dot-btn,button[type=submit]:not(.mobile-menu-toggle):not(.mobile-nav-close):not(.nav-drawer-close):not(.etr-auth-close):not(.jpls-icon-btn):not(.jpls-view-tab):not(.jpls-slot-cell):not(.jpls-week-item):not(.jpls-month-cell):not(.jpls-today-item):not(.lang-switch-btn):not(.jp-edit-icon-btn){width:100%;min-height:3rem;max-width:100%}.mobile-action-bar .btn-rsi-filter{min-height:3rem}.rsi-filter-actions{flex-direction:column;align-items:stretch;gap:.75rem}.rsi-filter-actions .btn-rsi-filter{flex:1 1 auto}.tool-dot-file,.tool-dot-input,input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{width:100%;max-width:100%;min-height:2.75rem;box-sizing:border-box}.tool-dot-input,textarea{min-height:5.5rem}.cmp-params-row,.row{flex-direction:column;align-items:stretch;gap:.75rem}.form-grid{grid-template-columns:1fr;gap:.75rem}.field--span-2{grid-column:span 1}.jp-vocab-page{max-width:100%!important;padding-top:1rem!important}.jp-vocab-help,.jp-vocab-page>p,.jp-vocab-risk-hint{overflow-wrap:anywhere;word-break:break-word}.jp-vocab-search{flex-direction:column;align-items:stretch;gap:.75rem}.jp-vocab-search__row{width:100%;max-width:none}.jp-vocab-search__input-wrap{width:100%;max-width:100%}.jp-vocab-search__input,.jp-vocab-search__kind{width:100%;max-width:100%;min-height:2.75rem}.jp-vocab-search__kind{min-width:0}.jp-vocab-search__history{max-height:14rem}.jp-vocab-search__history-pick,.jp-vocab-search__history-remove{min-height:2.5rem}}@media (max-width:767px){.page-wrap:has(.jp-vocab-page){max-width:100%}.jp-lesson-page{padding-top:1rem!important;max-width:100%!important}.jp-lesson-page h1{font-size:clamp(1.625rem,5vw,1.75rem)!important;margin-bottom:.5rem!important}.jp-lesson-page>p{font-size:1rem;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.jp-lesson-search{flex-direction:column;align-items:stretch;gap:.75rem}.jp-lesson-search__row{width:100%;max-width:none}.jp-lesson-search__input{width:100%;max-width:100%;min-height:2.75rem}.jp-lesson-cards{display:flex;flex-direction:column;gap:.75rem}.jp-lesson-mobile-status-filter{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.25rem}.jp-lesson-mobile-status-tab{flex:1 1 calc(50% - 0.25rem);min-width:4.5rem;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;min-height:2.75rem;padding:.375rem .4rem;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--muted);font:inherit;font-size:.8125rem;line-height:1.2;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.jp-lesson-mobile-status-tab-count{font-size:.6875rem;font-variant-numeric:tabular-nums;opacity:.85}.jp-lesson-mobile-status-tab--in_class.is-active,.jp-lesson-mobile-status-tab--learning.is-active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.jp-lesson-mobile-status-tab--pending.is-active{color:var(--text);border-color:color-mix(in srgb,var(--text) 25%,var(--border));background:color-mix(in srgb,var(--text) 6%,var(--panel))}.jp-lesson-mobile-status-tab--completed.is-active{color:var(--fall);border-color:color-mix(in srgb,var(--fall) 50%,var(--border));background:color-mix(in srgb,var(--fall) 10%,var(--panel))}.jp-lesson-mobile-filter-completed .jp-lesson-status-card--in_class,.jp-lesson-mobile-filter-completed .jp-lesson-status-card--learning,.jp-lesson-mobile-filter-completed .jp-lesson-status-card--pending,.jp-lesson-mobile-filter-in_class .jp-lesson-status-card--completed,.jp-lesson-mobile-filter-in_class .jp-lesson-status-card--learning,.jp-lesson-mobile-filter-in_class .jp-lesson-status-card--pending,.jp-lesson-mobile-filter-learning .jp-lesson-status-card--completed,.jp-lesson-mobile-filter-learning .jp-lesson-status-card--in_class,.jp-lesson-mobile-filter-learning .jp-lesson-status-card--pending,.jp-lesson-mobile-filter-pending .jp-lesson-status-card--completed,.jp-lesson-mobile-filter-pending .jp-lesson-status-card--in_class,.jp-lesson-mobile-filter-pending .jp-lesson-status-card--learning{display:none!important}.jp-lesson-mobile-filter-search .jp-lesson-status-card--completed,.jp-lesson-mobile-filter-search .jp-lesson-status-card--learning,.jp-lesson-mobile-filter-search .jp-lesson-status-card--pending{display:block!important}.jp-lesson-mobile-filter-search .jp-lesson-status-card--in_class{display:none!important}.jp-lesson-status-card-head{display:none}.jp-lesson-status-card{padding:.75rem;margin-bottom:0}.jp-lesson-status-card-title{font-size:1.375rem!important}.jp-lesson-schedule-page{max-width:100%!important;padding-top:.75rem!important;padding-bottom:1rem!important}.page-wrap:has(.jp-lesson-page),.page-wrap:has(.jp-lesson-schedule-page){max-width:100%}.jp-lesson-admin-links{flex-direction:column;align-items:stretch;gap:.75rem}.jp-lesson-admin-links a{display:flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.5rem .875rem;border:1px solid var(--border);border-radius:8px;background:var(--panel);text-decoration:none}.compare-cards,.etr-cards,.results-overview--mobile,.strategy-card-grid{grid-template-columns:1fr!important}.etr-card-actions,.etr-row-actions{flex-direction:column;align-items:stretch;gap:.5rem}.etr-card-actions .btn-rsi-filter,.etr-card-actions a,.etr-card-actions button,.etr-row-actions .btn-rsi-filter,.etr-row-actions a,.etr-row-actions button{width:100%;min-height:2.75rem}.site-auth-overlay{align-items:flex-end;padding:0 0 env(safe-area-inset-bottom,0)}.site-auth-dialog{width:100%;max-width:none;border-radius:12px 12px 0 0;max-height:calc(100dvh - env(safe-area-inset-top, 0px));overflow-y:auto;-webkit-overflow-scrolling:touch}.site-auth-dialog .etr-auth-panel--inline{padding:1rem var(--page-pad) calc(1rem + env(safe-area-inset-bottom, 0px))}.etr-auth-inline-head{margin-bottom:.5rem}.etr-auth-inline-head h2{font-size:1.0625rem;color:var(--text)}.etr-auth-close{width:2.75rem;height:2.75rem;font-size:1.375rem}.etr-password-toggle{max-width:none;font-size:.8125rem;padding:.25rem .35rem}.page-header{z-index:25}.section{margin-bottom:var(--card-margin)}.etr-top-bar{flex-direction:column;align-items:stretch;gap:.75rem}.etr-top-bar-actions{align-items:stretch;text-align:left}.etr-history-actions,.etr-history-head{flex-direction:column;align-items:stretch}.etr-history-actions .btn-rsi-filter{width:100%}.admin-tool-codes-filters,.admin-visits-toolbar{flex-direction:column;align-items:stretch}.admin-tool-codes-filter-select,.admin-visits-filter-select{width:100%;max-width:none;min-width:0}.page-wrap,body,html,main{max-width:100%;overflow-x:clip}.table-wrap{overflow-x:auto;overflow-y:clip;-webkit-overflow-scrolling:touch;max-width:100%}.compare-cards,.results-overview--mobile{gap:.75rem}code,pre{max-width:100%;overflow-x:auto;word-break:break-word;white-space:pre-wrap}.jpls-toolbar{position:static;margin-bottom:.375rem;padding-bottom:0}.jpls-toolbar,.jpls-toolbar-controls{flex-direction:column;align-items:stretch;gap:.375rem}.jpls-toolbar-controls,.jpls-view-tabs{display:flex;width:100%}.jpls-view-tabs{order:-1;position:sticky;top:var(--mobile-sticky-offset);z-index:16;margin-inline:calc(-1 * var(--page-pad));padding:.25rem var(--page-pad);background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.jpls-view-tab{flex:1 1 0;min-height:2.5rem;padding:.375rem .35rem;text-align:center;font-size:.9375rem}.jpls-date-nav{width:100%;align-items:center;gap:.25rem;margin:0;padding:0}.jpls-date-nav-center{flex:1 1 auto;min-width:0;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:.375rem;text-align:center}.jpls-date-relative{font-size:.875rem;font-weight:600;line-height:1.2;text-align:center;flex-shrink:0;white-space:nowrap}input.jpls-date-input{flex:1 1 auto;min-width:0;min-height:2.25rem;width:auto;max-width:100%;padding:.2rem .45rem;font-size:.875rem}.jpls-date-count{font-size:.75rem;color:var(--muted);font-weight:500;white-space:normal;flex:1 0 100%;min-width:0;line-height:1.2;text-align:center}.jpls-icon-btn{width:2.25rem;height:2.25rem;flex-shrink:0}.jpls-toolbar-right{margin-left:0;width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.jpls-toolbar-right .jpls-export-btn{flex:1 1 100%}.jpls-export-btn{width:100%;min-height:2.75rem;font-size:1rem}.jpls-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:.75rem}.jpls-sidebar{display:contents!important}.jpls-sidebar-panels{order:1;width:100%;display:flex;flex-direction:column;gap:.75rem}.jpls-calendar{order:2;position:relative;z-index:0;min-width:0;width:100%;padding:.5rem .625rem;overflow:visible;max-width:100%;height:auto!important}.jpls-tip{order:3;width:100%;margin:0;padding-top:.25rem}.jpls-header{flex-direction:column;align-items:stretch;gap:.75rem}.jpls-header h1{font-size:clamp(1.625rem,5vw,1.75rem)}.jpls-back-btn{width:100%;min-height:2.75rem;justify-content:center;font-size:1rem}.jpls-calendar--day-sync{display:block!important;overflow:visible!important;height:auto!important}.jpls-calendar--day-sync .jpls-day-view,.jpls-day-view{height:auto!important;flex:none!important;max-width:100%;overflow:visible!important}.jpls-day-view .jpls-timeline-heading{display:block!important;margin:0 0 .5rem;font-size:1.0625rem}.jpls-calendar--day-sync .jpls-slot-grid,.jpls-day-view .jpls-slot-grid{flex:none!important;min-height:0!important;height:auto!important;max-width:100%;width:100%;max-height:none!important;overflow:visible!important;display:flex!important;flex-direction:column;gap:.625rem;border:none;border-radius:0;background:transparent}.jpls-calendar--day-sync .jpls-slot-row,.jpls-day-view .jpls-slot-row{flex:none!important;display:grid!important;grid-template-columns:2.75rem minmax(0,1fr)!important;width:100%;min-width:0;min-height:2.25rem!important}.jpls-day-view .jpls-slot-row:has(.jpls-slot-cell.is-free){display:none!important}.jpls-day-view .jpls-slot-row.is-event-start.is-event-span .jpls-slot-cell.is-busy{min-height:calc(var(--jpls-slot-span, 2) * 2.75rem)!important}.jpls-day-view .jpls-slot-row.is-event-start{display:flex!important;flex-direction:column;grid-template-columns:unset!important;min-height:0!important;border:1px solid color-mix(in srgb,var(--rise) 30%,var(--border));border-radius:10px;overflow:hidden;background:transparent}.jpls-day-view .jpls-slot-row.is-event-start:has(.jpls-slot-cell--past){border-color:color-mix(in srgb,var(--fall) 35%,var(--border))}.jpls-day-view .jpls-slot-row.is-event-start:has(.jpls-slot-cell--ongoing){border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.jpls-day-view .jpls-slot-row.is-event-start .jpls-slot-time{width:100%;border-right:none;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);justify-content:flex-start;padding:.5rem .75rem;font-size:.9375rem;font-weight:600;color:var(--text);background:color-mix(in srgb,var(--panel) 92%,transparent)}.jpls-day-view .jpls-slot-row.is-event-start .jpls-slot-cell.is-busy{flex-direction:column;align-items:flex-start;flex-wrap:wrap;gap:.4rem;width:100%;min-height:auto!important;padding:.65rem .75rem;overflow:visible;border-left:none}.jpls-day-view .jpls-slot-row.is-event-start .jpls-slot-cell.is-busy.jpls-slot-cell--past{opacity:1}.jpls-slot-cell,.jpls-slot-row.is-event-start .jpls-slot-cell{min-height:2.25rem!important;align-items:center}.jpls-slot-free-label{white-space:nowrap}.jpls-day-view .jpls-slot-busy-label{display:inline-flex;align-items:center;padding:.22rem .6rem;border-radius:999px;background:color-mix(in srgb,#fff 18%,transparent);font-size:.8125rem;font-weight:700;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}.jpls-day-view .jpls-slot-busy-label--past{background:color-mix(in srgb,var(--fall) 18%,transparent)}.jpls-day-view .jpls-slot-busy-encourage{width:100%;font-size:.75rem;white-space:normal;flex-shrink:0}.jpls-day-view .jpls-slot-busy-time{width:100%;font-size:.9375rem;font-weight:600;flex-shrink:0}.jpls-day-title{margin-bottom:.375rem;gap:.375rem;font-size:.875rem;flex-wrap:wrap;line-height:1.3}.jpls-day-weekday{font-size:.875rem;font-weight:600}.jpls-day-view .jpls-slot-busy-meta{width:100%;font-size:.8125rem;line-height:1.45;white-space:normal;overflow:visible;text-overflow:clip;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.jpls-day-view .jpls-now-line{display:none}.jpls-calendar--day-sync{margin-top:0;padding-top:0;border-top:none}.jpls-week-view{display:flex!important;flex-direction:column!important;flex-wrap:nowrap;grid-template-columns:unset!important;overflow-x:visible;gap:.625rem;min-height:0!important;max-width:100%;padding-bottom:0}.jpls-week-range{display:block!important;margin:0 0 .125rem;padding:.375rem .5rem;font-size:1rem;font-weight:600;text-align:center;color:var(--text);border-radius:8px;background:color-mix(in srgb,var(--accent) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border))}.jpls-week-col{flex:none;width:100%;min-width:0;border-radius:12px;overflow:hidden}.jpls-week-col.is-today{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.jpls-week-col-head{flex-direction:row!important;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.75rem;padding:.625rem .75rem!important;font-size:.9375rem!important}.jpls-week-col.is-today .jpls-week-col-head{background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.jpls-week-col-main{flex-direction:row!important;align-items:baseline;gap:.5rem!important}.jpls-week-col-weekday{font-size:1rem;font-weight:700}.jpls-week-col-date{font-size:.875rem!important;color:var(--muted)}.jpls-week-count{flex-shrink:1;min-width:0;max-width:58%;font-size:.75rem!important;font-weight:600;line-height:1.25;text-align:right;white-space:normal;padding:.15rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--muted)}.jpls-week-col.is-today .jpls-week-count{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.jpls-week-list{gap:.5rem!important;padding:.5rem .625rem .625rem!important}.jpls-week-empty{font-size:.875rem;padding:.375rem .5rem}.jpls-layout:has(.jpls-week-view) .jpls-calendar{order:1}.jpls-layout:has(.jpls-week-view) .jpls-sidebar-panels{order:2}.jpls-layout:has(.jpls-week-view) .jpls-tip{order:3}.jpls-month-grid,.jpls-month-weekdays{min-width:min(100%,36rem)}.jpls-calendar:has(.jpls-month-grid){overflow-x:auto;overflow-y:clip;-webkit-overflow-scrolling:touch;max-width:100%}.jpls-detail,.jpls-today-list{width:100%;padding:.75rem;margin-top:0;margin-bottom:0;border-radius:10px}.jpls-detail h2,.jpls-today-list h2{font-size:1.125rem;margin-bottom:.5rem}.jpls-detail-list{display:flex;flex-direction:column;gap:.625rem}.jpls-detail-list>div{display:flex;flex-direction:column;gap:.25rem}.jpls-detail-list dt{font-size:.875rem}.jpls-detail-list dd{font-size:1rem;overflow-wrap:anywhere;word-break:break-word}.jpls-link-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.5rem}.jpls-link-row a,.jpls-link-row button{display:flex;align-items:center;justify-content:center;width:100%;min-height:2.75rem;padding:.45rem .65rem;font-size:.9375rem;box-sizing:border-box}.jpls-today-item,.jpls-week-item{min-height:2.75rem;padding:.625rem .75rem;font-size:.9375rem;gap:.25rem}.jpls-week-item-time{font-size:1rem;font-weight:700;line-height:1.25}.jpls-week-item-meta{font-size:.8125rem;color:var(--muted)}.jpls-week-item-content{font-size:.875rem;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.jpls-week-item--past{border-color:color-mix(in srgb,var(--fall) 35%,var(--border));background:color-mix(in srgb,var(--fall) 8%,var(--panel))}.jpls-week-item--manual:not(.jpls-week-item--past){border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.jpls-week-item-manual{font-size:.75rem;font-weight:600;color:color-mix(in srgb,var(--accent) 82%,var(--text))}.jpls-today-item--manual:not(.jpls-today-item--past){border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.jpls-manual-add-btn{min-height:2.75rem;padding:.45rem .85rem;font-size:.9375rem}.jpls-week-item.is-selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent)}.jpls-today-list ul{gap:.375rem}.jpls-sub{font-size:.8125rem;line-height:1.4}.jp-lesson-next-class-overlay,.jp-lesson-teacher-overlay,.jp-vocab-edit-overlay,.jp-vocab-intro-modal-overlay,.jp-vocab-reset-modal-overlay,.jp-vocab-risk-modal-overlay{align-items:flex-end;padding:0 0 env(safe-area-inset-bottom,0)}.jp-lesson-next-class-overlay,.jp-lesson-teacher-overlay{align-items:flex-end!important;justify-content:flex-end!important;padding:0 0 env(safe-area-inset-bottom,0)!important;overflow:hidden!important}.jp-lesson-next-class-modal,.jp-lesson-teacher-modal,.jp-vocab-edit-modal,.jp-vocab-intro-modal,.jp-vocab-reset-modal,.jp-vocab-risk-modal{display:flex;flex-direction:column;width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top, 0px));border-radius:12px 12px 0 0;overflow:hidden}.jp-lesson-next-class-modal,.jp-lesson-teacher-modal{width:100%!important;max-width:none!important;max-height:calc(100svh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))!important;border-radius:12px 12px 0 0!important;overflow:hidden!important;padding-bottom:calc(.75rem + env(safe-area-inset-bottom, 0px))!important}.jp-lesson-next-class-body,.jp-lesson-teacher-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.jp-lesson-next-class-teacher-options,.jp-lesson-teacher-options{max-height:none!important;overflow:visible!important}.jp-lesson-next-class-actions,.jp-lesson-next-class-header,.jp-lesson-teacher-actions,.jp-lesson-teacher-header{flex-shrink:0!important}.jp-lesson-next-class-actions,.jp-lesson-teacher-actions,.jp-vocab-edit-footer,.jp-vocab-intro-modal-footer,.jp-vocab-reset-modal-footer{flex-direction:column;align-items:stretch;gap:.5rem}.jp-lesson-next-class-actions button,.jp-lesson-teacher-actions button,.jp-vocab-edit-footer button,.jp-vocab-intro-modal-footer button,.jp-vocab-reset-modal-footer button{width:100%;min-height:2.75rem}.jp-lesson-next-class-close,.jp-lesson-teacher-close,.jp-vocab-edit-close{width:2.75rem;height:2.75rem}.jp-vocab-edit-notes-field{display:none!important}.jp-lesson-next-class-input,.jp-lesson-teacher-add-input{width:100%;min-height:2.75rem;font-size:1rem;box-sizing:border-box}.jp-lesson-teacher-option--add{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.5rem}.jp-lesson-teacher-add-label{width:100%}.jp-lesson-teacher-check--pending{align-self:flex-start}.jp-lesson-table-wrap{overflow-x:visible;width:100%}.jp-lesson-table,.jp-lesson-table tbody{display:block;width:100%;min-width:0!important}.jp-lesson-table thead{display:none}.jp-lesson-table tbody tr{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.5rem .625rem;width:100%;box-sizing:border-box;margin-bottom:.625rem;padding:.75rem .875rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel) 92%,var(--bg))}.jp-lesson-table tbody td{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:.2rem;width:auto;min-width:0;box-sizing:border-box;padding:0!important;border:none!important;text-align:left!important;white-space:normal;line-height:1.35}.jp-lesson-table tbody td:before{flex:0 0 auto;font-size:.6875rem;font-weight:500;color:var(--muted);text-align:left!important;padding:0;line-height:1.25;white-space:nowrap;letter-spacing:.02em}.jp-lesson-table tbody td>*{flex:0 0 auto;width:100%;min-width:0;font-size:.875rem}.jp-lesson-content-col{order:1;flex:1 1 100%}.jp-lesson-content-col:before{content:"学习内容";font-size:.75rem}.jp-lesson-content-col>*{font-size:.9375rem;line-height:1.45;font-weight:500}.jp-lesson-content-col,.jp-lesson-content-line{overflow-wrap:anywhere;word-break:break-word}.jp-lesson-content-lines{gap:.15rem}.jp-lesson-complete-col{order:2;flex:1 1 calc(50% - 0.3125rem);min-width:0;padding-top:0!important;margin-top:0!important;border-top:none!important}.jp-lesson-complete-col:before{content:"学习状态"}.jp-lesson-notes-col{order:2;flex:1 1 calc(50% - 0.3125rem);min-width:0;padding-top:0!important;margin-top:0!important;border-top:none!important}.jp-lesson-notes-col:before{content:"课堂笔记"}.jp-lesson-actions-col{order:3;flex:1 1 100%;padding-top:0!important;margin-top:0!important;border-top:none!important}.jp-lesson-actions-col:before{content:"教案操作"}.jp-lesson-next-class-col{order:4;flex:1 1 100%}.jp-lesson-next-class-col:before{content:"上课时间"}.jp-lesson-next-class-cell{flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:.375rem;width:100%}.jp-lesson-next-class-lines{flex:none;width:100%;min-width:0;gap:.25rem}.jp-lesson-next-class-entry{gap:.1rem}.jp-lesson-id-col{order:10;flex:1 1 auto;min-width:3.75rem;max-width:calc(50% - .3125rem);text-align:left!important;font-variant-numeric:tabular-nums;color:var(--muted)}.jp-lesson-id-col:before{content:"ID"}.jp-lesson-id-col>*{font-size:.8125rem}.jp-lesson-kind-col{order:10;flex:1 1 auto;min-width:4.5rem;max-width:calc(50% - .3125rem)}.jp-lesson-kind-col:before{content:"学习类型"}.en-lesson-category-col{order:10;flex:1 1 auto;min-width:4.5rem;max-width:calc(50% - .3125rem)}.en-lesson-category-col:before{content:"分类"}.jp-lesson-content-count-col{order:10;flex:1 1 auto;min-width:3.75rem;max-width:calc(50% - .3125rem);text-align:center!important;font-variant-numeric:tabular-nums;color:var(--muted)}.jp-lesson-content-count-col:before{content:attr(data-label)}.jp-lesson-content-count-col>*{font-size:.8125rem}.jp-lesson-operator-col{order:11;flex:1 1 auto;min-width:4.5rem;max-width:calc(50% - .3125rem)}.jp-lesson-operator-col:before{content:"操作人"}.jp-lesson-operator-col>*{font-size:.8125rem;color:var(--text)}.jp-lesson-teacher-col{order:11;flex:1 1 auto;min-width:4.5rem;max-width:calc(50% - .3125rem)}.jp-lesson-teacher-col:before{content:"上课老师"}.jp-lesson-teacher-col>*{font-size:.8125rem}.jp-lesson-teacher-cell{flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:.375rem;width:100%}.jp-lesson-merged-edit-stack{display:inline-flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.375rem;margin-left:0;flex:0 0 auto}.jp-lesson-status-at-col,.jp-lesson-uploaded-col{order:20;flex:1 1 calc(50% - 0.3125rem);min-width:6.5rem;padding-top:.375rem!important;margin-top:.125rem;border-top:1px solid color-mix(in srgb,var(--border) 55%,transparent)}.jp-lesson-uploaded-col:before{content:"上传日期"}.jp-lesson-status-at-col:before{content:"最近操作"}.jp-lesson-status-at-col .jp-lesson-dt,.jp-lesson-status-at-col>*,.jp-lesson-uploaded-col .jp-lesson-dt,.jp-lesson-uploaded-col>*{font-size:.75rem;line-height:1.3;color:var(--muted);font-variant-numeric:tabular-nums;white-space:normal!important}.jp-lesson-dt-full{display:none}.jp-lesson-dt-compact{display:inline}.jp-lesson-class-duration-dt-full,.jp-lesson-next-class-dt-full{display:none}.jp-lesson-class-duration-dt-compact,.jp-lesson-next-class-dt-compact{display:inline}.jp-lesson-next-class-dt,.jp-lesson-next-class-dt-compact,.jp-lesson-next-class-label{font-variant-numeric:tabular-nums;white-space:normal!important;word-break:break-word}.jp-lesson-table .jp-lesson-kind{padding:.1rem .4rem;font-size:.75rem;width:-moz-fit-content;width:fit-content}.jp-lesson-merged-stack-item+.jp-lesson-merged-stack-item{margin-top:.375rem;padding-top:.375rem;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.jp-lesson-actions{display:flex!important;flex-direction:row;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;width:100%;gap:.5rem}.jp-lesson-actions .jp-lesson-action-btn,.jp-lesson-actions .jp-lesson-copy-menu,.jp-lesson-actions .jp-lesson-copy-trigger,.jp-lesson-actions .jp-ref-download-menu,.jp-lesson-actions .jp-ref-download-trigger{flex:1 1 calc(50% - 0.25rem);min-width:calc(50% - .25rem);max-width:100%;box-sizing:border-box}.jp-lesson-actions .jp-edit-icon-btn{flex:0 0 auto;min-width:2.75rem;min-height:2.75rem;box-sizing:border-box}.jp-lesson-action-btn{min-height:2.75rem;width:auto;font-size:.875rem;padding-inline:.625rem}.jp-lesson-notes-btn{min-height:2.75rem;width:100%;max-width:none;font-size:.875rem;justify-content:center}.jp-lesson-complete-wrap{width:100%;max-width:100%;margin-inline:0}.jp-lesson-complete-select{min-height:2.75rem;width:100%;min-width:0;font-size:.875rem;text-align:left;-moz-text-align-last:left;text-align-last:left}.jp-lesson-complete-wrap:after{right:.75rem}.jp-lesson-class-duration-label,.jp-lesson-next-class-label{white-space:normal!important}.jp-lesson-sort-btn{min-height:2.75rem;width:100%}.jp-lesson-page--en .jp-lesson-cards,.jp-lesson-page--ja .jp-lesson-cards{gap:.625rem}.jp-lesson-page--en .jp-lesson-status-card,.jp-lesson-page--ja .jp-lesson-status-card{padding:.5rem;border:none;background:transparent}.jp-lesson-page--en .jp-lesson-table tbody tr,.jp-lesson-page--ja .jp-lesson-table tbody tr{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:stretch;margin-bottom:.625rem;padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 85%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel) 96%,var(--bg))}.jp-lesson-page--en .jp-lesson-table tbody td,.jp-lesson-page--ja .jp-lesson-table tbody td{order:unset!important;gap:.35rem!important;min-width:0!important;width:auto!important;max-width:none!important;padding:.5rem .625rem!important;margin:0!important;border:none!important}.jp-lesson-page--en .jp-lesson-table tbody td:before,.jp-lesson-page--ja .jp-lesson-table tbody td:before{display:block;width:100%;font-size:.9375rem;font-weight:600;color:var(--muted);line-height:1.25;text-align:center;margin-bottom:.25rem}.jp-lesson-page--en .jp-lesson-content-count-col,.jp-lesson-page--en .jp-lesson-mobile-labeled-col,.jp-lesson-page--en .jp-lesson-next-class-col,.jp-lesson-page--en .jp-lesson-operator-col,.jp-lesson-page--en .jp-lesson-status-at-col,.jp-lesson-page--en .jp-lesson-teacher-col,.jp-lesson-page--en .jp-lesson-uploaded-col,.jp-lesson-page--ja .jp-lesson-content-count-col,.jp-lesson-page--ja .jp-lesson-mobile-labeled-col,.jp-lesson-page--ja .jp-lesson-next-class-col,.jp-lesson-page--ja .jp-lesson-operator-col,.jp-lesson-page--ja .jp-lesson-status-at-col,.jp-lesson-page--ja .jp-lesson-teacher-col,.jp-lesson-page--ja .jp-lesson-uploaded-col{align-items:center!important;text-align:center}.jp-lesson-page--en .jp-lesson-content-count-col>*,.jp-lesson-page--en .jp-lesson-mobile-labeled-col>*,.jp-lesson-page--en .jp-lesson-next-class-col>*,.jp-lesson-page--en .jp-lesson-operator-col>*,.jp-lesson-page--en .jp-lesson-status-at-col>*,.jp-lesson-page--en .jp-lesson-teacher-col>*,.jp-lesson-page--en .jp-lesson-uploaded-col>*,.jp-lesson-page--ja .jp-lesson-content-count-col>*,.jp-lesson-page--ja .jp-lesson-mobile-labeled-col>*,.jp-lesson-page--ja .jp-lesson-next-class-col>*,.jp-lesson-page--ja .jp-lesson-operator-col>*,.jp-lesson-page--ja .jp-lesson-status-at-col>*,.jp-lesson-page--ja .jp-lesson-teacher-col>*,.jp-lesson-page--ja .jp-lesson-uploaded-col>*{width:100%}.jp-lesson-page--en .jp-lesson-table tbody td>*,.jp-lesson-page--ja .jp-lesson-table tbody td>*{font-size:.875rem;line-height:1.35}.jp-lesson-page--en .jp-lesson-mobile-field-value,.jp-lesson-page--ja .jp-lesson-mobile-field-value{display:flex;align-items:flex-start;justify-content:center;gap:.35rem;min-width:0;width:100%;text-align:left}.jp-lesson-page--en .jp-lesson-mobile-field-text,.jp-lesson-page--ja .jp-lesson-mobile-field-text{flex:1 1 auto;min-width:0;font-size:.8125rem;color:var(--text)}.jp-lesson-page--en .jp-lesson-mobile-icon,.jp-lesson-page--ja .jp-lesson-mobile-icon{display:block;flex-shrink:0;margin-top:.1rem;color:var(--muted)}.jp-lesson-page--en .jp-lesson-mobile-btn-icon,.jp-lesson-page--ja .jp-lesson-mobile-btn-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.jp-lesson-page--en .jp-lesson-content-desktop,.jp-lesson-page--en .jp-lesson-content-preview,.jp-lesson-page--ja .jp-lesson-content-desktop,.jp-lesson-page--ja .jp-lesson-content-preview{display:none!important}.jp-lesson-page--en .jp-lesson-meanings-preview,.jp-lesson-page--ja .jp-lesson-meanings-preview{display:flex!important;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0;max-width:100%}.jp-lesson-page--en .jp-lesson-mobile-content-item,.jp-lesson-page--ja .jp-lesson-mobile-content-item{display:block}.jp-lesson-page--en .jp-lesson-class-duration-dt-full,.jp-lesson-page--en .jp-lesson-course-col,.jp-lesson-page--en .jp-lesson-dt-full,.jp-lesson-page--en .jp-lesson-id-col,.jp-lesson-page--en .jp-lesson-kind-col,.jp-lesson-page--en .jp-lesson-mobile-card-head,.jp-lesson-page--en .jp-lesson-next-class-dt-full,.jp-lesson-page--ja .jp-lesson-class-duration-dt-full,.jp-lesson-page--ja .jp-lesson-course-col,.jp-lesson-page--ja .jp-lesson-dt-full,.jp-lesson-page--ja .jp-lesson-id-col,.jp-lesson-page--ja .jp-lesson-kind-col,.jp-lesson-page--ja .jp-lesson-mobile-card-head,.jp-lesson-page--ja .jp-lesson-next-class-dt-full{display:none!important}.jp-lesson-page--en .jp-lesson-class-duration-dt-compact,.jp-lesson-page--en .jp-lesson-dt-compact,.jp-lesson-page--en .jp-lesson-next-class-dt-compact,.jp-lesson-page--ja .jp-lesson-class-duration-dt-compact,.jp-lesson-page--ja .jp-lesson-dt-compact,.jp-lesson-page--ja .jp-lesson-next-class-dt-compact{display:inline!important}.jp-lesson-page--en .jp-lesson-content-col,.jp-lesson-page--ja .jp-lesson-content-col{grid-column:1/-1;grid-row:1;align-items:stretch!important;padding-top:.625rem!important;padding-bottom:.5rem!important;border-left:3px solid var(--accent)}.jp-lesson-page--en .jp-lesson-content-col>*,.jp-lesson-page--ja .jp-lesson-content-col>*{width:100%}.jp-lesson-page--en .jp-lesson-mobile-content-item+.jp-lesson-mobile-content-item,.jp-lesson-page--ja .jp-lesson-mobile-content-item+.jp-lesson-mobile-content-item{margin-top:.5rem;padding-top:.5rem;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.jp-lesson-page--en .jp-lesson-mobile-content-main,.jp-lesson-page--ja .jp-lesson-mobile-content-main{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;width:100%}.jp-lesson-page--en .jp-lesson-mobile-id-block,.jp-lesson-page--ja .jp-lesson-mobile-id-block{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-shrink:0;min-width:0}.jp-lesson-page--en .jp-lesson-mobile-id-line,.jp-lesson-page--ja .jp-lesson-mobile-id-line{display:flex;flex-direction:row;align-items:baseline;gap:.25rem;line-height:1.1}.jp-lesson-page--en .jp-lesson-mobile-id-label,.jp-lesson-page--ja .jp-lesson-mobile-id-label{font-size:.6875rem;font-weight:700;letter-spacing:.06em;color:var(--accent);text-transform:uppercase}.jp-lesson-page--en .jp-lesson-mobile-id-value,.jp-lesson-page--ja .jp-lesson-mobile-id-value{font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--accent) 75%,#fff)}.jp-lesson-page--en .jp-lesson-mobile-kind-tag,.jp-lesson-page--ja .jp-lesson-mobile-kind-tag{padding:.08rem .4rem;font-size:.6875rem;border-radius:999px}.jp-lesson-page--ja .jp-lesson-mobile-course-label{display:inline-block;margin-left:.35rem;padding:.08rem .45rem;font-size:.6875rem;font-weight:600;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);max-width:100%;overflow-wrap:anywhere}.jp-lesson-page--en .jp-lesson-mobile-content-chips,.jp-lesson-page--ja .jp-lesson-mobile-content-chips{display:grid;gap:.3rem .35rem;list-style:none;margin:0;padding:0;width:100%}.jp-lesson-page--ja .jp-lesson-mobile-content-chips{grid-template-columns:repeat(5,minmax(0,1fr))}.jp-lesson-page--en .jp-lesson-mobile-content-chips{grid-template-columns:repeat(3,minmax(0,1fr))}.jp-lesson-page--en .jp-lesson-mobile-content-chip,.jp-lesson-page--ja .jp-lesson-mobile-content-chip{margin:0;padding:.28rem .2rem;border-radius:6px;background:color-mix(in srgb,var(--accent) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));font-size:.8125rem;font-weight:600;line-height:1.3;text-align:center;color:var(--text);overflow-wrap:anywhere;word-break:break-word;white-space:normal;display:flex;flex-direction:column;align-items:center;gap:.12rem}.jp-lesson-page--ja .jp-lesson-mobile-content-chip-annotation{display:block;font-size:.65rem;font-weight:500;line-height:1.2;color:var(--muted)}.jp-lesson-page--en .jp-lesson-mobile-content-text,.jp-lesson-page--ja .jp-lesson-mobile-content-text{display:none}.jp-lesson-page--en .jp-lesson-mobile-examples-toolbar,.jp-lesson-page--ja .jp-lesson-mobile-examples-toolbar{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;width:100%}.jp-lesson-page--en .jp-lesson-mobile-examples-toolbar .jp-lesson-mobile-examples-label,.jp-lesson-page--ja .jp-lesson-mobile-examples-toolbar .jp-lesson-mobile-examples-label{margin-right:.1rem;color:var(--text);font-weight:600;font-size:.8125rem}.jp-lesson-page--en .jp-lesson-mobile-content-edit,.jp-lesson-page--ja .jp-lesson-mobile-content-edit{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:2rem;padding:.25rem .65rem;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--accent);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}.jp-lesson-page--en .jp-lesson-complete-col,.jp-lesson-page--ja .jp-lesson-complete-col{grid-column:1;grid-row:2;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.jp-lesson-page--en .jp-lesson-notes-col,.jp-lesson-page--ja .jp-lesson-notes-col{grid-column:2;grid-row:2;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent);border-left:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.jp-lesson-page--en .jp-lesson-content-count-col,.jp-lesson-page--ja .jp-lesson-content-count-col{grid-column:3;grid-row:2;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent);border-left:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.jp-lesson-page--ja .jp-lesson-content-count-col:before{content:"词/语法数"}.jp-lesson-page--en .jp-lesson-content-count-col:before{content:"词/短语数"}.jp-lesson-page--en .jp-lesson-complete-wrap,.jp-lesson-page--ja .jp-lesson-complete-wrap{width:100%;max-width:none;margin-inline:0;border-radius:8px}.jp-lesson-page--en .jp-lesson-complete-select,.jp-lesson-page--ja .jp-lesson-complete-select{min-height:2.5rem;width:100%;min-width:0;font-size:.9375rem;text-align:center;-moz-text-align-last:center;text-align-last:center}.jp-lesson-page--en .jp-lesson-notes-btn,.jp-lesson-page--ja .jp-lesson-notes-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.5rem;width:100%;max-width:100%;margin-inline:auto;font-size:.9375rem;font-weight:600;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.jp-lesson-page--en .jp-lesson-actions-col,.jp-lesson-page--ja .jp-lesson-actions-col{grid-column:1/-1;grid-row:3;padding-top:.625rem!important;padding-bottom:.75rem!important;margin-bottom:.375rem;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 45%,transparent)}.jp-lesson-page--en .jp-lesson-actions,.jp-lesson-page--ja .jp-lesson-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.375rem;width:100%}.jp-lesson-page--en .jp-lesson-actions .jp-lesson-action-btn,.jp-lesson-page--en .jp-lesson-actions .jp-lesson-copy-menu,.jp-lesson-page--en .jp-lesson-actions .jp-lesson-copy-trigger,.jp-lesson-page--en .jp-lesson-actions .jp-ref-download-menu,.jp-lesson-page--en .jp-lesson-actions .jp-ref-download-trigger,.jp-lesson-page--ja .jp-lesson-actions .jp-lesson-action-btn,.jp-lesson-page--ja .jp-lesson-actions .jp-lesson-copy-menu,.jp-lesson-page--ja .jp-lesson-actions .jp-lesson-copy-trigger,.jp-lesson-page--ja .jp-lesson-actions .jp-ref-download-menu,.jp-lesson-page--ja .jp-lesson-actions .jp-ref-download-trigger{display:inline-flex!important;align-items:center;justify-content:center;gap:.35rem;flex:none!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:2.5rem;box-sizing:border-box;font-size:.875rem;border-radius:8px}.jp-lesson-page--en .jp-lesson-actions .jp-edit-icon-btn,.jp-lesson-page--en .jp-lesson-actions .jp-lesson-action-btn--danger,.jp-lesson-page--ja .jp-lesson-actions .jp-edit-icon-btn{display:none!important}.jp-lesson-copy-panel.is-fixed{min-width:min(16rem,calc(100vw - 1rem));max-width:calc(100vw - 1rem)}.jp-lesson-copy-item{min-height:3rem;padding:.65rem .75rem}.jp-lesson-copy-item-title{font-size:.9375rem}.jp-lesson-copy-item-desc{font-size:.8125rem}.jp-lesson-page--en .jp-lesson-action-btn--download:before,.jp-lesson-page--en .jp-ref-download-trigger.jp-lesson-action-btn--download:before,.jp-lesson-page--ja .jp-lesson-action-btn--download:before,.jp-lesson-page--ja .jp-ref-download-trigger.jp-lesson-action-btn--download:before{content:"";display:inline-block;width:14px;height:14px;flex-shrink:0;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 2.5v7M5.5 7 8 9.5 10.5 7M3 12.5h10'/%3E%3C/svg%3E") center /contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 2.5v7M5.5 7 8 9.5 10.5 7M3 12.5h10'/%3E%3C/svg%3E") center /contain no-repeat;color:var(--accent)}.jp-lesson-page--en .jp-lesson-next-class-col,.jp-lesson-page--ja .jp-lesson-next-class-col{grid-column:1;grid-row:4;padding-top:.625rem!important;border-top:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.jp-lesson-page--en .jp-lesson-teacher-col,.jp-lesson-page--ja .jp-lesson-teacher-col{grid-column:2}.jp-lesson-page--en .jp-lesson-operator-col,.jp-lesson-page--en .jp-lesson-teacher-col,.jp-lesson-page--ja .jp-lesson-operator-col,.jp-lesson-page--ja .jp-lesson-teacher-col{grid-row:4;padding-top:.625rem!important;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent);border-left:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.jp-lesson-page--en .jp-lesson-operator-col,.jp-lesson-page--ja .jp-lesson-operator-col{grid-column:3}}@media (max-width:767px){.jp-lesson-page--en .jp-lesson-table tbody tr:not(:has(.jp-lesson-next-class-col)) .jp-lesson-operator-col,.jp-lesson-page--ja .jp-lesson-table tbody tr:not(:has(.jp-lesson-next-class-col)) .jp-lesson-operator-col{grid-column:1/-1;border-left:none}.jp-lesson-page--en .jp-lesson-next-class-cell,.jp-lesson-page--en .jp-lesson-teacher-cell,.jp-lesson-page--ja .jp-lesson-next-class-cell,.jp-lesson-page--ja .jp-lesson-teacher-cell{flex-direction:column!important;align-items:center!important;gap:.25rem!important}.jp-lesson-page--en .jp-lesson-merged-edit-stack,.jp-lesson-page--ja .jp-lesson-merged-edit-stack{display:none!important}.jp-lesson-page--en .jp-lesson-next-class-lines,.jp-lesson-page--ja .jp-lesson-next-class-lines{gap:.15rem}.jp-lesson-page--en .jp-lesson-class-duration-label,.jp-lesson-page--en .jp-lesson-next-class-dt-compact,.jp-lesson-page--en .jp-lesson-next-class-label,.jp-lesson-page--ja .jp-lesson-class-duration-label,.jp-lesson-page--ja .jp-lesson-next-class-dt-compact,.jp-lesson-page--ja .jp-lesson-next-class-label{font-size:.8125rem;line-height:1.35;white-space:normal!important;color:var(--text)}.jp-lesson-page--en .jp-lesson-uploaded-col,.jp-lesson-page--ja .jp-lesson-uploaded-col{grid-column:1;grid-row:5;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.jp-lesson-page--en .jp-lesson-status-at-col,.jp-lesson-page--ja .jp-lesson-status-at-col{grid-column:2/-1;grid-row:5;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent);border-left:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.jp-lesson-page--en .jp-lesson-dt-compact,.jp-lesson-page--en .jp-lesson-status-at-col .jp-lesson-dt,.jp-lesson-page--en .jp-lesson-status-at-col>*,.jp-lesson-page--en .jp-lesson-uploaded-col .jp-lesson-dt,.jp-lesson-page--en .jp-lesson-uploaded-col>*,.jp-lesson-page--ja .jp-lesson-dt-compact,.jp-lesson-page--ja .jp-lesson-status-at-col .jp-lesson-dt,.jp-lesson-page--ja .jp-lesson-status-at-col>*,.jp-lesson-page--ja .jp-lesson-uploaded-col .jp-lesson-dt,.jp-lesson-page--ja .jp-lesson-uploaded-col>*{font-size:.8125rem;line-height:1.35;color:var(--text);white-space:normal!important}.jp-lesson-page--en .jp-lesson-mobile-card-footer,.jp-lesson-page--ja .jp-lesson-mobile-card-footer{display:block!important;grid-column:1/-1;grid-row:6;padding:0!important;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.jp-lesson-page--en .jp-lesson-mobile-card-footer:before,.jp-lesson-page--en .jp-lesson-mobile-card-footer[aria-hidden=true],.jp-lesson-page--ja .jp-lesson-mobile-card-footer:before,.jp-lesson-page--ja .jp-lesson-mobile-card-footer[aria-hidden=true]{display:none!important}.jp-lesson-page--en .jp-lesson-mobile-footer-stack,.jp-lesson-page--ja .jp-lesson-mobile-footer-stack{display:flex;flex-direction:column}.jp-lesson-page--en .jp-lesson-mobile-footer-row,.jp-lesson-page--ja .jp-lesson-mobile-footer-row{display:grid;width:100%}.jp-lesson-page--en .jp-lesson-mobile-footer-row+.jp-lesson-mobile-footer-row,.jp-lesson-page--ja .jp-lesson-mobile-footer-row+.jp-lesson-mobile-footer-row{border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.jp-lesson-page--en .jp-lesson-mobile-footer-btn,.jp-lesson-page--ja .jp-lesson-mobile-footer-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:3rem;padding:.375rem .25rem;border:none;border-right:1px solid color-mix(in srgb,var(--border) 65%,transparent);background:color-mix(in srgb,var(--panel) 108%,var(--bg));color:var(--text);font:inherit;font-size:.6875rem;line-height:1.2;cursor:pointer}.jp-lesson-page--en .jp-lesson-mobile-footer-btn:last-child,.jp-lesson-page--ja .jp-lesson-mobile-footer-btn:last-child{border-right:none}.jp-lesson-page--en .jp-lesson-mobile-footer-btn .jp-lesson-mobile-icon,.jp-lesson-page--ja .jp-lesson-mobile-footer-btn .jp-lesson-mobile-icon{margin-top:0;color:var(--accent)}.jp-lesson-page--en .jp-lesson-mobile-footer-btn:disabled,.jp-lesson-page--ja .jp-lesson-mobile-footer-btn:disabled{opacity:.55;cursor:not-allowed}.jp-lesson-page--en .jp-lesson-merged-stack-item+.jp-lesson-merged-stack-item,.jp-lesson-page--ja .jp-lesson-merged-stack-item+.jp-lesson-merged-stack-item{margin-top:.35rem;padding-top:.35rem;border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}}