@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans','Noto Sans SC',-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:#1d303d;background:#f5f7f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #71b5c5;outline-offset:2px}button:disabled{opacity:.55;cursor:wait}svg.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.initial-loader{padding:60px;color:#67808a}.muted{color:#87979f}.small{font-size:12px}.eyebrow{font-size:12px;letter-spacing:.08em;color:#779099;font-weight:600}.btn{border:0;background:#225d6b;color:white;border-radius:8px;padding:10px 15px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600;font-size:13px;white-space:nowrap}.btn:hover{background:#194b58}.btn svg{width:16px;height:16px}.btn.secondary{background:#fff;color:#31535d;border:1px solid #d7e1e3}.btn.secondary:hover{background:#f1f7f7}.btn.subtle{background:#e7f2f2;color:#246172}.btn.subtle:hover{background:#d6ebeb}.btn.ghost{background:transparent;color:#54717b;border:1px solid transparent}.btn.ghost:hover{background:#eff5f5}.btn.sm{min-height:33px;padding:7px 11px;font-size:12px}.btn.block{width:100%}.text-button{border:0;padding:0;background:none;color:#2a7183;font-weight:600;font-size:12px}.text-button:hover{text-decoration:underline}.icon-btn{border:0;background:transparent;color:#718790;padding:6px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{background:#eaf2f3;color:#254c57}.logo-mark{width:34px;height:34px;border-radius:9px;background:#9ccdc8;display:grid;place-items:center;color:#164857;font-size:18px;font-weight:700;letter-spacing:-.1em;padding-right:2px}.brand{display:flex;align-items:center;gap:10px}.brand strong{font-size:16px;letter-spacing:.05em}.brand small{display:block;color:#9ebac0;font-size:10px;letter-spacing:.12em;margin-top:2px}.auth-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-art{padding:42px 8%;background:#163e4d;color:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-art:before{content:'';position:absolute;width:600px;height:600px;border:1px solid #ffffff18;border-radius:50%;right:-230px;top:-180px}.auth-art .brand{position:relative}.auth-copy{margin:auto 0;position:relative;max-width:470px}.auth-copy .eyebrow{color:#9fc5ca}.auth-copy h1{font-weight:600;font-size:clamp(35px,4vw,55px);line-height:1.3;letter-spacing:.025em;margin:20px 0}.auth-copy p{color:#b6cdd0;font-size:15px;line-height:1.9;max-width:380px}.auth-art-footer{font-size:11px;color:#8aacb1;position:relative}.paper-stack{height:200px;position:relative;margin-top:45px;width:330px}.paper{position:absolute;background:#f8fbf9;border-radius:3px;box-shadow:0 20px 50px #0002}.paper.one{width:115px;height:168px;left:10px;top:22px;transform:rotate(-9deg);padding:16px;background:#d8ece8}.paper.two{width:132px;height:182px;left:110px;top:0;transform:rotate(4deg);background:#f6f1e4;padding:19px}.paper.three{width:100px;height:145px;left:225px;top:34px;transform:rotate(9deg);background:#a9ccd0;padding:15px}.paper:before{content:'';display:block;width:22px;height:5px;background:#568e92;margin-bottom:18px}.paper:after{content:'';display:block;width:75%;height:2px;background:#7eaba9;box-shadow:0 8px #afc9c4,0 16px #afc9c4,0 24px #afc9c4}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:45px 28px}.auth-box{width:min(100%,390px)}.auth-box h2{font-size:28px;letter-spacing:-.03em;margin:0 0 9px}.auth-box>p{font-size:14px;color:#80919a;margin:0 0 32px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field label,.field-label{font-size:12px;color:#49616a;font-weight:600}.field input,.field select,.field textarea,.input{width:100%;border:1px solid #dce5e6;border-radius:7px;background:white;color:#263d47;padding:10px 11px;min-height:40px;font-size:13px;transition:border-color .15s}.field input::placeholder,.field textarea::placeholder{color:#b3c0c4}.field input:focus,.field textarea:focus,.field select:focus{border-color:#77afb2;outline:none;box-shadow:0 0 0 3px #dff0ef}.field textarea{resize:vertical;line-height:1.7}.auth-box .btn{margin-top:5px;height:46px}.auth-switch{margin-top:25px;color:#819299;font-size:13px;text-align:center}.auth-message{min-height:18px;font-size:12px;color:#b14b50;margin:0 0 8px}.shell{min-height:100vh;display:grid;grid-template-columns:226px minmax(0,1fr)}.sidebar{background:#173f4d;color:#d2e2e2;padding:25px 15px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}.sidebar .brand{padding:0 8px 28px;color:#fff}.side-label{font-size:11px;color:#8fb0b5;margin:23px 12px 10px;display:flex;justify-content:space-between;align-items:center}.side-link{width:100%;border:0;background:transparent;color:#b7ced0;text-align:left;border-radius:7px;min-height:40px;padding:10px 11px;display:flex;align-items:center;gap:11px;font-size:13px}.side-link:hover{background:#ffffff0d;color:white}.side-link.active{background:#ffffff18;color:#fff;font-weight:600}.side-link .icon{width:17px;height:17px}.side-series-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-dot{width:7px;height:7px;border-radius:50%;background:#82c3b7;margin:0 5px;flex:none}.sidebar-spacer{flex:1}.sidebar-bottom{border-top:1px solid #ffffff20;padding:17px 5px 0;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:#d8ebe8;color:#245a62;display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}.account-name{font-size:12px;color:white;font-weight:600;max-width:105px;overflow:hidden;text-overflow:ellipsis}.account-caption{font-size:10px;color:#a1bfc2;margin-top:3px}.sidebar-bottom button{margin-left:auto;color:#b5cbce}.app-main{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid #e7eded;display:flex;align-items:center;justify-content:space-between;padding:0 36px}.topbar-title{font-size:13px;color:#82949a;display:flex;gap:10px;align-items:center}.topbar-title strong{color:#2c4852;font-size:13px}.topbar-actions{display:flex;gap:12px;align-items:center}.online-dot{width:7px;height:7px;border-radius:50%;background:#89b9a4;display:inline-block;margin-right:6px}.main-content{max-width:1500px;margin:0 auto;padding:36px 40px 60px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.page-head h1{font-size:25px;letter-spacing:-.04em;margin:0 0 7px;font-weight:650}.page-head p{font-size:13px;color:#8a9ba1;margin:0;line-height:1.6}.hero{background:#e5f1ef;border:1px solid #dbeae7;border-radius:12px;min-height:218px;display:flex;position:relative;overflow:hidden;margin-bottom:36px}.hero-copy{padding:32px 36px;position:relative;z-index:1;max-width:60%}.hero-label{font-size:11px;color:#598582;font-weight:700;letter-spacing:.09em}.hero h2{font-size:24px;color:#224d50;line-height:1.45;margin:13px 0 8px;font-weight:600;letter-spacing:-.03em}.hero p{font-size:13px;color:#6e9691;margin:0 0 22px;line-height:1.6}.hero-art{position:absolute;right:55px;top:15px;width:350px;height:220px}.sheet{position:absolute;background:white;box-shadow:0 15px 30px #436b681c;border:1px solid #dbe7e4}.sheet.a{width:125px;height:165px;right:165px;top:46px;transform:rotate(-9deg);background:#c8e1dc}.sheet.b{width:139px;height:186px;right:75px;top:8px;transform:rotate(6deg);padding:24px 19px}.sheet.c{width:92px;height:134px;right:0;top:66px;transform:rotate(12deg);background:#518d8e}.sheet.b:before{content:'会议日程';display:block;font-size:12px;font-weight:700;color:#285a5c;margin-bottom:22px}.sheet.b:after{content:'';display:block;width:75%;height:3px;background:#9bbfba;box-shadow:0 12px #d7e6e3,0 24px #d7e6e3,0 36px #d7e6e3,0 48px #d7e6e3}.section-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px}.section-head h2{font-size:16px;letter-spacing:-.02em;margin:0}.section-head p{font-size:12px;color:#91a1a6;margin:5px 0 0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:34px}.series-card{border:1px solid #e2e9e9;border-radius:10px;background:#fff;text-align:left;padding:19px;min-height:155px;color:inherit;transition:border-color .15s,transform .15s}.series-card:hover{border-color:#a8ceca;transform:translateY(-2px)}.card-top{display:flex;align-items:center;justify-content:space-between}.folder-icon{width:37px;height:37px;border-radius:9px;background:#e8f3f1;color:#47817a;display:grid;place-items:center}.series-card h3{font-size:14px;margin:18px 0 6px}.series-card p{font-size:12px;color:#9aa9ac;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.series-card .card-count{font-size:11px;color:#9baaaa}.new-card{border:1px dashed #c6d8d7;background:#f8fbfa;display:flex;justify-content:center;align-items:center;color:#688b89;gap:8px;font-size:13px;min-height:155px;border-radius:10px}.new-card:hover{border-color:#7aafaa;background:#f1f9f7}.meeting-list{background:#fff;border:1px solid #e4eaea;border-radius:10px;overflow:hidden}.meeting-row{display:grid;grid-template-columns:minmax(180px,1.5fr) 1fr 1fr auto;gap:16px;align-items:center;padding:16px 19px;border-bottom:1px solid #edf1f1;text-align:left;background:white;width:100%;color:inherit;border-left:0;border-right:0;border-top:0}.meeting-row:last-child{border-bottom:0}.meeting-row:hover{background:#f8fbfa}.meeting-row strong{display:block;font-size:13px}.meeting-row small{display:block;color:#9aabaf;margin-top:5px;font-size:11px}.meeting-row>span{font-size:12px;color:#71868d}.empty{padding:32px;text-align:center;color:#8da0a4;font-size:13px;line-height:1.8}.workspace{max-width:1550px}.work-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.work-header h1{font-size:23px;margin:0 0 5px;letter-spacing:-.03em}.work-header p{font-size:12px;color:#8a9ca2;margin:0}.work-title{display:flex;align-items:center;gap:12px}.back-button{border:1px solid #dfe8e7;background:white;border-radius:8px;width:36px;height:36px;color:#658188;display:grid;place-items:center}.tabs{display:flex;align-items:center;gap:24px;border-bottom:1px solid #dfe8e8;margin-bottom:23px;overflow:auto}.tab{border:0;border-bottom:2px solid transparent;color:#84989d;background:none;padding:0 0 15px;font-size:13px;white-space:nowrap}.tab.active{color:#246979;border-color:#378394;font-weight:700}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;align-items:start}.panel{background:white;border:1px solid #e2eaea;border-radius:10px;padding:23px;margin-bottom:16px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:21px}.panel-heading h2{font-size:15px;margin:0 0 6px}.panel-heading p{font-size:12px;color:#8da0a5;margin:0;line-height:1.5}.panel-heading .btn{flex-shrink:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.field-hint{font-size:11px;color:#a2b0b4;line-height:1.6}.source-box{min-height:210px}.upload-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.upload-row .field-hint{flex:1}.side-panel{position:sticky;top:95px}.readiness-top{display:flex;align-items:center;gap:10px}.readiness-icon{width:36px;height:36px;border-radius:9px;background:#e7f4f1;color:#3d887b;display:grid;place-items:center}.readiness-title strong{display:block;font-size:13px}.readiness-title span{display:block;font-size:11px;color:#93a4a8;margin-top:4px}.progress-track{height:5px;border-radius:5px;background:#eaf0ef;margin:20px 0}.progress-fill{height:5px;border-radius:5px;background:#70b7a8}.question-heading{font-size:12px;font-weight:700;margin:20px 0 5px}.question{display:flex;gap:10px;padding:13px 0;border-bottom:1px solid #f0f3f3}.question:last-child{border-bottom:0}.question-mark{width:20px;height:20px;background:#f1f6f5;color:#6e9991;border-radius:50%;display:grid;place-items:center;font-size:11px;flex:none}.question p{font-size:12px;line-height:1.6;color:#50666e;margin:0 0 4px}.question span{font-size:10px;color:#a1b0b3}.helper-note{background:#f1f7f6;border-radius:7px;padding:12px;color:#79928f;font-size:11px;line-height:1.7;margin-top:15px}.agenda-table{width:100%;border-collapse:collapse}.agenda-table th{text-align:left;color:#8b9da1;font-weight:500;font-size:11px;padding:0 5px 10px}.agenda-table td{padding:4px 5px;vertical-align:top}.agenda-table input{width:100%;min-width:0;border:1px solid #e1eaea;border-radius:6px;padding:9px 8px;font-size:12px;color:#314a53}.agenda-table input:focus{outline:2px solid #b3d7d1}.agenda-actions{display:flex;justify-content:space-between;gap:8px;margin-top:18px;flex-wrap:wrap}.material-types{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.type-button{border:1px solid #dfe9e7;background:#fff;border-radius:7px;padding:9px 13px;color:#6b8289;font-size:12px;display:flex;gap:7px;align-items:center}.type-button.active{color:#286e76;border-color:#86bcb4;background:#eff8f5;font-weight:700}.material-layout{display:grid;grid-template-columns:minmax(230px,1fr) minmax(240px,.9fr);gap:24px}.preview-stage{background:#edf2f1;border-radius:8px;min-height:450px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;gap:14px;overflow:hidden}.preview-stage img{max-width:100%;max-height:520px;object-fit:contain;box-shadow:0 8px 30px #1c38462a}.preview-caption{font-size:11px;color:#8d9f9f;text-align:center;line-height:1.6}.preview-placeholder{color:#8ca4a0;font-size:12px;text-align:center}.design-controls h3{font-size:13px;margin:0 0 16px}.design-controls .field{margin-bottom:13px}.size-pair{display:flex;align-items:center;gap:8px}.size-pair input{min-width:0}.palette-options{display:flex;gap:7px}.palette{width:28px;height:28px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px #d7e3e2}.palette.active{box-shadow:0 0 0 2px #3e7e7d}.palette.blue{background:#235b8e}.palette.forest{background:#2f705c}.palette.wine{background:#8c455b}.design-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.export-note{font-size:11px;color:#9aa9ac;line-height:1.65;margin-top:14px}.status-row{display:flex;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid #edf2f1}.status-row strong{font-size:12px}.status-row span{font-size:11px;color:#92a2a5;display:block;margin-top:3px}.status-pill{margin-left:auto;font-size:11px;padding:5px 8px;border-radius:20px;background:#f4f6f6;color:#839697;white-space:nowrap}.status-pill.good{background:#e8f5ef;color:#4b8871}.step{display:flex;gap:12px;margin:17px 0;color:#687f85;font-size:12px;line-height:1.7}.step b{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#eaf3f2;color:#5b938d;flex:none}.step code{background:#eef3f3;padding:2px 5px;border-radius:4px;color:#326c70}.modal-backdrop{position:fixed;inset:0;background:#18383f70;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{background:white;border-radius:12px;width:min(100%,480px);max-height:90vh;overflow:auto;box-shadow:0 25px 80px #17353d35;padding:25px}.modal.wide{width:min(100%,650px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h2{font-size:17px;margin:0 0 6px}.modal-head p{font-size:12px;color:#8c9da1;margin:0;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.modal-error{color:#b34d4d;font-size:12px;min-height:16px}.tag{border-radius:20px;padding:5px 8px;background:#eef6f3;color:#648f80;font-size:10px}.skeleton{animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.55}}#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#173f4d;color:#fff;padding:11px 17px;border-radius:8px;font-size:12px;z-index:80;transition:.18s}#toast.show{opacity:1;transform:translate(-50%,0)}.mobile-menu{display:none}
@media(max-width:1100px){.workspace-grid{grid-template-columns:minmax(0,1fr) 255px}.main-content{padding:30px}.hero-art{right:12px}.hero-copy{max-width:67%}.material-layout{grid-template-columns:1fr}.preview-stage{min-height:330px}.preview-stage img{max-height:380px}}
@media(max-width:820px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative;padding:15px 18px;display:block}.sidebar .brand{padding:0}.sidebar .side-label,.sidebar .side-nav,.sidebar-spacer,.sidebar-bottom{display:none}.topbar{height:55px;padding:0 20px}.main-content{padding:25px 20px}.workspace-grid{grid-template-columns:1fr}.side-panel{position:static}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{opacity:.5;right:-40px}.hero-copy{max-width:75%}.auth-screen{grid-template-columns:1fr}.auth-art{min-height:310px;padding:30px}.auth-copy{margin:45px 0 20px}.auth-copy h1{font-size:32px}.auth-copy p{font-size:13px}.paper-stack,.auth-art-footer{display:none}.auth-form-side{padding:45px 25px}.mobile-menu{display:inline-flex}}
@media(max-width:540px){.hero-copy{max-width:100%;padding:27px}.hero-art{display:none}.hero h2{font-size:21px}.cards{grid-template-columns:1fr}.meeting-row{grid-template-columns:1fr auto}.meeting-row>span:not(:last-child){display:none}.two-col{grid-template-columns:1fr}.page-head{align-items:center}.work-header{align-items:flex-start}.work-header .btn{padding:8px}.workspace-grid .panel{padding:18px}.agenda-table{min-width:570px}.table-scroll{overflow:auto}.topbar-actions .status-text{display:none}.tabs{gap:20px}.auth-art{min-height:260px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.provider-form{padding:20px 0;border-bottom:1px solid #edf2f1}.provider-form:last-of-type{border-bottom:0}.provider-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.provider-heading h3{font-size:14px;margin:0 0 5px;color:#284d56}.provider-heading p{font-size:12px;line-height:1.5;color:#8a9ca2;margin:0}.provider-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.provider-actions a{text-decoration:none}.provider-error{min-height:16px;margin:8px 0 0;color:#b34d4d;font-size:12px;line-height:1.5}.provider-form input:focus-visible{outline:2px solid #589e99;outline-offset:2px}
.library-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.library-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #e3e9ed}
.library-row:last-child{border-bottom:0}.library-thumb{width:54px;height:54px;flex:none;display:grid;place-items:center;overflow:hidden;background:#f0f4f5;border-radius:8px;color:#687d85;font-size:12px}
.library-thumb img{max-width:100%;max-height:100%;object-fit:contain}.library-info{display:grid;gap:5px;flex:1;min-width:0}.library-info strong{font-size:14px;overflow-wrap:anywhere}.library-info span{font-size:12px;color:#617781}
.workflow-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.agenda-kv-preview{display:block;width:min(100%,560px);height:auto;margin:16px auto;border:1px solid #d8e1e6}
.agenda-kv-preview[hidden],.empty[hidden]{display:none}
.profile-editor{padding:18px 0;border-top:1px solid #e3e9ed}.profile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.profile-photo{display:flex;align-items:center;gap:12px;margin-top:12px}.profile-photo img{width:72px;height:72px;object-fit:cover;border-radius:50%}
.share-option{display:flex;align-items:center;gap:10px;margin:16px 0;color:#314e59;font-size:14px}.share-option input{width:18px;height:18px;flex:none;margin:0}
.transition-order{padding:0;margin:0;list-style:none}.transition-order li{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start;padding:12px 4px;border-bottom:1px solid #e7ecef}.transition-order span,.transition-order small{color:#617781}.transition-order strong{overflow-wrap:anywhere}
@media(max-width:820px){.library-layout{grid-template-columns:1fr}.transition-order li{grid-template-columns:100px minmax(0,1fr)}.transition-order small{grid-column:2}}
.questions-collapsed{grid-template-columns:minmax(0,1fr) auto}.collapse-questions{margin-left:auto;order:3}.source-upload{padding:26px;border:1px dashed #b9d0d2;border-radius:10px;background:#f8fbfa;text-align:center}.source-upload p{margin-bottom:0}.material-uploads{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px;background:#eaf5f3;border:1px solid #d5e9e6;border-radius:10px;margin-bottom:20px}.editor-layout{display:grid;grid-template-columns:minmax(280px,1fr) 8px minmax(240px,320px);gap:8px;align-items:start}.editor-stage{background:#e8eeee;min-height:480px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto;border-radius:8px}.editor-canvas{width:min(100%,550px);position:relative;container-type:inline-size;background:white;box-shadow:0 4px 20px #163f4d25;overflow:hidden;touch-action:none}.editor-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.editor-empty{position:absolute;inset:0;display:grid;place-items:center;color:#9aabb0;font-size:14px}.design-layer{position:absolute;border:1px dashed transparent;cursor:move;touch-action:none;line-height:1.2;overflow:visible;word-break:break-all;white-space:pre-wrap;font-family:inherit}.design-layer:hover,.design-layer.selected{border:1px solid #129eb3;outline:1px solid #fff8}.design-layer img{width:100%;height:100%;object-fit:contain}.layer-text{display:block;overflow:hidden;max-height:100%}.layer-placeholder{display:grid;place-items:center;height:100%;color:#5e8991;font-size:12px;background:#e5f4f1bb}.editor-controls{min-width:0}.editor-controls input[type=color]{height:44px;padding:3px}.editor-controls input[type=range]{padding:0}.editor-controls textarea{min-height:90px}@media(max-width:900px){.editor-layout{grid-template-columns:1fr}.editor-stage{min-height:320px}.questions-collapsed{grid-template-columns:1fr}}

.editor-divider{align-self:stretch;min-height:250px;cursor:col-resize;touch-action:none;border-radius:4px;background:transparent}.editor-divider:hover{background:#9bc9c5}@media(max-width:900px){.editor-divider{display:none}}
.material-section-switch{display:flex;gap:6px;border-bottom:1px solid #e1eaea;margin:4px 0 20px}
.material-section-switch button{padding:10px 14px;background:none;border:0;border-bottom:2px solid transparent;color:#58737c;font-size:13px;font-weight:600}
.material-section-switch button[aria-pressed="true"]{color:#225d6b;border-bottom-color:#3b8b82}
.kv-generation{max-width:560px}.kv-generation .size-pair{max-width:320px}.kv-generation [hidden]{display:none}
.kv-fit{border:1px solid #dbe9e7;background:#f5faf9;border-radius:8px;padding:12px 14px;margin-bottom:16px}.kv-fit p{margin:0}.kv-fit #kv-fit-status{font-size:13px;color:#254651}.kv-fit .field-hint{margin-top:6px}
.image-task-locked{overflow:hidden;overscroll-behavior:none}
.image-task-dialog{width:min(460px,calc(100% - 32px));max-height:calc(100% - 32px);padding:26px 28px 24px;border:1px solid #d8e7e5;border-radius:14px;color:#1d303d;background:white;box-shadow:0 24px 72px #17353d40}
.image-task-dialog::backdrop{background:#16333d88}
.image-task-heading{display:flex;align-items:center;gap:12px}.image-task-heading h2{margin:0;font-size:19px;outline:none}.image-task-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#e5f3ef;color:#28796f}
#image-task-status{margin:15px 0 14px;color:#38545e;font-size:14px;line-height:1.55}
.image-task-progress,.image-task-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.image-task-progress span{position:relative;overflow:hidden;height:7px;border-radius:8px;background:#e6efed}.image-task-progress .complete{background:#377c72}.image-task-progress .current{background:#c6e2dc}.image-task-progress .current::after{content:"";position:absolute;inset:0 auto 0 0;width:45%;border-radius:8px;background:#377c72;animation:kv-progress 1.35s ease-in-out infinite}
@keyframes kv-progress{from{transform:translateX(-100%)}to{transform:translateX(230%)}}
.image-task-steps{margin-top:7px;color:#4f6b74;font-size:12px;text-align:center}#image-task-hint{margin:19px 0 0;color:#4f6b74;font-size:12px;line-height:1.55}
@media(prefers-reduced-motion:reduce){.image-task-progress .current::after{animation:none;width:50%}}

/* Layer editor: toolbar, handles, snapping guides, inline text editing */
.editor-stage{justify-content:flex-start;gap:14px}.editor-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;align-self:stretch;padding:6px;background:#fff;border:1px solid #d7e2e3;border-radius:8px}.tool-button{font:inherit;font-size:13px;padding:6px 11px;border:0;border-radius:6px;background:transparent;color:#254651;cursor:pointer}.tool-button:hover:not(:disabled){background:#e8f2f1}.tool-button:disabled{color:#a9b8bc;cursor:default}.tool-gap{width:1px;height:18px;background:#d7e2e3;margin:0 4px}
.editor-canvas-wrap{position:relative;width:min(100%,550px)}.editor-canvas-wrap .editor-canvas{width:100%}.kv-adapt-corner{position:absolute;top:10px;right:10px;z-index:5;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:600;padding:7px 12px;border:0;border-radius:999px;background:#163d55;color:#fff;cursor:pointer;box-shadow:0 3px 12px #0b253340}.kv-adapt-corner:hover{background:#1f5674}.kv-adapt-corner[hidden]{display:none}.kv-adapt-corner .icon{width:15px;height:15px}
.design-layer{user-select:none;-webkit-user-select:none;outline-offset:0}.design-layer:focus{outline:none}.design-layer:focus-visible{border-color:#129eb3}.design-layer.dragging{cursor:grabbing}.design-layer.editing{cursor:text;border:1px solid #129eb3;background:#ffffff26;user-select:text;-webkit-user-select:text}.design-layer.editing .layer-text{outline:none;max-height:none;overflow:visible;min-height:1.2em}.design-layer.editing .layer-handle{display:none}
.layer-handle{position:absolute;width:10px;height:10px;background:#fff;border:1.5px solid #129eb3;border-radius:2px;display:none;z-index:2}.design-layer.selected .layer-handle{display:block}.layer-handle.nw{left:-6px;top:-6px;cursor:nwse-resize}.layer-handle.ne{right:-6px;top:-6px;cursor:nesw-resize}.layer-handle.se{right:-6px;bottom:-6px;cursor:nwse-resize}.layer-handle.sw{left:-6px;bottom:-6px;cursor:nesw-resize}.layer-handle.n{left:calc(50% - 5px);top:-6px;cursor:ns-resize}.layer-handle.s{left:calc(50% - 5px);bottom:-6px;cursor:ns-resize}.layer-handle.w{left:-6px;top:calc(50% - 5px);cursor:ew-resize}.layer-handle.e{right:-6px;top:calc(50% - 5px);cursor:ew-resize}
.snap-guide{position:absolute;background:#e5488f;pointer-events:none;z-index:4}.snap-guide.v{top:0;bottom:0;width:1px;transform:translateX(-.5px)}.snap-guide.h{left:0;right:0;height:1px;transform:translateY(-.5px)}
.two-col.compact{gap:12px}
/* Import or type */
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.field-label-row label{margin-bottom:0}.input-mode{display:inline-flex;flex:none;padding:2px;border-radius:8px;background:#e6eeee}.input-mode button{font:inherit;font-size:12px;padding:4px 12px;border:0;border-radius:6px;background:transparent;color:#4d6870;cursor:pointer}.input-mode button.active{background:#fff;color:#163d55;font-weight:600;box-shadow:0 1px 2px #163f4d26}.input-mode button:hover:not(.active){color:#163d55}
.current-kv{display:flex;align-items:center;gap:12px;margin:4px 0 14px;padding:10px;border:1px solid #dbe9e7;border-radius:8px;background:#f5faf9}.current-kv img{width:56px;height:56px;object-fit:cover;border-radius:6px}.current-kv strong{display:block;font-size:14px}.current-kv span{font-size:12px;color:#6b8188}
.kv-choose-corner{position:absolute;top:10px;left:10px;z-index:5;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:600;padding:7px 12px;border:0;border-radius:999px;background:#ffffffe6;color:#163d55;cursor:pointer;box-shadow:0 3px 12px #0b253340;opacity:0;transition:opacity .15s}.editor-canvas-wrap:hover .kv-choose-corner,.kv-choose-corner:focus-visible{opacity:1}.kv-choose-corner:hover{background:#fff}.kv-choose-corner .icon{width:15px;height:15px}.editor-bg,.editor-empty{cursor:pointer}
.kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;max-height:56vh;overflow:auto;padding:2px;margin-bottom:8px}.kv-tile{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px;font:inherit;text-align:left;border:1.5px solid #d7e2e3;border-radius:10px;background:#fff;color:#254651;cursor:pointer}.kv-tile:hover:not(:disabled){border-color:#129eb3}.kv-tile.current{border-color:#163d55;background:#f1f7f7}.kv-tile:disabled{opacity:.6;cursor:progress}.kv-tile img,.kv-tile-empty{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:6px;background:#e8eeee}.kv-tile-empty{display:grid;place-items:center;color:#9aabb0}.kv-tile strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kv-tile small{font-size:12px;color:#6b8188}.kv-tile.upload{align-items:center;justify-content:center;text-align:center;border-style:dashed;min-height:180px}.kv-tile.upload .icon{width:22px;height:22px}
.image-task-dialog.background-task{position:fixed;inset:auto 24px 24px auto;margin:0;width:min(340px,calc(100% - 32px));padding:18px 20px 16px;z-index:40;box-shadow:0 12px 40px #17353d33}.background-task .image-task-mark{width:32px;height:32px}.background-task .image-task-heading h2{font-size:15px}.background-task #image-task-status{margin:10px 0;font-size:13px}.background-task #image-task-hint{margin-top:12px}
.card-back{transform:rotate(180deg);pointer-events:none;user-select:none}.card-back .design-layer{border-color:transparent!important;outline:none!important}.card-back .layer-handle{display:none!important}
.fold-line{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:11px;color:#6b8188;white-space:nowrap}.fold-line i{flex:1;border-top:1px dashed #9db3b8}
