.drawflow,.drawflow .parent-node{position:relative}.parent-drawflow{display:flex;overflow:hidden;touch-action:none;outline:0}.drawflow{width:100%;height:100%;-webkit-user-select:none;user-select:none;perspective:0}.drawflow .drawflow-node{display:flex;align-items:center;position:absolute;background:#0ff;width:160px;min-height:40px;border-radius:4px;border:2px solid #000;color:#000;z-index:2;padding:15px}.drawflow .drawflow-node.selected{background:red}.drawflow .drawflow-node:hover{cursor:move}.drawflow .drawflow-node .inputs,.drawflow .drawflow-node .outputs{width:0}.drawflow .drawflow-node .drawflow_content_node{width:100%;display:block}.drawflow .drawflow-node .input,.drawflow .drawflow-node .output{position:relative;width:20px;height:20px;background:#fff;border-radius:50%;border:2px solid #000;cursor:crosshair;z-index:1;margin-bottom:5px}.drawflow .drawflow-node .input{left:-27px;top:2px;background:#ff0}.drawflow .drawflow-node .output{right:-3px;top:2px}.drawflow svg{z-index:0;position:absolute;overflow:visible!important}.drawflow .connection{position:absolute;pointer-events:none;aspect-ratio:1/1}.drawflow .connection .main-path{fill:none;stroke-width:5px;stroke:#4682b4;pointer-events:all}.drawflow .connection .main-path:hover{stroke:#1266ab;cursor:pointer}.drawflow .connection .main-path.selected{stroke:#43b993}.drawflow .connection .point{cursor:move;stroke:#000;stroke-width:2;fill:#fff;pointer-events:all}.drawflow .connection .point.selected,.drawflow .connection .point:hover{fill:#1266ab}.drawflow .main-path{fill:none;stroke-width:5px;stroke:#4682b4}.drawflow-delete{position:absolute;display:block;width:30px;height:30px;background:#000;color:#fff;z-index:4;border:2px solid #fff;line-height:30px;font-weight:700;text-align:center;border-radius:50%;font-family:monospace;cursor:pointer}.drawflow>.drawflow-delete{margin-left:-15px;margin-top:15px}.parent-node .drawflow-delete{right:-15px;top:-15px}:root{--bg: #0b0b0c;--panel: #121214;--panel-2: #17171a;--text: #e8e8ea;--muted: #a9a9b3;--focus: #8ab4ff;--ring: 36 100% 67%;--shadow: 0 8px 30px rgba(0, 0, 0, .25);--radius: 14px;--btn-bg: linear-gradient(180deg, var(--panel), var(--panel-2));--btn-fg: var(--text);--btn-primary-bg: linear-gradient(180deg, #2a2a35, #22222b);--btn-primary-fg: var(--text);--frame-bg: transparent;--frame-border: rgba(255, 255, 255, .08);--frame-focus: rgba(138, 180, 255, .35);--flame-idle: #ffb48a;--flame-active: #ff7a1a;--max-width: 76rem;--gutter: clamp(1rem, 4vw, 1.5rem);--gutter-sm: clamp(.75rem, 3vw, 1.25rem);--toolbar-height: clamp(3.25rem, 4vh + 1rem, 4.25rem);--column-flex-basis: 100%;--column-max-width: 100%;--touch-target: 48px}@media (min-width: 480px){:root{--column-flex-basis: min(100%, clamp(18rem, 75vw, var(--col-w, 420px)));--column-max-width: min(100%, clamp(18rem, 75vw, var(--col-w, 420px)))}}@media (min-width: 768px){:root{--column-flex-basis: min(100%, clamp(20rem, 45vw, var(--col-w, 480px)));--column-max-width: min(100%, clamp(20rem, 45vw, var(--col-w, 480px)))}}@media (min-width: 1024px){:root{--column-flex-basis: var(--col-w, 360px);--column-max-width: var(--col-w, 360px)}}html,body,#root{height:100%}html,body{background:var(--bg);color:var(--text)}#root{isolation:isolate}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";font-size:clamp(.95rem,.9rem + .4vw,1rem);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;overflow-x:hidden}*{box-sizing:border-box}.app{display:grid;grid-template-rows:auto 1fr;min-height:100vh;width:min(100%,var(--max-width));margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--gutter-sm);padding:calc(env(safe-area-inset-top) + .75rem) var(--gutter) .75rem;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#ffffff05,#fff0);position:sticky;top:0;z-index:6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:clamp(.5rem,2vw,.75rem);letter-spacing:-.01em}.brand-logo{width:28px;height:28px;border-radius:8px;background:radial-gradient(60% 60% at 30% 30%,#fff,#a9d 30%,#59f 80%);box-shadow:0 6px 18px #5999ff59,inset 0 0 0 1px #fff6}.login-fab{position:fixed;right:clamp(12px,3vw,20px);bottom:calc(clamp(12px,3vh,20px) + env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:linear-gradient(180deg,var(--panel-2),var(--panel));color:var(--text);border:1px solid rgba(255,255,255,.1);text-decoration:none;box-shadow:0 10px 30px #00000059,inset 0 0 0 1px #ffffff0f;z-index:2000}.login-fab:hover{border-color:#ffffff2e;transform:translateY(-1px)}.login-fab svg{display:block}.brand-title{font-weight:700;font-size:clamp(1.05rem,2vw + 1rem,1.25rem);color:var(--text);opacity:.98;letter-spacing:-.01em}.datetime-display{flex:1;text-align:center;min-width:0;overflow:hidden;font-size:.75rem;font-weight:400;color:var(--muted);opacity:.85;letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums}.topbar{font-family:inherit;font-size:clamp(.9rem,.25vw + .9rem,1rem)}.topbar .btn{font-size:inherit}.topbar--mobile{align-items:flex-start}.topbar--mobile .brand{flex:1 1 auto}.actions{display:flex;align-items:center;gap:clamp(.5rem,1.5vw,.75rem);margin-left:auto}.actions--mobile{gap:clamp(.35rem,1.2vw,.6rem)}.actions[data-mobile-actions=true]{flex:0 0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-panel{display:grid;gap:.75rem;padding:0 var(--gutter);background:linear-gradient(180deg,#0c0c0ee6,#0c0c0e99);border-bottom:1px solid rgba(255,255,255,.08);max-height:0;overflow:hidden;transition:max-height .28s ease,padding .28s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:5}.mobile-panel.open{padding:.75rem var(--gutter) clamp(.75rem,2vh + .5rem,1.25rem);max-height:420px}.mobile-panel__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;border:0;z-index:4;cursor:pointer}.width-control{display:flex;align-items:center;gap:.75rem;font-size:.85rem;letter-spacing:.01em}.width-control__label{font-weight:600}.width-control__slider{flex:1;width:min(100%,18rem);-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:999px;background:#ffffff2e;cursor:pointer}.width-control__slider:focus-visible{outline:none;box-shadow:0 0 0 4px #8ab4ff59}.width-control__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--focus);border:2px solid rgba(255,255,255,.35);box-shadow:0 0 0 2px #0b0b0c66}.width-control__slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--focus);border:2px solid rgba(255,255,255,.35);box-shadow:0 0 0 2px #0b0b0c66}.width-control--stacked{flex-direction:column;align-items:flex-start;width:100%;gap:.5rem}@media (max-width: 767px){.width-control{width:100%}}@media (min-width: 768px){.width-control__slider{max-width:12rem}}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:12px;cursor:pointer;padding:10px 14px;min-height:clamp(2.75rem,8vw,3rem);display:inline-flex;align-items:center;justify-content:center;color:var(--text);background:var(--btn-bg);color:var(--btn-fg);box-shadow:inset 0 0 0 1px #ffffff0f,var(--shadow);transition:transform .08s ease,background .2s ease,box-shadow .2s ease;touch-action:manipulation}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg)}.btn-with-icon{display:inline-flex;align-items:center;gap:8px}.btn .kbd{opacity:.6;font-feature-settings:"tnum" on,"ss01" on;font-variant-numeric:tabular-nums}.columns-wrap{overflow:auto;padding:var(--gutter);padding-bottom:calc(var(--gutter) + 40px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.columns{display:flex;flex-direction:column;align-items:stretch;gap:var(--gutter-sm);min-height:calc(100vh - var(--toolbar-height) - 40px - 60px)}.column-item{flex:1 1 var(--column-flex-basis);max-width:var(--column-max-width);min-width:0}.column{flex:1 1 var(--column-flex-basis);max-width:var(--column-max-width);width:100%;min-height:clamp(21rem,65vh,32.5rem);display:grid;grid-template-rows:auto 1fr;background:linear-gradient(180deg,var(--panel),var(--panel-2));border-radius:var(--radius);box-shadow:inset 0 0 0 1px #ffffff0f,var(--shadow)}.column.dragging{opacity:.75}.col-header{display:flex;gap:clamp(.5rem,2vw,.75rem);align-items:center;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.col-header .grab{display:inline-grid;place-items:center;width:clamp(2.25rem,6vw,2.5rem);height:clamp(2.25rem,6vw,2.5rem)}.col-header .title-view{display:inline-flex;align-items:center;flex:1;min-width:0}.col-header .icon-btn,.col-header .fire-btn{display:inline-flex;align-items:center;justify-content:center}.title-input,.title-view{font-weight:650;letter-spacing:-.01em;font-size:clamp(.95rem,.35vw + .95rem,1.05rem);line-height:1.25;color:var(--text)}.title-input{flex:1;min-width:0;max-width:100%;background:transparent;color:var(--text);border:0;outline:none;padding:6px 8px;border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff0f}.title-input:focus{box-shadow:0 0 0 2px #8ab4ff66,inset 0 0 0 1px #8ab4ff59}.grab{cursor:grab;opacity:.6;touch-action:none}.grab:active{cursor:grabbing}.col-actions{display:flex;gap:clamp(.4rem,1.2vw,.6rem);margin-left:auto;flex-shrink:0}.icon-btn{width:clamp(2.5rem,7vw,2.75rem);height:clamp(2.5rem,7vw,2.75rem);display:grid;place-items:center;border-radius:8px;border:0;cursor:pointer;color:var(--text);background:transparent;touch-action:manipulation}.icon-btn:hover{background:#ffffff0f}.menu-toggle{border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.menu-toggle:hover{background:#ffffff1a}.icon-btn.danger{color:#ff7f7f;background:#ff7f7f1f}.icon-btn.danger:hover{background:#ff7f7f33}.avatar-menu{position:relative}.avatar-btn{width:clamp(2.2rem,6vw,2.5rem);height:clamp(2.2rem,6vw,2.5rem);border-radius:50%;border:0;padding:0;cursor:pointer;background:transparent;touch-action:manipulation}.avatar-btn img{width:100%;height:100%;border-radius:50%;display:block}.avatar-btn span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:#ffffff14;color:var(--text);font-weight:600}.avatar-menu .menu{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;background:var(--panel);color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:var(--shadow);padding:10px;z-index:10}.menu-section{padding:8px 6px;border-top:1px solid rgba(255,255,255,.06)}.menu-section:first-child{border-top:0}.menu-actions{display:flex;gap:8px;align-items:center}.icon-action{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text);cursor:pointer;text-decoration:none;touch-action:manipulation}.icon-action:hover{background:#ffffff14}.fire-btn{min-width:28px;height:28px;padding:0 6px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--flame-idle);display:inline-flex;align-items:center;justify-content:center;line-height:0;cursor:pointer;transition:all .2s ease;box-shadow:inset 0 0 0 1px #ffffff0a;touch-action:manipulation}.fire-btn:hover{transform:translateY(-1px)}.fire-btn.active{background:#ff7a1a24;color:var(--flame-active);border-color:#ff7a1a59}.fire-timer{font-variant-numeric:tabular-nums;font-weight:700;font-size:12px;letter-spacing:.02em;color:var(--flame-active)}:root[data-fire=on] .column{opacity:.55;filter:saturate(.75);transition:opacity .2s ease,filter .2s ease}:root[data-fire=on] .column.fire-on{opacity:1;filter:none}.col-header .fire-btn{height:28px;border-radius:8px}.menu-user{display:flex;align-items:center;gap:10px}.menu-user img{width:28px;height:28px;border-radius:50%}.menu-user-name{font-weight:600}.menu-user-login{font-size:12px;opacity:.7}.menu-item{width:100%;text-align:left;background:transparent;color:var(--text);border:0;padding:8px 10px;border-radius:8px;cursor:pointer;touch-action:manipulation}.menu-item:hover{background:#ffffff0f}.theme-rows{display:flex;flex-direction:column;gap:10px}.theme-row{display:flex;gap:8px;justify-content:center}.swatch{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.2);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #00000026}.swatch:hover{transform:translateY(-2px) scale(1.1);border-color:#ffffff80;box-shadow:0 4px 12px #00000040}.btn-icon{width:clamp(2.25rem,6vw,2.5rem);height:clamp(2.25rem,6vw,2.5rem);padding:0;border-radius:10px;border:1px solid rgba(255,255,255,.08);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text);background:transparent;transition:all .2s ease;touch-action:manipulation;position:relative;overflow:visible}.btn-icon:hover{background:#ffffff0f;border-color:#ffffff1f}.btn-icon.accent{border-color:var(--frame-focus);color:var(--focus)}.btn-icon.accent:hover{background:#ffffff0f;box-shadow:0 0 0 2px var(--frame-focus)}.btn-icon.accent:active{background:#ffffff14}.btn-icon svg{flex-shrink:0}.btn-icon span{position:absolute;left:calc(100% + 8px);background:var(--panel);color:var(--text);padding:6px 10px;border-radius:8px;font-size:.85rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-4px);transition:all .2s ease;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 12px #00000026;z-index:10}.btn-icon:hover span{opacity:1;transform:translate(0)}.topbar-badge{position:absolute;top:-6px;right:-6px;background:var(--focus);color:var(--bg);font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 5px;box-shadow:0 0 0 2px var(--bg);z-index:1}.help-tooltip-container{position:relative}.help-icon{opacity:.6;transition:opacity .2s ease}.help-icon:hover{opacity:1}.help-tooltip{position:absolute;top:calc(100% + 12px);right:0;width:clamp(320px,44vw,440px);background:var(--panel-2);border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff14;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease;pointer-events:none;z-index:1000}.help-tooltip-container:hover .help-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.help-tooltip-content{padding:16px 20px}.help-tooltip-content h3{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--text)}.help-tooltip-content ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.help-tooltip-content li{font-size:.85rem;line-height:1.35;color:var(--muted);display:flex;align-items:flex-start;gap:8px}.help-tooltip-content li strong{color:var(--text);font-weight:600;white-space:nowrap}.help-tooltip-content kbd{display:inline-block;padding:2px 6px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:4px;font-family:ui-monospace,monospace;font-size:.75rem;font-weight:600;color:var(--focus)}.help-tooltip-content a{color:var(--focus);text-decoration:underline}.textarea-wrap{position:relative;flex:1;display:flex;flex-direction:column;padding:clamp(.5rem,1vw + .35rem,.75rem);overflow:hidden;cursor:text}.textarea{width:100%;height:100%;resize:none;background:#ffffff03;color:var(--text);border:1px solid rgba(255,255,255,.06);outline:none;padding:clamp(.9rem,1.5vw,1.1rem);border-radius:8px;box-shadow:inset 0 1px 2px #0000000d;font-family:inherit;line-height:1.6;font-size:var(--task-font-size, 16px);letter-spacing:0;caret-color:var(--focus);text-rendering:optimizeLegibility;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"tnum" 0;touch-action:pan-y;overflow-y:auto;transition:border-color .2s ease,box-shadow .2s ease}.textarea:focus{outline:none;border-color:#8ab4ff26;box-shadow:inset 0 1px 2px #0000000d,0 0 0 1px #8ab4ff14}.ProseMirror{outline:none;border:none;background:transparent;padding:0;min-height:100%}.tiptap-editor{outline:none}.tiptap-editor:empty:before{content:attr(data-placeholder);color:var(--muted);opacity:.5;pointer-events:none;position:absolute}.tiptap-editor strong{font-weight:700;color:var(--text)}.tiptap-editor mark{background:#ffdc644d;color:var(--text);padding:2px 4px;border-radius:3px}.tiptap-editor s{text-decoration:line-through;color:var(--muted);opacity:.75}.tiptap-editor p{margin:0}.tiptap-editor ul,.tiptap-editor ol{padding-left:1.5rem;margin:.5rem 0}.tiptap-editor li{margin:.25rem 0}.formatting-toolbar{position:fixed;display:flex;gap:4px;padding:6px;background:var(--panel-2);border:1px solid var(--frame-border);border-radius:10px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translate(-50%,-100%);margin-top:-8px;z-index:1000;animation:toolbarFadeIn .15s ease-out}@keyframes toolbarFadeIn{0%{opacity:0;transform:translate(-50%,-100%) translateY(4px)}to{opacity:1;transform:translate(-50%,-100%) translateY(0)}}.format-btn{width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#ffffff0a;color:var(--text);cursor:pointer;display:grid;place-items:center;transition:all .15s ease;touch-action:manipulation}.format-btn:hover{background:#ffffff1a;border-color:var(--focus);color:var(--focus);transform:translateY(-1px)}.format-btn:active{transform:translateY(0)}.format-btn.clear{border-color:#ff64644d}.format-btn.clear:hover{background:#ff646426;border-color:#ff646499;color:#f88}.col-footer{border-top:1px solid rgba(255,255,255,.06);padding:6px 8px}.pin-bar{display:flex;gap:6px;align-items:center;min-height:24px}.footer-fire{margin-left:auto}.pin{position:relative}.pin-btn{width:24px;height:24px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--text);display:grid;place-items:center;cursor:pointer;transition:transform .15s ease;touch-action:manipulation}.pin-btn:hover{transform:translateY(-1px)}.pin-add{width:24px;height:24px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease;touch-action:manipulation}.pin-add:hover,.pin-add:focus-visible{color:var(--focus);border-color:#8ab4ff4d;background:#8ab4ff14;transform:translateY(-1px)}.pin-popover{position:absolute;bottom:130%;left:0;background:var(--panel);color:var(--text);border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .12s ease,transform .12s ease;min-width:220px}.pin:hover .pin-popover{opacity:1;transform:translateY(0);pointer-events:auto}.pin-popover-content{display:flex;align-items:start;gap:8px;padding:10px}.pin-popover-text{flex:1}.pin-popover-label{font-weight:600;margin-bottom:4px}.pin-popover-sub{font-size:12px;opacity:.85;word-break:break-word}.pin-popover-del{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;border:0;background:#ffffff0f;color:var(--text);cursor:pointer}.pin-popover-del:hover{background:#ffffff1a}.pin-form{position:absolute;z-index:15;margin-top:6px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:var(--panel);box-shadow:var(--shadow)}.pin-form-tabs{display:flex;gap:6px;margin-bottom:8px}.pin-form-tabs button{padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:transparent;color:var(--text);cursor:pointer}.pin-form-tabs .active{background:#ffffff0f}.pin-form-fields{display:grid;gap:6px;width:260px}.pin-input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:transparent;color:var(--text)}.pin-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}:root[data-theme=dark-slate]{--bg: #0f172a;--panel: #1e293b;--panel-2: #334155;--text: #e2e8f0;--muted: #94a3b8;--focus: #38bdf8;--shadow: 0 8px 30px rgba(0, 0, 0, .4);--btn-bg: linear-gradient(180deg, #1e293b, #0f172a);--btn-fg: #e2e8f0;--btn-primary-bg: linear-gradient(180deg, #334155, #1e293b);--btn-primary-fg: #e2e8f0;--frame-bg: transparent;--frame-border: rgba(255, 255, 255, .08);--frame-focus: rgba(56, 189, 248, .35)}:root[data-theme=dark-navy]{--bg: #0a0f1e;--panel: #1a1f3a;--panel-2: #252b4a;--text: #e0e7ff;--muted: #a5b4fc;--focus: #818cf8;--shadow: 0 8px 30px rgba(0, 0, 0, .45);--btn-bg: linear-gradient(180deg, #1a1f3a, #0a0f1e);--btn-fg: #e0e7ff;--btn-primary-bg: linear-gradient(180deg, #252b4a, #1a1f3a);--btn-primary-fg: #e0e7ff;--frame-bg: transparent;--frame-border: rgba(165, 180, 252, .1);--frame-focus: rgba(129, 140, 248, .35)}:root[data-theme=dark-forest]{--bg: #0a150d;--panel: #1a2e1f;--panel-2: #244231;--text: #d1fae5;--muted: #86efac;--focus: #4ade80;--shadow: 0 8px 30px rgba(0, 0, 0, .4);--btn-bg: linear-gradient(180deg, #1a2e1f, #0a150d);--btn-fg: #d1fae5;--btn-primary-bg: linear-gradient(180deg, #244231, #1a2e1f);--btn-primary-fg: #d1fae5;--frame-bg: transparent;--frame-border: rgba(134, 239, 172, .1);--frame-focus: rgba(74, 222, 128, .35)}:root[data-theme=dark-plum]{--bg: #1a0d1f;--panel: #2a1f2e;--panel-2: #3d2f42;--text: #f3e8ff;--muted: #d8b4fe;--focus: #c084fc;--shadow: 0 8px 30px rgba(0, 0, 0, .4);--btn-bg: linear-gradient(180deg, #2a1f2e, #1a0d1f);--btn-fg: #f3e8ff;--btn-primary-bg: linear-gradient(180deg, #3d2f42, #2a1f2e);--btn-primary-fg: #f3e8ff;--frame-bg: transparent;--frame-border: rgba(216, 180, 254, .1);--frame-focus: rgba(192, 132, 252, .35)}:root[data-theme=light-sage]{--bg: #f0fdf4;--panel: #ffffff;--panel-2: #dcfce7;--text: #14532d;--muted: #15803d;--focus: #10b981;--shadow: 0 8px 24px rgba(20, 83, 45, .08);--btn-bg: #dcfce7;--btn-fg: #14532d;--btn-primary-bg: #10b981;--btn-primary-fg: #ffffff;--frame-bg: #ffffff;--frame-border: #bbf7d0;--frame-focus: rgba(16, 185, 129, .35)}:root[data-theme=light-peach]{--bg: #fff7ed;--panel: #ffffff;--panel-2: #ffedd5;--text: #7c2d12;--muted: #c2410c;--focus: #f97316;--shadow: 0 8px 24px rgba(124, 45, 18, .08);--btn-bg: #ffedd5;--btn-fg: #7c2d12;--btn-primary-bg: #f97316;--btn-primary-fg: #ffffff;--frame-bg: #ffffff;--frame-border: #fed7aa;--frame-focus: rgba(249, 115, 22, .35)}:root[data-theme=light-lavender]{--bg: #faf5ff;--panel: #ffffff;--panel-2: #f3e8ff;--text: #581c87;--muted: #7e22ce;--focus: #a855f7;--shadow: 0 8px 24px rgba(88, 28, 135, .08);--btn-bg: #f3e8ff;--btn-fg: #581c87;--btn-primary-bg: #a855f7;--btn-primary-fg: #ffffff;--frame-bg: #ffffff;--frame-border: #e9d5ff;--frame-focus: rgba(168, 85, 247, .35)}:root[data-theme=light-sky]{--bg: #f0f9ff;--panel: #ffffff;--panel-2: #e0f2fe;--text: #0c4a6e;--muted: #0369a1;--focus: #0284c7;--shadow: 0 8px 24px rgba(12, 74, 110, .08);--btn-bg: #e0f2fe;--btn-fg: #0c4a6e;--btn-primary-bg: #0284c7;--btn-primary-fg: #ffffff;--frame-bg: #ffffff;--frame-border: #bae6fd;--frame-focus: rgba(2, 132, 199, .35)}:root[data-theme=light-rose]{--bg: #fff1f2;--panel: #ffffff;--panel-2: #ffe4e6;--text: #881337;--muted: #be123c;--focus: #e11d48;--shadow: 0 8px 24px rgba(136, 19, 55, .08);--btn-bg: #ffe4e6;--btn-fg: #881337;--btn-primary-bg: #e11d48;--btn-primary-fg: #ffffff;--frame-bg: #ffffff;--frame-border: #fecdd3;--frame-focus: rgba(225, 29, 72, .35)}.textarea::placeholder{color:var(--muted)}.empty-hint{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:grid;place-items:center;color:var(--muted);font-size:14px}.muted{color:var(--muted)}.status-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:8px 20px;background:linear-gradient(180deg,var(--panel),var(--panel-2));border-top:1px solid rgba(255,255,255,.06);color:var(--muted);font-size:.75rem;font-weight:400;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.status-bar-left,.status-bar-center,.status-bar-right{display:flex;align-items:center;gap:12px;min-width:0}.status-bar-left{flex:1;justify-content:flex-start}.status-bar-center{flex:0 0 auto;justify-content:center}.status-bar-right{flex:1;justify-content:flex-end}.status-bar .version{opacity:.6;font-size:.75rem;font-weight:400}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:40px 20px}.columns>.empty-state{margin:auto;width:min(100%,680px)}.empty-state-icon{color:var(--muted);opacity:.4;margin-bottom:24px}.empty-state-title{font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 12px}.empty-state-description{font-size:1rem;color:var(--muted);margin:0 0 32px;max-width:400px;line-height:1.6}.empty-state .btn{margin-bottom:16px}.empty-state-hint{font-size:.875rem;color:var(--muted);opacity:.7}.empty-state-hint kbd{display:inline-block;padding:2px 8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:4px;font-family:ui-monospace,monospace;font-size:.75rem;font-weight:600;color:var(--focus);margin:0 4px}.toast{position:fixed;bottom:calc(clamp(2rem,5vh,3rem) + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:1000;animation:toast-slide-up .3s ease-out}.toast-content{background:var(--panel);color:var(--text);padding:12px 20px;border-radius:10px;font-size:.9rem;font-weight:500;box-shadow:0 0 0 1px #ffffff1f,0 8px 24px #00000059;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:90vw;text-align:center}@keyframes toast-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.archive-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1001;animation:fade-in .25s ease-out;cursor:pointer}.archive-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(calc(100vw - 32px),640px);max-height:min(calc(100vh - 80px),720px);background:var(--panel);border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 0 0 1px #ffffff14,0 24px 48px #00000073;z-index:1002;display:flex;flex-direction:column;animation:modal-slide-in .35s cubic-bezier(.16,1,.3,1);cursor:default}.archive-header{display:flex;flex-direction:column;gap:12px;padding:clamp(16px,4vw,20px);padding-bottom:clamp(12px,3vw,16px);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.archive-header-top{display:flex;align-items:center;justify-content:space-between}.archive-header h2{margin:0;font-size:clamp(1.1rem,3vw,1.35rem);font-weight:700;letter-spacing:-.02em;color:var(--text)}.archive-close{width:clamp(36px,8vw,40px);height:clamp(36px,8vw,40px);border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text);cursor:pointer;display:grid;place-items:center;transition:all .2s ease;flex-shrink:0}.archive-close:hover{background:#ffffff1a;border-color:#ffffff26;transform:scale(1.05)}.archive-close:active{transform:scale(.98)}.archive-header-actions{display:flex;align-items:center;gap:8px}.archive-export-btn{width:clamp(36px,8vw,40px);height:clamp(36px,8vw,40px);border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text);cursor:pointer;display:grid;place-items:center;transition:all .2s ease}.archive-export-btn:hover{background:#ffffff1a;border-color:#ffffff26;transform:translateY(-2px)}.archive-export-btn:active{transform:scale(.98)}.archive-delete-all-btn{width:clamp(36px,8vw,40px);height:clamp(36px,8vw,40px);border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text);cursor:pointer;display:grid;place-items:center;transition:all .2s ease}.archive-delete-all-btn:hover{background:#ff645026;border-color:#ff64504d;transform:translateY(-2px);color:#ff7864e6}.archive-delete-all-btn.confirm{background:#ff645040;border-color:#ff645080;color:#ff8c78}.archive-delete-all-btn:active{transform:scale(.98)}.archive-search{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;transition:all .2s ease}.archive-search:focus-within{background:#ffffff0f;border-color:var(--frame-focus);box-shadow:0 0 0 2px var(--frame-focus)}.search-icon{flex-shrink:0;color:var(--muted);opacity:.7}.archive-search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:clamp(.9rem,2vw,1rem);font-family:inherit}.archive-search-input::placeholder{color:var(--muted);opacity:.6}.search-clear{flex-shrink:0;width:24px;height:24px;border-radius:6px;border:none;background:#ffffff14;color:var(--text);cursor:pointer;display:grid;place-items:center;transition:all .2s ease;opacity:.7}.search-clear:hover{background:#ffffff26;opacity:1}.archive-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:clamp(12px,3vw,16px);min-height:0}.archive-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(40px,8vh,80px) 20px;color:var(--muted);animation:fade-in .3s ease-out}.archive-empty svg{margin-bottom:16px;opacity:.5}.archive-empty p{margin:0;font-size:clamp(.9rem,2vw,1rem);opacity:.8}.archive-list{display:flex;flex-direction:column;gap:clamp(10px,2vw,14px)}.archive-item{background:linear-gradient(180deg,#ffffff0a,#ffffff05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:clamp(12px,3vw,16px);display:flex;flex-direction:column;gap:12px;transition:all .2s ease}.archive-item:hover{background:linear-gradient(180deg,#ffffff0f,#ffffff0a);border-color:#ffffff26;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.archive-item-content{flex:1;min-width:0}.archive-item-title{font-weight:650;font-size:clamp(.9rem,2vw,1rem);margin-bottom:8px;opacity:.75;letter-spacing:-.01em}.archive-item-preview{font-size:clamp(.8rem,1.8vw,.9rem);color:var(--muted);line-height:1.6;margin-bottom:8px;white-space:pre-wrap;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;opacity:.85}.archive-item-time{font-size:clamp(.7rem,1.5vw,.8rem);color:var(--muted);opacity:.65;font-variant-numeric:tabular-nums}.archive-item-actions{display:flex;gap:8px;flex-wrap:wrap}.archive-item-slim{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:clamp(10px,2.5vw,12px);transition:all .2s ease}.archive-item-slim:hover{background:#ffffff0d;border-color:#ffffff1f;box-shadow:0 2px 8px #0000001a}.archive-item-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.archive-item-info{flex:1;min-width:0}.archive-item-slim .archive-item-title{font-weight:600;font-size:clamp(.9rem,2vw,.95rem);margin-bottom:4px;opacity:.8;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.archive-item-meta{display:flex;align-items:center;gap:6px;font-size:clamp(.75rem,1.6vw,.8rem);color:var(--muted);opacity:.7}.archive-item-slim .archive-item-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;margin-bottom:0;line-height:1.4}.archive-item-separator{opacity:.5;flex-shrink:0}.archive-item-slim .archive-item-time{font-variant-numeric:tabular-nums;flex-shrink:0}.archive-item-slim .archive-item-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:nowrap}.archive-action-btn-icon{width:clamp(32px,7vw,36px);height:clamp(32px,7vw,36px);padding:0;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--text);cursor:pointer;display:grid;place-items:center;transition:all .2s ease;flex-shrink:0}.archive-action-btn-icon:hover{transform:translateY(-1px);box-shadow:0 3px 10px #00000026}.archive-action-btn-icon:active{transform:translateY(0)}.archive-action-btn-icon.restore{color:var(--focus);border-color:#8ab4ff4d;background:#8ab4ff0f}.archive-action-btn-icon.restore:hover{background:#8ab4ff1f;border-color:#8ab4ff80}.archive-action-btn-icon.delete{color:#f88;border-color:#ff88884d;background:#ff88880f}.archive-action-btn-icon.delete:hover{background:#ff88881f;border-color:#ff888880}.archive-action-btn-icon.delete.confirm{background:#ff646433;border-color:#ff646499;animation:pulse-delete .6s ease-in-out}.archive-action-btn{padding:clamp(8px,2vw,10px) clamp(14px,3vw,18px);border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--text);font-size:clamp(.75rem,1.8vw,.85rem);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease;white-space:nowrap;flex:1;min-width:0}.archive-action-btn svg{flex-shrink:0}.archive-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.archive-action-btn:active{transform:translateY(0)}.archive-action-btn.restore{color:var(--focus);border-color:#8ab4ff59;background:#8ab4ff14}.archive-action-btn.restore:hover{background:#8ab4ff26;border-color:#8ab4ff80}.archive-action-btn.delete{color:#f88;border-color:#ff888859;background:#ff888814}.archive-action-btn.delete:hover{background:#ff888826;border-color:#ff888880}.archive-action-btn.delete.confirm{background:#ff646440;border-color:#ff6464b3;animation:pulse-delete .6s ease-in-out}.archive-action{position:relative}.archive-badge{position:absolute;top:-4px;right:-4px;background:var(--focus);color:var(--bg);font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:grid;place-items:center;padding:0 4px;box-shadow:0 0 0 2px var(--panel)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-in{0%{opacity:0;transform:translate(-50%,-45%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes pulse-delete{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@media (max-width: 767px){.status-bar{padding:6px 12px;font-size:.7rem}.status-bar-left .datetime-display__date{display:none}.datetime-display{gap:0}.archive-modal{width:calc(100vw - 24px);max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px)}.archive-header{padding:14px 16px}.archive-header h2{font-size:1.15rem}.archive-close{width:38px;height:38px}.archive-content{padding:14px}.archive-item{padding:12px}.archive-item-actions{flex-direction:row;gap:8px}.archive-action-btn{padding:10px 14px;font-size:.8rem}.archive-action-btn{min-height:44px}.archive-close{min-width:44px;min-height:44px}}@media (max-width: 900px){.datetime-display__date{font-size:10px;max-width:150px}}@media (min-width: 600px){.columns{gap:clamp(1rem,3vw,1.25rem)}}@media (min-width: 768px){.topbar{padding:calc(env(safe-area-inset-top) + 1rem) clamp(1.5rem,3vw,2.5rem) 1rem}.columns{flex-direction:row;flex-wrap:wrap;align-content:flex-start;align-items:stretch}.mobile-panel,.mobile-panel__overlay{display:none!important}}@media (min-width: 1024px){.columns{gap:clamp(1.25rem,3vw,1.75rem)}}::selection{background:#8ab4ff47;color:#fff}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:8px}::-webkit-scrollbar-track{background:transparent}.dates-list{display:flex;flex-direction:column;gap:12px;padding:16px}.date-form{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px;margin-bottom:12px;display:flex;flex-direction:column;gap:12px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.875rem;font-weight:500;color:var(--muted)}.form-input{padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text);font-size:.95rem;font-family:inherit;transition:all .2s ease}.form-input:focus{outline:none;border-color:#8ab4ff4d;background:#8ab4ff0d;box-shadow:0 0 0 1px #8ab4ff1a}.form-actions{display:flex;gap:8px;margin-top:8px}.form-actions .btn{flex:1}.date-item{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px;transition:all .2s ease}.date-item:hover{background:#ffffff0f;border-color:#ffffff1f}.date-item-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.date-item-content{flex:1;min-width:0}.date-item-description{font-size:1rem;font-weight:500;color:var(--text);margin-bottom:6px}.date-item-meta{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted)}.date-item-date{font-weight:500}.date-item-countdown{padding:4px 8px;background:#8ab4ff26;border-radius:6px;color:#8ab4ffe6;font-weight:600}.date-item-actions{display:flex;align-items:center;gap:6px}.date-link-btn{width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#8ab4ff1a;color:#8ab4ffcc;cursor:pointer;display:grid;place-items:center;transition:all .2s ease;text-decoration:none}.date-link-btn:hover{background:#8ab4ff33;border-color:#8ab4ff4d;color:var(--focus);transform:translateY(-1px)}.date-btn-icon{width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#ffffff0a;color:var(--text);cursor:pointer;display:grid;place-items:center;transition:all .2s ease}.date-btn-icon:hover{background:#ffffff1a;border-color:#ffffff26;transform:translateY(-1px)}.date-btn-icon.delete:hover{background:#ff645026;border-color:#ff64504d;color:#ff7864e6}.date-btn-icon.delete.confirm{background:#ff645040;border-color:#ff645080;color:#ff8c78}.date-btn-icon:active{transform:scale(.98)}.date-btn-icon.edit{color:#8ab4ffb3}.date-btn-icon.edit:hover{background:#8ab4ff26;border-color:#8ab4ff4d;color:var(--focus)}.add-date-btn{width:100%;padding:12px;border:1px dashed rgba(255,255,255,.15);border-radius:10px;background:#ffffff05;color:var(--muted);cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.add-date-btn:hover{background:#ffffff0f;border-color:#ffffff40;color:var(--text)}.add-date-btn:active{transform:scale(.98)}.prompt-library-modal{max-width:900px}.prompts-container{display:flex;flex-direction:column;gap:24px}.prompt-category-section{display:flex;flex-direction:column;gap:12px}.prompt-category-title{font-size:.85rem;font-weight:600;letter-spacing:.5px;color:var(--muted);text-transform:uppercase;margin:0;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}.prompts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.prompt-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:16px;transition:all .2s ease;display:flex;flex-direction:column;gap:10px;min-height:180px}.prompt-card:hover{background:#ffffff0f;border-color:#ffffff1f;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.prompt-card-header{display:flex;justify-content:space-between;align-items:center}.prompt-category-label{font-size:.7rem;font-weight:600;letter-spacing:.5px;color:#8ab4ffb3;text-transform:uppercase;background:#8ab4ff1a;padding:3px 8px;border-radius:4px}.prompt-card-title{font-size:1rem;font-weight:600;color:var(--text);margin:0;line-height:1.3}.prompt-card-preview{flex:1;font-size:.85rem;line-height:1.5;color:var(--muted);margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.prompt-card-actions{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}.prompt-icon-btn{background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;color:var(--text)}.prompt-icon-btn:hover{background:#ffffff0f;border-color:#ffffff1f}.prompt-icon-btn.delete{color:#ff7864b3}.prompt-icon-btn.delete:hover{background:#ff645026;border-color:#ff64504d;color:#ff7864e6}.prompt-icon-btn.delete.confirm{background:#ff645040;border-color:#ff645080;color:#ff8c78}.prompt-icon-btn:active{transform:none;background:#ffffff14}.add-prompt-btn{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:transparent;color:var(--text);cursor:pointer;font-size:.95rem;font-weight:600;transition:background .2s ease,border-color .2s ease,color .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.add-prompt-btn:hover{background:#ffffff0f;border-color:#ffffff26}.add-prompt-btn:active{background:#ffffff14}.prompt-form{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:20px;margin-bottom:16px}.prompt-form .form-group{margin-bottom:16px}.prompt-form .form-group:last-of-type{margin-bottom:0}.prompt-form label{display:block;font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:6px}.prompt-form textarea.form-input{min-height:120px;resize:vertical;font-family:inherit}.prompt-form .form-actions{display:flex;gap:8px;margin-top:16px}.bookmark-modal{max-width:800px}.bookmarks-container{display:flex;flex-direction:column;gap:24px}.bookmarks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;padding:2px;overflow:visible}.bookmark-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;overflow:visible}.bookmark-favicon{width:48px;height:48px;border-radius:9999px;background:#ffffff0f;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .12s ease,box-shadow .15s ease;overflow:hidden;position:relative}.bookmark-favicon img{width:22px;height:22px;object-fit:contain}.bookmark-favicon svg{opacity:.5}.bookmark-favicon:hover{background:#ffffff1a;transform:translateY(-2px);box-shadow:0 6px 12px #00000040}.bookmark-favicon:active{transform:translateY(-2px) scale(1.02)}.bookmark-item.confirm-delete .bookmark-favicon{background:#ff645026;border-color:#ff64504d}.bookmark-tooltip{background:#000000f2;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:8px 12px;min-width:180px;max-width:240px;box-shadow:0 8px 24px #00000080;animation:fade-in .2s ease-out;pointer-events:auto}.bookmark-title{display:block;font-size:.85rem;font-weight:600;color:#fff;margin-bottom:8px;word-break:break-word;line-height:1.3}.bookmark-actions{display:flex;align-items:center;gap:4px;padding-top:6px;border-top:1px solid rgba(255,255,255,.15)}.bookmark-action-btn{background:transparent;border:none;border-radius:9999px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease;color:#fff}.bookmark-action-btn:hover{background:#ffffff1a}.bookmark-action-btn.delete{color:#ffb4aae6}.bookmark-action-btn.delete:hover{background:#ff64502e;color:#ffc8be}.bookmark-action-btn.delete.confirm{background:#ff645047;color:#ffdcd2}.bookmark-form{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:20px;margin-bottom:16px}.bookmark-form .form-group{margin-bottom:16px}.bookmark-form .form-group:last-of-type{margin-bottom:0}.bookmark-form label{display:block;font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:6px}.bookmark-form .form-actions{display:flex;gap:8px;margin-top:16px}.add-bookmark-btn{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:transparent;color:var(--text);cursor:pointer;font-size:.95rem;font-weight:600;transition:background .2s ease,border-color .2s ease,color .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.add-bookmark-btn:hover{background:#ffffff0f;border-color:#ffffff26}.add-bookmark-btn:active{background:#ffffff14}.drawflow-fullscreen-modal{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;background:var(--bg);z-index:10000}.drawflow-fullscreen-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--frame-border);background:var(--bg);gap:24px;flex-wrap:wrap}.drawflow-header-left{flex:0 1 auto;min-width:0}.drawflow-header-left h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawflow-header-tools{display:flex;align-items:center;gap:12px;flex:0 1 auto}.drawflow-tool-btn{display:flex;align-items:center;gap:8px;padding:10px 14px;min-height:44px;min-width:44px;background:var(--panel);border:1px solid var(--frame-border);border-radius:6px;color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.drawflow-tool-btn:hover:not(:disabled){background:var(--panel-2);border-color:var(--focus);color:var(--focus)}.drawflow-tool-btn:active:not(:disabled){transform:scale(.97)}.drawflow-tool-btn:disabled{opacity:.5;cursor:not-allowed}.drawflow-tool-btn.icon-only{padding:10px;justify-content:center}.drawflow-tool-btn.primary{background:var(--focus);color:var(--bg);border-color:var(--focus)}.drawflow-tool-btn.primary:hover:not(:disabled){background:color-mix(in oklab,var(--focus) 85%,white);border-color:color-mix(in oklab,var(--focus) 85%,white);color:var(--bg)}.drawflow-tool-btn.primary:disabled{background:color-mix(in oklab,var(--focus) 50%,transparent);border-color:color-mix(in oklab,var(--focus) 50%,transparent);opacity:.6}.drawflow-header-divider{width:1px;height:28px;background:var(--frame-border)}.drawflow-close-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:none;color:var(--text);cursor:pointer;border-radius:6px;transition:all .15s ease;margin-left:auto}.drawflow-close-btn:hover{background:color-mix(in oklab,var(--frame-border) 40%,transparent);color:var(--focus)}.drawflow-fullscreen-canvas{flex:1;overflow:hidden;background:var(--panel);position:relative}.drawflow-editor{width:100%;height:100%;position:relative}.drawflow-fullscreen-modal{--dfBackgroundColor: var(--panel);--dfBackgroundSize: 20px;--dfBackgroundImage: linear-gradient(var(--frame-border) 1px, transparent 1px), linear-gradient(90deg, var(--frame-border) 1px, transparent 1px);--dfNodeType: flex;--dfNodeTypeFloat: none;--dfNodeBackgroundColor: var(--panel-2);--dfNodeTextColor: var(--text);--dfNodeBorderSize: 2px;--dfNodeBorderColor: var(--frame-border);--dfNodeBorderRadius: 8px;--dfNodeMinHeight: 50px;--dfNodeMinWidth: 160px;--dfNodePaddingTop: 12px;--dfNodePaddingBottom: 12px;--dfNodeBoxShadowHL: 0px;--dfNodeBoxShadowVL: 4px;--dfNodeBoxShadowBR: 12px;--dfNodeBoxShadowS: 0px;--dfNodeBoxShadowColor: rgba(0, 0, 0, .3);--dfNodeHoverBackgroundColor: var(--panel-2);--dfNodeHoverTextColor: var(--text);--dfNodeHoverBorderSize: 2px;--dfNodeHoverBorderColor: var(--focus);--dfNodeHoverBorderRadius: 8px;--dfNodeHoverBoxShadowHL: 0px;--dfNodeHoverBoxShadowVL: 4px;--dfNodeHoverBoxShadowBR: 16px;--dfNodeHoverBoxShadowS: 0px;--dfNodeHoverBoxShadowColor: rgba(138, 180, 255, .3);--dfNodeSelectedBackgroundColor: var(--panel-2);--dfNodeSelectedTextColor: var(--text);--dfNodeSelectedBorderSize: 2px;--dfNodeSelectedBorderColor: var(--focus);--dfNodeSelectedBorderRadius: 8px;--dfNodeSelectedBoxShadowHL: 0px;--dfNodeSelectedBoxShadowVL: 0px;--dfNodeSelectedBoxShadowBR: 0px;--dfNodeSelectedBoxShadowS: 0px;--dfNodeSelectedBoxShadowColor: rgba(138, 180, 255, .4);--dfInputBackgroundColor: var(--focus);--dfInputBorderSize: 2px;--dfInputBorderColor: var(--frame-border);--dfInputBorderRadius: 50px;--dfInputLeft: -25px;--dfInputHeight: 16px;--dfInputWidth: 16px;--dfInputHoverBackgroundColor: var(--focus);--dfInputHoverBorderSize: 2px;--dfInputHoverBorderColor: var(--text);--dfInputHoverBorderRadius: 50px;--dfOutputBackgroundColor: var(--focus);--dfOutputBorderSize: 2px;--dfOutputBorderColor: var(--frame-border);--dfOutputBorderRadius: 50px;--dfOutputRight: -25px;--dfOutputHeight: 16px;--dfOutputWidth: 16px;--dfOutputHoverBackgroundColor: var(--focus);--dfOutputHoverBorderSize: 2px;--dfOutputHoverBorderColor: var(--text);--dfOutputHoverBorderRadius: 50px;--dfLineWidth: 4px;--dfLineColor: var(--focus);--dfLineHoverColor: var(--flame-active);--dfLineSelectedColor: var(--flame-active);--dfRerouteBorderWidth: 2px;--dfRerouteBorderColor: var(--frame-border);--dfRerouteBackgroundColor: var(--focus);--dfRerouteHoverBorderWidth: 2px;--dfRerouteHoverBorderColor: var(--text);--dfRerouteHoverBackgroundColor: var(--focus);--dfDeleteDisplay: block;--dfDeleteColor: var(--text);--dfDeleteBackgroundColor: var(--panel);--dfDeleteBorderSize: 2px;--dfDeleteBorderColor: var(--flame-active);--dfDeleteBorderRadius: 50px;--dfDeleteTop: -15px;--dfDeleteHoverColor: white;--dfDeleteHoverBackgroundColor: var(--flame-active);--dfDeleteHoverBorderSize: 2px;--dfDeleteHoverBorderColor: var(--flame-active);--dfDeleteHoverBorderRadius: 50px}#drawflow{background:var(--dfBackgroundColor);background-size:var(--dfBackgroundSize) var(--dfBackgroundSize);background-image:var(--dfBackgroundImage);background-position:-1px -1px}.drawflow .drawflow-node{display:var(--dfNodeType);background:var(--dfNodeBackgroundColor);color:var(--dfNodeTextColor);border:var(--dfNodeBorderSize) solid var(--dfNodeBorderColor);border-radius:var(--dfNodeBorderRadius);min-height:var(--dfNodeMinHeight);width:auto;min-width:var(--dfNodeMinWidth);padding-top:var(--dfNodePaddingTop);padding-bottom:var(--dfNodePaddingBottom);box-shadow:var(--dfNodeBoxShadowHL) var(--dfNodeBoxShadowVL) var(--dfNodeBoxShadowBR) var(--dfNodeBoxShadowS) var(--dfNodeBoxShadowColor)}.drawflow .drawflow-node:hover{background:var(--dfNodeHoverBackgroundColor);color:var(--dfNodeHoverTextColor);border:var(--dfNodeHoverBorderSize) solid var(--dfNodeHoverBorderColor);border-radius:var(--dfNodeHoverBorderRadius);box-shadow:var(--dfNodeHoverBoxShadowHL) var(--dfNodeHoverBoxShadowVL) var(--dfNodeHoverBoxShadowBR) var(--dfNodeHoverBoxShadowS) var(--dfNodeHoverBoxShadowColor)}.drawflow .drawflow-node.selected{background:var(--dfNodeSelectedBackgroundColor);color:var(--dfNodeSelectedTextColor);border:var(--dfNodeSelectedBorderSize) solid var(--dfNodeSelectedBorderColor);border-radius:var(--dfNodeSelectedBorderRadius);box-shadow:var(--dfNodeSelectedBoxShadowHL) var(--dfNodeSelectedBoxShadowVL) var(--dfNodeSelectedBoxShadowBR) var(--dfNodeSelectedBoxShadowS) var(--dfNodeSelectedBoxShadowColor)}.drawflow .drawflow-node .input{left:var(--dfInputLeft);background:var(--dfInputBackgroundColor);border:var(--dfInputBorderSize) solid var(--dfInputBorderColor);border-radius:var(--dfInputBorderRadius);height:var(--dfInputHeight);width:var(--dfInputWidth)}.drawflow .drawflow-node .input:hover{background:var(--dfInputHoverBackgroundColor);border:var(--dfInputHoverBorderSize) solid var(--dfInputHoverBorderColor);border-radius:var(--dfInputHoverBorderRadius)}.drawflow .drawflow-node .outputs{float:var(--dfNodeTypeFloat)}.drawflow .drawflow-node .output{right:var(--dfOutputRight);background:var(--dfOutputBackgroundColor);border:var(--dfOutputBorderSize) solid var(--dfOutputBorderColor);border-radius:var(--dfOutputBorderRadius);height:var(--dfOutputHeight);width:var(--dfOutputWidth)}.drawflow .drawflow-node .output:hover{background:var(--dfOutputHoverBackgroundColor);border:var(--dfOutputHoverBorderSize) solid var(--dfOutputHoverBorderColor);border-radius:var(--dfOutputHoverBorderRadius)}.drawflow .connection .main-path{stroke-width:var(--dfLineWidth);stroke:var(--dfLineColor)}.drawflow .connection .main-path:hover{stroke:var(--dfLineHoverColor)}.drawflow .connection .main-path.selected{stroke:var(--dfLineSelectedColor)}.drawflow .connection .point{stroke:var(--dfRerouteBorderColor);stroke-width:var(--dfRerouteBorderWidth);fill:var(--dfRerouteBackgroundColor)}.drawflow .connection .point:hover{stroke:var(--dfRerouteHoverBorderColor);stroke-width:var(--dfRerouteHoverBorderWidth);fill:var(--dfRerouteHoverBackgroundColor)}.drawflow-delete{display:var(--dfDeleteDisplay);color:var(--dfDeleteColor);background:var(--dfDeleteBackgroundColor);border:var(--dfDeleteBorderSize) solid var(--dfDeleteBorderColor);border-radius:var(--dfDeleteBorderRadius)}.parent-node .drawflow-delete{top:var(--dfDeleteTop)}.drawflow-delete:hover{color:var(--dfDeleteHoverColor);background:var(--dfDeleteHoverBackgroundColor);border:var(--dfDeleteHoverBorderSize) solid var(--dfDeleteHoverBorderColor);border-radius:var(--dfDeleteHoverBorderRadius)}.drawflow .drawflow-node .title-box{background:var(--focus);color:var(--bg);padding:6px 10px;border-radius:4px;font-weight:600;margin-bottom:8px;text-align:center}.drawflow .drawflow-node .box{padding:8px;background:var(--panel);border-radius:4px;font-size:.9rem}.drawflow .drawflow-node input,.drawflow .drawflow-node textarea{background:var(--panel);border:1px solid var(--frame-border);color:var(--text);padding:6px;border-radius:4px;width:100%}.drawflow .parent-node{background:var(--panel-2);border:2px solid var(--frame-border);border-radius:8px;color:var(--text)}@media (max-width: 768px){.drawflow-fullscreen-header{padding:12px 16px;gap:8px}.drawflow-header-left h2{font-size:1.1rem}.drawflow-header-tools{gap:8px;flex-wrap:wrap;width:100%;order:3}.drawflow-tool-btn{padding:8px 12px;min-height:40px;min-width:40px;font-size:.85rem}.drawflow-tool-btn.icon-only{padding:8px}.drawflow-close-btn{width:40px;height:40px;margin-left:0}.drawflow-header-divider{height:24px}.drawflow .drawflow-node{min-width:100px;padding:8px;font-size:.85rem}}@media (max-width: 500px){.drawflow-tool-btn span{display:none}.drawflow-tool-btn{padding:8px;min-height:40px;min-width:40px}.drawflow-header-divider{display:none}.drawflow-header-tools{gap:6px}.drawflow-close-btn{width:40px;height:40px}}.landing-page{background:linear-gradient(135deg,var(--bg) 0%,color-mix(in oklab,var(--bg) 95%,var(--focus)) 100%);color:var(--text);overflow-x:hidden;display:flex;flex-direction:column;min-height:100vh}.landing-header{border-bottom:1px solid var(--frame-border);background:linear-gradient(180deg,color-mix(in oklab,var(--bg) 98%,var(--focus)),var(--bg));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}.landing-header .landing-container{display:flex;align-items:center;justify-content:space-between;padding:1rem var(--gutter)}.landing-brand{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:1.1rem;text-decoration:none;color:var(--text)}.landing-brand .brand-logo{width:24px;height:24px;background:linear-gradient(135deg,var(--focus),color-mix(in oklab,var(--focus) 80%,#60a5fa));border-radius:6px}.landing-brand .brand-title{background:linear-gradient(135deg,var(--text),var(--focus));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.github-auth-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;font-size:.95rem;font-weight:600;color:var(--text);background:linear-gradient(180deg,color-mix(in oklab,var(--panel-2) 95%,var(--focus)),var(--panel-2));border:1px solid var(--frame-border);border-radius:8px;text-decoration:none;transition:all .25s cubic-bezier(.23,1,.32,1);cursor:pointer;box-shadow:0 2px 8px #0000001a}.github-auth-btn:hover{background:linear-gradient(180deg,color-mix(in oklab,var(--panel-2) 90%,var(--focus)),color-mix(in oklab,var(--panel-2) 95%,var(--focus)));border-color:var(--focus);color:var(--focus);transform:translateY(-2px);box-shadow:0 6px 16px #8ab4ff33}.github-auth-btn:active{transform:translateY(0);box-shadow:0 2px 6px #8ab4ff1a}.github-auth-btn svg{width:18px;height:18px;flex-shrink:0}.landing-container{max-width:1200px;margin:0 auto;padding:0 var(--gutter);width:100%}.landing-hero{padding:clamp(4rem,10vh,8rem) var(--gutter);min-height:90vh;display:flex;align-items:center}.landing-hero .landing-container{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-content{animation:slideInLeft .8s ease-out}.hero-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.2;margin:0 0 1.5rem;background:linear-gradient(135deg,var(--text) 0%,var(--focus) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:clamp(1rem,2vw,1.2rem);color:var(--muted);line-height:1.6;margin:0 0 2.5rem;max-width:500px}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.hero-cta .btn{min-width:160px;padding:14px 28px;font-size:1rem;font-weight:600;border-radius:8px;text-decoration:none;text-align:center;transition:all .3s ease;border:1px solid var(--frame-border)}.hero-cta .btn.primary{background:linear-gradient(135deg,var(--focus),color-mix(in oklab,var(--focus) 80%,#60a5fa));color:var(--bg);border-color:var(--focus);box-shadow:0 8px 20px #8ab4ff4d}.hero-cta .btn.primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #8ab4ff66}.hero-cta .btn:hover:not(.primary){background:var(--panel-2);border-color:var(--focus);color:var(--focus)}.hero-visual{animation:slideInRight .8s ease-out;filter:drop-shadow(0 20px 40px rgba(138,180,255,.15))}.landing-features{padding:clamp(4rem,10vh,8rem) var(--gutter);background:radial-gradient(circle at 80% 20%,rgba(138,180,255,.05) 0%,transparent 50%)}.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;text-align:center;margin:0 0 3rem;color:var(--text)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.feature-card{padding:2rem;background:linear-gradient(135deg,color-mix(in oklab,var(--panel) 98%,var(--focus)) 0%,var(--panel) 100%);border:1px solid var(--frame-border);border-radius:12px;transition:all .3s ease;text-align:center}.feature-card:hover{border-color:var(--focus);box-shadow:0 12px 30px #8ab4ff1a;transform:translateY(-4px);background:linear-gradient(135deg,color-mix(in oklab,var(--panel) 95%,var(--focus)) 0%,var(--panel) 100%)}.feature-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;background:radial-gradient(circle,rgba(138,180,255,.2),transparent);border-radius:12px;color:var(--focus)}.feature-card h3{font-size:1.25rem;font-weight:600;margin:0 0 1rem;color:var(--text)}.feature-card p{font-size:.95rem;color:var(--muted);line-height:1.6;margin:0}.landing-highlights{padding:clamp(4rem,10vh,8rem) var(--gutter);background:linear-gradient(135deg,rgba(138,180,255,.03) 0%,transparent 100%)}.highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem}.highlight-item{padding:2rem;border-left:3px solid var(--focus);background:color-mix(in oklab,var(--panel) 99%,var(--focus));border-radius:4px}.highlight-item h4{font-size:1.1rem;font-weight:600;margin:0 0 .75rem;color:var(--focus)}.highlight-item p{font-size:.95rem;color:var(--muted);line-height:1.5;margin:0}.landing-cta{padding:clamp(4rem,8vh,6rem) var(--gutter);background:linear-gradient(135deg,color-mix(in oklab,var(--panel) 95%,var(--focus)) 0%,var(--panel-2) 100%);border-top:1px solid var(--frame-border);text-align:center}.landing-cta h2{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;margin:0 0 1rem;color:var(--text)}.landing-cta p{font-size:1.1rem;color:var(--muted);margin:0 0 2rem;max-width:600px;margin-left:auto;margin-right:auto}.landing-cta .btn.large{padding:16px 40px;font-size:1.1rem;min-width:200px}.landing-footer{padding:2rem var(--gutter);border-top:1px solid var(--frame-border);text-align:center}.landing-footer p{color:var(--muted);font-size:.9rem;margin:0}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.landing-header .landing-container{padding:.75rem var(--gutter)}.landing-brand{font-size:1rem}.github-auth-btn{padding:8px 14px;font-size:.85rem;gap:8px}.github-auth-btn svg{width:16px;height:16px}.github-auth-btn span{display:none}.landing-header .btn{padding:8px 16px;font-size:.85rem}.landing-hero .landing-container{grid-template-columns:1fr;gap:2rem;padding:0}.hero-visual{display:none}.features-grid{grid-template-columns:1fr}.hero-cta{flex-direction:column}.hero-cta .btn{width:100%}.landing-cta .btn.large{width:100%;display:block}}
