:root{--primary:#1e3a2f;--bg:#ece6d9;--bg-deep:#d7d1c2;--accent:#bc823c;--ink:#23261f;--ink-2:#6e7268;--ink-3:#9a958a;--card:#fff;--line:#e3dccb;--green-soft:#e6ede6;--green-ink:#2c5040;--sand-soft:#f0e2cd;--sand-ink:#8a5a22}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg-deep);-webkit-font-smoothing:antialiased;color:var(--ink);font-family:Heebo,sans-serif}input,textarea,select,button{font-family:Heebo,sans-serif}.scrollarea::-webkit-scrollbar{width:0;height:0}.auth-scroll::-webkit-scrollbar{width:0;height:0}.xrow::-webkit-scrollbar{width:0;height:0}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:none}}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}.om-bg{background:var(--bg-deep);justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex}.om-frame{background:var(--bg);border-radius:26px;width:720px;max-width:100%;height:min(960px,94vh);position:relative;overflow:hidden;box-shadow:0 40px 90px -24px #23261f80,0 0 0 1px #23261f0d}@media (width<=760px){.om-frame{width:100%}}@media (width<=640px){.om-bg{background:var(--bg);padding:0}.om-frame{width:100%;max-width:100%;height:100dvh;box-shadow:none;border-radius:0}}.field:focus{border-color:var(--accent)!important}.a11y-links a,.a11y-links [href],.a11y-links button{outline-offset:2px;outline:2px solid;text-decoration:underline!important}.a11y-invert img,.a11y-invert video,.a11y-invert iframe,.a11y-invert [style*=background-image]{filter:invert()hue-rotate(180deg)}.a11y-spacing,.a11y-spacing *{letter-spacing:.04em!important;word-spacing:.12em!important;line-height:1.9!important}.a11y-widget button:focus-visible{outline:3px solid var(--accent,#bc823c);outline-offset:2px}.web-shell{background:var(--bg);grid-template-columns:264px 1fr;min-height:100vh;display:grid}.web-main{background:var(--bg);height:100vh;position:relative;overflow:hidden}.web-content{max-width:1280px;margin-inline:auto}.web-content>.scrollarea,.web-content{width:100%}.class-grid{flex-direction:column;gap:10px;display:flex}.web-main .class-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}
