:root{color-scheme:dark;--bg:#202122;--panel:#28292b;--line:#ffffff13;--text:#e9e8e4;--muted:#92928f;--accent:#d8ab7d;--selection:#ddb181;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:var(--bg);color:var(--text);font-size:13px}button,input{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:hover{color:#fff}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.topbar{height:69px;position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;padding:0 25px;gap:25px;background:#202122f5;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;font-size:24px;letter-spacing:-1.1px;font-weight:600;padding:0}.brand-dot{color:var(--accent)}.brand-mark{width:29px;height:29px;background:var(--accent);color:#26221d;font-family:Georgia,serif;font-style:italic;font-size:30px;line-height:31px;text-align:center;border-radius:7px}.divider{height:21px;width:1px;background:var(--line)}#breadcrumbs{display:flex;align-items:center;gap:11px;min-width:0;overflow:hidden;white-space:nowrap}#breadcrumbs button{padding:8px 0;color:#8e908e;font-size:12px;overflow:hidden;text-overflow:ellipsis;max-width:200px}#breadcrumbs button:last-child{color:#dadbd6}#breadcrumbs .crumb-slash{color:#55585a}.header-actions{display:flex;align-items:center;gap:17px;margin-left:auto;flex-shrink:0}#save-status{font-size:11px;color:#93998e;display:flex;align-items:center;gap:7px}#save-status i,.live-dot{width:5px;height:5px;background:#9cac92;border-radius:50%;display:inline-block}.prototype{color:#999a96;border:1px solid #ffffff17;padding:4px 7px;border-radius:4px;font-size:10px}.primary{background:var(--accent);color:#28221a!important;border-radius:6px;padding:10px 15px;font-weight:600;font-size:12px}.primary:hover{background:#e9bd91}.primary span{font-size:17px;margin-right:4px}.icon-button{font-size:14px;letter-spacing:2px;padding:8px}#viewport{position:fixed;inset:69px 0 0;overflow:hidden;touch-action:none;outline:none;user-select:none;background-image:radial-gradient(#ffffff0b .75px,transparent .75px);background-size:22px 22px}#world{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0}#viewport.hand{cursor:grab}#viewport.panning{cursor:grabbing}.node{position:absolute;touch-action:none;cursor:default;contain:layout style}.node.selected{outline:1.5px solid var(--selection);outline-offset:6px}.node .resize{position:absolute;width:12px;height:12px;right:-12px;bottom:-12px;background:var(--selection);border:2px solid var(--bg);cursor:nwse-resize;z-index:3;display:none}.node.selected .resize{display:block}.media-card{width:100%;height:100%;position:relative;border-radius:2px;background:#303132;overflow:hidden;box-shadow:0 4px 18px #0000001a}.media-card>img,.media-card>video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.node.image .media-card>img{object-fit:contain;background:#262729}.node .caption{position:absolute;left:0;top:calc(100% + 13px);width:100%;display:flex;justify-content:space-between;color:#999a95;font-size:11px;gap:10px;line-height:16px;pointer-events:none}.caption span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.caption small{color:#686c69;font-size:9px;flex-shrink:0;letter-spacing:1.1px;text-transform:uppercase}.note{height:100%;width:100%;background:#d5c8b4;color:#37352f;border-radius:2px;padding:26px 27px;box-shadow:0 3px 16px #0000000d;overflow:auto}.note .note-label{font-size:9px;color:#7f7667;letter-spacing:2px;margin-bottom:16px;user-select:none}.note .note-text{white-space:pre-wrap;word-break:break-word;line-height:1.9;font-size:15px;min-height:35px;outline:none}.note .note-text[contenteditable=true]{user-select:text;cursor:text}.note .note-hint{font-size:10px;color:#8d8170;margin-top:18px;letter-spacing:.3px}.node.heading .note{padding:0;background:transparent;box-shadow:none;color:#e7e5df;overflow:visible}.node.heading .note-label{color:#a99680;font-size:9px;letter-spacing:3px;margin-bottom:13px}.node.heading .note-text{font-size:34px;font-weight:400;line-height:1.3;letter-spacing:1px}.node.heading .note-hint{margin-top:12px;color:#80837f;font-size:11px;letter-spacing:1px}.folder-card{height:100%;border-radius:9px;background:#292a2b;border:1px solid #ffffff0c;padding:18px 19px;box-shadow:0 10px 30px #00000012;position:relative}.folder-card:before{content:"";position:absolute;top:-9px;left:0;width:80px;height:9px;background:#303132;border-radius:6px 9px 0 0;border:1px solid #ffffff0a;border-bottom:none}.folder-stack{height:calc(100% - 61px);min-height:50px;display:flex;align-items:center;justify-content:center;padding:3px 12px 8px}.folder-stack .mini{width:42%;height:85%;object-fit:cover;box-shadow:0 4px 12px #0005;border:3px solid #383938;background:#414641;border-radius:3px}.folder-stack .mini:first-child{transform:rotate(-9deg) translateX(13px)}.folder-stack .mini:nth-child(2){transform:rotate(7deg) translateX(-2px)}.folder-stack .mini:last-child{transform:rotate(-2deg) translateX(-16px)}.folder-info{display:flex;align-items:center;gap:10px;margin-top:11px}.folder-info svg{width:19px;height:19px;color:#c7ac86}.folder-info strong{font-size:14px;font-weight:500}.folder-info .folder-arrow{margin-left:auto;color:#6e726f;font-size:20px}.folder-count{font-size:10px;color:#858982;padding-left:29px;margin-top:6px}.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:45px;height:45px;border-radius:50%;border:1px solid #ffffff70;background:#161a1970;backdrop-filter:blur(8px);display:grid;place-items:center;color:white;pointer-events:none}.video-play svg{width:16px;height:16px;fill:currentColor;stroke:none;margin-left:3px}.video-duration{position:absolute;bottom:12px;right:12px;background:#0006;color:#fff;padding:4px 7px;border-radius:3px;font-size:10px;letter-spacing:1px}.video-tag{position:absolute;top:12px;left:13px;font-size:9px;letter-spacing:1.8px;color:white;background:#0004;padding:4px 6px}.tools{position:fixed;z-index:20;left:20px;top:50%;transform:translateY(-46%);display:flex;flex-direction:column;gap:5px;background:#292a2bf5;box-shadow:0 8px 25px #0003;border:1px solid #ffffff10;padding:7px;border-radius:10px}.tools button{position:relative;width:37px;height:39px;display:grid;place-items:center;border-radius:5px;color:#a7aaa5}.tools button.active{background:#d5b38c1c;color:var(--accent)}.tools button:hover{background:#ffffff0b;color:#eee}.tools button span{display:none;position:absolute;left:48px;top:8px;white-space:nowrap;font-size:11px;background:#343638;padding:7px 10px;border:1px solid var(--line);border-radius:4px}.tools button:hover span{display:block}.tool-divider{height:1px;background:var(--line);margin:5px 7px}footer{pointer-events:none;position:fixed;z-index:20;bottom:20px;left:25px;right:24px;display:flex;align-items:center;justify-content:space-between}.canvas-meta{display:flex;gap:9px;align-items:center;color:#7e837f;font-size:10px;letter-spacing:.2px;background:#202122c0;border-radius:5px;padding:8px 0}.meta-line{height:10px;width:1px;background:#ffffff1c;margin:0 2px}.zoom-controls{pointer-events:auto;display:flex;align-items:center;background:#2b2c2ef0;border:1px solid #ffffff10;border-radius:7px;box-shadow:0 4px 15px #0002;padding:3px 5px;position:absolute;left:50%;transform:translateX(-50%)}.zoom-controls button{height:30px;min-width:32px;font-size:17px;color:#b2b5af;border-radius:4px;display:grid;place-items:center}.zoom-controls button:hover{background:#ffffff0a}.zoom-controls #zoom-reset{font-size:11px;min-width:49px;font-variant-numeric:tabular-nums}.zoom-controls span{height:15px;width:1px;background:var(--line);margin:0 5px}.zoom-controls svg{width:16px;height:16px}.help-button{pointer-events:auto;border:1px solid #ffffff1b;width:27px;height:27px;border-radius:50%;font-family:Georgia,serif;font-size:15px;color:#9b9e98;background:#252628}#selection-tools{position:fixed;top:86px;left:50%;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:4px;background:#303133;border:1px solid #ffffff14;padding:5px;border-radius:7px;box-shadow:0 7px 20px #0002}#selection-count{color:#999e96;font-size:10px;padding:0 10px}#selection-tools button{font-size:11px;padding:7px 10px;border-radius:4px}#selection-tools button:hover{background:#ffffff0b}#delete-item{color:#d2a09a}.popover{position:fixed;right:150px;top:61px;z-index:50;width:225px;background:#2d2e30;border:1px solid #ffffff15;box-shadow:0 12px 40px #0006;border-radius:9px;padding:7px}.popover button{display:flex;width:100%;justify-content:space-between;padding:12px 11px;text-align:left;border-radius:4px;font-size:12px}.popover button:hover{background:#ffffff08}.popover button span{font-size:9px;color:#858a84}.popover>div{height:1px;background:var(--line);margin:5px}.popover p{font-size:10px;color:#8b9188;line-height:1.8;padding:0 10px}#toast{position:fixed;bottom:78px;left:50%;transform:translateX(-50%);z-index:90;background:#e4d5c1;color:#37332c;padding:12px 20px;font-size:12px;border-radius:7px;box-shadow:0 8px 35px #0003;max-width:90vw}dialog{color:var(--text);background:#292b2c;border:1px solid #ffffff15;border-radius:13px;padding:30px;width:400px;box-shadow:0 20px 100px #0007}dialog::backdrop{background:#0b0d0c9c;backdrop-filter:blur(5px)}dialog h2{font-size:23px;font-weight:500;margin:10px 0 25px;letter-spacing:.2px}.eyebrow{font-size:9px;color:#baa58a;letter-spacing:2px}dialog label{display:block;font-size:11px;color:#a8aba4;margin-bottom:8px}dialog input{width:100%;background:#202223;border:1px solid #ffffff20;border-radius:5px;color:white;padding:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:25px}.dialog-actions button{padding:10px 17px;border-radius:5px}.close-dialog{position:absolute;right:15px;top:12px;font-size:25px;color:#8f948d;z-index:5}.help-intro,.help-footnote{font-size:12px;color:#939b90;line-height:1.8}.help-footnote{margin-top:24px;font-size:11px}.shortcut{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px}.shortcut kbd{color:#bbb7ac;font-family:inherit;font-size:10px}.help-intro{margin-bottom:22px}#help-dialog{width:440px;max-height:90vh}#media-dialog{width:min(1100px,92vw);max-width:none;padding:40px 25px 15px;background:#1d1e1f}#media-content{display:flex;justify-content:center;align-items:center}#media-content img,#media-content video{max-width:100%;max-height:76vh;object-fit:contain}#media-caption{font-size:11px;color:#a9aaa1;margin:14px 0 0;text-align:center}#marquee{position:absolute;border:1px solid var(--accent);background:#d8ab7d12;pointer-events:none;z-index:10}#empty{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);text-align:center;width:80%;pointer-events:none}#empty>*{pointer-events:auto}#empty .empty-symbol{font-size:44px;color:#676c64}#empty h1{font-size:25px;font-weight:400;color:#c6c8be;letter-spacing:2px}#empty p{color:#797f75;font-size:12px}#empty button{border:1px solid #ffffff1b;border-radius:6px;padding:10px 20px;margin-top:15px;color:#c7b291}#drop-overlay{position:absolute;inset:20px;border:1px dashed #d8ab7d;background:#202122ed;border-radius:12px;z-index:25;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:15px;pointer-events:none}#drop-overlay span{font-size:26px;color:#e0c6aa}#drop-overlay small{color:#9ba092}body.dragging *{cursor:grabbing!important}@media(max-width:900px){.topbar{padding:0 15px;gap:15px}.header-actions{gap:10px}#save-status{display:none}.prototype{display:none}#breadcrumbs button{max-width:120px}.tools{left:12px}.desktop-hint,.meta-line{display:none}.canvas-meta{font-size:9px}footer{left:18px}.brand{font-size:21px}.popover{right:20px}}@media(max-width:540px){.brand-mark,.divider{display:none}.brand{font-size:20px}.topbar{gap:12px}#breadcrumbs{gap:6px}#breadcrumbs button{max-width:85px;font-size:10px}#breadcrumbs button:first-child:not(:last-child){display:none}#breadcrumbs .crumb-slash:first-of-type{display:none}.primary{padding:9px 10px;font-size:10px}.header-actions{gap:5px}.tools{padding:5px;left:9px}.tools button{width:31px;height:34px}.tools svg{width:18px;height:18px}#selection-tools{top:80px;white-space:nowrap}#selection-count{display:none}.canvas-meta{max-width:85px}dialog{max-width:94vw;padding:24px}.zoom-controls{left:55%}}
.account-button{font-size:11px;padding:7px 10px;border:1px solid #ffffff20;border-radius:5px;max-width:110px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.auth-locked>.topbar,.auth-locked>main,.auth-locked>.tools,.auth-locked>footer,.auth-locked>#selection-tools{visibility:hidden}#auth-screen{position:fixed;inset:0;z-index:100;background:#202122;display:grid;grid-template-columns:1fr 1fr;padding:7vh 8vw;gap:8vw;overflow:auto}.auth-card{max-width:380px;width:100%;align-self:center;justify-self:center}.auth-brand{font-size:35px;font-weight:600;letter-spacing:-1.7px;margin-bottom:55px}.auth-brand span{color:var(--accent)}.auth-card h1{font-weight:400;font-size:32px;margin:16px 0}.auth-card>p:not(.eyebrow){font-size:12px;color:#9b9f97;line-height:1.8}.auth-card form{margin-top:30px}.auth-card label,#password-form label{display:block;font-size:12px;color:#b3b8ac;margin:16px 0 0}.auth-card input,#password-form input{width:100%;background:#282b2b;border:1px solid #ffffff18;border-radius:6px;padding:13px 14px;margin-top:8px;color:#ecebe5}.auth-card .primary{width:100%;padding:13px;margin-top:10px}#auth-error,#password-error{color:#e3a598;font-size:12px;line-height:1.6;min-height:16px}.auth-footer{margin-top:25px!important;font-size:10px!important}.auth-art{position:relative;overflow:hidden;border-radius:6px;max-height:760px;align-self:stretch}.auth-art img{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}.auth-art>span{position:absolute;left:35px;bottom:90px;font-size:27px;line-height:1.8;letter-spacing:2px}.auth-art>small{position:absolute;left:35px;bottom:45px;font-size:9px;letter-spacing:3px;color:#dddfd3}.team-dialog{width:530px;max-height:85vh;overflow:auto}.member-row,.trash-row,.activity-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #ffffff0c}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#a28d6d33;color:#ddc6a7;flex-shrink:0;font-size:12px}.member-row>div:nth-child(2),.trash-row>div,.activity-row>div{flex:1;min-width:0}.member-row strong,.trash-row strong{font-weight:500;font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-row small,.trash-row small,.activity-row small{display:block;font-size:10px;color:#90968a;margin-top:5px}.member-row button,.trash-row button,#pending-invites button{font-size:10px;border:1px solid #ffffff15;border-radius:4px;padding:6px 9px}.subtle{font-size:11px;color:#8f9789;line-height:1.8}#invite-section{margin-top:25px}#invite-result{display:flex;gap:8px;margin-top:10px}#invite-result input{font-size:10px;min-width:0}.team-actions{display:flex;justify-content:space-between;padding-top:24px;font-size:12px;color:#b9b4a7}.team-actions #logout{color:#d29b8c}#current-account{padding-bottom:20px;color:#aeb6a3;font-size:12px}#details-content{font-size:12px;line-height:1.8}#details-content div{margin:17px 0}#details-content small{display:block;color:#8d9787;font-size:10px;margin-bottom:4px}#sync-conflict{position:fixed;top:78px;right:20px;width:350px;z-index:60;background:#3e3429;border:1px solid #b69a6c;padding:18px;border-radius:7px;font-size:12px}#sync-conflict strong{font-weight:500}#sync-conflict span{display:block;font-size:11px;line-height:1.8;color:#ccbdab;margin:12px 0}#sync-conflict button{border:1px solid #b69a6c;padding:8px;border-radius:4px;font-size:10px;margin-right:5px}#pending-invites{font-size:10px;color:#9da293;margin-top:15px}#pending-invites>div{display:flex;justify-content:space-between;padding:6px 0}.activity-row{font-size:12px;line-height:1.6}.unavailable{opacity:.5}@media(max-width:750px){#auth-screen{grid-template-columns:1fr;padding:50px 24px}.auth-art{display:none}.auth-brand{margin-bottom:30px}.header-actions{gap:5px}.account-button{max-width:65px;padding:6px}.prototype{display:none}}
