*{box-sizing:border-box}body{margin:0;font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#eef2eb;color:#21382b}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:clamp(26px,4vw,36px);line-height:1.2;font-weight:650;letter-spacing:-.7px}h2{font-size:21px;line-height:1.35;font-weight:600}h3{font-size:16px;font-weight:600}strong{font-weight:600}input,select,textarea{min-width:0;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:9px;padding:11px 12px;max-width:100%}textarea{resize:vertical}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}#app{--base:#303842;--accent:#315e43;--on-accent:#fff;--page:#eef2eb;--panel:#fffefa;--ink:#21382b;--muted:#536556;--line:#ced8cd;--soft:#e8eede;min-height:100svh;background:var(--page);color:var(--ink)}#app[data-role=child]{--page:color-mix(in srgb,var(--base) 76%,#111824);--panel:color-mix(in srgb,var(--accent) 6%,#1b242b);--ink:#f3f6fd;--muted:#d4dce7;--line:color-mix(in srgb,var(--accent) 20%,#475560);--soft:color-mix(in srgb,var(--accent) 15%,#1b242b);background:linear-gradient(140deg,var(--base),color-mix(in srgb,var(--accent) 45%,#131c26))}button{color:inherit}.app-shell{min-height:100svh;max-width:1160px;margin:auto;background:var(--page)}.child-shell{max-width:760px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;background:color-mix(in srgb,var(--base) 65%,#121d24);color:#fff;min-height:76px}.parent-shell .top{background:#22432f}.brand{font-size:24px;font-weight:650;letter-spacing:-.7px;text-decoration:none}.top-account{display:flex;align-items:center;gap:10px}.avatar{display:grid;place-items:center;border-radius:50%;width:34px;height:34px;background:#ffffff25;font-size:13px}.settings{position:relative;z-index:4}.settings summary{cursor:pointer;min-height:44px;display:flex;align-items:center;list-style:none;font-size:13px}.settings summary::-webkit-details-marker{display:none}.menu{position:absolute;right:0;top:100%;min-width:225px;padding:9px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #0002}.menu .button{display:flex;width:100%;justify-content:flex-start;text-align:left;min-height:44px}.content{padding:28px 24px 44px}.button{border:1px solid var(--line);border-radius:10px;padding:10px 15px;min-height:44px;background:var(--panel);font-size:14px;font-weight:550;color:var(--ink)}.button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.button.quiet{background:transparent;border-color:transparent}.button.selected{border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{justify-content:space-between}.stack{display:grid;gap:9px}.small{font-size:13px}.muted{color:var(--muted)}.eyebrow{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:8px}.page-heading{margin-bottom:25px}.page-heading p{color:var(--muted);margin-top:10px;max-width:760px}.panel{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:25px;margin-bottom:20px;min-width:0}.panel>p{margin-top:12px}.badge{display:inline-block;padding:4px 10px;background:var(--soft);border-radius:7px;font-size:12px;width:fit-content}.notice{padding:13px 16px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:9px;background:var(--panel);color:var(--ink);margin-bottom:20px;overflow-wrap:anywhere}.loading{padding:60px 24px}.login{max-width:470px;margin:auto;padding:56px 25px}.login .brand{font-size:34px;margin-bottom:50px}.login .eyebrow{margin-bottom:14px}.login h1{margin-bottom:18px}.login>p{margin-bottom:24px}.login>.primary{margin:3px 0 26px;width:100%;min-height:54px}.demo-login{margin:25px 0;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:15px}.demo-login p{font-size:13px;margin:12px 0 18px}.local-banner{padding:7px 14px;text-align:center;background:#e8eddf;color:#34482f;font-size:12px}.activities{display:flex;gap:8px;padding:20px 24px 0}.activity{flex:1;min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px 5px;min-height:78px;background:transparent;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:7px;font-weight:600}.activity small{font-size:12px;font-weight:400}.activity.active{background:var(--panel);border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}.activity:disabled{opacity:.66}.subject-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 24px;border-bottom:1px solid var(--line)}.subject-bar label{font-size:13px;font-weight:600}.subject-bar select{flex:1;max-width:350px}.subject-bar .button{margin-left:auto}.deck-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.deck-tile{display:flex;flex-direction:column;gap:15px;text-align:left;min-width:0;min-height:210px;padding:22px;border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:14px;background:var(--panel);color:var(--ink)}.deck-tile strong{font-size:23px;line-height:1.3;overflow-wrap:anywhere}.deck-tile .muted{font-size:13px}.tile-action{margin-top:auto;font-size:13px;font-weight:600}.done{text-align:center;background:var(--panel);padding:35px 24px;border-radius:16px;border:1px solid var(--line)}.done-icon{display:block;font-size:34px;color:var(--accent-ink);margin-bottom:12px}.done p{margin:16px 0}.done .muted{font-size:14px}.done .button{margin-top:10px}.subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.subject-tile{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:15px 16px;min-height:54px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--ink)}.library-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid var(--line)}.library-row p{margin-top:5px}.library-row:last-of-type{border:0}.card-session{max-width:570px;margin:auto}.session-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:17px;font-size:12px;color:var(--muted)}.study-card{display:block;width:100%;padding:0;text-align:center;border:1px solid var(--line);border-radius:19px;background:var(--panel);color:var(--ink);box-shadow:0 5px 0 color-mix(in srgb,var(--accent) 25%,var(--panel)),0 12px 24px #0001;overflow-wrap:anywhere}.study-card.reverse{background:var(--soft)}.card-face{display:flex;flex-direction:column;min-height:330px;padding:20px;gap:24px}.card-edge{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px}.card-edge>span:first-child{color:var(--accent-ink);text-transform:uppercase;letter-spacing:.1em}.card-edge>span:last-child{text-align:right}.card-center{display:flex;flex:1;flex-direction:column;justify-content:center;gap:20px;min-width:0}.card-copy{font-size:25px;font-weight:600;line-height:1.35;white-space:pre-wrap}.card-copy.short{font-size:37px}.turn-hint{color:var(--muted);font-size:11px}.card-picture{display:block;width:100%;background:var(--soft);border-radius:12px;overflow:hidden}.card-picture img{display:block;width:100%;height:auto;max-height:250px;object-fit:contain}.card-picture img:not([src]){min-height:120px}.card-wait{padding:26px 0;color:var(--muted);text-align:center;font-size:12px}.recall{margin-top:27px;text-align:center}.recall>p{font-size:13px;margin-bottom:13px}.ratings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.ratings .button{min-width:0;min-height:56px;padding:8px 3px;white-space:normal;font-size:12px;line-height:1.4}.rating-help{font-size:12px;color:var(--muted);margin-top:10px;text-align:left}.rating-help summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;text-decoration:underline;text-underline-offset:3px}.rating-help dl{margin:8px 0}.rating-help dt{font-weight:600;color:var(--ink);margin-top:12px}.rating-help dd{margin:4px 0}.card-source{text-align:center;margin-top:19px;color:var(--muted);overflow-wrap:anywhere}.field{display:flex;flex-direction:column;gap:7px;margin:18px 0;min-width:0}.field>span{font-size:13px;font-weight:550}.form-columns{display:grid;grid-template-columns:2fr 1fr;gap:15px}.editor{max-width:860px}.editor>.row{margin-top:20px}.edit-card{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.edit-card .row .button{font-size:12px}.edit-image .card-picture{max-width:340px;margin:15px 0}.review-check{display:flex;align-items:flex-start;gap:11px;font-size:14px;padding:24px 0 10px;cursor:pointer}.review-check input{width:20px;height:20px;flex-shrink:0;margin:1px 0 0;accent-color:var(--accent)}.empty{margin-top:20px}.empty .button{margin-top:20px}.history-item{padding:17px 0;border-bottom:1px solid var(--line)}.history-item summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:44px}.history-item summary small{color:var(--muted)}.history-item p{margin-top:14px;white-space:pre-wrap}.color-slots{display:flex;gap:10px;margin-bottom:20px}.color-slots .button{flex:1}.color-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.color-chip{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 3px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:11px}.color-chip.selected{border:2px solid var(--accent)}.paint{display:block;width:100%;height:46px;border-radius:6px;border:1px solid #ffffff35}.color-black{background:#101319}.color-graphite{background:#303842}.color-cobalt{background:#315bef}.color-electric{background:#00b8ff}.color-lime{background:#c3f51b}.color-silver{background:#a9b4c8}.color-blue{background:#3a79dd}.color-violet{background:#8c49d5}.color-pink{background:#d74596}.color-coral{background:#e96369}.color-red{background:#df414f}.color-orange{background:#ec8b30}.color-yellow{background:#efd357}.color-green{background:#459c61}.color-mint{background:#8ed9ba}.color-turquoise{background:#28b8b0}.color-petrol{background:#197e8c}.color-gray{background:#8793a4}.architecture{max-width:840px}.architecture h2{margin-top:28px}.architecture h2:first-child{margin-top:0}.architecture p,.architecture ol{margin-top:12px}.architecture li{padding-left:4px;margin-bottom:9px}.architecture .environment dt{font-weight:600;font-size:13px}.architecture .environment dd{margin:4px 0 14px;overflow-wrap:anywhere;font-size:14px}
@media(max-width:760px){.parent-shell .deck-grid{grid-template-columns:1fr}.content{padding:24px 18px 35px}}
@media(max-width:520px){body,input,select,textarea{font-size:16px}.top{padding:12px 16px;min-height:68px}.brand{font-size:22px}.account-name{display:none}.content{padding:22px 14px 32px}.activities{padding:16px 14px 0;gap:6px}.activity{font-size:14px}.activity small{font-size:11px}.subject-bar{padding:16px 14px;gap:10px}.subject-bar label{width:100%}.subject-bar select{width:100%;max-width:none;flex-basis:100%}.subject-bar .button{margin-left:0;padding-left:0}.deck-grid,.subject-grid{grid-template-columns:1fr}.deck-tile{min-height:190px;padding:19px}.panel{padding:20px 16px}.form-columns{grid-template-columns:1fr;gap:0}.card-face{min-height:300px;padding:18px;gap:20px}.card-copy{font-size:23px}.card-copy.short{font-size:36px}.card-picture img{max-height:190px}.color-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.color-slots .button{font-size:12px}.history-item summary{flex-direction:column;align-items:flex-start}.library-row .row{width:100%}}
