@font-face{font-family:Montserrat;src:url('Montserrat.ttf');font-weight:100 900;font-display:swap}
*{box-sizing:border-box}body{margin:0;background:#f1f4f9;color:#192640;font:15px/1.5 Montserrat,Arial,sans-serif}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{border:1px solid #d3dce9;border-radius:9px;padding:9px 14px;background:white;color:#24334e;cursor:pointer}button:hover{background:#edf2ff;border-color:#99afe9}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #99b8ff;outline-offset:2px}.primary{background:#2857db;color:white;border-color:#2857db}.primary:hover{background:#1d45b6;color:white}.muted{color:#6d7990;font-size:13px}.top{background:white;border-bottom:1px solid #dce3ed;display:flex;align-items:center;justify-content:space-between;padding:18px max(20px,calc((100vw - 1100px)/2));gap:18px}.brand{font-size:19px;font-weight:750;white-space:nowrap}.nav{display:flex;gap:8px;align-items:center}.nav button{border-color:transparent}.nav .selected{color:#2857db;background:#edf2ff}.shell{max-width:1100px;margin:0 auto;padding:28px 22px 80px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}h1{font-size:30px;line-height:1.25;margin:0 0 6px}p{margin:6px 0 12px}.empty{padding:55px 25px;text-align:center;background:white;border:1px dashed #b9c8e1;border-radius:16px}.empty h2{margin:0 0 12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.assignment{background:white;border:1px solid #dce3ed;border-radius:15px;overflow:hidden}.assignment .content{padding:18px}.assignment h2{font-size:19px;margin:0 0 6px;overflow-wrap:anywhere}.cover{height:130px;background:#e8effd;display:flex;align-items:center;justify-content:center;gap:14px;padding:18px}.cover img{height:90px;width:90px;object-fit:contain;border-radius:10px;background:white}.cover span{font-size:22px;font-weight:650;overflow:hidden;max-width:140px}.buttons{display:flex;gap:7px;flex-wrap:wrap}.buttons button{font-size:13px;padding:7px 10px}.editor-head{background:white;padding:20px;border:1px solid #dce3ed;border-radius:14px;margin-bottom:16px}.editor-head label{display:block;font-size:13px;color:#61718c;margin-bottom:5px}input,textarea,select{border:1px solid #cbd6e6;border-radius:8px;background:white;color:#192640;padding:10px;width:100%;min-width:0}textarea{resize:vertical;min-height:95px}.title-input{font-size:23px;font-weight:650}.editor-info{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:12px}.pair{background:white;border:1px solid #dce3ed;border-radius:14px;margin-bottom:12px;padding:18px;display:grid;grid-template-columns:36px 1fr 1fr 35px;gap:16px;align-items:start}.pair-num{background:#eef3ff;border-radius:50%;height:29px;width:29px;display:grid;place-items:center;font-size:13px;color:#5270a4;margin-top:27px}.field-label{display:block;font-size:12px;font-weight:650;color:#64748d;margin:0 0 7px}.pair-controls{display:flex;flex-direction:column;gap:5px;margin-top:26px}.pair-controls button{padding:3px 6px;font-size:16px}.mode{display:flex;gap:5px;margin-bottom:8px}.mode button{font-size:12px;padding:5px 10px}.mode button.active{background:#edf3ff;color:#2857db;border-color:#a8bced}.image-box{height:130px;border:1px dashed #aabbd5;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px}.image-box img{max-height:108px;max-width:55%;object-fit:contain}.image-box button{font-size:12px}.add{width:100%;border-style:dashed;background:#f8faff;color:#2857db;padding:15px}.sticky{position:sticky;bottom:15px;padding:12px 16px;background:#ffffffed;box-shadow:0 6px 30px #17306418;border:1px solid #d8e2f1;border-radius:12px;display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:20px}.sticky .buttons button{font-size:14px}.error{background:#fff0f1;color:#a6273a;padding:12px;border-radius:8px;margin:10px 0}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#192640;color:white;padding:12px 20px;border-radius:12px;z-index:40;max-width:90%}.overlay{position:fixed;inset:0;background:#14233a75;z-index:20;display:grid;place-items:center;padding:20px}.dialog{background:white;border-radius:18px;width:min(820px,100%);max-height:90vh;display:flex;flex-direction:column;padding:23px;box-shadow:0 20px 80px #10223d50}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.dialog-top h2{margin:0;font-size:21px}.search-form{display:flex;gap:8px;margin-bottom:10px}.search-form input{flex:1}.search-form select{width:155px;font-size:13px}.results{overflow:auto;min-height:120px;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;padding:3px;align-content:start}.result{height:145px;padding:6px;position:relative}.result img{height:100%;width:100%;object-fit:contain}.wide{grid-column:1/-1;text-align:center;padding:18px}.preview{background:white;border:1px solid #dce3ed;border-radius:15px;padding:25px}.match-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.match-column{display:flex;flex-direction:column;gap:10px}.tile{height:100px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;overflow-wrap:anywhere;overflow:auto}.tile img{height:85px;max-width:100%;object-fit:contain}.tile.chosen{border:3px solid #2857db;background:#eef3ff}.tile.matched{background:#e9f7ef;border-color:#88c8a3;color:#247144}.preview-count{color:#2857db;font-weight:600}.local-note{padding-top:12px}.danger{color:#b33242}.confirm{max-width:420px}.confirm p{margin:0 0 20px}.breadcrumbs{font-size:13px;color:#56719b;margin-bottom:12px}@media(max-width:700px){.top{padding:12px 14px;flex-wrap:wrap}.brand{font-size:17px}.nav button{font-size:12px;padding:7px}.shell{padding:20px 12px 60px}.heading{align-items:flex-start;gap:10px}h1{font-size:24px}.pair{grid-template-columns:25px 1fr 30px;gap:9px;padding:12px}.pair-num{grid-row:1/3}.pair .answer{grid-column:2;grid-row:1}.pair .clue{grid-column:2;grid-row:2}.pair-controls{grid-column:3;grid-row:1/3}.dialog{padding:14px}.search-form{flex-wrap:wrap}.search-form select{width:100%}.results{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky{flex-wrap:wrap}.editor-info{align-items:flex-start;flex-direction:column;gap:5px}.match-columns{gap:10px}.tile{font-size:16px}.preview{padding:15px}}
.pdf-ready{display:block;margin:12px 0;color:#2857db;font-weight:600}
.auth-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f4f7ff,#fff);padding:24px}.auth-card{width:min(440px,100%);background:#fff;border:1px solid #dfe5f0;border-radius:24px;padding:34px;box-shadow:0 18px 60px #18265318}.auth-brand{margin-bottom:18px}.auth-card h1{margin:0 0 8px}.auth-card form{display:grid;gap:14px;margin-top:24px}.auth-card label{display:grid;gap:6px;font-weight:600}.auth-card input{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #cbd5e1;border-radius:10px;font:inherit}.link-button{border:0;background:none;color:#2a4be8;margin-top:14px}.small{font-size:12px;margin-top:22px}.account-chip{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:13px;color:#53617b}.account-chip button{padding:7px 10px}.account-dialog{max-width:430px}.plan-card{padding:18px;border:1px solid #dce3ef;border-radius:14px;margin:16px 0}.plan-card.premium{border-color:#e6b84b;background:#fffaf0}.plan-card button{margin-top:10px}
.premium-lock{border-color:#e6b84b;color:#8a5b00;background:#fffaf0}
.locked-result{position:relative;cursor:not-allowed}.locked-result img{opacity:1;filter:none}.lock-badge{position:absolute;top:8px;right:8px;background:#1d2b4c;color:white;border-radius:6px;padding:3px 5px;font-size:9px;font-weight:700}

.catalog-select{display:flex;align-items:center;gap:12px;margin:4px 0 10px;font-size:13px}.catalog-select select{flex:1}.search-result-card{min-width:0}.search-result-card .result{width:100%}.source-link{display:block;font-size:10px;line-height:1.4;color:#64748d;padding:5px 2px;overflow-wrap:anywhere}.results{max-height:60vh}
.device-image{border-radius:12px;transition:background .15s,box-shadow .15s}.device-image.dragging{background:#e8f0ff;box-shadow:0 0 0 3px #2857db}.device-image.dragging .image-box{border-color:#2857db}.device-image>p{margin:8px 0 0;font-size:12px}
.tile img{display:block;width:100%;height:100%;min-width:0;object-fit:contain;object-position:center}.tile{overflow:hidden}
.folder-list{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.folder-item{display:flex;border:2px solid transparent;border-radius:12px;background:white;max-width:100%;overflow-wrap:anywhere}.folder-item.active{border-color:#2857db}.folder-item.drop-hover{border-color:#2857db;background:#dfeaff;box-shadow:0 0 0 3px #bed1ff}.folder-item button{background:transparent;border:0}.folder-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:16px;background:white;border-radius:12px}.folder-form label{flex:1;min-width:180px}.task-folder-label{display:block;font-size:12px;margin-top:12px}.assignment[draggable=true]{cursor:grab}.assignment h2{overflow-wrap:anywhere}
.home{background:#fff}.home-nav,.home-footer{max-width:1200px;margin:auto;padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.home-logo{width:250px;max-width:100%;height:auto}.home-nav nav{display:flex;gap:10px;flex-wrap:wrap}.home-hero{max-width:1200px;margin:auto;padding:70px 28px 80px;display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}.home-hero h1{font-size:clamp(36px,4.5vw,62px);letter-spacing:-2px;line-height:1.12;margin:18px 0 24px}.home-eyebrow{color:#168a7d;font-size:12px;font-weight:700;letter-spacing:1.7px}.home-lead{font-size:18px;line-height:1.7;max-width:620px;color:#61718c}.home-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 16px}.home-actions button,.home-cta button{padding:15px 22px}.home-showcase{background:#f1f5ff;border-radius:28px;padding:28px;border:1px solid #e1e8f7}.home-example-top{display:flex;justify-content:space-between;font-size:13px;color:#61718c;margin-bottom:20px}.home-example-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-example-grid>div{height:74px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:white}.home-animal img{width:65px;height:65px;object-fit:contain}.home-word{font-size:26px;font-weight:650;color:#2857db}.home-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.home-pills span{font-size:11px;background:#e1e9fb;color:#2857db;padding:5px 9px;border-radius:20px}.home-section{max-width:1200px;margin:auto;padding:45px 28px;scroll-margin-top:20px}.home h2{font-size:clamp(25px,3vw,36px);letter-spacing:-.6px;line-height:1.2}.home-section>.preview{margin-top:26px}.home-uses{display:grid;grid-template-columns:1fr 1fr;gap:24px}.home-uses article{padding:32px;border-radius:20px;background:#f0f6ff}.home-uses article+article{background:#edf8f5}.home-uses p,.home-steps p{color:#61718c;line-height:1.8}.home-paper{background:#fff;padding:20px;border-radius:10px;color:#168a7d;margin-top:24px;font-weight:600}.home-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}.home-steps article>span{font-size:36px;color:#20ad9c;font-weight:600}.home-steps h3{font-size:21px}.home-cta{text-align:center;background:#eef3ff;padding:55px 24px;margin-top:40px}.home-cta p{color:#61718c;margin-bottom:22px}.home-footer{font-size:12px;color:#61718c}.home-recent{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.home-recent button{text-align:left;padding:22px;overflow-wrap:anywhere}.home-recent span{display:block;color:#61718c;font-size:12px;margin-top:10px}@media(max-width:760px){.home-nav,.home-footer{flex-wrap:wrap;padding:20px}.home-logo{width:220px}.home-hero{grid-template-columns:1fr;padding:28px 20px;gap:28px}.home-hero h1{letter-spacing:-1px}.home-uses,.home-steps,.home-recent{grid-template-columns:1fr}.home-section{padding:28px 20px}.home-showcase{padding:20px}.home-lead{font-size:16px}.home-nav nav{gap:5px}.home-nav nav button{font-size:12px}.home-uses article{padding:24px}}
