@import "https://fonts.googleapis.com/css2?family=Cabin+Sketch:wght@700&display=swap";*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{font-family:Arial,Helvetica,sans-serif;overflow:hidden}.canvas{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background-color:#eef1f5;width:100%;height:100%;position:relative;overflow:hidden}.canvas.dragging{cursor:grabbing}.grid{pointer-events:none;background-image:radial-gradient(#aeb6c2 1.2px,#0000 1.2px);position:absolute;inset:0}.world{transform-origin:0 0;position:absolute;top:0;left:0}.class-zone{text-align:center;cursor:pointer;background:#fff;border:2px solid #ffffffa6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:380px;height:380px;padding:38px;display:flex;position:absolute;overflow:hidden;box-shadow:0 18px 50px #27324a29}.class-cover-image-frame{box-sizing:border-box;cursor:grab;touch-action:none;border:3px solid #ffffffbf;border-radius:16px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 24px #141c2d33}.class-cover-image-frame:active{cursor:grabbing}.class-cover-image-frame.is-selected{outline-offset:4px;outline:4px solid #635bff}.class-cover-image{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:13px;width:100%;height:100%;display:block}.class-cover-image-resize-handle{z-index:30;cursor:nwse-resize;touch-action:none;background:#f59e0b;border:4px solid #fff;border-radius:50%;width:26px;height:26px;padding:0;position:absolute;top:-13px;right:-13px}.class-cover-title-frame{box-sizing:border-box;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:10px;width:max-content;padding:5px 10px;position:absolute;transform:translate(-50%,-50%)}.class-cover-title-frame:active{cursor:grabbing}.class-cover-title-frame.is-selected{outline-offset:3px;outline:3px dashed #0ea5e9}.class-cover-title-resize-handle{z-index:30;cursor:nwse-resize;touch-action:none;background:#0ea5e9;border:3px solid #fff;border-radius:50%;width:24px;height:24px;padding:0;position:absolute;bottom:-12px;right:-12px}.main-zone{top:-125px;left:-210px}.second-zone{top:-430px;left:650px}.third-zone{top:420px;left:-900px}.zone-label{color:#6e7787;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:14px;font-weight:700}.class-zone h2{color:#202634;margin:0 0 12px}.class-zone p{color:#616a79;margin:0;font-size:18px;line-height:1.5}.instructions{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#ffffffe0;border:1px solid #fffc;border-radius:18px;max-width:330px;padding:16px 19px;position:absolute;top:22px;left:22px;box-shadow:0 10px 30px #27324a1a}.instructions strong{color:#202634;margin-bottom:5px;font-size:16px;display:block}.instructions span{color:#6e7787;font-size:14px;line-height:1.4}.zoom-indicator{z-index:10;color:#fff;pointer-events:none;background:#202634;border-radius:12px;padding:10px 14px;font-size:14px;font-weight:700;position:absolute;bottom:22px;right:22px}.overview-button{z-index:10;color:#fff;cursor:pointer;background:#202634;border:0;border-radius:12px;padding:11px 16px;font-size:14px;font-weight:700;position:absolute;bottom:22px;left:22px;box-shadow:0 8px 24px #27324a33}.overview-button:hover{background:#343c4d}.mode-button{z-index:20;cursor:pointer;border:0;border-radius:12px;padding:12px 18px;font-size:14px;font-weight:700;position:absolute;top:22px;right:22px;box-shadow:0 8px 24px #27324a33}.present-button{color:#fff;background:#635bff}.present-button:hover{background:#5148e5}.edit-button{color:#202634;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #d9dee7}.edit-button:hover{background:#fff}.new-class-button{z-index:20;color:#202634;cursor:pointer;background:#fff;border:1px solid #d9dee7;border-radius:12px;padding:12px 18px;font-size:14px;font-weight:700;position:absolute;top:22px;right:142px;box-shadow:0 8px 24px #27324a1f}.new-class-button:hover{background:#f7f8fa}.new-class-overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:default;background:#20263473;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.new-class-panel{-webkit-user-select:text;user-select:text;background:#fff;border-radius:24px;width:min(460px,100%);padding:28px;box-shadow:0 24px 80px #141c2d4d}.new-class-panel h2{color:#202634;margin:0 0 22px;font-size:26px}.new-class-panel label{color:#343c4d;margin:18px 0 8px;font-size:14px;font-weight:700;display:block}.new-class-panel input[type=text],.new-class-panel textarea{color:#202634;background:#fff;border:1px solid #cfd5df;border-radius:10px;width:100%;padding:12px 14px;font-size:16px}.new-class-panel textarea{resize:vertical;min-height:86px;font-family:inherit;line-height:1.4}.new-class-panel input[type=file]{color:#616a79;width:100%}.image-preview{object-fit:cover;border-radius:16px;width:250px;height:145px;margin:18px auto 0;display:block;box-shadow:0 10px 24px #141c2d29}.form-actions{justify-content:flex-end;gap:10px;margin-top:26px;display:flex}.form-actions button{cursor:pointer;border-radius:10px;padding:11px 16px;font-size:14px;font-weight:700}.cancel-button{color:#343c4d;background:#fff;border:1px solid #d9dee7}.create-button{color:#fff;background:#635bff;border:0}.create-button:disabled{cursor:not-allowed;opacity:.45}.class-zone.selected{outline-offset:8px;outline:5px solid #635bff}.class-delete-button{z-index:5;color:#fff;cursor:pointer;background:#d64545;border:0;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:700;position:absolute;top:34px;right:56px}.class-delete-button:hover{background:#bd3030}.backup-button{z-index:20;color:#202634;cursor:pointer;background:#fff;border:1px solid #d9dee7;border-radius:12px;padding:12px 18px;font-size:14px;font-weight:700;position:absolute;top:22px;right:282px;box-shadow:0 8px 24px #27324a1f}.backup-button:hover{background:#f7f8fa}.import-button{z-index:20;white-space:nowrap;color:#202634;cursor:pointer;background:#fff;border:1px solid #d9dee7;border-radius:12px;justify-content:center;align-items:center;min-width:140px;margin:0;padding:12px 18px;font-size:14px;font-weight:700;display:inline-flex;position:absolute;top:22px;right:446px;box-shadow:0 8px 24px #27324a1f}.import-button:hover{background:#f7f8fa}.import-button input{display:none}.class-resize-handle{cursor:nwse-resize;z-index:30;touch-action:none;background:#635bff;border:3px solid #fff;border-radius:50%;width:32px;height:32px;padding:0;position:absolute;bottom:12%;right:12%;box-shadow:0 4px 12px #27324a4d}.class-resize-handle:hover{background:#5046e5}.activity-zone{z-index:40;color:#202634;background:#ffd86b;border-radius:32px;flex-direction:column;justify-content:center;width:680px;height:560px;padding:48px;display:flex;position:absolute;box-shadow:0 18px 50px #27324a33}.activity-zone h2{margin:0;font-size:56px}.activity-text-boxes{flex-direction:column;gap:12px;width:100%;margin-top:0;display:flex}.activity-zone h2~.activity-text-boxes{margin-top:30px}.activity-text-box{color:#202634;text-align:left;background:#fff;border-radius:8px;justify-content:flex-start;align-items:center;min-height:48px;padding:10px 16px;font-size:20px;font-weight:500;line-height:1.3;display:flex;box-shadow:0 8px 22px #27324a24}.activity-edit-button{z-index:5;color:#fff;cursor:pointer;background:#635bff;border:0;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:700;position:absolute;top:34px;left:56px}.activity-edit-button:hover{background:#5046e5}.activity-editor-navigation{justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute;top:-58px;left:0;right:0}.activity-editor-navigation button,.activity-editor-navigation .activity-image-upload-button{color:#fff;cursor:pointer;background:#635bff;border:0;border-radius:10px;padding:9px 14px;font-size:14px;font-weight:700;box-shadow:0 8px 20px #27324a2e}.activity-image-upload-button input{display:none}.activity-editor-navigation button:disabled{cursor:not-allowed;opacity:.35}.activity-editor-navigation span{color:#343c4d;font-size:14px;font-weight:700}.activity-editor-navigation .delete-activity-button{background:#d64545}.activity-editor-navigation .delete-activity-button:hover{background:#bd3030}.activity-text-box{transition:opacity .22s}.activity-text-box.is-hidden{visibility:hidden;opacity:0;pointer-events:none}.activity-text-box.is-visible{visibility:visible;opacity:1}.presentation-previous-button{z-index:60;color:#fff;cursor:pointer;background:#202634e0;border:0;border-radius:10px;padding:10px 15px;font-size:14px;font-weight:700;position:absolute;bottom:24px;left:32px;box-shadow:0 6px 18px #27324a33}.presentation-previous-button:hover{background:#202634}.background-button{z-index:20;color:#202634;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d9dee7;border-radius:12px;justify-content:center;align-items:center;min-width:150px;padding:12px 18px;font-size:14px;font-weight:700;display:inline-flex;position:absolute;top:22px;right:602px;box-shadow:0 8px 24px #27324a1f}.background-button:hover{background:#f7f8fa}.background-button input{display:none}.project-tabs{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border:1px solid #ffffffbf;border-radius:16px;gap:6px;padding:6px;display:flex;position:absolute;top:22px;left:22px;box-shadow:0 8px 24px #27324a24}.project-tab{color:#616a79;cursor:pointer;background:0 0;border:0;border-radius:11px;padding:10px 18px;font-size:14px;font-weight:700}.project-tab:hover{color:#202634;background:#f0f2f6}.project-tab.active{color:#fff;background:#635bff}.project-add-tab{place-items:center;width:38px;min-width:38px;padding:0;font-size:22px;line-height:1;display:grid}.child-activity-frame{z-index:8;color:#252b38;cursor:pointer;background:#fff3;border:3px dashed #635bff;border-radius:18px;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 24px #312d811f}.child-activity-frame:hover{background:#ffffff61}.nested-activity-canvas{z-index:30;box-sizing:border-box;border-radius:inherit;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.nested-activity-content{transform-origin:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.nested-activity-canvas h2{z-index:2;color:#252b38;text-align:center;width:calc(100% - 240px);margin:0;font-size:64px;line-height:1.05;position:absolute;top:32px;left:50%;transform:translate(-50%)}.nested-activity-back{color:#252b38;cursor:pointer;background:#ffffffd9;border:0;border-radius:12px;padding:12px 18px;font-size:16px;font-weight:700;position:absolute;top:24px;left:24px}.nested-activity-text-box{z-index:12;box-sizing:border-box;color:#252b38;text-align:center;cursor:text;background:#fff;border:2px solid #252b381f;border-radius:14px;justify-content:center;align-items:center;padding:18px 22px;font-size:22px;font-weight:600;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 26px #252b3824}.text-box-order{color:#fff;background:#635bff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:grid;position:absolute;top:-12px;left:-12px}.activity-text-box.is-positioned{z-index:12;box-sizing:border-box;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;margin:0;position:absolute;transform:translate(-50%,-50%)}.activity-text-box.is-positioned:active{cursor:grabbing}.activity-text-box.is-positioned.is-visible{transform:translate(-50%,-50%)}.activity-text-box.is-positioned.is-hidden{transform:translate(-50%,-45%)scale(.96)}.nested-activity-text-box,.activity-text-box.is-positioned{box-sizing:border-box;color:#202634;text-align:left;background:#fff;border:1px solid #27324a24;border-radius:8px;justify-content:flex-start;height:auto;min-height:44px;padding:10px 16px;font-size:20px;font-weight:500;line-height:1.3}.text-box-resize-handle{cursor:ew-resize;touch-action:none;z-index:30;background:#635bff;border:2px solid #fff;border-radius:999px;width:18px;min-width:0;height:30px;min-height:0;padding:0;position:absolute;top:50%;bottom:auto;right:-9px;transform:translateY(-50%);box-shadow:0 2px 7px #27324a4d}.sequence-panel{box-sizing:border-box;color:#202634;text-align:left;z-index:100;background:#fffffff7;border:1px solid #27324a24;border-radius:18px;width:300px;max-height:680px;padding:18px;position:absolute;top:0;left:-340px;overflow-y:auto;box-shadow:0 18px 50px #27324a38}.sequence-panel h3{margin:0 0 14px;font-size:22px}.sequence-panel-empty{color:#6b7280;margin:0;font-size:16px}.sequence-panel-item{background:#f3f4f6;border-radius:10px;align-items:center;gap:10px;margin-top:10px;padding:10px;display:flex}.sequence-panel-number{color:#fff;background:#635bff;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:flex}.sequence-panel-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;overflow:hidden}.sequence-panel-buttons{gap:4px;display:flex}.sequence-panel-buttons button{color:#3730a3;cursor:pointer;background:#e4e2ff;border:0;border-radius:7px;width:30px;min-width:0;height:30px;padding:0;font-size:16px}.sequence-panel-buttons button:disabled{cursor:default;opacity:.3}.sequence-panel{z-index:10000;box-sizing:border-box;color:#202634;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f8fcfa;border-radius:0 18px 18px 0;flex-direction:column;gap:14px;width:320px;height:100vh;max-height:none;padding:20px;display:flex;position:fixed;top:0;left:0;overflow-y:auto;box-shadow:12px 0 40px #14192847}.sequence-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.sequence-panel-header strong{font-size:20px}.sequence-panel-header button{color:#202634;cursor:pointer;background:#e5e7ef;border:0;border-radius:50%;width:36px;height:36px;padding:0;font-size:24px;line-height:1}.sequence-panel-title{color:#687083;margin:0;font-size:14px;font-weight:600}.sequence-panel-list{flex-direction:column;gap:10px;min-height:0;display:flex;overflow-y:auto}.sequence-panel-item{cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dfe2eb;border-radius:12px;grid-template-columns:34px minmax(0,1fr) 22px;align-items:center;gap:10px;min-height:58px;padding:10px;display:grid;box-shadow:0 4px 12px #27324a14}.sequence-panel-item:active{cursor:grabbing;opacity:.7}.sequence-panel-number{color:#fff;background:#635bff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:grid}.sequence-panel-preview{color:#202634;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.sequence-panel-drag-handle{color:#8a91a3;font-size:18px;font-weight:800}.sequence-panel-empty{color:#687083;font-size:14px}.sequence-panel-title-editor{flex-direction:column;flex:none;gap:6px;display:flex}.sequence-panel-title-editor>span{color:#687083;letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:800}.sequence-panel-title-editor input{box-sizing:border-box;color:#202634;width:100%;font:inherit;background:#fff;border:1px solid #dfe2eb;border-radius:10px;outline:none;padding:10px 12px;font-size:15px;font-weight:700}.sequence-panel-title-editor input:focus{border-color:#635bff;box-shadow:0 0 0 3px #635bff24}.activity-zone>h2{text-align:center;z-index:2;width:calc(100% - 80px);margin:0;position:absolute;top:32px;left:50%;transform:translate(-50%)}.role-selector{color:#202634;background:#fffffff5;border-radius:12px;align-items:center;gap:8px;padding:7px 10px;display:flex;box-shadow:0 8px 24px #20263429}.role-selector span{text-transform:uppercase;font-size:12px;font-weight:800}.role-selector select{color:#202634;font:inherit;cursor:pointer;background:#fff;border:1px solid #dfe2eb;border-radius:8px;outline:none;padding:7px 10px;font-size:14px;font-weight:700}.profile-menu{flex:none;position:relative}.profile-button{color:#fff;cursor:pointer;background:#202634;border:3px solid #ffffffe6;border-radius:50%;place-items:center;width:52px;min-width:52px;height:52px;padding:0;font-size:15px;font-weight:800;display:grid;box-shadow:0 8px 24px #1419283d}.profile-button:hover{background:#353d50}.profile-dropdown{box-sizing:border-box;color:#202634;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10000;background:#fffffffa;border:1px solid #dfe2eb;border-radius:14px;flex-direction:column;gap:10px;width:220px;padding:16px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 50px #14192840}.profile-dropdown strong{font-size:16px}.profile-dropdown-label{color:#687083;letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:800}.profile-dropdown select{box-sizing:border-box;color:#202634;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #dfe2eb;border-radius:9px;outline:none;padding:9px 10px;font-size:14px;font-weight:700}.profile-dropdown select:focus{border-color:#635bff;box-shadow:0 0 0 3px #635bff24}.top-toolbar{z-index:50;white-space:nowrap;align-items:center;gap:10px;display:flex;position:absolute;top:22px;right:22px}.top-toolbar .background-button,.top-toolbar .import-button,.top-toolbar .backup-button,.top-toolbar .new-class-button,.top-toolbar .mode-button{margin:0;position:static;top:auto;left:auto;right:auto}.top-toolbar .background-button,.top-toolbar .import-button{align-items:center;display:inline-flex}.top-toolbar .new-class-button{order:3}.top-toolbar .project-menu{order:4}.top-toolbar .mode-button{order:5}.top-toolbar .profile-menu{order:6;position:relative}.top-toolbar .profile-dropdown{top:calc(100% + 10px);right:0}.profile-role-value{box-sizing:border-box;color:#202634;background:#f3f4f7;border:1px solid #dfe2eb;border-radius:9px;width:100%;padding:9px 10px;font-size:14px;font-weight:700;display:block}.presentation-navigation{z-index:60;flex-direction:column;gap:10px;display:flex;position:absolute;top:50%;right:22px;transform:translateY(-50%)}.presentation-nav-button{color:#fff;cursor:pointer;background:#0e2348f5;border:2px solid #ffffffd9;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;transition:transform .16s,background .16s,opacity .16s;display:grid;box-shadow:0 7px 20px #0812284d}.presentation-nav-button:hover:not(:disabled){background:#263f73;transform:scale(1.08)}.presentation-nav-button:disabled{opacity:.38;cursor:default}.presentation-nav-button svg{width:20px;height:20px}.class-cover-edit-button{z-index:5;color:#fff;cursor:pointer;background:#202634;border:0;font-weight:700;position:absolute;box-shadow:0 6px 16px #14192838}.class-cover-edit-button:hover{background:#353d50}.activity-visual-element{z-index:10;box-sizing:border-box;cursor:grab;border:3px solid #0000;border-radius:12px;transition:opacity .22s;position:absolute;transform:translate(-50%,-50%)}.activity-visual-element img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:9px;width:100%;height:100%;display:block}.activity-visual-element.is-selected{border-color:#635bff}.activity-visual-element.is-hidden{visibility:hidden;opacity:0}.activity-visual-element.is-visible{visibility:visible;opacity:1}.visual-element-controls{z-index:40;gap:6px;width:max-content;display:flex;position:absolute;top:-44px;left:50%;transform:translate(-50%)}.visual-element-controls button,.visual-element-controls label{color:#fff;white-space:nowrap;cursor:pointer;background:#635bff;border:0;border-radius:8px;justify-content:center;align-items:center;padding:7px 10px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 5px 14px #27324a33}.visual-element-controls input{display:none}.visual-element-controls .delete-visual-element-button{background:#d64545}.nested-activity-text-box{transition:opacity .22s}.nested-activity-text-box.is-hidden{visibility:hidden;opacity:0;pointer-events:none}.nested-activity-text-box.is-visible{visibility:visible;opacity:1}.text-box-color-controls{z-index:40;color:#fff;white-space:nowrap;background:#202634;border-radius:10px;align-items:center;gap:8px;padding:6px 9px;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 7px 18px #14192840}.text-box-color-controls label{align-items:center;gap:4px;display:flex}.text-box-color-controls input[type=color]{cursor:pointer;background:0 0;border:0;width:26px;height:26px;padding:0}.text-box-size-control input{box-sizing:border-box;color:#202634;width:58px;height:28px;font:inherit;text-align:center;background:#fff;border:0;border-radius:6px;padding:3px 5px}.text-box-bold-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:6px;width:30px;min-width:30px;height:28px;min-height:28px;padding:0;font-size:15px;font-weight:800}.text-box-bold-button.is-active{color:#202634;background:#fff}.add-menu{display:inline-flex;position:relative}.top-toolbar .add-menu-button{min-width:120px;position:static}.add-menu-dropdown{z-index:100;background:#fff;border:1px solid #d9dee7;border-radius:12px;min-width:170px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 30px #20263433}.add-menu-option{box-sizing:border-box;color:#202634;cursor:pointer;border-radius:8px;align-items:center;width:100%;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.add-menu-option:hover{background:#f1f2f6}.add-menu-option input{display:none}.add-menu-section-title{color:#7a8291;letter-spacing:.08em;text-transform:uppercase;margin:8px 8px 4px;font-size:11px;font-weight:800;display:block}.add-menu-dropdown button.add-menu-option{text-align:left;background:0 0;border:0;gap:10px;font-family:inherit}.add-menu-dropdown button.add-menu-option:hover{background:#f1f2f6}.add-shape-preview{background:#635bff;border:2px solid #202634;flex:none;width:18px;height:18px;display:inline-block}.add-shape-preview.is-circle{border-radius:50%}.add-shape-preview.is-square{border-radius:4px}.add-shape-preview.is-rectangle{border-radius:4px;width:25px}.visual-element-controls .shape-color-control{background:#202634;gap:6px}.visual-element-controls .shape-color-control input[type=color]{cursor:pointer;background:0 0;border:2px solid #fff;border-radius:5px;width:22px;height:22px;padding:0;display:block}.activity-editor-navigation .activity-add-menu{display:inline-flex;position:relative}.activity-editor-navigation .add-menu-dropdown .add-menu-option{box-sizing:border-box;color:#202634;width:100%;box-shadow:none;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:flex-start;padding:10px 12px;font-size:14px;font-weight:700}.activity-editor-navigation .add-menu-dropdown .add-menu-option:hover{background:#f1f2f6}.add-icon-grid{grid-template-columns:repeat(5,36px);gap:6px;padding:4px 8px 8px;display:grid}.add-menu-dropdown .add-icon-option{color:#202634;width:36px;min-width:0;height:36px;box-shadow:none;cursor:pointer;background:#f1f2f6;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.add-menu-dropdown .add-icon-option:hover{color:#5148e5;background:#dedff7}.visual-element-controls .activity-link-control{color:#fff;background:#202634;align-items:center;gap:6px;padding:6px 8px;display:flex}.visual-element-controls .activity-link-control select{color:#202634;max-width:190px;font:inherit;cursor:pointer;background:#fff;border:0;border-radius:6px;padding:5px 7px}.nested-activity-canvas.is-forward .nested-activity-content{animation:.8s cubic-bezier(.4,0,.2,1) both nested-content-forward}.nested-activity-canvas.is-backward .nested-activity-content{animation:.8s cubic-bezier(.4,0,.2,1) both nested-content-backward}@keyframes nested-content-forward{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes nested-content-backward{0%{opacity:0;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}.nested-activity-canvas.is-leaving{pointer-events:none;transform-origin:50%;animation:.8s cubic-bezier(.4,0,.2,1) both nested-canvas-leaving}@keyframes nested-canvas-leaving{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.2)}}.add-menu-dropdown button.delete-project-option{color:#c53b3b;margin-top:4px;box-shadow:inset 0 1px #e4e7ec}.add-menu-dropdown button.delete-project-option:hover{color:#a92727;background:#fff0f0}.text-alignment-guide{z-index:200;pointer-events:none;background:#ff3ea5;position:absolute;box-shadow:0 0 4px #ff3ea580}.text-alignment-guide.is-vertical{width:2px;top:0;bottom:0;transform:translate(-1px)}.text-alignment-guide.is-horizontal{height:2px;left:0;right:0;transform:translateY(-1px)}.nested-activity-text-box{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.nested-activity-text-box:active{cursor:grabbing}.profile-email{color:#687083;overflow-wrap:anywhere;margin-top:-6px;font-size:12px}.profile-sign-out{color:#b42318;width:100%;font:inherit;cursor:pointer;background:#fff5f5;border:1px solid #f3c6c6;border-radius:9px;margin-top:4px;padding:10px 12px;font-size:14px;font-weight:800}.profile-sign-out:hover{background:#fee4e2}.auth-screen.subscription-screen{box-sizing:border-box;place-items:start center;overflow-y:auto}.subscription-shell{box-sizing:border-box;color:#202634;background:#fffffff7;border:1px solid #2026341a;border-radius:30px;width:min(100%,940px);margin:auto;padding:44px;box-shadow:0 24px 70px #20263429}.subscription-hero{justify-content:center;align-items:center;gap:12px;margin-bottom:20px;display:flex}.subscription-language-flag{background:#fff;border:1px solid #2026341a;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;overflow:hidden;box-shadow:0 8px 20px #20263421}.subscription-language-flag img,.subscription-language-flag svg{object-fit:cover;width:100%;height:100%;display:block}.subscription-kicker{color:#554cf2;letter-spacing:.07em;text-transform:uppercase;font-size:13px;font-weight:850}.subscription-shell>h1{text-align:center;max-width:720px;margin:0 auto;font-size:clamp(34px,5vw,52px);line-height:1.02}.subscription-intro{color:#667085;text-align:center;max-width:650px;margin:18px auto 32px;font-size:17px;line-height:1.55}.subscription-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;display:grid}.subscription-plan-card{background:#fff;border:1px solid #dfe3eb;border-radius:22px;flex-direction:column;min-width:0;padding:28px;display:flex;position:relative;box-shadow:0 12px 34px #20263414}.subscription-plan-card.is-featured{background:linear-gradient(#635bff12,#fff0 45%),#fff;border:2px solid #635bff;box-shadow:0 18px 44px #635bff2b}.subscription-plan-badge{color:#fff;letter-spacing:.03em;background:#635bff;border-radius:999px;align-self:flex-start;margin:-42px 0 17px;padding:7px 11px;font-size:12px;font-weight:850}.subscription-plan-card h2{margin:0;font-size:28px;line-height:1.15}.subscription-plan-description{color:#667085;min-height:48px;margin:10px 0 22px;font-size:15px;line-height:1.5}.subscription-plan-price{align-items:baseline;gap:7px;margin:0 0 24px;display:flex}.subscription-plan-price strong{color:#202634;font-size:38px;line-height:1}.subscription-plan-price span{color:#667085;font-size:14px;font-weight:700}.subscription-plan-features{gap:13px;margin:0 0 28px;padding:0;list-style:none;display:grid}.subscription-plan-features li{color:#344054;align-items:flex-start;gap:10px;font-size:15px;line-height:1.4;display:flex}.subscription-plan-features svg{color:#635bff;flex:none;margin-top:1px}.subscription-checkout-button,.subscription-success button,.subscription-error button{color:#fff;min-height:50px;font:inherit;cursor:pointer;background:#635bff;border:0;border-radius:12px;padding:12px 18px;font-size:15px;font-weight:850;transition:background .16s,transform .16s,opacity .16s}.subscription-checkout-button{width:100%;margin-top:auto}.subscription-checkout-button:hover:not(:disabled),.subscription-success button:hover,.subscription-error button:hover{background:#5148e5;transform:translateY(-1px)}.subscription-checkout-button:disabled{cursor:wait;opacity:.6}.subscription-loading{color:#667085;border:1px dashed #d0d5dd;border-radius:20px;place-items:center;min-height:250px;font-weight:750;display:grid}.subscription-notice{text-align:center;border-radius:12px;max-width:680px;margin:0 auto 22px;padding:13px 15px;font-size:14px;line-height:1.45}.subscription-notice.is-neutral{color:#475467;background:#f2f4f7}.subscription-notice.is-error{color:#b42318;background:#fff1f1;margin-top:20px}.subscription-error{color:#b42318;text-align:center;background:#fff1f1;border-radius:18px;justify-items:center;gap:14px;padding:28px;display:grid}.subscription-error p{margin:0}.subscription-success{background:#ecfdf3;border:1px solid #a6f4c5;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px;display:grid}.subscription-success-icon{color:#fff;background:#039855;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.subscription-success h2{color:#05603a;margin:0 0 5px;font-size:21px}.subscription-success p{color:#027a48;margin:0;font-size:14px;line-height:1.5}.subscription-security-note{color:#667085;text-align:center;margin:20px 0 0;font-size:13px}.subscription-secondary-actions{border-top:1px solid #eaecf0;justify-content:center;gap:20px;margin-top:25px;padding-top:22px;display:flex}.subscription-secondary-actions button{color:#554cf2;font:inherit;cursor:pointer;background:0 0;border:0;padding:5px;font-size:14px;font-weight:800}.subscription-secondary-actions button:hover{color:#3f37c9;text-decoration:underline}.subscription-checkout-button:focus-visible,.subscription-success button:focus-visible,.subscription-error button:focus-visible,.subscription-secondary-actions button:focus-visible{outline-offset:3px;outline:3px solid #635bff4d}@media (width<=760px){.auth-screen.subscription-screen{padding:16px}.subscription-shell{border-radius:24px;padding:34px 22px}.subscription-plan-grid{grid-template-columns:1fr;gap:28px}.subscription-plan-description{min-height:0}.subscription-success{grid-template-columns:auto minmax(0,1fr)}.subscription-success button{grid-column:1/-1;width:100%}}@media (width<=480px){.subscription-hero{text-align:center;flex-direction:column;align-items:center}.subscription-shell>h1{font-size:34px}.subscription-intro{font-size:15px}.subscription-plan-card{padding:24px 20px}.subscription-secondary-actions{flex-direction:column;align-items:center;gap:10px}}.class-release-month-badge{z-index:40;box-sizing:border-box;color:#111;pointer-events:none;-webkit-user-select:none;user-select:none;background:#fff;border:3px solid #202634;border-radius:50%;justify-content:center;align-items:center;font-weight:800;line-height:1;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 8px 20px #141c2d2e}.activity-release-month-control{color:#202634;background:#fff;border:1px solid #635bff38;border-radius:10px;flex-shrink:0;align-items:center;gap:7px;padding:6px 8px;font-size:13px;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 6px 16px #27324a1f}.activity-release-month-control select{color:#111827;min-width:50px;font:inherit;cursor:pointer;background:#f3f1ff;border:1px solid #d9d5ff;border-radius:7px;outline:none;padding:5px 7px;font-weight:800}.activity-release-month-control select:focus{border-color:#635bff;box-shadow:0 0 0 3px #635bff29}.activity-release-month-badge{z-index:20;box-sizing:border-box;letter-spacing:0;pointer-events:none;border:2px solid #111827;border-radius:50%;place-items:center;width:38px;height:38px;padding:0;line-height:1;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%,-65%);box-shadow:0 5px 12px #11182733;color:#111827!important;font-size:13px!important;font-weight:900!important}.activity-release-month-badge.is-class-month{background:#fff}.activity-release-month-badge.is-delayed{background:#a78bfa}.class-activity-access-label{box-sizing:border-box;border-radius:inherit;text-overflow:ellipsis;justify-content:center;align-items:center;width:100%;height:100%;padding:6px;line-height:1.15;display:flex;overflow:hidden}.child-activity-frame{overflow:visible}.child-activity-frame.is-editable{cursor:grab;touch-action:none}.child-activity-frame.is-editable:active{cursor:grabbing}.child-activity-resize-handle{z-index:30;box-sizing:border-box;cursor:nwse-resize;touch-action:none;background:#f59e0b;border:3px solid #fff;border-radius:50%;width:22px;height:22px;display:block;position:absolute;bottom:-11px;right:-11px;box-shadow:0 3px 9px #27324a4d}.child-activity-title{text-overflow:ellipsis;max-width:calc(100% - 20px);display:block;overflow:hidden}.auth-screen{box-sizing:border-box;color:#202634;background:radial-gradient(circle at 50% -10%,#635bff3d,#0000 44%),linear-gradient(145deg,#f8f9fe 0%,#eef2fb 100%);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card,.language-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border:1px solid #20263417;box-shadow:0 28px 80px #20263429}.auth-card{box-sizing:border-box;border-radius:28px;width:min(100%,420px);padding:34px 40px 40px}.auth-language-hero{justify-content:center;align-items:center;margin:24px 0 18px;display:flex}.auth-language-flag{border:3px solid #fff;border-radius:50%;width:76px;height:76px;display:block;overflow:hidden;box-shadow:0 0 0 1px #1018281f,0 12px 28px #1018282e}.auth-language-flag svg{width:100%;height:100%;display:block}.auth-back{color:#667085;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:14px;font-weight:750;display:inline-flex}.auth-back:hover{color:#554cf2}.language-flag svg{width:100%;height:100%;display:block}.auth-card h1{letter-spacing:-.025em;margin:0;font-size:36px;line-height:1}.auth-subtitle{color:#667085;text-align:center;margin:0 0 30px;font-size:16px;line-height:1.5}.auth-card form{gap:18px;display:grid}.auth-card label{color:#344054;gap:8px;font-size:14px;font-weight:700;display:grid}.auth-card input{box-sizing:border-box;color:#202634;width:100%;font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:12px;outline:none;padding:13px 14px;transition:border-color .16s,box-shadow .16s}.auth-card input:focus{border-color:#635bff;box-shadow:0 0 0 4px #635bff24}.auth-submit,.auth-secondary-action{min-height:48px;font:inherit;cursor:pointer;border-radius:12px;font-weight:800}.auth-submit{color:#fff;background:linear-gradient(135deg,#635bff,#584cf3);border:0;margin-top:4px;box-shadow:0 10px 24px #635bff33}.auth-submit:hover:not(:disabled){background:linear-gradient(135deg,#584ff4,#4e43df)}.auth-submit:disabled{cursor:wait;opacity:.65}.auth-switch{color:#554cf2;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:18px;font-weight:750}.auth-plans-prompt{color:#667085;text-align:center;margin:20px 0 0;font-size:14px;line-height:1.5}.auth-plans-prompt button{color:#554cf2;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800}.auth-forgot{color:#554cf2;font:inherit;cursor:pointer;background:0 0;border:0;justify-self:end;margin-top:-8px;padding:0;font-size:13px;font-weight:750}.auth-forgot:hover,.auth-switch:hover,.auth-plans-prompt button:hover{color:#4037d6;text-decoration:underline}.auth-recovery-complete{gap:18px;display:grid}.auth-continue{width:100%}.auth-message{border-radius:10px;margin:0;padding:11px 12px;font-size:14px;line-height:1.4}.auth-message.is-error{color:#b42318;background:#fff1f1}.auth-message.is-success{color:#027a48;background:#ecfdf3}.language-card{box-sizing:border-box;text-align:center;border-radius:34px;width:min(100%,690px);padding:48px}.gateway-logo{margin:0 auto 18px}.language-eyebrow{color:#635bff;letter-spacing:.2em;margin:0 0 12px;font-size:12px;font-weight:900}.language-card h1{letter-spacing:-.04em;margin:0;font-size:clamp(34px,6vw,48px);line-height:1.05}.language-intro{color:#667085;margin:14px 0 34px;font-size:17px}.language-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.language-option{color:#202634;text-align:left;cursor:pointer;background:#fff;border:1px solid #e4e7ec;border-radius:24px;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:18px;min-width:0;padding:20px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;box-shadow:0 8px 24px #2026340f}.language-option:hover{border-color:#635bff61;transform:translateY(-4px);box-shadow:0 18px 34px #2026341f}.language-option:focus-visible,.auth-back:focus-visible,.auth-forgot:focus-visible,.auth-switch:focus-visible,.auth-plans-prompt button:focus-visible,.auth-submit:focus-visible,.auth-secondary-action:focus-visible{outline-offset:3px;outline:3px solid #635bff4d}.language-flag{border:3px solid #fff;border-radius:50%;width:88px;height:88px;display:block;overflow:hidden;box-shadow:0 0 0 1px #1018281f,0 10px 22px #10182829}.language-option-copy{gap:5px;min-width:0;display:grid}.language-option-copy strong{text-overflow:clip;white-space:nowrap;font-size:19px;line-height:1.15;overflow:visible}.language-arrow{color:#554cf2;background:#f0efff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:19px;font-weight:900;transition:transform .18s;display:grid}.language-option:hover .language-arrow{transform:translate(3px)}.language-access-card{text-align:center}.language-access-card .auth-language-hero{margin:0 0 22px}.language-access-card h1{font-size:28px;line-height:1.15}.language-access-card p{color:#667085;margin:14px 0 26px;line-height:1.55}.language-access-actions{gap:10px;display:grid}.language-access-actions .auth-submit{width:100%}.auth-secondary-action{color:#344054;background:#fff;border:1px solid #d0d5dd}.auth-secondary-action:hover{background:#f8f9fc}.profile-language-change{box-sizing:border-box;color:#554cf2;width:100%;font:inherit;cursor:pointer;background:#f4f2ff;border:1px solid #d7d3ff;border-radius:9px;padding:10px 12px;font-size:14px;font-weight:800}.profile-language-change:hover{background:#ebe8ff}.profile-language-change:focus-visible{outline-offset:2px;outline:3px solid #635bff4d}@media (width<=680px){.language-card{border-radius:26px;padding:36px 24px}.language-options{grid-template-columns:1fr}.language-option{border-radius:20px;grid-template-columns:76px minmax(0,1fr) auto;padding:16px}.language-flag{width:72px;height:72px}}@media (width<=520px){.auth-screen{padding:16px}.auth-card{border-radius:22px;padding:28px 24px 30px}.auth-language-hero{margin-top:20px}.auth-card h1{font-size:32px}}@media (prefers-reduced-motion:reduce){.language-option,.language-arrow,.auth-card input{transition:none}}
