.oshi-materials{padding-bottom:16px}.oshi-materials-heading{justify-content:space-between;align-items:center;gap:24px;margin:18px 0 28px;display:flex}.oshi-materials-heading h1{font-size:clamp(1.55rem,3vw,2rem);font-weight:750;line-height:1.4}.oshi-materials-heading p{color:var(--muted-foreground);max-width:680px;margin-top:10px;font-size:1rem}.oshi-materials-heading>button{min-width:160px}.oshi-material-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:22px;display:grid}.oshi-material-card{border:1px solid var(--border);background:var(--card);border-radius:15px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.oshi-material-image{background:var(--muted);width:100%;display:block;overflow:hidden}.oshi-material-image img{width:100%;height:auto;display:block}.oshi-material-image>span{aspect-ratio:4/3;color:var(--muted-foreground);place-content:center;justify-items:center;gap:12px;display:grid}.oshi-material-image small{letter-spacing:.1em;font-size:.875rem}.oshi-material-body{flex-direction:column;flex:1;gap:9px;padding:20px;display:flex}.oshi-material-work{color:var(--primary);font-size:.875rem;font-weight:650}.oshi-material-body h2{overflow-wrap:anywhere;font-size:1.125rem;font-weight:700;line-height:1.5}.oshi-material-body>p{color:var(--muted-foreground);overflow-wrap:anywhere;white-space:pre-line;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:1rem;display:-webkit-box;overflow:hidden}.oshi-material-bottom{flex-direction:column;gap:12px;margin-top:auto;padding-top:14px;display:flex}.oshi-material-bottom>span,.oshi-material-file{color:var(--muted-foreground);overflow-wrap:anywhere;font-size:.875rem}.oshi-material-more{justify-content:center;margin-top:25px;display:flex}.oshi-materials-empty{border:1px dashed var(--border);text-align:center;background:var(--card);border-radius:15px;padding:58px 24px}.oshi-materials-empty>svg{color:var(--primary);margin:0 auto 15px}.oshi-materials-empty h2{font-size:1.125rem;font-weight:700}.oshi-materials-empty p{color:var(--muted-foreground);margin-top:8px;font-size:1rem}.oshi-material-terms{border:1px solid var(--border);background:var(--muted);border-radius:10px;margin:10px 0;padding:17px}.oshi-material-terms h3{margin-bottom:8px;font-size:1rem;font-weight:700}.oshi-material-terms p,.oshi-material-description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem}.oshi-material-dialog .oshi-material-save-actions .o-button{width:100%;margin:0}.oshi-material-dialog .o-error{margin-top:12px}.oshi-material-admin-row{background:var(--card);border:1px solid var(--border);border-radius:13px;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px;display:grid}.oshi-material-admin-thumb{background:var(--muted);border-radius:8px;place-items:center;display:grid;overflow:hidden}.oshi-material-admin-thumb img{width:100%;height:auto;display:block}.oshi-material-admin-row h2{overflow-wrap:anywhere;margin:4px 0;font-size:1rem;font-weight:700}.oshi-material-admin-row p{color:var(--muted-foreground);overflow-wrap:anywhere;font-size:.875rem}.oshi-material-admin-list{gap:12px;display:grid}.oshi-material-status{color:var(--muted-foreground);font-size:.875rem}.oshi-material-status.published{color:var(--primary)}.oshi-material-editor{max-width:720px!important}.oshi-material-editor .o-form label{margin:12px 0 7px;display:block}.oshi-material-editor fieldset{border:0;min-width:0;margin:15px 0 0;padding:0}.oshi-material-editor legend{font-size:1rem;font-weight:700}.oshi-material-editor textarea,.oshi-material-editor input{font-size:1rem!important}.oshi-material-editor input[type=file]{white-space:normal;padding:12px 10px}.oshi-material-editor .oshi-editor-grid{align-items:start}.oshi-material-editor .o-note{overflow-wrap:anywhere;margin-top:8px}.oshi-material-upload-progress{color:var(--primary);margin-top:14px;font-size:.9375rem}.oshi-material-preview-box{background:var(--muted);border-radius:8px;width:180px;max-width:100%;height:auto;margin:12px 0;display:block}@media (max-width:1000px){.oshi-material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.oshi-materials-heading{flex-direction:column;align-items:stretch;gap:16px;margin-top:14px}.oshi-materials-heading>button{width:100%}.oshi-material-grid{grid-template-columns:1fr;gap:18px}.oshi-material-body{padding:17px}.oshi-material-bottom{flex-flow:wrap;justify-content:space-between;align-items:center}.oshi-material-bottom .o-button{flex:1;min-width:160px}.oshi-material-admin-row{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:14px}.oshi-material-admin-row>.o-button{grid-column:1/-1}.oshi-material-admin .oshi-admin-top{flex-direction:column;align-items:stretch}.oshi-material-editor .oshi-editor-grid{grid-template-columns:1fr}}.oshi-dialog.oshi-material-dialog{max-height:calc(100dvh - 32px);width:calc(100vw - 32px)!important;max-width:960px!important}.oshi-material-full-preview{background:var(--muted);border-radius:8px;min-width:0;overflow:hidden}.oshi-material-full-image{object-fit:contain;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;width:auto;max-width:100%;height:auto;max-height:60dvh;margin:auto;display:block}.oshi-material-full-preview>.oshi-material-save-note{text-align:center;padding:12px}.oshi-material-save-actions{flex-wrap:wrap;gap:12px;display:flex}.oshi-material-save-actions>.o-button{flex:1;min-width:min(220px,100%)}.oshi-material-save-note{color:var(--muted-foreground);font-size:.875rem;line-height:1.7}:is(.oshi-materials :is(a,button):focus-visible,.oshi-material-dialog :is(a,button):focus-visible){outline:2px solid var(--ring);outline-offset:3px}@media (max-width:760px){.oshi-dialog.oshi-material-dialog{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;padding:22px 16px!important}.oshi-material-full-image{max-height:52dvh}.oshi-material-save-actions{gap:10px}.oshi-material-save-actions>.o-button{min-width:100%}}.oshi-materials-heading{gap:16px;margin:12px 0 16px}.oshi-materials-heading h1{font-size:clamp(1.375rem,2.4vw,1.75rem);line-height:1.35}.oshi-materials-heading p{margin-top:6px;font-size:1rem;line-height:1.6}.oshi-material-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:12px}.oshi-material-card{border-radius:12px}.oshi-material-image{aspect-ratio:4/3;place-items:center;display:grid}.oshi-material-image img{object-fit:contain;width:100%;height:100%;min-height:0}.oshi-material-image>span{aspect-ratio:auto;gap:6px}.oshi-material-image>span>svg{width:32px;height:32px}.oshi-material-body{gap:4px;padding:12px}.oshi-material-work{font-size:.8125rem;line-height:1.4}.oshi-material-body h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1rem;line-height:1.5;display:-webkit-box;overflow:hidden}.oshi-material-body>p{-webkit-line-clamp:2;font-size:.875rem;line-height:1.6}.oshi-material-bottom{flex-flow:column;align-items:stretch;gap:6px;padding-top:8px}.oshi-material-bottom>span{font-size:.8125rem;line-height:1.4}.oshi-material-bottom .o-button{white-space:normal;gap:4px;width:100%;min-width:0;min-height:44px;padding:8px 4px;font-size:.875rem}.oshi-material-bottom .o-button>svg{flex-shrink:0;width:14px;height:14px}.oshi-material-more{margin-top:20px}.oshi-material-stats{border:1px solid var(--border);background:var(--card);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:16px;padding:14px 16px;display:flex}.oshi-material-stats dl{flex:1;gap:32px;margin:0;display:flex}.oshi-material-stats dt{color:var(--muted-foreground);font-size:.875rem}.oshi-material-stats dd{font-variant-numeric:tabular-nums;color:var(--foreground);margin:4px 0 0;font-size:1.5rem;font-weight:750;line-height:1.2}.oshi-material-stats>p{color:var(--muted-foreground);flex-basis:100%;font-size:.8125rem;line-height:1.6}.oshi-material-stats>.o-button{min-height:44px;padding:8px 12px;font-size:.875rem}.oshi-material-admin-row .oshi-material-download-count{color:var(--foreground);align-items:center;gap:6px;margin:6px 0;font-size:.875rem;display:flex}.oshi-material-download-count strong{font-variant-numeric:tabular-nums}.oshi-material-admin-thumb{aspect-ratio:1}.oshi-material-admin-thumb img{object-fit:contain;height:100%}@media (max-width:1100px){.oshi-material-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.oshi-materials-heading{gap:10px;margin:10px 0 12px}.oshi-material-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.oshi-material-body{padding:10px}.oshi-material-body>p{display:none}.oshi-material-stats{gap:12px;padding:12px}.oshi-material-stats dl{gap:24px}.oshi-material-stats dd{font-size:1.375rem}}
