:root{--bg: #f5f2ec;--text-main: #27303a;--idea-bg: #faf9f6;--idea-border: rgba(15, 23, 42, .12);--idea-shadow: 0 14px 40px rgba(15, 23, 42, .08)}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text-main);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}body:before{display:none}#canvas{position:fixed;inset:0;display:block;touch-action:none;cursor:grab}#canvas.dragging{cursor:grabbing}.app-header{position:fixed;top:18px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:1000}.app-header *{pointer-events:auto}.app-title{font-size:14px;font-weight:500;letter-spacing:.05em;opacity:.52}.app-title-link{pointer-events:auto;color:inherit;text-decoration:none}.app-title-link:hover{cursor:pointer;opacity:.82}#idea-editor{position:fixed;padding:10px 14px;border-radius:18px;border:1px solid rgba(15,23,42,.1);box-shadow:0 10px 28px #0f172a14,0 2px 8px #0f172a0d;background:#faf9f6f7;font-family:inherit;font-size:16px;line-height:1.35;color:var(--text-main);resize:none;outline:none;display:none;z-index:900;overflow:hidden;touch-action:manipulation;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:box-shadow .12s ease,border-color .12s ease,background .12s ease}#idea-editor:focus{border-color:#0f172a29;box-shadow:0 14px 34px #0f172a1c,0 3px 10px #0f172a0f}.branch-style-popover{position:fixed;z-index:930;min-width:300px;padding:10px;border:1px solid rgba(15,23,42,.1);border-radius:16px;background:#faf9f6f7;box-shadow:0 18px 44px #0f172a24;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.branch-style-popover[hidden],.branch-style-popover-row[hidden]{display:none}.branch-style-popover-row{display:grid;grid-template-columns:82px minmax(0,1fr) 132px;align-items:center;gap:12px}.branch-style-popover-row+.branch-style-popover-row{margin-top:8px}.branch-style-popover-label{color:#0f172aa3;font-size:11px;line-height:1;letter-spacing:.03em;text-transform:uppercase}.branch-style-popover-segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;min-width:0}.branch-style-popover-segment{box-sizing:border-box;min-width:0;height:30px;padding:0 10px;border:1px solid rgba(15,23,42,.1);border-radius:10px;background:#ffffffd6;color:#0f172ab8;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.branch-style-popover-segment:hover{background:#fffffff5}.branch-style-popover-segment[aria-pressed=true]{border-color:#0f172a24;background:#0f172a1a;color:#0f172aeb}.branch-style-popover-segment:disabled{opacity:.45;cursor:default}.branch-style-popover-color{box-sizing:border-box;width:100%;min-width:0;height:30px;padding:0;border:1px solid rgba(15,23,42,.1);border-radius:10px;background:#ffffffeb;cursor:pointer}.branch-style-popover-color::-webkit-color-swatch-wrapper{padding:3px}.branch-style-popover-color::-webkit-color-swatch{border:0;border-radius:7px}.branch-style-popover-slider-wrap{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:10px;min-width:0}.branch-style-popover-slider{box-sizing:border-box;width:100%;min-width:0;height:30px;margin:0;appearance:none;background:transparent;outline:none}.branch-style-popover-slider::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:#0f172a1a}.branch-style-popover-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-6px;border:2px solid rgba(255,255,255,.96);border-radius:50%;background:#26354adb;box-shadow:0 2px 6px #0f172a29;cursor:pointer}.branch-style-popover-slider::-moz-range-track{height:6px;border:0;border-radius:999px;background:#0f172a1a}.branch-style-popover-slider::-moz-range-thumb{width:18px;height:18px;border:2px solid rgba(255,255,255,.96);border-radius:50%;background:#26354adb;box-shadow:0 2px 6px #0f172a29;cursor:pointer}.branch-style-popover-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #0f172a1a}.branch-style-popover-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px #0f172a1a}.branch-style-popover-value{color:#0f172adb;font-size:13px;line-height:1;text-align:right;white-space:nowrap}.branch-style-popover-actions{display:grid;grid-template-columns:52px 72px;gap:8px;align-items:center}.branch-style-popover-auto{box-sizing:border-box;width:72px;height:30px;padding:0 8px;border:0;border-radius:10px;background:#0f172a14;color:#0f172ac7;font:inherit;font-size:12px;cursor:pointer}.branch-style-popover-auto:hover{background:#0f172a1f}.branch-style-popover-toggle{box-sizing:border-box;width:52px;height:30px;padding:0 8px;border:1px solid rgba(15,23,42,.1);border-radius:10px;background:#ffffffd6;color:#0f172ab8;font:inherit;font-size:12px;cursor:pointer}.branch-style-popover-toggle:hover{background:#fffffff5}.branch-style-popover-toggle[aria-pressed=true]{border-color:#0f172a24;background:#0f172a1a;color:#0f172aeb}#file-drop-hint{position:fixed;left:0;top:0;display:none;padding:10px 14px;border:1px solid rgba(15,23,42,.1);border-radius:999px;background:#faf9f6f5;box-shadow:0 18px 44px #0f172a24;color:#0f172acc;font-size:12px;line-height:1.2;letter-spacing:.01em;pointer-events:none;z-index:980;transform:translate(16px,16px);backdrop-filter:blur(10px)}#file-drop-hint.active{display:block}#file-drop-hint.ready{border-color:#568c2e38;background:#f5fbeff5;color:#3c5e1ceb}.image-action-button{position:fixed;z-index:940;width:32px;height:32px;padding:0;border:1px solid rgba(15,23,42,.12);border-radius:999px;background:#faf9f6f5;box-shadow:0 12px 28px #0f172a2e;color:#0f172ad1;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px)}.image-action-button[hidden],.image-action-popover[hidden]{display:none!important}.image-action-button:hover{background:#fffffffa}.image-action-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.image-action-button .image-action-button-plus{display:none}.image-action-button[data-mode=add] .image-action-button-plus{display:initial}.image-action-popover{position:fixed;z-index:941;width:min(250px,calc(100vw - 24px));padding:12px;border:1px solid rgba(15,23,42,.1);border-radius:16px;background:#faf9f6f7;box-shadow:0 22px 48px #0f172a29;backdrop-filter:blur(10px)}.image-action-popover-title{color:#0f172ae0;font-size:13px;font-weight:600;line-height:1.2}.image-action-popover-copy{margin-top:5px;color:#0f172a9e;font-size:12px;line-height:1.35}.image-action-popover-actions{display:flex;gap:8px;margin-top:10px}.image-action-popover-button{flex:1 1 0;min-height:34px;border:1px solid rgba(15,23,42,.12);border-radius:999px;background:#ffffffb8;color:#0f172ad1;font-size:12px;font-weight:600;cursor:pointer}.image-action-popover-button:hover{background:#fffffff2}.image-action-popover-button:disabled{cursor:default;opacity:.5;background:#ffffff94;color:#0f172a7a}.image-action-popover-button-primary{background:#0f172ae0;color:#fffffffa}.image-action-popover-button-primary:hover{background:#0f172af2}.image-action-popover-hint{margin-top:8px;color:#0f172a8f;font-size:11px;line-height:1.35}.branch-image-suggestions{position:fixed;z-index:920;max-width:min(220px,calc(100vw - 24px));padding:5px;border:1px solid rgba(15,23,42,.1);border-radius:14px;background:#faf9f6f7;box-shadow:0 18px 44px #0f172a1f;backdrop-filter:blur(10px)}.branch-image-suggestions-status{padding:2px 4px 5px;font-size:10px;line-height:1.2;color:#0f172a94}.branch-image-suggestions-list{display:flex;flex-wrap:wrap;gap:5px}.branch-image-suggestion-item{display:flex;flex-direction:column;align-items:stretch;width:88px;min-height:72px;padding:2px;border:0;border-radius:12px;background:#ffffffb8;color:inherit;cursor:pointer}.branch-image-suggestion-item:hover{background:#fffffff5}.branch-image-suggestion-thumb{display:flex;align-items:center;justify-content:center;width:48px;height:48px;overflow:hidden;border-radius:10px;background:#0f172a0f;color:#0f172a73;font-size:10px}.branch-image-suggestion-thumb img{display:block;width:100%;height:100%;object-fit:cover}.branch-image-suggestion-label{padding:4px 4px 2px;overflow:hidden;color:#0f172acc;font-size:11px;line-height:1.15;text-align:left;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){#idea-editor{max-width:92vw}.branch-image-suggestions{max-width:calc(100vw - 16px)}.image-action-popover{width:calc(100vw - 16px)}}.menu-button{position:fixed;top:16px;right:18px;z-index:980;width:42px;height:42px;padding:0;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:#faf9f6f0;box-shadow:0 14px 34px #0f172a1f;display:flex;align-items:center;justify-content:center;gap:3px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.menu-button:hover{background:#fffffffa}.menu-button span{width:4px;height:4px;border-radius:999px;background:#0f172ab8}.app-menu-panel{position:fixed;top:50%;right:16px;transform:translateY(-50%);z-index:975;width:44px;padding:8px 3px 10px;border:1px solid rgba(15,23,42,.05);border-radius:16px;background:linear-gradient(180deg,#ffffffe6,#faf9f6fa),#faf9f6fa;box-shadow:0 18px 42px #0f172a1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);--app-menu-accent: #94c44d;--app-menu-accent-soft: rgba(148, 196, 77, .14);--app-menu-branch-icon-color: rgba(79, 87, 100, .82);--app-menu-branch-preview-color: #94c44d}.app-menu-panel[hidden]{display:none!important}.app-menu-section{margin-top:8px;padding-top:8px;border-top:0}.app-menu-section:first-child{margin-top:0;padding-top:0}.app-menu-section-head{display:grid;gap:1px}.app-menu-section-title{color:#0f172a9e;display:block;font-size:7px;font-weight:400;line-height:1;letter-spacing:.16em;text-transform:uppercase;text-align:center;position:relative;padding-bottom:5px;margin-bottom:2px}.app-menu-section-title:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:1px;border-radius:999px;background:#0f172a14}.app-menu-section-meta{display:none}.app-menu-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin-top:3px}.app-menu-action-button{width:100%;min-height:28px;padding:1px 0;border:0;border-radius:0;background:transparent;color:#4f5764f0;font:inherit;text-align:center;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease}.app-menu-action-button:hover{background:transparent}.app-menu-action-button:disabled{opacity:.38;cursor:default;pointer-events:none}.app-menu-action-icon{width:36px;height:36px;border-radius:5px;background:transparent;color:#4f5764f0;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1}.app-menu-action-icon svg,.app-menu-segment-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round;transition:stroke .12s ease}.app-menu-action-copy,.app-menu-action-title,.app-menu-action-hint{display:none}.app-menu-segmented{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin-top:3px}.app-menu-segment{min-width:0;min-height:28px;padding:1px 0;border:0;border-radius:0;background:transparent;color:#0f172abd;font:inherit;font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease}.app-menu-segment:hover{background:transparent}.app-menu-segment[aria-pressed=true]{background:transparent;color:inherit}.app-menu-segment:disabled{opacity:.38;cursor:default;pointer-events:none}.app-menu-segment-icon{width:36px;height:36px;border-radius:5px;background:transparent;color:var(--app-menu-branch-icon-color);display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1}.app-menu-segment-icon-curve,.app-menu-segment-icon-leaf,.app-menu-segment-icon-rect{background-color:currentColor;background-repeat:no-repeat;-webkit-mask-image:url(images/branch_types.webp);mask-image:url(images/branch_types.webp);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:400% auto;mask-size:400% auto;-webkit-mask-position-y:34%;mask-position-y:34%;transition:color .12s ease}.app-menu-segment-icon-curve{-webkit-mask-position-x:0%;mask-position-x:0%}.app-menu-segment-icon-leaf{-webkit-mask-position-x:33.333%;mask-position-x:33.333%}.app-menu-segment-icon-rect{-webkit-mask-position-x:66.666%;mask-position-x:66.666%}.app-menu-segment-title,.app-menu-segment-hint{display:none}.app-menu-subsection{margin-top:5px}.app-menu-subtitle{color:#0f172a9e;font-size:7px;line-height:1;letter-spacing:.16em;text-transform:uppercase;text-align:center;position:relative;padding-bottom:5px;margin-bottom:2px}.app-menu-subtitle:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:1px;border-radius:999px;background:#0f172a14}.app-menu-color-row{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin-top:3px}.app-menu-color-chip{min-width:0;width:36px;height:36px;padding:0;border:0;border-radius:5px;background:transparent;color:#4f5764f0;font:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease;margin:0 auto}.app-menu-color-chip:hover{background:transparent}.app-menu-color-chip[aria-pressed=true]{background:transparent;color:inherit}.app-menu-color-chip-default{font-size:0;letter-spacing:.01em}.app-menu-color-chip svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round}.app-menu-color-picker{position:relative;display:flex;align-items:center;justify-content:center;margin-top:8px;width:36px;height:36px;margin-inline:auto;cursor:pointer}.app-menu-color-picker-label{display:none}.app-menu-color-picker-preview{width:36px;height:36px;display:flex;align-items:center;justify-content:center}.app-menu-color-picker-branch{width:32px;height:32px;background-color:var(--app-menu-branch-preview-color);-webkit-mask-image:url(images/branch_types.webp);mask-image:url(images/branch_types.webp);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:400% auto;mask-size:400% auto;-webkit-mask-position:100% 34%;mask-position:100% 34%;transition:background-color .12s ease,transform .12s ease}.app-menu-color-picker input{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:5px;background:transparent;cursor:pointer;opacity:0}.app-menu-color-picker input::-webkit-color-swatch-wrapper{padding:0}.app-menu-color-picker input::-webkit-color-swatch{border:0;border-radius:5px}.app-menu-action-button-home .app-menu-action-icon,.app-menu-segment[aria-pressed=true] .app-menu-segment-icon{color:var(--app-menu-accent)}.app-menu-color-chip[aria-pressed=true]{background:transparent}.app-menu-color-chip-default[aria-pressed=true] svg{background-color:var(--app-menu-accent-soft);border-radius:5px;color:var(--app-menu-accent)}.app-menu-action-button-undo .app-menu-action-icon,.app-menu-action-button-redo .app-menu-action-icon,.app-menu-action-button-reset .app-menu-action-icon,.app-menu-action-button-import .app-menu-action-icon,.app-menu-action-button-export .app-menu-action-icon,.app-menu-action-button-image .app-menu-action-icon{color:#4f5764f0}.app-menu-action-button:hover .app-menu-action-icon,.app-menu-segment:hover .app-menu-segment-icon{color:var(--app-menu-accent)}.app-menu-action-button[disabled]:hover .app-menu-action-icon,.app-menu-segment[disabled]:hover .app-menu-segment-icon{background:transparent;color:inherit}.app-menu-color-picker:focus-within .app-menu-color-picker-branch{background-color:var(--app-menu-accent);transform:translateY(-.5px)}
